Chroma::LinOpSysSolverEigCGArray< T > Class Template Reference
[Inverters]

Solve a M*psi=chi linear system by CG2 with eigenvectors. More...

#include <syssolver_linop_eigcg_array.h>

Inheritance diagram for Chroma::LinOpSysSolverEigCGArray< T >:

Chroma::LinOpSystemSolverArray< T > Chroma::SystemSolverArray< T > List of all members.

Public Member Functions

 LinOpSysSolverEigCGArray (Handle< LinearOperatorArray< T > > A_, const SysSolverEigCGParams &invParam_)
 Constructor.
 ~LinOpSysSolverEigCGArray ()
 Destructor is automatic.
const Subset & subset (void) const
 Return the subset on which the operator acts.
int size (void) const
 Expected length of array index.
SystemSolverResults_t operator() (multi1d< T > &psi, const multi1d< T > &chi) const
 Solver the linear system.
template<>
SystemSolverResults_t operator() (multi1d< LatticeFermionF > &psi, const multi1d< LatticeFermionF > &chi) const
template<>
SystemSolverResults_t operator() (multi1d< LatticeFermionD > &psi, const multi1d< LatticeFermionD > &chi) const

Private Member Functions

 LinOpSysSolverEigCGArray ()

Private Attributes

Handle< LinearOperatorArray<
T > > 
MdagM
Handle< LinearOperatorArray<
T > > 
A
SysSolverEigCGParams invParam

Detailed Description

template<typename T>
class Chroma::LinOpSysSolverEigCGArray< T >

Solve a M*psi=chi linear system by CG2 with eigenvectors.

Definition at line 36 of file syssolver_linop_eigcg_array.h.


Constructor & Destructor Documentation

template<typename T>
Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray ( Handle< LinearOperatorArray< T > >  A_,
const SysSolverEigCGParams invParam_ 
) [inline]

Constructor.

Parameters:
M_ Linear operator ( Read )
invParam_ inverter parameters ( Read )

Definition at line 44 of file syssolver_linop_eigcg_array.h.

References Chroma::SysSolverEigCGParams::eigen_id, Chroma::LinAlg::RitzPairsArray< T >::init(), Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), Chroma::LinOpSysSolverEigCGArray< T >::invParam, Chroma::LinOpSysSolverEigCGArray< T >::MdagM, Chroma::SysSolverEigCGParams::Neig, and Chroma::SysSolverEigCGParams::Neig_max.

template<typename T>
Chroma::LinOpSysSolverEigCGArray< T >::~LinOpSysSolverEigCGArray (  )  [inline]

Destructor is automatic.

Definition at line 65 of file syssolver_linop_eigcg_array.h.

References Chroma::SysSolverEigCGParams::cleanUpEvecs, Chroma::SysSolverEigCGParams::eigen_id, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), and Chroma::LinOpSysSolverEigCGArray< T >::invParam.

template<typename T>
Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray (  )  [inline, private]

Definition at line 91 of file syssolver_linop_eigcg_array.h.


Member Function Documentation

template<>
SystemSolverResults_t Chroma::LinOpSysSolverEigCGArray< LatticeFermionD >::operator() ( multi1d< LatticeFermionD > &  psi,
const multi1d< LatticeFermionD > &  chi 
) const

Definition at line 236 of file syssolver_linop_eigcg_array.cc.

References Chroma::LinOpSysSolverEigCGArray< T >::A, Chroma::LinOpSysSolverEigCGArray< T >::invParam, Chroma::LinOpSysSolverEigCGArray< T >::MdagM, and Chroma::sysSolver().

template<>
SystemSolverResults_t Chroma::LinOpSysSolverEigCGArray< LatticeFermionF >::operator() ( multi1d< LatticeFermionF > &  psi,
const multi1d< LatticeFermionF > &  chi 
) const

Definition at line 228 of file syssolver_linop_eigcg_array.cc.

References Chroma::LinOpSysSolverEigCGArray< T >::A, Chroma::LinOpSysSolverEigCGArray< T >::invParam, Chroma::LinOpSysSolverEigCGArray< T >::MdagM, and Chroma::sysSolver().

template<typename T>
SystemSolverResults_t Chroma::LinOpSysSolverEigCGArray< T >::operator() ( multi1d< T > &  psi,
const multi1d< T > &  chi 
) const [virtual]

Solver the linear system.

Parameters:
psi solution ( Modify )
chi source ( Read )
Returns:
syssolver results
Definitions supplied in the correspond .cc file

Implements Chroma::SystemSolverArray< T >.

template<typename T>
int Chroma::LinOpSysSolverEigCGArray< T >::size ( void   )  const [inline, virtual]

Expected length of array index.

Implements Chroma::SystemSolverArray< T >.

Definition at line 77 of file syssolver_linop_eigcg_array.h.

References Chroma::LinOpSysSolverEigCGArray< T >::A.

template<typename T>
const Subset& Chroma::LinOpSysSolverEigCGArray< T >::subset ( void   )  const [inline, virtual]

Return the subset on which the operator acts.

Implements Chroma::SystemSolverArray< T >.

Definition at line 74 of file syssolver_linop_eigcg_array.h.

References Chroma::LinOpSysSolverEigCGArray< T >::A.


Member Data Documentation

template<typename T>
Handle< LinearOperatorArray<T> > Chroma::LinOpSysSolverEigCGArray< T >::A [private]

Definition at line 94 of file syssolver_linop_eigcg_array.h.

Referenced by Chroma::LinOpSysSolverEigCGArray< T >::operator()(), Chroma::LinOpSysSolverEigCGArray< T >::size(), and Chroma::LinOpSysSolverEigCGArray< T >::subset().

template<typename T>
SysSolverEigCGParams Chroma::LinOpSysSolverEigCGArray< T >::invParam [private]

Definition at line 95 of file syssolver_linop_eigcg_array.h.

Referenced by Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray(), Chroma::LinOpSysSolverEigCGArray< T >::operator()(), and Chroma::LinOpSysSolverEigCGArray< T >::~LinOpSysSolverEigCGArray().

template<typename T>
Handle< LinearOperatorArray<T> > Chroma::LinOpSysSolverEigCGArray< T >::MdagM [private]

Definition at line 93 of file syssolver_linop_eigcg_array.h.

Referenced by Chroma::LinOpSysSolverEigCGArray< T >::LinOpSysSolverEigCGArray(), and Chroma::LinOpSysSolverEigCGArray< T >::operator()().


The documentation for this class was generated from the following file:
Generated on Sun Nov 22 04:40:06 2009 for CHROMA by  doxygen 1.4.7