47 #ifndef __Teko_SolveInverseFactory_hpp__
48 #define __Teko_SolveInverseFactory_hpp__
50 #include "Teko_InverseFactory.hpp"
54 class SolveInverseFactory :
public InverseFactory {
68 SolveInverseFactory(
const Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> > & lowsFactory);
71 SolveInverseFactory(
const SolveInverseFactory & siFactory);
74 virtual ~SolveInverseFactory() {}
85 virtual InverseLinearOp
buildInverse(
const LinearOp & linearOp)
const;
99 virtual InverseLinearOp
buildInverse(
const LinearOp & linearOp,
const LinearOp & precOp)
const;
112 virtual void rebuildInverse(
const LinearOp & source,InverseLinearOp & dest)
const;
126 virtual void rebuildInverse(
const LinearOp & source,
const LinearOp & precOp,InverseLinearOp & dest)
const;
136 virtual Teuchos::RCP<const Teuchos::ParameterList> getParameterList()
const;
139 Teuchos::RCP<const Thyra::LinearOpWithSolveFactoryBase<double> > getLowsFactory()
const
140 {
return lowsFactory_; }
144 virtual std::string toString()
const {
return lowsFactory_->description(); }
147 Teuchos::RCP<Thyra::LinearOpWithSolveFactoryBase<double> > lowsFactory_;
151 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)