linbox
Public Types | Public Member Functions
CekstvSwitch< Field > Class Template Reference

The default butterfly switch object. More...

#include <butterfly.h>

Public Types

typedef Field::Element Element
 Typedef.
 

Public Member Functions

 CekstvSwitch (const typename Field::Element &a)
 Constructor from a field and a field element. More...
 
 ~CekstvSwitch ()
 Destructor.
 
bool apply (const Field &F, Element &x, Element &y) const
 Apply switch function. More...
 
bool applyTranspose (const Field &F, Element &x, Element &y) const
 Apply switch transpose function. More...
 

Detailed Description

template<class Field>
class LinBox::CekstvSwitch< Field >

The default butterfly switch object.

This is a predicate object that is applied to two elements to switch them as needed by the Butterfly\ Switching\ Network\ BlackBox\ Matrix\ Object following the exchange matrix introduced in "Efficient Matrix Preconditioners for Black Box Linear Algebra" by Chen, Eberly, Kaltofen, Saunders, Turner, and Villard.

Constructor & Destructor Documentation

◆ CekstvSwitch()

CekstvSwitch ( const typename Field::Element &  a)
inline

Constructor from a field and a field element.

Parameters
avector of switches

Member Function Documentation

◆ apply()

bool apply ( const Field &  F,
typename Field::Element &  x,
typename Field::Element &  y 
) const
inline

Apply switch function.

Switches the elements in references according to the exchange matrix introduced in "Efficient Matrix Preconditioners for Black Box Linear Algebra" by Chen, Eberly, Kaltofen, Saunders, Turner, and Villard and the current field element specified in the switch object.

Returns
bool true if swapped, false otherwise
Parameters
F
xreference to first element to be switched
yreference to second element to be switched

◆ applyTranspose()

bool applyTranspose ( const Field &  F,
typename Field::Element &  x,
typename Field::Element &  y 
) const
inline

Apply switch transpose function.

Switches the elements in references according to the transpose of the exchange matrix introduced in "Efficient Matrix Preconditioners for Black Box Linear Algebra" by Chen, Eberly, Kaltofen, Saunders, Turner, and Villard and the current field element specified in the switch object.

Returns
bool true if swapped, false otherwise
Parameters
F
xreference to first element to be switched
yreference to second element to be switched

The documentation for this class was generated from the following files: