43 #ifndef IFPACK_DIAG_PRECONDITIONER_H 44 #define IFPACK_DIAG_PRECONDITIONER_H 47 #include "Epetra_Operator.h" 48 #include "Epetra_Vector.h" 49 class Epetra_BlockMap;
51 class Epetra_MultiVector;
73 const Epetra_Map& RangeMap,
74 const Epetra_Vector& diag);
85 int Apply(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const;
87 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const;
96 return(
"Ifpack_DiagPreconditioner");
109 const Epetra_Comm&
Comm()
const 111 return(
diag_.Comm());
124 const Epetra_BlockMap&
Map()
const
const Epetra_Map & OperatorDomainMap() const
const Epetra_Vector & diag_
Ifpack_DiagPreconditioner: a class for diagonal preconditioning.
const Epetra_Comm & Comm() const
const char * Label() const
Ifpack_DiagPreconditioner(const Epetra_Map &DomainMap, const Epetra_Map &RangeMap, const Epetra_Vector &diag)
ctor
~Ifpack_DiagPreconditioner()
dtor
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
const Epetra_BlockMap & Map() const
const Epetra_Map & DomainMap_
int SetUseTranspose(bool UseTranspose_in)
const Epetra_Map & RangeMap_
int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
const Epetra_Map & OperatorRangeMap() const
bool UseTranspose() const