Ifpack Package Browser (Single Doxygen Collection)
Development
|
Ifpack_Reordering: basic class for reordering for a Ifpack_Graph object. More...
#include <Ifpack_Reordering.h>
Public Member Functions | |
virtual | ~Ifpack_Reordering () |
Destructor. More... | |
virtual int | SetParameter (const std::string Name, const int Value)=0 |
Sets integer parameters `Name'. More... | |
virtual int | SetParameter (const std::string Name, const double Value)=0 |
Sets double parameters `Name'. More... | |
virtual int | SetParameters (Teuchos::ParameterList &List)=0 |
Sets all parameters. More... | |
virtual int | Compute (const Ifpack_Graph &Graph)=0 |
Computes all it is necessary to initialize the reordering object. More... | |
virtual int | Compute (const Epetra_RowMatrix &Matrix)=0 |
Computes all it is necessary to initialize the reordering object. More... | |
virtual bool | IsComputed () const =0 |
Returns true is the reordering object has been successfully initialized, false otherwise. More... | |
virtual int | Reorder (const int i) const =0 |
Returns the reordered index of row i . More... | |
virtual int | InvReorder (const int i) const =0 |
Returns the inverse reordered index of row i . More... | |
virtual int | P (const Epetra_MultiVector &Xorig, Epetra_MultiVector &X) const =0 |
Applies reordering to multivector Xorig, whose local length equals the number of local rows, stores reordered vector in X. More... | |
virtual int | Pinv (const Epetra_MultiVector &Xorig, Epetra_MultiVector &X) const =0 |
Applies inverse reordering to multivector Xorig, whose local length equals the number of local rows, stores inverse reordered vector in X. More... | |
virtual std::ostream & | Print (std::ostream &os) const =0 |
Prints basic information on iostream. This function is used by operator<<. More... | |
Ifpack_Reordering: basic class for reordering for a Ifpack_Graph object.
Class Ifpack_Reordering is a pure virtual class that defines the structure of all Ifpack reordering.
The Ifpack_Graph object is used only by method Compute().
A typical code reads as follows (using for instance RCM reordering):
An Ifpack_Reordering object is a tool used by class Ifpack_Preconditioner, to reorder the localized matrix (with or without overlap). As its basic usage is for localized matrices, this class takes care of reordering the local rows only. It is also supposed that the input graph contains no singletons. This is not a limitation, as class Ifpack_AdditiveSchwarz will filter the graph using Ifpack_SingletonFilter before using reordering.
If IFPACK is configure with Teuchos support, method SetParameters() should be adopted. Otherwise, users can set parameters (one at-a-time), using methods SetParameter(), for integers and doubles.
Ifpack_Preconditioner objects overload the << operator. Derived classes should specify a Print() method, that will be used in operator <<.
Definition at line 107 of file Ifpack_Reordering.h.
|
inlinevirtual |
Destructor.
Definition at line 112 of file Ifpack_Reordering.h.
|
pure virtual |
Sets integer parameters `Name'.
Implemented in Ifpack_AMDReordering, Ifpack_RCMReordering, and Ifpack_METISReordering.
|
pure virtual |
Sets double parameters `Name'.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Sets all parameters.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Computes all it is necessary to initialize the reordering object.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Computes all it is necessary to initialize the reordering object.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Returns true
is the reordering object has been successfully initialized, false otherwise.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Returns the reordered index of row i
.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Returns the inverse reordered index of row i
.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Applies reordering to multivector Xorig, whose local length equals the number of local rows, stores reordered vector in X.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Applies inverse reordering to multivector Xorig, whose local length equals the number of local rows, stores inverse reordered vector in X.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.
|
pure virtual |
Prints basic information on iostream. This function is used by operator<<.
Implemented in Ifpack_METISReordering, Ifpack_AMDReordering, and Ifpack_RCMReordering.