Grid 0.7.0
LinearOperatorBase< Field > Class Template Referenceabstract

#include <LinearOperator.h>

Inheritance diagram for LinearOperatorBase< Field >:
ConjugateGradientMultiShiftMixedPrecSupport::ShiftedLinop< Field > Gamma5HermitianLinearOperator< Matrix, Field > Gamma5R5HermitianLinearOperator< Matrix, Field > HermitianLinearOperator< Matrix, Field > MMdagLinearOperator< Matrix, Field > MdagMLinearOperator< Matrix, Field > NonHermitianLinearOperator< Matrix, Field > NonHermitianSchurOperatorBase< Field > SchurOperatorBase< Field > ShiftedHermOpLinearOperator< Field > ShiftedMdagMLinearOperator< Matrix, Field > ShiftedNonHermitianLinearOperator< Matrix, Field >

Public Member Functions

virtual void OpDiag (const Field &in, Field &out)=0
virtual void OpDir (const Field &in, Field &out, int dir, int disp)=0
virtual void OpDirAll (const Field &in, std::vector< Field > &out)=0
virtual void Op (const Field &in, Field &out)=0
virtual void AdjOp (const Field &in, Field &out)=0
virtual void HermOpAndNorm (const Field &in, Field &out, RealD &n1, RealD &n2)=0
virtual void HermOp (const Field &in, Field &out)=0
virtual ~LinearOperatorBase ()

Detailed Description

template<class Field>
class LinearOperatorBase< Field >

Definition at line 44 of file LinearOperator.h.

Constructor & Destructor Documentation

◆ ~LinearOperatorBase()

template<class Field>
virtual LinearOperatorBase< Field >::~LinearOperatorBase ( )
inlinevirtual

Definition at line 55 of file LinearOperator.h.

Member Function Documentation

◆ OpDiag()

◆ OpDir()

◆ OpDirAll()

◆ Op()

template<class Field>
virtual void LinearOperatorBase< Field >::Op ( const Field & in,
Field & out )
pure virtual

Implemented in ConjugateGradientMultiShiftMixedPrecSupport::ShiftedLinop< Field >, Gamma5HermitianLinearOperator< Matrix, Field >, Gamma5R5HermitianLinearOperator< Matrix, Field >, HermitianLinearOperator< Matrix, Field >, MdagMLinearOperator< Matrix, Field >, MMdagLinearOperator< Matrix, Field >, NonHermitianLinearOperator< Matrix, Field >, NonHermitianSchurOperatorBase< Field >, SchurOperatorBase< Field >, SchurOperatorBase< Impl::FermionField >, ShiftedHermOpLinearOperator< Field >, ShiftedMdagMLinearOperator< Matrix, Field >, and ShiftedNonHermitianLinearOperator< Matrix, Field >.

Referenced by Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::arnoldiStep(), Grid::FlexibleCommunicationAvoidingGeneralisedMinimalResidual< Field >::arnoldiStep(), Grid::FlexibleGeneralisedMinimalResidual< Field >::arnoldiStep(), Grid::GeneralisedMinimalResidual< Field >::arnoldiStep(), Grid::MixedPrecisionFlexibleGeneralisedMinimalResidual< FieldD, FieldF, type, type >::arnoldiStep(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspace(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshev(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshev(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshevNew(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshevPowerLaw(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceGCR(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceMultishift(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspacePolyCheby(), BiCGSTAB< Field >::operator()(), Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::operator()(), Grid::FlexibleCommunicationAvoidingGeneralisedMinimalResidual< Field >::operator()(), Grid::FlexibleGeneralisedMinimalResidual< Field >::operator()(), Grid::GeneralisedMinimalResidual< Field >::operator()(), Grid::MinimalResidual< Field >::operator()(), Grid::MixedPrecisionFlexibleGeneralisedMinimalResidual< FieldD, FieldF, type, type >::operator()(), QuasiMinimalResidual< Field >::operator()(), Grid::CommunicationAvoidingGeneralisedMinimalResidual< Field >::outerLoopBody(), Grid::FlexibleCommunicationAvoidingGeneralisedMinimalResidual< Field >::outerLoopBody(), Grid::FlexibleGeneralisedMinimalResidual< Field >::outerLoopBody(), Grid::GeneralisedMinimalResidual< Field >::outerLoopBody(), Grid::MixedPrecisionFlexibleGeneralisedMinimalResidual< FieldD, FieldF, type, type >::outerLoopBody(), Aggregation< Fobj, CComplex, nbasis >::RefineSubspace(), and Aggregation< Fobj, CComplex, nbasis >::RefineSubspaceHDCG().

◆ AdjOp()

◆ HermOpAndNorm()

◆ HermOp()

template<class Field>
virtual void LinearOperatorBase< Field >::HermOp ( const Field & in,
Field & out )
pure virtual

Implemented in ConjugateGradientMultiShiftMixedPrecSupport::ShiftedLinop< Field >, Gamma5HermitianLinearOperator< Matrix, Field >, Gamma5R5HermitianLinearOperator< Matrix, Field >, HermitianLinearOperator< Matrix, Field >, MdagMLinearOperator< Matrix, Field >, MMdagLinearOperator< Matrix, Field >, NonHermitianLinearOperator< Matrix, Field >, NonHermitianSchurOperatorBase< Field >, SchurOperatorBase< Field >, SchurOperatorBase< Impl::FermionField >, SchurStaggeredOperator< Matrix, Field >, ShiftedHermOpLinearOperator< Field >, ShiftedMdagMLinearOperator< Matrix, Field >, and ShiftedNonHermitianLinearOperator< Matrix, Field >.

Referenced by ChebyshevLanczos< Field >::AminusMuSq(), BlockConjugateGradient< Field >::BlockCGrQsolve(), BlockConjugateGradient< Field >::BlockCGrQsolveVec(), BlockConjugateGradient< Field >::CGmultiRHSsolve(), ConjugateGradientPolynomial< Field >::CGsequenceHermOp(), Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshev(), InversePowerBoundsCheck(), InverseSqrtBoundsCheck(), Chebyshev< Field >::operator()(), ConjugateGradient< Field >::operator()(), ConjugateGradientMultiShift< Field >::operator()(), ConjugateGradientMultiShiftMixedPrec< FieldD, FieldF, type, type >::operator()(), ConjugateResidual< Field >::operator()(), Grid::PowerMethod< Field >::operator()(), HermOpOperatorFunction< Field >::operator()(), JacobiPolynomial< Field >::operator()(), Polynomial< Field >::operator()(), PrecConjugateResidual< Field >::operator()(), and ConjugateGradientPolynomial< Field >::PolyHermOp().


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