43 #ifndef IFPACK_SOLVEOBJECT_H
44 #define IFPACK_SOLVEOBJECT_H
46 #include "Epetra_Operator.h"
47 #include "Epetra_CrsMatrix.h"
48 #include "Epetra_Vector.h"
121 int Condest(
bool Trans,
double & ConditionNumberEstimate)
const;
153 const char *
Label()
const {
return(Label_);};
219 virtual int SetupXY(
bool Trans,
232 mutable double Condest_;
237 #endif // IFPACK_SOLVEOBJECT_H
const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_Map object associated with the domain of this operator.
const Epetra_CrsMatrix & U() const
Returns the address of the L factor associated with this factored matrix.
const char * Label() const
Returns a character string describing the operator.
const Epetra_Vector & D() const
Returns the address of the D factor associated with this factored matrix.
int SetUseTranspose(bool UseTranspose)
If set true, transpose of this operator will be applied.
double NormInf() const
Returns 0.0 because this class cannot compute Inf-norm.
Ifpack_OverlapSolveObject: Provides Overlapped Forward/back solve services for Ifpack.
const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_Map object associated with the range of this operator.
int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
int SetLowerOperator(Epetra_CrsMatrix *L, bool UseLTrans)
Define the operator to be used for the lower triangle.
const Epetra_Comm & Comm() const
Returns the Epetra_BlockMap object associated with the range of this matrix operator.
int NumGlobalNonzeros() const
Returns the number of nonzero entries in the global graph.
const Epetra_Map & OperatorDomainMap() const
int Multiply(bool Trans, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of multiplying U, D and L in that order on an Epetra_MultiVector X in Y...
int SetDiagonal(Epetra_Vector *D, bool UseDInv)
Define the vector to be used for the diagonal.
int Solve(bool Trans, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Ifpack_CrsIlut forward/back solve on a Epetra_MultiVector X in Y (works for E...
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y...
virtual ~Ifpack_OverlapSolveObject()
Ifpack_OverlapSolveObject Destructor.
bool UseTranspose() const
Returns the current UseTranspose setting.
Ifpack_OverlapSolveObject(char *Label, const Epetra_Comm &Comm)
Constructor.
int Condest(bool Trans, double &ConditionNumberEstimate) const
Returns the maximum over all the condition number estimate for each local ILU set of factors...
bool HasNormInf() const
Returns false because this class cannot compute an Inf-norm.
int NumMyNonzeros() const
Returns the number of nonzero entries in the local graph.
int SetUpperOperator(Epetra_CrsMatrix *U, bool UseUTrans)
Define the operator to be used for the upper triangle.
const Epetra_Map & OperatorRangeMap() const
const Epetra_CrsMatrix & L() const
Returns the address of the L factor associated with this factored matrix.
void SetOverlapMode(Epetra_CombineMode OverlapMode)
Generate Ifpack_OverlapGraph object using current settings.
Epetra_CombineMode OverlapMode() const
Returns the overlap mode used to combine terms that are redundantly computed.