Chroma::MdagMSysSolverRichardsonClover Class Reference
[Inverters]

Solve a system using Richardson iteration. More...

#include <syssolver_mdagm_richardson_multiprec_clover.h>

Inheritance diagram for Chroma::MdagMSysSolverRichardsonClover:

Chroma::MdagMSystemSolver< LatticeFermion > Chroma::SystemSolver< LatticeFermion > List of all members.

Public Types

typedef LatticeFermion T
typedef LatticeColorMatrix U
typedef multi1d< LatticeColorMatrix > Q
typedef LatticeFermionF TF
typedef LatticeColorMatrixF UF
typedef multi1d< LatticeColorMatrixF > QF
typedef LatticeFermionD TD
typedef LatticeColorMatrixD UD
typedef multi1d< LatticeColorMatrixD > QD

Public Member Functions

 MdagMSysSolverRichardsonClover (Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverRichardsonCloverParams &invParam_)
 Constructor.
 ~MdagMSysSolverRichardsonClover ()
 Destructor is automatic.
const Subset & subset () const
 Return the subset on which the operator acts.
SystemSolverResults_t operator() (T &psi, const T &chi) const
 Solver the linear system.
SystemSolverResults_t operator() (T &psi, const T &chi, AbsChronologicalPredictor4D< T > &predictor) const
 Solve the linear system starting with a chrono guess.

Private Member Functions

 MdagMSysSolverRichardsonClover ()

Private Attributes

Handle< LinearOperator< T > > A
const SysSolverRichardsonCloverParams invParam
Handle< FermState< TF, QF,
QF > > 
fstate_single
Handle< FermState< TD, QD,
QD > > 
fstate_double
Handle< LinearOperator< TF > > M_single
Handle< LinearOperator< TD > > M_double
Handle< MdagMSystemSolver<
TF > > 
DInv

Detailed Description

Solve a system using Richardson iteration.

Definition at line 43 of file syssolver_mdagm_richardson_multiprec_clover.h.


Member Typedef Documentation

typedef multi1d<LatticeColorMatrix> Chroma::MdagMSysSolverRichardsonClover::Q

Definition at line 48 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef multi1d<LatticeColorMatrixD> Chroma::MdagMSysSolverRichardsonClover::QD

Definition at line 56 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef multi1d<LatticeColorMatrixF> Chroma::MdagMSysSolverRichardsonClover::QF

Definition at line 52 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef LatticeFermion Chroma::MdagMSysSolverRichardsonClover::T

Definition at line 46 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef LatticeFermionD Chroma::MdagMSysSolverRichardsonClover::TD

Definition at line 54 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef LatticeFermionF Chroma::MdagMSysSolverRichardsonClover::TF

Definition at line 50 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef LatticeColorMatrix Chroma::MdagMSysSolverRichardsonClover::U

Definition at line 47 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef LatticeColorMatrixD Chroma::MdagMSysSolverRichardsonClover::UD

Definition at line 55 of file syssolver_mdagm_richardson_multiprec_clover.h.

typedef LatticeColorMatrixF Chroma::MdagMSysSolverRichardsonClover::UF

Definition at line 51 of file syssolver_mdagm_richardson_multiprec_clover.h.


Constructor & Destructor Documentation

Chroma::MdagMSysSolverRichardsonClover::MdagMSysSolverRichardsonClover ( Handle< LinearOperator< T > >  A_,
Handle< FermState< T, Q, Q > >  state_,
const SysSolverRichardsonCloverParams invParam_ 
) [inline]

Constructor.

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

Definition at line 63 of file syssolver_mdagm_richardson_multiprec_clover.h.

References Chroma::SysSolverRichardsonCloverParams::clovParams, DInv, fstate_double, fstate_single, Chroma::GroupXML_t::id, Chroma::SysSolverRichardsonCloverParams::innerSolverParams, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), M_double, M_single, Chroma::GroupXML_t::path, and Chroma::GroupXML_t::xml.

Chroma::MdagMSysSolverRichardsonClover::~MdagMSysSolverRichardsonClover (  )  [inline]

Destructor is automatic.

Definition at line 103 of file syssolver_mdagm_richardson_multiprec_clover.h.

Chroma::MdagMSysSolverRichardsonClover::MdagMSysSolverRichardsonClover (  )  [inline, private]

Definition at line 185 of file syssolver_mdagm_richardson_multiprec_clover.h.


Member Function Documentation

SystemSolverResults_t Chroma::MdagMSysSolverRichardsonClover::operator() ( T psi,
const T chi,
AbsChronologicalPredictor4D< T > &  predictor 
) const [inline, virtual]

Solve the linear system starting with a chrono guess.

Parameters:
psi solution (Write)
chi source (Read)
predictor a chronological predictor (Read)
Returns:
syssolver results

Implements Chroma::MdagMSystemSolver< LatticeFermion >.

Definition at line 162 of file syssolver_mdagm_richardson_multiprec_clover.h.

References A, END_CODE, MdagM, Chroma::AbsChronologicalPredictor4D< T >::newVector(), and START_CODE.

SystemSolverResults_t Chroma::MdagMSysSolverRichardsonClover::operator() ( T psi,
const T chi 
) const [inline, virtual]

Solver the linear system.

Parameters:
psi solution ( Modify )
chi source ( Read )
Returns:
syssolver results

Implements Chroma::MdagMSystemSolver< LatticeFermion >.

Definition at line 114 of file syssolver_mdagm_richardson_multiprec_clover.h.

References A, DInv, END_CODE, Chroma::InvMultiPrecRichardson(), invParam, M_double, Chroma::SysSolverRichardsonCloverParams::MaxIter, Chroma::MINUS, Chroma::SystemSolverResults_t::n_count, Chroma::PLUS, Chroma::SystemSolverResults_t::resid, Chroma::SysSolverRichardsonCloverParams::RsdTarget, and START_CODE.

const Subset& Chroma::MdagMSysSolverRichardsonClover::subset ( void   )  const [inline, virtual]

Return the subset on which the operator acts.

Implements Chroma::MdagMSystemSolver< LatticeFermion >.

Definition at line 106 of file syssolver_mdagm_richardson_multiprec_clover.h.

References A.


Member Data Documentation

Handle< LinearOperator<T> > Chroma::MdagMSysSolverRichardsonClover::A [private]

Definition at line 186 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by operator()(), and subset().

Handle< MdagMSystemSolver< TF > > Chroma::MdagMSysSolverRichardsonClover::DInv [private]

Definition at line 194 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by MdagMSysSolverRichardsonClover(), and operator()().

Handle< FermState<TD, QD, QD> > Chroma::MdagMSysSolverRichardsonClover::fstate_double [private]

Definition at line 191 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by MdagMSysSolverRichardsonClover().

Handle< FermState<TF, QF, QF> > Chroma::MdagMSysSolverRichardsonClover::fstate_single [private]

Definition at line 190 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by MdagMSysSolverRichardsonClover().

const SysSolverRichardsonCloverParams Chroma::MdagMSysSolverRichardsonClover::invParam [private]

Definition at line 187 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by operator()().

Handle< LinearOperator<TD> > Chroma::MdagMSysSolverRichardsonClover::M_double [private]

Definition at line 193 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by MdagMSysSolverRichardsonClover(), and operator()().

Handle< LinearOperator<TF> > Chroma::MdagMSysSolverRichardsonClover::M_single [private]

Definition at line 192 of file syssolver_mdagm_richardson_multiprec_clover.h.

Referenced by MdagMSysSolverRichardsonClover().


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