Grid 0.7.0
GeneralCoarsenedMatrix< Fobj, CComplex, nbasis > Class Template Referenceabstract

#include <GeneralCoarsenedMatrix.h>

Inheritance diagram for GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >:
SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >

Public Types

typedef GeneralCoarsenedMatrix< Fobj, CComplex, nbasis > GeneralCoarseOp
typedef iVector< CComplex, nbasis > siteVector
typedef iMatrix< CComplex, nbasis > siteMatrix
typedef Lattice< iScalar< CComplex > > CoarseComplexField
typedef Lattice< siteVectorCoarseVector
typedef Lattice< iMatrix< CComplex, nbasis > > CoarseMatrix
typedef iMatrix< CComplex, nbasis > Cobj
typedef iVector< CComplex, nbasis > Cvec
typedef Lattice< CComplex > CoarseScalar
typedef Lattice< Fobj > FineField
typedef Lattice< CComplex > FineComplexField
typedef CoarseVector Field

Public Member Functions

GridBaseGrid (void)
GridBaseFineGrid (void)
GridCartesianCoarseGrid (void)
 GeneralCoarsenedMatrix (NonLocalStencilGeometry &_geom, GridBase *FineGrid, GridCartesian *CoarseGrid)
void M (const CoarseVector &in, CoarseVector &out)
void Mdag (const CoarseVector &in, CoarseVector &out)
void Mult (std::vector< CoarseMatrix > &A, const CoarseVector &in, CoarseVector &out)
void PopulateAdag (void)
void CoarsenOperator (LinearOperatorBase< Lattice< Fobj > > &linop, Aggregation< Fobj, CComplex, nbasis > &Subspace)
void CoarsenOperator (LinearOperatorBase< Lattice< Fobj > > &linop, Aggregation< Fobj, CComplex, nbasis > &U, Aggregation< Fobj, CComplex, nbasis > &V)
void ExchangeCoarseLinks (void)
virtual void Mdiag (const Field &in, Field &out)
virtual void Mdir (const Field &in, Field &out, int dir, int disp)
virtual void MdirAll (const Field &in, std::vector< Field > &out)
virtual void M (const Lattice< iVector< CComplex, nbasis > > &in, Lattice< iVector< CComplex, nbasis > > &out)=0
virtual void Mdag (const Lattice< iVector< CComplex, nbasis > > &in, Lattice< iVector< CComplex, nbasis > > &out)=0
virtual void MdagM (const Lattice< iVector< CComplex, nbasis > > &in, Lattice< iVector< CComplex, nbasis > > &out)
virtual void MMdag (const Lattice< iVector< CComplex, nbasis > > &in, Lattice< iVector< CComplex, nbasis > > &out)
virtual void Mdiag (const Lattice< iVector< CComplex, nbasis > > &in, Lattice< iVector< CComplex, nbasis > > &out)=0
virtual void Mdir (const Lattice< iVector< CComplex, nbasis > > &in, Lattice< iVector< CComplex, nbasis > > &out, int dir, int disp)=0
virtual void MdirAll (const Lattice< iVector< CComplex, nbasis > > &in, std::vector< Lattice< iVector< CComplex, nbasis > > > &out)=0

Data Fields

int hermitian
GridBase_FineGrid
GridCartesian_CoarseGrid
NonLocalStencilGeometrygeom
PaddedCell Cell
GeneralLocalStencil Stencil
std::vector< CoarseMatrix_A
std::vector< CoarseMatrix_Adag
std::vector< CoarseVectorMultTemporaries

Detailed Description

template<class Fobj, class CComplex, int nbasis>
class GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >

Definition at line 40 of file GeneralCoarsenedMatrix.h.

Member Typedef Documentation

◆ GeneralCoarseOp

template<class Fobj, class CComplex, int nbasis>
typedef GeneralCoarsenedMatrix<Fobj,CComplex,nbasis> GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::GeneralCoarseOp

Definition at line 43 of file GeneralCoarsenedMatrix.h.

◆ siteVector

template<class Fobj, class CComplex, int nbasis>
typedef iVector<CComplex,nbasis > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::siteVector

Definition at line 44 of file GeneralCoarsenedMatrix.h.

◆ siteMatrix

template<class Fobj, class CComplex, int nbasis>
typedef iMatrix<CComplex,nbasis > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::siteMatrix

Definition at line 45 of file GeneralCoarsenedMatrix.h.

◆ CoarseComplexField

