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 28 of file PlayaPreconditionerFactory.hpp.

Constructor & Destructor Documentation

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

Empty ctor

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

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

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>

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 36 of file PlayaPreconditionerFactory.hpp.

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

Site Contact