Public Member Functions
Playa::PreconditionerFactory< Scalar > Class Template Reference
Inheritance diagram for Playa::PreconditionerFactory< Scalar >:
Playa::Handle< PreconditionerFactoryBase< Scalar > >

List of all members.

Public Member Functions

 PreconditionerFactory ()
 PreconditionerFactory (Handleable< PreconditionerFactoryBase< Scalar > > *rawPtr)
 PreconditionerFactory (const RefCountPtr< PreconditionerFactoryBase< Scalar > > &smartPtr)
Preconditioner< Scalar > createPreconditioner (const LinearOperator< Scalar > &A) const

Detailed Description

template<class Scalar>
class Playa::PreconditionerFactory< Scalar >

PreconditionerFactory builds an implementation-specific preconditioner from an abstract specification.

Preconditioners are constructed indirectly through factories rather then directly by preconditioner ctor calls. The reason for this is that when we create a solver and want to specify the preconditioner, we don't yet know the matrix (or even the type or size of matrix) on which the solver is going to operate. Thus we have to defer construction of the preconditioner until the solve() call when the matrix is available. The factory gives us a means by which we can build a preconditioner at that point.

Definition at line 65 of file PlayaPreconditionerFactory.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Playa::PreconditionerFactory< Scalar >::PreconditionerFactory ( ) [inline]

Empty ctor

Definition at line 70 of file PlayaPreconditionerFactory.hpp.

template<class Scalar>
Playa::PreconditionerFactory< Scalar >::PreconditionerFactory ( Handleable< PreconditionerFactoryBase< Scalar > > *  rawPtr) [inline]

Construct a PreconditionerFactory<Scalar> with a raw pointer to a PreconditionerFactoryBase<Scalar>

Definition at line 70 of file PlayaPreconditionerFactory.hpp.

template<class Scalar>
Playa::PreconditionerFactory< Scalar >::PreconditionerFactory ( const RefCountPtr< PreconditionerFactoryBase< Scalar > > &  smartPtr) [inline]

Construct a PreconditionerFactory<Scalar> with a smart pointer to a PreconditionerFactoryBase<Scalar>

Definition at line 70 of file PlayaPreconditionerFactory.hpp.


Member Function Documentation

template<class Scalar>
Preconditioner<Scalar> Playa::PreconditionerFactory< Scalar >::createPreconditioner ( const LinearOperator< Scalar > &  A) const [inline]

create a concrete preconditioner

Definition at line 73 of file PlayaPreconditionerFactory.hpp.

Referenced by Playa::PCGSolver::solve(), Playa::AnasaziEigensolver< Scalar >::solve(), and Playa::BelosSolver::solve().

Site Contact