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

#include <GeneralCoarsenedMatrixMultiRHS.h>

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

Public Types

typedef CComplex::scalar_object SComplex
typedef GeneralCoarsenedMatrix< Fobj, CComplex, nbasis > GeneralCoarseOp
typedef MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis > MultiGeneralCoarseOp
typedef iVector< CComplex, nbasis > siteVector
typedef iMatrix< CComplex, nbasis > siteMatrix
typedef iVector< SComplex, nbasis > calcVector
typedef iMatrix< SComplex, nbasis > calcMatrix
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)
GridCartesianCoarseGrid (void)
void SetMatrix (int p, CoarseMatrix &A)
void GetMatrix (int p, CoarseMatrix &A)
void CopyMatrix (GeneralCoarseOp &_Op)
 MultiGeneralCoarsenedMatrix (NonLocalStencilGeometry &_geom, GridCartesian *CoarseGridMulti)
template<class vobj>
void GridtoBLAS (const Lattice< vobj > &from, deviceVector< typename vobj::scalar_object > &to)
template<class vobj>
void BLAStoGrid (Lattice< vobj > &grid, deviceVector< typename vobj::scalar_object > &in)
void CoarsenOperator (LinearOperatorBase< Lattice< Fobj > > &linop, Aggregation< Fobj, CComplex, nbasis > &Subspace, GridBase *CoarseGrid)
void Mdag (const CoarseVector &in, CoarseVector &out)
void M (const CoarseVector &in, CoarseVector &out)
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

GridCartesian_CoarseGridMulti
NonLocalStencilGeometry geom
NonLocalStencilGeometry geom_srhs
PaddedCell Cell
GeneralLocalStencil Stencil
deviceVector< calcVectorBLAS_B
deviceVector< calcVectorBLAS_C
std::vector< deviceVector< calcMatrix > > BLAS_A
std::vector< deviceVector< ComplexD * > > BLAS_AP
std::vector< deviceVector< ComplexD * > > BLAS_BP
deviceVector< ComplexD * > BLAS_CP

Detailed Description

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

Definition at line 37 of file GeneralCoarsenedMatrixMultiRHS.h.

Member Typedef Documentation

◆ SComplex

template<class Fobj, class CComplex, int nbasis>
typedef CComplex::scalar_object MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::SComplex

Definition at line 39 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ GeneralCoarseOp

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

Definition at line 40 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ MultiGeneralCoarseOp

template<class Fobj, class CComplex, int nbasis>
typedef MultiGeneralCoarsenedMatrix<Fobj,CComplex,nbasis> MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::MultiGeneralCoarseOp

Definition at line 41 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ siteVector

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

Definition at line 43 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ siteMatrix

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

Definition at line 44 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ calcVector

template<class Fobj, class CComplex, int nbasis>
typedef iVector<SComplex,nbasis > MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::calcVector

Definition at line 45 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ calcMatrix

template<class Fobj, class CComplex, int nbasis>
typedef iMatrix<SComplex,nbasis > MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::calcMatrix

Definition at line 46 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ CoarseComplexField

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

Definition at line 47 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ CoarseVector

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

Definition at line 48 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ CoarseMatrix

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

Definition at line 49 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ Cobj

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

Definition at line 50 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ Cvec

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

Definition at line 51 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ CoarseScalar

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

Definition at line 52 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ FineField

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

Definition at line 53 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ FineComplexField

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

Definition at line 54 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ Field

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

Definition at line 55 of file GeneralCoarsenedMatrixMultiRHS.h.

Constructor & Destructor Documentation

◆ MultiGeneralCoarsenedMatrix()

template<class Fobj, class CComplex, int nbasis>
MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::MultiGeneralCoarsenedMatrix ( NonLocalStencilGeometry & _geom,
GridCartesian * CoarseGridMulti )
inline

Member Function Documentation

◆ Grid()

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

◆ CoarseGrid()

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

Definition at line 78 of file GeneralCoarsenedMatrixMultiRHS.h.

