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

#include <LocalCoherenceLanczos.h>

Public Types

typedef iVector< CComplex, nbasis > CoarseSiteVector
typedef Lattice< CComplex > CoarseScalar
typedef Lattice< CoarseSiteVectorCoarseField
typedef Lattice< Fobj > FineField

Public Member Functions

 LocalCoherenceLanczos (GridBase *FineGrid, GridBase *CoarseGrid, LinearOperatorBase< FineField > &FineOp, int checkerboard)
 LocalCoherenceLanczos (GridBase *FineGrid, GridBase *CoarseGrid, LinearOperatorBase< FineField > &FineOp, int checkerboard, std::vector< FineField > &ext_subspace, std::vector< CoarseField > &ext_coarse, std::vector< RealD > &ext_eval_fine, std::vector< RealD > &ext_eval_coarse)
void Orthogonalise (void)
void testFine (RealD resid)
void testCoarse (RealD resid, ChebyParams cheby_smooth, RealD relax)
void calcFine (ChebyParams cheby_parms, int Nstop, int Nk, int Nm, RealD resid, RealD MaxIt, RealD betastp, int MinRes)
void calcCoarse (ChebyParams cheby_op, ChebyParams cheby_smooth, RealD relax, int Nstop, int Nk, int Nm, RealD resid, RealD MaxIt, RealD betastp, int MinRes)
void getFineEvecEval (FineField &evec, RealD &eval, const int i) const

Static Public Member Functions

template<typename T>
static RealD normalise (T &v)

Protected Attributes

GridBase_CoarseGrid
GridBase_FineGrid
int _checkerboard
LinearOperatorBase< FineField > & _FineOp
std::vector< RealD > & evals_fine
std::vector< RealD > & evals_coarse
std::vector< FineField > & subspace
std::vector< CoarseField > & evec_coarse

Private Attributes

std::vector< RealD_evals_fine
std::vector< RealD_evals_coarse
std::vector< FineField_subspace
std::vector< CoarseField_evec_coarse

Detailed Description

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

Definition at line 243 of file LocalCoherenceLanczos.h.

Member Typedef Documentation

◆ CoarseSiteVector

template<class Fobj, class CComplex, int nbasis>
typedef iVector<CComplex,nbasis > LocalCoherenceLanczos< Fobj, CComplex, nbasis >::CoarseSiteVector

Definition at line 246 of file LocalCoherenceLanczos.h.

◆ CoarseScalar

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

Definition at line 247 of file LocalCoherenceLanczos.h.

◆ CoarseField

template<class Fobj, class CComplex, int nbasis>
typedef Lattice<CoarseSiteVector> LocalCoherenceLanczos< Fobj, CComplex, nbasis >::CoarseField

Definition at line 248 of file LocalCoherenceLanczos.h.

◆ FineField

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

Definition at line 249 of file LocalCoherenceLanczos.h.

Constructor & Destructor Documentation

◆ LocalCoherenceLanczos() [1/2]

template<class Fobj, class CComplex, int nbasis>
LocalCoherenceLanczos< Fobj, CComplex, nbasis >::LocalCoherenceLanczos ( GridBase * FineGrid,
GridBase * CoarseGrid,
LinearOperatorBase< FineField > & FineOp,
int checkerboard )
inline

◆ LocalCoherenceLanczos() [2/2]

template<class Fobj, class CComplex, int nbasis>
LocalCoherenceLanczos< Fobj, CComplex, nbasis >::LocalCoherenceLanczos ( GridBase * FineGrid,
GridBase * CoarseGrid,
LinearOperatorBase< FineField > & FineOp,
int checkerboard,
std::vector< FineField > & ext_subspace,
std::vector< CoarseField > & ext_coarse,
std::vector< RealD > & ext_eval_fine,
std::vector< RealD > & ext_eval_coarse )
inline

Member Function Documentation

◆ Orthogonalise()

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

Definition at line 315 of file LocalCoherenceLanczos.h.

References _CoarseGrid, blockOrthogonalise(), GridLogMessage, and subspace.

◆ normalise()

template<class Fobj, class CComplex, int nbasis>
template<typename T>
RealD LocalCoherenceLanczos< Fobj, CComplex, nbasis >::normalise ( T & v)
inlinestatic

