Class xlifepp::Operator#

template<class ScalarType>
class Operator#

Inheritence diagram for xlifepp::Operator:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::LargeMatrixAdapter< MatrixType, ScalarType >" tooltip="xlifepp::LargeMatrixAdapter< MatrixType, ScalarType >"] "3" [label="xlifepp::LargeMatrixAdapterInverse< MatrixType, ScalarType >" tooltip="xlifepp::LargeMatrixAdapterInverse< MatrixType, ScalarType >"] "4" [label="xlifepp::LargeMatrixAdapterInverseGeneralized< MatrixType, ScalarType >" tooltip="xlifepp::LargeMatrixAdapterInverseGeneralized< MatrixType, ScalarType >"] "1" [label="xlifepp::Operator< ScalarType >" tooltip="xlifepp::Operator< ScalarType >" fillcolor="#BFBFBF"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "3" -> "1" [dir=forward tooltip="public-inheritance"] "4" -> "1" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::Operator:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="xlifepp::Operator< ScalarType >" tooltip="xlifepp::Operator< ScalarType >" fillcolor="#BFBFBF"] }

xlifepp’s templated virtual class for constructing an operator that can interface with the OperatorTraits class used by the eigensolvers.

A concrete implementation of this class is necessary. The user can create their own implementation if those supplied are not suitable for their needs.

Subclassed by xlifepp::LargeMatrixAdapter< MatrixType, ScalarType >, xlifepp::LargeMatrixAdapterInverse< MatrixType, ScalarType >, xlifepp::LargeMatrixAdapterInverseGeneralized< MatrixType, ScalarType >

Constructor/Destructor

inline Operator()#

Default constructor.

inline virtual ~Operator()#

Destructor.

Operator application method

virtual void apply(const MultiVec<ScalarType> &x, MultiVec<ScalarType> &y) const = 0#

This method takes the MultiVec x and applies the operator to it resulting in the MultiVec y.