Public Member Functions | |
| PreconditionerFactory () | |
| PreconditionerFactory (Handleable< PreconditionerFactoryBase< Scalar > > *rawPtr) | |
| PreconditionerFactory (const RefCountPtr< PreconditionerFactoryBase< Scalar > > &smartPtr) | |
| Preconditioner< Scalar > | createPreconditioner (const LinearOperator< Scalar > &A) const |
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.
| Playa::PreconditionerFactory< Scalar >::PreconditionerFactory | ( | ) | [inline] |
Empty ctor
Definition at line 70 of file PlayaPreconditionerFactory.hpp.
| 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.
| 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.
| 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().