Ifpack_METISReordering Class Reference

Ifpack_METISReordering: A class to reorder a graph using METIS. More...

#include <Ifpack_METISReordering.h>

Inheritance diagram for Ifpack_METISReordering:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 Ifpack_METISReordering ()
 Constructor.
virtual ~Ifpack_METISReordering ()
 Destructor.
virtual int SetParameter (const string Name, const int Value)
 Sets integer parameters `Name'.
virtual int SetParameter (const string Name, const double Value)
 Sets double parameters `Name'.
virtual int SetParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the partitioner (none at moment).
virtual int Compute (const Ifpack_Graph &Graph)
 Computes all it is necessary to initialize the reordering object.
virtual int Compute (const Epetra_RowMatrix &Matrix)
 Computes all it is necessary to initialize the reordering object.
virtual bool IsComputed () const
 Returns true is the reordering object has been successfully initialized, false otherwise.
virtual int Reorder (const int i) const
 Returns the reordered index of row i.
virtual int InvReorder (const int i) const
 Returns the inverse reordered index of row i.
virtual int P (const Epetra_MultiVector &Xorig, Epetra_MultiVector &X) const
 Applies reordering to multivector Xorig, whose local length equals the number of local rows, stores result in X.
virtual int Pinv (const Epetra_MultiVector &Xorig, Epetra_MultiVector &X) const
 Applies inverse reordering to multivector Xorig, whose local length equals the number of local rows, stores result in X.
virtual ostream & Print (std::ostream &os) const
 Prints basic information on iostream. This function is used by operator<<.

Private Attributes

bool UseSymmetricGraph_
 If true, the graph has to be symmetrized before calling METIS.
int NumMyRows_
 Number of local rows in the graph.
bool IsComputed_
 If true, the reordering has been successfully computed.
std::vector< int > Reorder_
 Contains the reordering.
std::vector< int > InvReorder_
 Contains the inverse reordering.

Detailed Description

Ifpack_METISReordering: A class to reorder a graph using METIS.

Definition at line 47 of file Ifpack_METISReordering.h.


Constructor & Destructor Documentation

Ifpack_METISReordering::Ifpack_METISReordering (  ) 

Constructor.

Definition at line 51 of file Ifpack_METISReordering.cpp.

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

Destructor.

Definition at line 55 of file Ifpack_METISReordering.h.


Member Function Documentation

virtual int Ifpack_METISReordering::SetParameter ( const string  Name,
const int  Value 
) [inline, virtual]

Sets integer parameters `Name'.

Implements Ifpack_Reordering.

Definition at line 58 of file Ifpack_METISReordering.h.

virtual int Ifpack_METISReordering::SetParameter ( const string  Name,
const double  Value 
) [inline, virtual]

Sets double parameters `Name'.

Implements Ifpack_Reordering.

Definition at line 66 of file Ifpack_METISReordering.h.

virtual int Ifpack_METISReordering::SetParameters ( Teuchos::ParameterList &  List  )  [inline, virtual]

Sets all the parameters for the partitioner (none at moment).

Implements Ifpack_Reordering.

Definition at line 72 of file Ifpack_METISReordering.h.

int Ifpack_METISReordering::Compute ( const Ifpack_Graph Graph  )  [virtual]

Computes all it is necessary to initialize the reordering object.

Implements Ifpack_Reordering.

Definition at line 65 of file Ifpack_METISReordering.cpp.

int Ifpack_METISReordering::Compute ( const Epetra_RowMatrix Matrix  )  [virtual]

Computes all it is necessary to initialize the reordering object.

Implements Ifpack_Reordering.

Definition at line 170 of file Ifpack_METISReordering.cpp.

virtual bool Ifpack_METISReordering::IsComputed (  )  const [inline, virtual]

Returns true is the reordering object has been successfully initialized, false otherwise.

Implements Ifpack_Reordering.

Definition at line 87 of file Ifpack_METISReordering.h.

int Ifpack_METISReordering::Reorder ( const int  i  )  const [virtual]

Returns the reordered index of row i.

Implements Ifpack_Reordering.

Definition at line 180 of file Ifpack_METISReordering.cpp.

int Ifpack_METISReordering::InvReorder ( const int  i  )  const [virtual]

Returns the inverse reordered index of row i.

Implements Ifpack_Reordering.

Definition at line 193 of file Ifpack_METISReordering.cpp.

int Ifpack_METISReordering::P ( const Epetra_MultiVector Xorig,
Epetra_MultiVector X 
) const [virtual]

Applies reordering to multivector Xorig, whose local length equals the number of local rows, stores result in X.

Implements Ifpack_Reordering.

Definition at line 205 of file Ifpack_METISReordering.cpp.

int Ifpack_METISReordering::Pinv ( const Epetra_MultiVector Xorig,
Epetra_MultiVector X 
) const [virtual]

Applies inverse reordering to multivector Xorig, whose local length equals the number of local rows, stores result in X.

Implements Ifpack_Reordering.

Definition at line 221 of file Ifpack_METISReordering.cpp.

ostream & Ifpack_METISReordering::Print ( std::ostream &  os  )  const [virtual]

Prints basic information on iostream. This function is used by operator<<.

Implements Ifpack_Reordering.

Definition at line 237 of file Ifpack_METISReordering.cpp.


Member Data Documentation

bool Ifpack_METISReordering::UseSymmetricGraph_ [private]

If true, the graph has to be symmetrized before calling METIS.

Definition at line 111 of file Ifpack_METISReordering.h.

int Ifpack_METISReordering::NumMyRows_ [private]

Number of local rows in the graph.

Definition at line 113 of file Ifpack_METISReordering.h.

bool Ifpack_METISReordering::IsComputed_ [private]

If true, the reordering has been successfully computed.

Definition at line 115 of file Ifpack_METISReordering.h.

std::vector<int> Ifpack_METISReordering::Reorder_ [private]

Contains the reordering.

Definition at line 117 of file Ifpack_METISReordering.h.

std::vector<int> Ifpack_METISReordering::InvReorder_ [private]

Contains the inverse reordering.

Definition at line 119 of file Ifpack_METISReordering.h.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:30:30 2010 for Ifpack Package Browser (Single Doxygen Collection) by  doxygen 1.4.7