References _CoarseGridMulti.

Referenced by CoarsenOperator(), and M().

◆ SetMatrix()

template<class Fobj, class CComplex, int nbasis>
void MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::SetMatrix ( int p,
CoarseMatrix & A )
inline

Definition at line 81 of file GeneralCoarsenedMatrixMultiRHS.h.

References BLAS_A, geom_srhs, and GridtoBLAS().

◆ GetMatrix()

template<class Fobj, class CComplex, int nbasis>
void MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::GetMatrix ( int p,
CoarseMatrix & A )
inline

Definition at line 86 of file GeneralCoarsenedMatrixMultiRHS.h.

References BLAS_A, BLAStoGrid(), and geom_srhs.

◆ CopyMatrix()

template<class Fobj, class CComplex, int nbasis>
void MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::CopyMatrix ( GeneralCoarseOp & _Op)
inline

◆ GridtoBLAS()

template<class Fobj, class CComplex, int nbasis>
template<class vobj>
void MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::GridtoBLAS ( const Lattice< vobj > & from,
deviceVector< typename vobj::scalar_object > & to )
inline

◆ BLAStoGrid()

template<class Fobj, class CComplex, int nbasis>
template<class vobj>
void MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAStoGrid ( Lattice< vobj > & grid,
deviceVector< typename vobj::scalar_object > & in )
inline

◆ CoarsenOperator()

◆ Mdag() [1/2]

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

Definition at line 640 of file GeneralCoarsenedMatrixMultiRHS.h.

References M().

◆ M() [1/2]

◆ Mdiag() [1/2]

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

Definition at line 724 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ Mdir() [1/2]

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

Definition at line 725 of file GeneralCoarsenedMatrixMultiRHS.h.

◆ MdirAll() [1/2]

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

Definition at line 726 of file GeneralCoarsenedMatrixMultiRHS.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

◆ _CoarseGridMulti

template<class Fobj, class CComplex, int nbasis>
GridCartesian* MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::_CoarseGridMulti

Definition at line 60 of file GeneralCoarsenedMatrixMultiRHS.h.

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

◆ geom

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

Definition at line 61 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by CopyMatrix(), M(), and MultiGeneralCoarsenedMatrix().

◆ geom_srhs

template<class Fobj, class CComplex, int nbasis>
NonLocalStencilGeometry MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::geom_srhs

◆ Cell

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

Definition at line 63 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by M(), and MultiGeneralCoarsenedMatrix().

◆ Stencil

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

Definition at line 64 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by MultiGeneralCoarsenedMatrix().

◆ BLAS_B

template<class Fobj, class CComplex, int nbasis>
deviceVector<calcVector> MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAS_B

Definition at line 66 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by M(), and MultiGeneralCoarsenedMatrix().

◆ BLAS_C

template<class Fobj, class CComplex, int nbasis>
deviceVector<calcVector> MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAS_C

Definition at line 67 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by M(), and MultiGeneralCoarsenedMatrix().

◆ BLAS_A

template<class Fobj, class CComplex, int nbasis>
std::vector<deviceVector<calcMatrix> > MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAS_A

◆ BLAS_AP

template<class Fobj, class CComplex, int nbasis>
std::vector<deviceVector<ComplexD *> > MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAS_AP

Definition at line 70 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by M(), and MultiGeneralCoarsenedMatrix().

◆ BLAS_BP

template<class Fobj, class CComplex, int nbasis>
std::vector<deviceVector<ComplexD *> > MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAS_BP

Definition at line 71 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by M(), and MultiGeneralCoarsenedMatrix().

◆ BLAS_CP

template<class Fobj, class CComplex, int nbasis>
deviceVector<ComplexD *> MultiGeneralCoarsenedMatrix< Fobj, CComplex, nbasis >::BLAS_CP

Definition at line 72 of file GeneralCoarsenedMatrixMultiRHS.h.

Referenced by M(), and MultiGeneralCoarsenedMatrix().


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