#include <Ifpack_DiagonalFilter.h>
Public Member Functions | |
Ifpack_DiagonalFilter (const Teuchos::RefCountPtr< Epetra_RowMatrix > &Matrix, double AbsoluteThreshold, double RelativeThreshold) | |
Constructor. | |
virtual | ~Ifpack_DiagonalFilter () |
Destructor. | |
virtual int | NumMyRowEntries (int MyRow, int &NumEntries) const |
Returns the number of entries in MyRow. | |
virtual int | MaxNumEntries () const |
Returns the maximum number of entries. | |
virtual int | ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const |
virtual int | ExtractDiagonalCopy (Epetra_Vector &Diagonal) const |
virtual int | Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
virtual int | Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
virtual int | InvRowSums (Epetra_Vector &x) const |
virtual int | LeftScale (const Epetra_Vector &x) |
virtual int | InvColSums (Epetra_Vector &x) const |
virtual int | RightScale (const Epetra_Vector &x) |
virtual bool | Filled () const |
virtual double | NormInf () const |
Not implemented for efficiency reasons. | |
virtual double | NormOne () const |
Not implemented for efficiency reasons. | |
virtual int | NumGlobalNonzeros () const |
virtual int | NumGlobalRows () const |
virtual int | NumGlobalCols () const |
virtual int | NumGlobalDiagonals () const |
virtual int | NumMyNonzeros () const |
virtual int | NumMyRows () const |
virtual int | NumMyCols () const |
virtual int | NumMyDiagonals () const |
virtual bool | LowerTriangular () const |
virtual bool | UpperTriangular () const |
virtual const Epetra_Map & | RowMatrixRowMap () const |
virtual const Epetra_Map & | RowMatrixColMap () const |
virtual const Epetra_Import * | RowMatrixImporter () const |
int | SetUseTranspose (bool UseTranspose_in) |
bool | UseTranspose () const |
bool | HasNormInf () const |
Not implemented for efficiency reasons. | |
const Epetra_Comm & | Comm () const |
const Epetra_Map & | OperatorDomainMap () const |
const Epetra_Map & | OperatorRangeMap () const |
const Epetra_BlockMap & | Map () const |
const char * | Label () const |
Ifpack_DiagonalFilter modifies the elements on the diagonal.
A typical use is as follows:
Teuchos::RefCountPtr<Epetra_RowMatrix> A; // creates a matrix B such that // B(i,i) = AbsoluteThreshold * sgn(B(i,i)) + // RelativeThreshold * B(i,i) double AbsoluteThreshold = 1e-3; double RelativeThreshold = 1.01; Ifpack_DiagonalFilter B(A, AbsoluteThreshold, RelativeThreshold);
Last modified on 24-Jan-05.
Ifpack_DiagonalFilter::Ifpack_DiagonalFilter | ( | const Teuchos::RefCountPtr< Epetra_RowMatrix > & | Matrix, | |
double | AbsoluteThreshold, | |||
double | RelativeThreshold | |||
) |
Constructor.
virtual Ifpack_DiagonalFilter::~Ifpack_DiagonalFilter | ( | ) | [inline, virtual] |
Destructor.
virtual int Ifpack_DiagonalFilter::Apply | ( | const Epetra_MultiVector & | X, | |
Epetra_MultiVector & | Y | |||
) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::ApplyInverse | ( | const Epetra_MultiVector & | X, | |
Epetra_MultiVector & | Y | |||
) | const [inline, virtual] |
const Epetra_Comm& Ifpack_DiagonalFilter::Comm | ( | ) | const [inline] |
virtual int Ifpack_DiagonalFilter::ExtractDiagonalCopy | ( | Epetra_Vector & | Diagonal | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::ExtractMyRowCopy | ( | int | MyRow, | |
int | Length, | |||
int & | NumEntries, | |||
double * | Values, | |||
int * | Indices | |||
) | const [inline, virtual] |
virtual bool Ifpack_DiagonalFilter::Filled | ( | ) | const [inline, virtual] |
bool Ifpack_DiagonalFilter::HasNormInf | ( | ) | const [inline] |
Not implemented for efficiency reasons.
virtual int Ifpack_DiagonalFilter::InvColSums | ( | Epetra_Vector & | x | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::InvRowSums | ( | Epetra_Vector & | x | ) | const [inline, virtual] |
const char* Ifpack_DiagonalFilter::Label | ( | ) | const [inline] |
virtual int Ifpack_DiagonalFilter::LeftScale | ( | const Epetra_Vector & | x | ) | [inline, virtual] |
virtual bool Ifpack_DiagonalFilter::LowerTriangular | ( | ) | const [inline, virtual] |
const Epetra_BlockMap& Ifpack_DiagonalFilter::Map | ( | ) | const [inline] |
virtual int Ifpack_DiagonalFilter::MaxNumEntries | ( | ) | const [inline, virtual] |
Returns the maximum number of entries.
virtual int Ifpack_DiagonalFilter::Multiply | ( | bool | TransA, | |
const Epetra_MultiVector & | X, | |||
Epetra_MultiVector & | Y | |||
) | const [virtual] |
virtual double Ifpack_DiagonalFilter::NormInf | ( | ) | const [inline, virtual] |
Not implemented for efficiency reasons.
virtual double Ifpack_DiagonalFilter::NormOne | ( | ) | const [inline, virtual] |
Not implemented for efficiency reasons.
virtual int Ifpack_DiagonalFilter::NumGlobalCols | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumGlobalDiagonals | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumGlobalNonzeros | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumGlobalRows | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumMyCols | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumMyDiagonals | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumMyNonzeros | ( | ) | const [inline, virtual] |
virtual int Ifpack_DiagonalFilter::NumMyRowEntries | ( | int | MyRow, | |
int & | NumEntries | |||
) | const [inline, virtual] |
Returns the number of entries in MyRow.
virtual int Ifpack_DiagonalFilter::NumMyRows | ( | ) | const [inline, virtual] |
const Epetra_Map& Ifpack_DiagonalFilter::OperatorDomainMap | ( | ) | const [inline] |
const Epetra_Map& Ifpack_DiagonalFilter::OperatorRangeMap | ( | ) | const [inline] |
virtual int Ifpack_DiagonalFilter::RightScale | ( | const Epetra_Vector & | x | ) | [inline, virtual] |
virtual const Epetra_Map& Ifpack_DiagonalFilter::RowMatrixColMap | ( | ) | const [inline, virtual] |
virtual const Epetra_Import* Ifpack_DiagonalFilter::RowMatrixImporter | ( | ) | const [inline, virtual] |
virtual const Epetra_Map& Ifpack_DiagonalFilter::RowMatrixRowMap | ( | ) | const [inline, virtual] |
int Ifpack_DiagonalFilter::SetUseTranspose | ( | bool | UseTranspose_in | ) | [inline] |
virtual int Ifpack_DiagonalFilter::Solve | ( | bool | Upper, | |
bool | Trans, | |||
bool | UnitDiagonal, | |||
const Epetra_MultiVector & | X, | |||
Epetra_MultiVector & | Y | |||
) | const [inline, virtual] |
virtual bool Ifpack_DiagonalFilter::UpperTriangular | ( | ) | const [inline, virtual] |
bool Ifpack_DiagonalFilter::UseTranspose | ( | ) | const [inline] |