47 #ifndef __Teko_SolveInverseFactory_hpp__
48 #define __Teko_SolveInverseFactory_hpp__
50 #include "Teko_InverseFactory.hpp"
54 class SolveInverseFactory :
public InverseFactory {
69 const Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> >& lowsFactory);
72 SolveInverseFactory(
const SolveInverseFactory& siFactory);
75 virtual ~SolveInverseFactory() {}
86 virtual InverseLinearOp
buildInverse(
const LinearOp& linearOp)
const;
100 virtual InverseLinearOp
buildInverse(
const LinearOp& linearOp,
const LinearOp& precOp)
const;
113 virtual void rebuildInverse(
const LinearOp& source, InverseLinearOp& dest)
const;
127 virtual void rebuildInverse(
const LinearOp& source,
const LinearOp& precOp,
128 InverseLinearOp& dest)
const;
138 virtual Teuchos::RCP<const Teuchos::ParameterList> getParameterList()
const;
141 Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<double> > getLowsFactory()
const {
146 virtual std::string toString()
const {
return lowsFactory_->description(); }
149 Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> > lowsFactory_;
153 SolveInverseFactory();
InverseLinearOp buildInverse(const InverseFactory &factory, const LinearOp &A, const LinearOp &precOp)
void rebuildInverse(const InverseFactory &factory, const LinearOp &A, const LinearOp &precOp, InverseLinearOp &invA)