template<class Fobj, class CComplex, int nbasis>
typedef Lattice<iScalar<CComplex> > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarseComplexField

Definition at line 46 of file GeneralCoarsenedMatrix.h.

◆ CoarseVector

template<class Fobj, class CComplex, int nbasis>
typedef Lattice<siteVector> GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarseVector

Definition at line 47 of file GeneralCoarsenedMatrix.h.

◆ CoarseMatrix

template<class Fobj, class CComplex, int nbasis>
typedef Lattice<iMatrix<CComplex,nbasis > > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarseMatrix

Definition at line 48 of file GeneralCoarsenedMatrix.h.

◆ Cobj

template<class Fobj, class CComplex, int nbasis>
typedef iMatrix<CComplex,nbasis > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Cobj

Definition at line 49 of file GeneralCoarsenedMatrix.h.

◆ Cvec

template<class Fobj, class CComplex, int nbasis>
typedef iVector<CComplex,nbasis > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Cvec

Definition at line 50 of file GeneralCoarsenedMatrix.h.

◆ CoarseScalar

template<class Fobj, class CComplex, int nbasis>
typedef Lattice< CComplex > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarseScalar

Definition at line 51 of file GeneralCoarsenedMatrix.h.

◆ FineField

template<class Fobj, class CComplex, int nbasis>
typedef Lattice<Fobj > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::FineField

Definition at line 52 of file GeneralCoarsenedMatrix.h.

◆ FineComplexField

template<class Fobj, class CComplex, int nbasis>
typedef Lattice<CComplex > GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::FineComplexField

Definition at line 53 of file GeneralCoarsenedMatrix.h.

◆ Field

template<class Fobj, class CComplex, int nbasis>
typedef CoarseVector GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Field

Definition at line 54 of file GeneralCoarsenedMatrix.h.

Constructor & Destructor Documentation

◆ GeneralCoarsenedMatrix()

template<class Fobj, class CComplex, int nbasis>
GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::GeneralCoarsenedMatrix ( NonLocalStencilGeometry & _geom,
GridBase * FineGrid,
GridCartesian * CoarseGrid )
inline

Member Function Documentation

◆ Grid()

template<class Fobj, class CComplex, int nbasis>
GridBase * GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Grid ( void )
inlinevirtual

◆ FineGrid()

template<class Fobj, class CComplex, int nbasis>
GridBase * GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::FineGrid ( void )
inline

Definition at line 73 of file GeneralCoarsenedMatrix.h.

References _FineGrid.

Referenced by CoarsenOperator(), and GeneralCoarsenedMatrix().

◆ CoarseGrid()

template<class Fobj, class CComplex, int nbasis>
GridCartesian * GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarseGrid ( void )
inline

Definition at line 74 of file GeneralCoarsenedMatrix.h.

References _CoarseGrid.

Referenced by CoarsenOperator(), GeneralCoarsenedMatrix(), Mult(), and PopulateAdag().

◆ M() [1/2]

template<class Fobj, class CComplex, int nbasis>
void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::M ( const CoarseVector & in,
CoarseVector & out )
inline

Definition at line 121 of file GeneralCoarsenedMatrix.h.

References _A, and Mult().

◆ Mdag() [1/2]

template<class Fobj, class CComplex, int nbasis>
void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Mdag ( const CoarseVector & in,
CoarseVector & out )
inline

Definition at line 125 of file GeneralCoarsenedMatrix.h.

References _A, hermitian, and Mult().

◆ Mult()

◆ PopulateAdag()

template<class Fobj, class CComplex, int nbasis>
void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::PopulateAdag ( void )
inline

◆ CoarsenOperator() [1/2]

template<class Fobj, class CComplex, int nbasis>
void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator ( LinearOperatorBase< Lattice< Fobj > > & linop,
Aggregation< Fobj, CComplex, nbasis > & Subspace )
inline

Definition at line 447 of file GeneralCoarsenedMatrix.h.

References CoarsenOperator().

Referenced by CoarsenOperator().

◆ CoarsenOperator() [2/2]

template<class Fobj, class CComplex, int nbasis>
void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CoarsenOperator ( LinearOperatorBase< Lattice< Fobj > > & linop,
Aggregation< Fobj, CComplex, nbasis > & U,
Aggregation< Fobj, CComplex, nbasis > & V )
inline

◆ ExchangeCoarseLinks()

template<class Fobj, class CComplex, int nbasis>
void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::ExchangeCoarseLinks ( void )
inline

