Ifpack Package Browser (Single Doxygen Collection) Development
Public Member Functions | Private Attributes
Ifpack_DropFilter Class Reference

Ifpack_DropFilter: Filter based on matrix entries. More...

#include <Ifpack_DropFilter.h>

Inheritance diagram for Ifpack_DropFilter:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 Ifpack_DropFilter (const Teuchos::RefCountPtr< Epetra_RowMatrix > &Matrix, double DropTol)
 Constructor.
virtual ~Ifpack_DropFilter ()
 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
virtual double NormOne () const
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_MapRowMatrixRowMap () const
virtual const Epetra_MapRowMatrixColMap () const
virtual const Epetra_ImportRowMatrixImporter () const
int SetUseTranspose (bool UseTranspose)
bool UseTranspose () const
bool HasNormInf () const
const Epetra_CommComm () const
const Epetra_MapOperatorDomainMap () const
const Epetra_MapOperatorRangeMap () const
const Epetra_BlockMapMap () const
const char * Label () const

Private Attributes

Teuchos::RefCountPtr
< Epetra_RowMatrix
A_
 Pointer to the matrix to be preconditioned.
double DropTol_
 Drop tolerance.
int MaxNumEntries_
 Maximum entries in each row.
int MaxNumEntriesA_
int NumRows_
int NumNonzeros_
 Number of nonzeros for the dropped matrix.
std::vector< int > Indices_
 Used in ExtractMyRowCopy, to avoid allocation each time.
std::vector< double > Values_
 Used in ExtractMyRowCopy, to avoid allocation each time.
char Label_ [80]
 Label for this object.
std::vector< int > NumEntries_

Detailed Description

Ifpack_DropFilter: Filter based on matrix entries.

Ifpack_DropFilter enables the dropping of all elements whose absolute value is below a specified threshold.

A typical use is as follows:

Teuchos::RefCountPtr<Epetra_RowMatrix> A;
// first localize the matrix
Ifpack_LocalFilter LocalA(A);
// drop all elements below this value
double DropTol = 1e-5;
// now create the matrix, elements below DropTol are
// not included in calls to ExtractMyRowCopy(), Multiply()
// and Apply()
Ifpack_DropFilter DropA(LocalA,DropTol)

It is supposed that Ifpack_DropFilter is used on localized matrices.

Author:
Marzio Sala, SNL 9214.

Last modified: Oct-04.

Definition at line 68 of file Ifpack_DropFilter.h.


Constructor & Destructor Documentation

Ifpack_DropFilter::Ifpack_DropFilter ( const Teuchos::RefCountPtr< Epetra_RowMatrix > &  Matrix,
double  DropTol 
)

Constructor.

Definition at line 40 of file Ifpack_DropFilter.cpp.

virtual Ifpack_DropFilter::~Ifpack_DropFilter ( ) [inline, virtual]

Destructor.

Definition at line 76 of file Ifpack_DropFilter.h.


Member Function Documentation

virtual int Ifpack_DropFilter::NumMyRowEntries ( int  MyRow,
int &  NumEntries 
) const [inline, virtual]

Returns the number of entries in MyRow.

Implements Epetra_RowMatrix.

Definition at line 79 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::MaxNumEntries ( ) const [inline, virtual]

Returns the maximum number of entries.

Implements Epetra_RowMatrix.

Definition at line 86 of file Ifpack_DropFilter.h.

int Ifpack_DropFilter::ExtractMyRowCopy ( int  MyRow,
int  Length,
int &  NumEntries,
double *  Values,
int *  Indices 
) const [virtual]

Implements Epetra_RowMatrix.

Definition at line 86 of file Ifpack_DropFilter.cpp.

int Ifpack_DropFilter::ExtractDiagonalCopy ( Epetra_Vector Diagonal) const [virtual]

Implements Epetra_RowMatrix.

Definition at line 121 of file Ifpack_DropFilter.cpp.

