linbox
|
Butterfly switch object from preconditioner paper. More...
#include <cekstv.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. | |
~CekstvSwitch () | |
Destructor. | |
bool | apply (const Field &F, Element &x, Element &y) const |
Apply switch function. | |
bool | applyTranspose (const Field &F, Element &x, Element &y) const |
Apply switch transpose function. |
Butterfly switch object from preconditioner paper.
This is a switch predicate object that is applied to two references to 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. This class is templatized by the field in which the arithmetic is done.
CekstvSwitch | ( | const typename Field::Element & | a | ) | [inline] |
Constructor from a field and a field element.
a | vector of switches |
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.
F | |
x | reference to first element to be switched |
y | reference to second element to be switched |
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.
F | |
x | reference to first element to be switched |
y | reference to second element to be switched |