Definition at line 616 of file GeneralCoarsenedMatrix.h.

References _A, Cell, and geom.

Referenced by CoarsenOperator().

◆ Mdiag() [1/2]

template<class Fobj, class CComplex, int nbasis>
virtual void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Mdiag ( const Field & in,
Field & out )
inlinevirtual

Definition at line 622 of file GeneralCoarsenedMatrix.h.

◆ Mdir() [1/2]

template<class Fobj, class CComplex, int nbasis>
virtual void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Mdir ( const Field & in,
Field & out,
int dir,
int disp )
inlinevirtual

Definition at line 623 of file GeneralCoarsenedMatrix.h.

◆ MdirAll() [1/2]

template<class Fobj, class CComplex, int nbasis>
virtual void GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::MdirAll ( const Field & in,
std::vector< Field > & out )
inlinevirtual

Definition at line 624 of file GeneralCoarsenedMatrix.h.

◆ M() [2/2]

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::M ( const Lattice< iVector< CComplex, nbasis > > & in,
Lattice< iVector< CComplex, nbasis > > & out )
pure virtualinherited

◆ Mdag() [2/2]

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::Mdag ( const Lattice< iVector< CComplex, nbasis > > & in,
Lattice< iVector< CComplex, nbasis > > & out )
pure virtualinherited

◆ MdagM()

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::MdagM ( const Lattice< iVector< CComplex, nbasis > > & in,
Lattice< iVector< CComplex, nbasis > > & out )
inlinevirtualinherited

Definition at line 43 of file SparseMatrix.h.

◆ MMdag()

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::MMdag ( const Lattice< iVector< CComplex, nbasis > > & in,
Lattice< iVector< CComplex, nbasis > > & out )
inlinevirtualinherited

Definition at line 48 of file SparseMatrix.h.

◆ Mdiag() [2/2]

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::Mdiag ( const Lattice< iVector< CComplex, nbasis > > & in,
Lattice< iVector< CComplex, nbasis > > & out )
pure virtualinherited

◆ Mdir() [2/2]

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::Mdir ( const Lattice< iVector< CComplex, nbasis > > & in,
Lattice< iVector< CComplex, nbasis > > & out,
int dir,
int disp )
pure virtualinherited

◆ MdirAll() [2/2]

virtual void SparseMatrixBase< Lattice< iVector< CComplex, nbasis > > >::MdirAll ( const Lattice< iVector< CComplex, nbasis > > & in,
std::vector< Lattice< iVector< CComplex, nbasis > > > & out )
pure virtualinherited

Field Documentation

◆ hermitian

template<class Fobj, class CComplex, int nbasis>
int GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::hermitian

Definition at line 58 of file GeneralCoarsenedMatrix.h.

Referenced by CoarsenOperator(), GeneralCoarsenedMatrix(), and Mdag().

◆ _FineGrid

template<class Fobj, class CComplex, int nbasis>
GridBase* GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::_FineGrid

Definition at line 59 of file GeneralCoarsenedMatrix.h.

Referenced by FineGrid(), and GeneralCoarsenedMatrix().

◆ _CoarseGrid

template<class Fobj, class CComplex, int nbasis>
GridCartesian* GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::_CoarseGrid

Definition at line 60 of file GeneralCoarsenedMatrix.h.

Referenced by CoarseGrid(), GeneralCoarsenedMatrix(), and Grid().

◆ geom

template<class Fobj, class CComplex, int nbasis>
NonLocalStencilGeometry& GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::geom

◆ Cell

template<class Fobj, class CComplex, int nbasis>
PaddedCell GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Cell

◆ Stencil

template<class Fobj, class CComplex, int nbasis>
GeneralLocalStencil GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::Stencil

Definition at line 63 of file GeneralCoarsenedMatrix.h.

Referenced by GeneralCoarsenedMatrix(), and Mult().

◆ _A

template<class Fobj, class CComplex, int nbasis>
std::vector<CoarseMatrix> GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::_A

◆ _Adag

template<class Fobj, class CComplex, int nbasis>
std::vector<CoarseMatrix> GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::_Adag

Definition at line 66 of file GeneralCoarsenedMatrix.h.

Referenced by PopulateAdag().

◆ MultTemporaries

template<class Fobj, class CComplex, int nbasis>
std::vector<CoarseVector> GeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::MultTemporaries

Definition at line 67 of file GeneralCoarsenedMatrix.h.

Referenced by Mult().


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