CekstvSwitch< Field > Class Template Reference

#include <cekstv.h>

List of all members.

Public Types

typedef Field::Element Element
 Typedef.

Public Member Functions

 CekstvSwitch (const typename Field::Element &a)
 ~CekstvSwitch ()
bool apply (const Field &F, Element &x, Element &y) const
bool applyTranspose (const Field &F, Element &x, Element &y) const

Detailed Description

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

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.


Constructor & Destructor Documentation

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

Constructor from a field and a field element.

Parameters:
F field in which arithmetic is done
switches vector of switches
~CekstvSwitch (  )  [inline]

Destructor.


Member Function Documentation

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

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:
x reference to first element to be switched
y reference to second element to be switched
bool applyTranspose ( const Field &  F,
Element x,
Element y 
) const

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:
x reference to first element to be switched
y reference to second element to be switched

The documentation for this class was generated from the following file:
Generated on Tue May 11 23:15:28 2010 for linbox by  doxygen 1.6.3