103 const Teuchos::RCP<InverseFactory> &defaultFact = Teuchos::null);
106 const std::vector<Teuchos::RCP<InverseFactory> > &inverseFactories,
107 const std::vector<Teuchos::RCP<InverseFactory> > &preconditionerFactories,
108 const Teuchos::RCP<InverseFactory> &defaultInverseFact = Teuchos::null,
109 const Teuchos::RCP<InverseFactory> &defaultPreconditionerFact = Teuchos::null);
121 std::vector<LinearOp> &invDiag)
const;
124 const std::vector<Teuchos::RCP<InverseFactory> > &
getFactories()
const {
return invDiagFact_; }
128 std::vector<Teuchos::RCP<InverseFactory> > invDiagFact_;
129 std::vector<Teuchos::RCP<InverseFactory> > precDiagFact_;
130 Teuchos::RCP<InverseFactory> defaultInvFact_;
131 Teuchos::RCP<InverseFactory> defaultPrecFact_;
136 const std::string &opPrefix,
int i)
const;
virtual void getInvD(const BlockedLinearOp &A, BlockPreconditionerState &state, std::vector< LinearOp > &invDiag) const =0
returns an (approximate) inverse of the diagonal blocks of A
LinearOp buildInverse(const InverseFactory &invFact, Teuchos::RCP< InverseFactory > &precFact, const LinearOp &matrix, BlockPreconditionerState &state, const std::string &opPrefix, int i) const
Conveinence function for building inverse operators.