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

Ifpack_ReorderFilter: a class for light-weight reorder of local rows and columns of an Epetra_RowMatrix. More...

#include <Ifpack_ReorderFilter.h>

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

Public Member Functions

 Ifpack_ReorderFilter (const Teuchos::RefCountPtr< Epetra_RowMatrix > &Matrix_in, const Teuchos::RefCountPtr< Ifpack_Reordering > &Reordering_in)
 
 Ifpack_ReorderFilter (const Ifpack_ReorderFilter &RHS)
 Copy constructor.
 
virtual ~Ifpack_ReorderFilter ()
 Destructor.
 
Ifpack_ReorderFilteroperator= (const Ifpack_ReorderFilter &RHS)
 Operator assignment.
 
virtual int NumMyRowEntries (int MyRow, int &NumEntries) const
 Returns the number of local row entries.
 
virtual int MaxNumEntries () const
 Returns maximum num entries.
 
virtual int ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const
 
virtual int ExtractDiagonalCopy (Epetra_Vector &Diagonal) const
 Extracts a copy of the diagonal of the reordered matrix.
 
virtual int Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Multiplies multi-vector X with the reordered matrix, returns result in Y.
 
virtual int Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Solve, not implemented.
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Applies the reordered matrix to multi-vector X, returns the result in Y.
 
virtual int ApplyInverse (const Epetra_MultiVector &, Epetra_MultiVector &) const
 Applies the inverse of this operator (not implemented).
 
virtual int InvRowSums (Epetra_Vector &) const
 Inverse of row sums (not implemented).
 
virtual int LeftScale (const Epetra_Vector &)
 Left scale of the matrix (not implemented).
 
virtual int InvColSums (Epetra_Vector &) const
 Inverse of column sums (not implemented).
 
virtual int RightScale (const Epetra_Vector &)
 Right scale of the matrix (not implemented).
 
virtual bool Filled () const
 Returns true is the matrix called FillComplete().
 
virtual double NormInf () const
 Returns the infinite-norm.
 
virtual double NormOne () const
 Returns the 1-norm.
 
virtual int NumGlobalNonzeros () const
 Returns the number of global nonzero elements.
 
virtual int NumGlobalRows () const
 Returns the number of global rows.
 
virtual int NumGlobalCols () const
 Returns the number of global columns.
 
virtual int NumGlobalDiagonals () const
 Returns the number of global diagonals.
 
virtual long long NumGlobalNonzeros64 () const
 Returns the number of global nonzero elements.
 
virtual long long NumGlobalRows64 () const
 Returns the number of global rows.
 
virtual long long NumGlobalCols64 () const
 Returns the number of global columns.
 
virtual long long NumGlobalDiagonals64 () const
 Returns the number of global diagonals.
 
virtual int NumMyNonzeros () const
 Returns the number of local nonzero elements.
 
virtual int NumMyRows () const
 Returns the number of local rows.
 
virtual int NumMyCols () const
 Returns the number of local columns.
 
virtual int NumMyDiagonals () const
 Returns the number of local diagonals.
 
virtual bool LowerTriangular () const
 Returns true is the reordered matrix is lower triangular.
 
virtual bool UpperTriangular () const
 Returns true is the reordered matrix is upper triangular.
 
virtual const Epetra_MapRowMatrixRowMap () const
 Returns the row matrix of the non-reordered matrix.
 
virtual const Epetra_MapRowMatrixColMap () const
 Returns the column matrix of the non-reordered matrix.
 
virtual const Epetra_ImportRowMatrixImporter () const
 Returns the importer of the non-reordered matrix.
 
int SetUseTranspose (bool UseTranspose_in)
 Sets the use of the transpose.
 
bool UseTranspose () const
 Returns true if the transpose of this matrix is used.
 
bool HasNormInf () const
 Returns true if this matrix has the infinite norm.
 
const Epetra_CommComm () const
 Returns the communicator.
 
const Epetra_MapOperatorDomainMap () const
 Returns the operator domain map of the non-reordered matrix.
 
const Epetra_MapOperatorRangeMap () const
 Returns the operator domain range of the non-reordered matrix.
 
const Epetra_BlockMapMap () const
 Returns the map of the non-reordered matrix.
 
const char * Label () const
 Returns the label of this object.
 
Teuchos::RefCountPtr
< Epetra_RowMatrix
Matrix () const
 Returns a reference-counted pointer to the internally stored pointer to Epetra_RowMatrix.
 
Teuchos::RefCountPtr
< Ifpack_Reordering
Reordering () const
 Returns a reference-counted pointer to the internally stored pointer to Ifpack_Reordering..
 

Detailed Description

Ifpack_ReorderFilter: a class for light-weight reorder of local rows and columns of an Epetra_RowMatrix.

Class Ifpack_ReorderFilter enables a light-weight construction of reordered matrices.

This class is used in Ifpack_AdditiveSchwarz to reorder (if required by the user) the localized matrix. As the localized matrix is defined on a serial communicator only, all maps are trivial (as all elements reside on the same process). This class does not attemp to define properly reordered maps, hence it should not be used for distributed matrices.

To improve the performances of Ifpack_AdditiveSchwarz, some operations are not performed in the construction phase (like for instance the computation of the 1-norm and infinite-norm, of check whether the reordered matrix is lower/upper triangular or not).

Author
Marzio Sala, SNL 9214.
Date
Last modified: Oct-04.

Definition at line 81 of file Ifpack_ReorderFilter.h.


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