Definition at line 323 of file LocalCoherenceLanczos.h.

References norm2(), and sqrt().

◆ testFine()

template<class Fobj, class CComplex, int nbasis>
void LocalCoherenceLanczos< Fobj, CComplex, nbasis >::testFine ( RealD resid)
inline

◆ testCoarse()

template<class Fobj, class CComplex, int nbasis>
void LocalCoherenceLanczos< Fobj, CComplex, nbasis >::testCoarse ( RealD resid,
ChebyParams cheby_smooth,
RealD relax )
inline

◆ calcFine()

template<class Fobj, class CComplex, int nbasis>
void LocalCoherenceLanczos< Fobj, CComplex, nbasis >::calcFine ( ChebyParams cheby_parms,
int Nstop,
int Nk,
int Nm,
RealD resid,
RealD MaxIt,
RealD betastp,
int MinRes )
inline

◆ calcCoarse()

template<class Fobj, class CComplex, int nbasis>
void LocalCoherenceLanczos< Fobj, CComplex, nbasis >::calcCoarse ( ChebyParams cheby_op,
ChebyParams cheby_smooth,
RealD relax,
int Nstop,
int Nk,
int Nm,
RealD resid,
RealD MaxIt,
RealD betastp,
int MinRes )
inline

◆ getFineEvecEval()

template<class Fobj, class CComplex, int nbasis>
void LocalCoherenceLanczos< Fobj, CComplex, nbasis >::getFineEvecEval ( FineField & evec,
RealD & eval,
const int i ) const
inline

Definition at line 445 of file LocalCoherenceLanczos.h.

References blockPromote(), eval(), evals_coarse, evec_coarse, and subspace.

Field Documentation

◆ _CoarseGrid

template<class Fobj, class CComplex, int nbasis>
GridBase* LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_CoarseGrid
protected

◆ _FineGrid

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

Definition at line 253 of file LocalCoherenceLanczos.h.

Referenced by calcFine(), LocalCoherenceLanczos(), and LocalCoherenceLanczos().

◆ _checkerboard

template<class Fobj, class CComplex, int nbasis>
int LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_checkerboard
protected

Definition at line 254 of file LocalCoherenceLanczos.h.

Referenced by calcFine(), LocalCoherenceLanczos(), and LocalCoherenceLanczos().

◆ _FineOp

template<class Fobj, class CComplex, int nbasis>
LinearOperatorBase<FineField>& LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_FineOp
protected

◆ evals_fine

template<class Fobj, class CComplex, int nbasis>
std::vector<RealD>& LocalCoherenceLanczos< Fobj, CComplex, nbasis >::evals_fine
protected

◆ evals_coarse

template<class Fobj, class CComplex, int nbasis>
std::vector<RealD>& LocalCoherenceLanczos< Fobj, CComplex, nbasis >::evals_coarse
protected

◆ subspace

template<class Fobj, class CComplex, int nbasis>
std::vector<FineField>& LocalCoherenceLanczos< Fobj, CComplex, nbasis >::subspace
protected

◆ evec_coarse

template<class Fobj, class CComplex, int nbasis>
std::vector<CoarseField>& LocalCoherenceLanczos< Fobj, CComplex, nbasis >::evec_coarse
protected

◆ _evals_fine

template<class Fobj, class CComplex, int nbasis>
std::vector<RealD> LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_evals_fine
private

Definition at line 263 of file LocalCoherenceLanczos.h.

Referenced by LocalCoherenceLanczos().

◆ _evals_coarse

template<class Fobj, class CComplex, int nbasis>
std::vector<RealD> LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_evals_coarse
private

Definition at line 264 of file LocalCoherenceLanczos.h.

Referenced by LocalCoherenceLanczos().

◆ _subspace

template<class Fobj, class CComplex, int nbasis>
std::vector<FineField> LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_subspace
private

Definition at line 265 of file LocalCoherenceLanczos.h.

Referenced by LocalCoherenceLanczos().

◆ _evec_coarse

template<class Fobj, class CComplex, int nbasis>
std::vector<CoarseField> LocalCoherenceLanczos< Fobj, CComplex, nbasis >::_evec_coarse
private

Definition at line 266 of file LocalCoherenceLanczos.h.

Referenced by LocalCoherenceLanczos().


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