Grid 0.7.0
Aggregation< Fobj, CComplex, nbasis > Class Template Reference

#include <Aggregates.h>

Public Types

typedef iVector< CComplex, nbasis > siteVector
typedef Lattice< siteVectorCoarseVector
typedef Lattice< iMatrix< CComplex, nbasis > > CoarseMatrix
typedef Lattice< CComplex > CoarseScalar
typedef Lattice< Fobj > FineField

Public Member Functions

constexpr int Nbasis (void)
int Checkerboard (void)
 Aggregation (GridBase *_CoarseGrid, GridBase *_FineGrid, int _checkerboard)
void Orthogonalise (void)
void ProjectToSubspace (CoarseVector &CoarseVec, const FineField &FineVec)
void PromoteFromSubspace (const CoarseVector &CoarseVec, FineField &FineVec)
virtual void CreateSubspaceRandom (GridParallelRNG &RNG)
virtual void CreateSubspace (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, int nn=nbasis)
virtual void CreateSubspaceGCR (GridParallelRNG &RNG, LinearOperatorBase< FineField > &DiracOp, int nn=nbasis)
virtual void CreateSubspaceChebyshev (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, int nn, double hi, double lo, int orderfilter, int ordermin, int orderstep, double filterlo)
virtual void CreateSubspacePolyCheby (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, int nn, double hi, double lo1, int orderfilter, double lo2, int orderstep)
virtual void CreateSubspaceChebyshev (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, int nn, double hi, double lo, int orderfilter)
virtual void CreateSubspaceChebyshevPowerLaw (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, int nn, double hi, int orderfilter)
virtual void CreateSubspaceChebyshevNew (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, double hi)
virtual void CreateSubspaceMultishift (GridParallelRNG &RNG, LinearOperatorBase< FineField > &hermop, double Lo, double tol, int maxit)
virtual void RefineSubspace (LinearOperatorBase< FineField > &hermop, double Lo, double tol, int maxit)
virtual void RefineSubspaceHDCG (LinearOperatorBase< FineField > &hermop, TwoLevelADEF2mrhs< FineField, CoarseVector > &theHDCG, int nrhs)

Data Fields

GridBaseCoarseGrid
GridBaseFineGrid
std::vector< Lattice< Fobj > > subspace
int checkerboard

Detailed Description

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

Definition at line 45 of file Aggregates.h.

Member Typedef Documentation

◆ siteVector

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

Definition at line 49 of file Aggregates.h.

◆ CoarseVector

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

Definition at line 50 of file Aggregates.h.

◆ CoarseMatrix

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

Definition at line 51 of file Aggregates.h.

◆ CoarseScalar

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

Definition at line 53 of file Aggregates.h.

◆ FineField

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

Definition at line 54 of file Aggregates.h.

Constructor & Destructor Documentation

◆ Aggregation()

template<class Fobj, class CComplex, int nbasis>
Aggregation< Fobj, CComplex, nbasis >::Aggregation ( GridBase * _CoarseGrid,
GridBase * _FineGrid,
int _checkerboard )
inline

Definition at line 61 of file Aggregates.h.

References checkerboard, CoarseGrid, FineGrid, and subspace.

Member Function Documentation

◆ Nbasis()

template<class Fobj, class CComplex, int nbasis>
int Aggregation< Fobj, CComplex, nbasis >::Nbasis ( void )
inlineconstexpr

Definition at line 47 of file Aggregates.h.

◆ Checkerboard()

template<class Fobj, class CComplex, int nbasis>
int Aggregation< Fobj, CComplex, nbasis >::Checkerboard ( void )
inline

Definition at line 60 of file Aggregates.h.

References checkerboard.

◆ Orthogonalise()

template<class Fobj, class CComplex, int nbasis>
void Aggregation< Fobj, CComplex, nbasis >::Orthogonalise ( void )
inline

Definition at line 70 of file Aggregates.h.

References blockOrthogonalise(), CoarseGrid, and subspace.

◆ ProjectToSubspace()

template<class Fobj, class CComplex, int nbasis>
void Aggregation< Fobj, CComplex, nbasis >::ProjectToSubspace ( CoarseVector & CoarseVec,
const FineField & FineVec )
inline

◆ PromoteFromSubspace()

template<class Fobj, class CComplex, int nbasis>
void Aggregation< Fobj, CComplex, nbasis >::PromoteFromSubspace ( const CoarseVector & CoarseVec,
FineField & FineVec )
inline

◆ CreateSubspaceRandom()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceRandom ( GridParallelRNG & RNG)
inlinevirtual

Definition at line 83 of file Aggregates.h.

References FineGrid, gaussian(), norm2(), and subspace.

◆ CreateSubspace()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspace ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
int nn = nbasis )
inlinevirtual

◆ CreateSubspaceGCR()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceGCR ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & DiracOp,
int nn = nbasis )
inlinevirtual

◆ CreateSubspaceChebyshev() [1/2]

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshev ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
int nn,
double hi,
double lo,
int orderfilter,
int ordermin,
int orderstep,
double filterlo )
inlinevirtual

◆ CreateSubspacePolyCheby()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspacePolyCheby ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
int nn,
double hi,
double lo1,
int orderfilter,
double lo2,
int orderstep )
inlinevirtual

◆ CreateSubspaceChebyshev() [2/2]

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshev ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
int nn,
double hi,
double lo,
int orderfilter )
inlinevirtual

◆ CreateSubspaceChebyshevPowerLaw()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshevPowerLaw ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
int nn,
double hi,
int orderfilter )
inlinevirtual

◆ CreateSubspaceChebyshevNew()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceChebyshevNew ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
double hi )
inlinevirtual

◆ CreateSubspaceMultishift()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::CreateSubspaceMultishift ( GridParallelRNG & RNG,
LinearOperatorBase< FineField > & hermop,
double Lo,
double tol,
int maxit )
inlinevirtual

◆ RefineSubspace()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::RefineSubspace ( LinearOperatorBase< FineField > & hermop,
double Lo,
double tol,
int maxit )
inlinevirtual

◆ RefineSubspaceHDCG()

template<class Fobj, class CComplex, int nbasis>
virtual void Aggregation< Fobj, CComplex, nbasis >::RefineSubspaceHDCG ( LinearOperatorBase< FineField > & hermop,
TwoLevelADEF2mrhs< FineField, CoarseVector > & theHDCG,
int nrhs )
inlinevirtual

Field Documentation

◆ CoarseGrid

template<class Fobj, class CComplex, int nbasis>
GridBase* Aggregation< Fobj, CComplex, nbasis >::CoarseGrid

◆ FineGrid

◆ subspace

◆ checkerboard

template<class Fobj, class CComplex, int nbasis>
int Aggregation< Fobj, CComplex, nbasis >::checkerboard

Definition at line 59 of file Aggregates.h.

Referenced by Aggregation(), and Checkerboard().


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