IFPACK  Development
 All Classes Files Functions Variables Enumerations Friends Pages
Public Member Functions | List of all members
Ifpack_DiagonalFilter Class Reference

Ifpack_DiagonalFilter: Filter to modify the diagonal entries of a given Epetra_RowMatrix. More...

#include <Ifpack_DiagonalFilter.h>

Inheritance diagram for Ifpack_DiagonalFilter:
Inheritance graph
[legend]
Collaboration diagram for Ifpack_DiagonalFilter:
Collaboration graph
[legend]

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 long long NumGlobalNonzeros64 () const
 
virtual long long NumGlobalRows64 () const
 
virtual long long NumGlobalCols64 () const
 
virtual long long NumGlobalDiagonals64 () 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
 

Detailed Description

Ifpack_DiagonalFilter: Filter to modify the diagonal entries of a given Epetra_RowMatrix.

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);
Author
Marzio Sala, SNL 9214.

Last modified on 24-Jan-05.

Definition at line 80 of file Ifpack_DiagonalFilter.h.


The documentation for this class was generated from the following files: