Belos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Types | Static Private Attributes | List of all members
Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType > Class Template Reference

PCPG iterative linear solver. More...

#include <BelosPCPGSolMgr.hpp>

Inheritance diagram for Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >:
Inheritance graph
[legend]

Public Member Functions

 PCPGSolMgr ()
 
 PCPGSolMgr (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< Teuchos::ParameterList > &pl)
 
virtual ~PCPGSolMgr ()
 
Teuchos::RCP< SolverManager
< ScalarType, MV, OP > > 
clone () const override
 clone for Inverted Injection (DII) More...
 

Private Types

typedef
Details::SolverManagerRequiresRealLapack
< ScalarType, MV, OP,
scalarTypeIsSupported
base_type
 

Static Private Attributes

static const bool scalarTypeIsSupported
 

Detailed Description

template<class ScalarType, class MV, class OP, const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
class Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >

PCPG iterative linear solver.

Author
David Day

PCPG is a CG-based "seed solver." This means that it does preconditioned CG to build up a matrix polynomial, then can reuse that polynomial to compute solutions of successive linear systems, possibly with different right-hand sides. Belos also implements a Block GMRES - based seed solver, Belos::GmresPolySolMgr.

Users must ensure that each linear system has the same coefficient matrix. The seed space is invariant during an individual linear system solve. Finally, due to finite precision arithmetic, the off-diaognal "P'AP" terms grow.

One often sees PCPG in context with the FETI domain decomposition method.

Definition at line 153 of file BelosPCPGSolMgr.hpp.

Member Typedef Documentation

template<class ScalarType , class MV , class OP , const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
typedef Details::SolverManagerRequiresRealLapack<ScalarType, MV, OP, scalarTypeIsSupported> Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >::base_type
private

Definition at line 162 of file BelosPCPGSolMgr.hpp.

Constructor & Destructor Documentation

template<class ScalarType , class MV , class OP , const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >::PCPGSolMgr ( )
inline

Definition at line 165 of file BelosPCPGSolMgr.hpp.

template<class ScalarType , class MV , class OP , const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >::PCPGSolMgr ( const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &  problem,
const Teuchos::RCP< Teuchos::ParameterList > &  pl 
)
inline

Definition at line 168 of file BelosPCPGSolMgr.hpp.

template<class ScalarType , class MV , class OP , const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
virtual Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >::~PCPGSolMgr ( )
inlinevirtual

Definition at line 172 of file BelosPCPGSolMgr.hpp.

Member Function Documentation

template<class ScalarType , class MV , class OP , const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
Teuchos::RCP<SolverManager<ScalarType, MV, OP> > Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >::clone ( ) const
inlineoverride

clone for Inverted Injection (DII)

Definition at line 175 of file BelosPCPGSolMgr.hpp.

Member Data Documentation

template<class ScalarType , class MV , class OP , const bool supportsScalarType = Belos::Details::LapackSupportsScalar<ScalarType>::value && ! Teuchos::ScalarTraits<ScalarType>::isComplex>
const bool Belos::PCPGSolMgr< ScalarType, MV, OP, supportsScalarType >::scalarTypeIsSupported
staticprivate

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