Chroma::LinOpSysSolverRichardsonClover Class Reference
[Inverters]

Solve a system using Richardson iteration. More...

#include <syssolver_linop_richardson_multiprec_clover.h>

Inheritance diagram for Chroma::LinOpSysSolverRichardsonClover:

Chroma::LinOpSystemSolver< 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

 LinOpSysSolverRichardsonClover (Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverRichardsonCloverParams &invParam_)
 Constructor.
 ~LinOpSysSolverRichardsonClover ()
 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.

Private Member Functions

 LinOpSysSolverRichardsonClover ()

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< LinOpSystemSolver<
TF > > 
DInv

Detailed Description

Solve a system using Richardson iteration.

WARNING THIS SOLVER WORKS FOR CLOVER FERMIONS ONLY ***

Definition at line 44 of file syssolver_linop_richardson_multiprec_clover.h.


Member Typedef Documentation

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

Definition at line 49 of file syssolver_linop_richardson_multiprec_clover.h.

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

Definition at line 57 of file syssolver_linop_richardson_multiprec_clover.h.

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

Definition at line 53 of file syssolver_linop_richardson_multiprec_clover.h.

typedef LatticeFermion Chroma::LinOpSysSolverRichardsonClover::T

Definition at line 47 of file syssolver_linop_richardson_multiprec_clover.h.

typedef LatticeFermionD Chroma::LinOpSysSolverRichardsonClover::TD

Definition at line 55 of file syssolver_linop_richardson_multiprec_clover.h.

typedef LatticeFermionF Chroma::LinOpSysSolverRichardsonClover::TF

Definition at line 51 of file syssolver_linop_richardson_multiprec_clover.h.

typedef LatticeColorMatrix Chroma::LinOpSysSolverRichardsonClover::U

Definition at line 48 of file syssolver_linop_richardson_multiprec_clover.h.

typedef LatticeColorMatrixD Chroma::LinOpSysSolverRichardsonClover::UD

Definition at line 56 of file syssolver_linop_richardson_multiprec_clover.h.

typedef LatticeColorMatrixF Chroma::LinOpSysSolverRichardsonClover::UF

Definition at line 52 of file syssolver_linop_richardson_multiprec_clover.h.


Constructor & Destructor Documentation

Chroma::LinOpSysSolverRichardsonClover::LinOpSysSolverRichardsonClover ( 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 64 of file syssolver_linop_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::LinOpSysSolverRichardsonClover::~LinOpSysSolverRichardsonClover (  )  [inline]

Destructor is automatic.

Definition at line 103 of file syssolver_linop_richardson_multiprec_clover.h.

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

Definition at line 163 of file syssolver_linop_richardson_multiprec_clover.h.


Member Function Documentation

SystemSolverResults_t Chroma::LinOpSysSolverRichardsonClover::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::SystemSolver< LatticeFermion >.

Definition at line 114 of file syssolver_linop_richardson_multiprec_clover.h.

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

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

Return the subset on which the operator acts.

Implements Chroma::SystemSolver< LatticeFermion >.

Definition at line 106 of file syssolver_linop_richardson_multiprec_clover.h.

References A.


Member Data Documentation

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

Definition at line 164 of file syssolver_linop_richardson_multiprec_clover.h.

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

Handle< LinOpSystemSolver< TF > > Chroma::LinOpSysSolverRichardsonClover::DInv [private]

Definition at line 172 of file syssolver_linop_richardson_multiprec_clover.h.

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

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

Definition at line 169 of file syssolver_linop_richardson_multiprec_clover.h.

Referenced by LinOpSysSolverRichardsonClover().

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

Definition at line 168 of file syssolver_linop_richardson_multiprec_clover.h.

Referenced by LinOpSysSolverRichardsonClover().

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

Definition at line 165 of file syssolver_linop_richardson_multiprec_clover.h.

Referenced by operator()().

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

Definition at line 171 of file syssolver_linop_richardson_multiprec_clover.h.

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

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

Definition at line 170 of file syssolver_linop_richardson_multiprec_clover.h.

Referenced by LinOpSysSolverRichardsonClover().


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