int Ifpack_DropFilter::Multiply ( bool  TransA,
const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [virtual]

Implements Epetra_RowMatrix.

Definition at line 129 of file Ifpack_DropFilter.cpp.

int Ifpack_DropFilter::Solve ( bool  Upper,
bool  Trans,
bool  UnitDiagonal,
const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [virtual]

Implements Epetra_RowMatrix.

Definition at line 171 of file Ifpack_DropFilter.cpp.

int Ifpack_DropFilter::Apply ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [virtual]

Implements Epetra_Operator.

Definition at line 179 of file Ifpack_DropFilter.cpp.

int Ifpack_DropFilter::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [virtual]

Implements Epetra_Operator.

Definition at line 186 of file Ifpack_DropFilter.cpp.

int Ifpack_DropFilter::InvRowSums ( Epetra_Vector x) const [virtual]

Implements Epetra_RowMatrix.

Definition at line 192 of file Ifpack_DropFilter.cpp.

virtual int Ifpack_DropFilter::LeftScale ( const Epetra_Vector x) [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 110 of file Ifpack_DropFilter.h.

int Ifpack_DropFilter::InvColSums ( Epetra_Vector x) const [virtual]

Implements Epetra_RowMatrix.

Definition at line 198 of file Ifpack_DropFilter.cpp.

virtual int Ifpack_DropFilter::RightScale ( const Epetra_Vector x) [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 117 of file Ifpack_DropFilter.h.

virtual bool Ifpack_DropFilter::Filled ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 122 of file Ifpack_DropFilter.h.

virtual double Ifpack_DropFilter::NormInf ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 127 of file Ifpack_DropFilter.h.

virtual double Ifpack_DropFilter::NormOne ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 132 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumGlobalNonzeros ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 138 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumGlobalRows ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 143 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumGlobalCols ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 148 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumGlobalDiagonals ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 153 of file Ifpack_DropFilter.h.

virtual long long Ifpack_DropFilter::NumGlobalNonzeros64 ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 159 of file Ifpack_DropFilter.h.

virtual long long Ifpack_DropFilter::NumGlobalRows64 ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 164 of file Ifpack_DropFilter.h.

virtual long long Ifpack_DropFilter::NumGlobalCols64 ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 169 of file Ifpack_DropFilter.h.

virtual long long Ifpack_DropFilter::NumGlobalDiagonals64 ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 174 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumMyNonzeros ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 179 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumMyRows ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 184 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumMyCols ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 189 of file Ifpack_DropFilter.h.

virtual int Ifpack_DropFilter::NumMyDiagonals ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 194 of file Ifpack_DropFilter.h.

virtual bool Ifpack_DropFilter::LowerTriangular ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 199 of file Ifpack_DropFilter.h.

virtual bool Ifpack_DropFilter::UpperTriangular ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 204 of file Ifpack_DropFilter.h.

virtual const Epetra_Map& Ifpack_DropFilter::RowMatrixRowMap ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 209 of file Ifpack_DropFilter.h.

virtual const Epetra_Map& Ifpack_DropFilter::RowMatrixColMap ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 214 of file Ifpack_DropFilter.h.

virtual const Epetra_Import* Ifpack_DropFilter::RowMatrixImporter ( ) const [inline, virtual]

Implements Epetra_RowMatrix.

Definition at line 219 of file Ifpack_DropFilter.h.

int Ifpack_DropFilter::SetUseTranspose ( bool  UseTranspose) [inline, virtual]

Implements Epetra_Operator.

Definition at line 224 of file Ifpack_DropFilter.h.

bool Ifpack_DropFilter::UseTranspose ( ) const [inline, virtual]

Implements Epetra_Operator.

Definition at line 229 of file Ifpack_DropFilter.h.

bool Ifpack_DropFilter::HasNormInf ( ) const [inline, virtual]

Implements Epetra_Operator.

Definition at line 234 of file Ifpack_DropFilter.h.

const Epetra_Comm& Ifpack_DropFilter::Comm ( ) const [inline, virtual]

Implements Epetra_Operator.

Definition at line 239 of file Ifpack_DropFilter.h.

const Epetra_Map& Ifpack_DropFilter::OperatorDomainMap ( ) const [inline, virtual]

Implements Epetra_Operator.

Definition at line 244 of file Ifpack_DropFilter.h.

const Epetra_Map& Ifpack_DropFilter::OperatorRangeMap ( ) const [inline, virtual]

Implements Epetra_Operator.

Definition at line 249 of file Ifpack_DropFilter.h.

const Epetra_BlockMap& Ifpack_DropFilter::Map ( ) const [inline, virtual]

Implements Epetra_SrcDistObject.

Definition at line 254 of file Ifpack_DropFilter.h.

const char* Ifpack_DropFilter::Label ( ) const [inline, virtual]

Implements Epetra_Operator.

Definition at line 259 of file Ifpack_DropFilter.h.


Member Data Documentation

Pointer to the matrix to be preconditioned.

Definition at line 266 of file Ifpack_DropFilter.h.

double Ifpack_DropFilter::DropTol_ [private]

Drop tolerance.

Definition at line 268 of file Ifpack_DropFilter.h.

Maximum entries in each row.

Definition at line 270 of file Ifpack_DropFilter.h.

Definition at line 271 of file Ifpack_DropFilter.h.

Definition at line 272 of file Ifpack_DropFilter.h.

Number of nonzeros for the dropped matrix.

Definition at line 275 of file Ifpack_DropFilter.h.

std::vector<int> Ifpack_DropFilter::Indices_ [mutable, private]

Used in ExtractMyRowCopy, to avoid allocation each time.

Definition at line 278 of file Ifpack_DropFilter.h.

std::vector<double> Ifpack_DropFilter::Values_ [mutable, private]

Used in ExtractMyRowCopy, to avoid allocation each time.

Definition at line 280 of file Ifpack_DropFilter.h.

char Ifpack_DropFilter::Label_[80] [private]

Label for this object.

Definition at line 282 of file Ifpack_DropFilter.h.

std::vector<int> Ifpack_DropFilter::NumEntries_ [private]

Definition at line 283 of file Ifpack_DropFilter.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines