10 #ifndef __Teko_SolveInverseFactory_hpp__
11 #define __Teko_SolveInverseFactory_hpp__
13 #include "Teko_InverseFactory.hpp"
17 class SolveInverseFactory :
public InverseFactory {
32 const Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> >& lowsFactory);
35 SolveInverseFactory(
const SolveInverseFactory& siFactory);
38 virtual ~SolveInverseFactory() {}
49 virtual InverseLinearOp
buildInverse(
const LinearOp& linearOp)
const;
63 virtual InverseLinearOp
buildInverse(
const LinearOp& linearOp,
const LinearOp& precOp)
const;
76 virtual void rebuildInverse(
const LinearOp& source, InverseLinearOp& dest)
const;
90 virtual void rebuildInverse(
const LinearOp& source,
const LinearOp& precOp,
91 InverseLinearOp& dest)
const;
101 virtual Teuchos::RCP<const Teuchos::ParameterList> getParameterList()
const;
104 Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<double> > getLowsFactory()
const {
109 virtual std::string toString()
const {
return lowsFactory_->description(); }
112 Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> > lowsFactory_;
116 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)