Ifpack Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
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]

Public Member Functions

 Ifpack_METISReordering ()
 Constructor. More...
 
virtual ~Ifpack_METISReordering ()
 Destructor. More...
 
virtual int SetParameter (const std::string Name, const int Value)
 Sets integer parameters `Name'. More...
 
virtual int SetParameter (const std::string, const double)
 Sets double parameters `Name'. More...
 
virtual int SetParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the partitioner (none at moment). More...
 
virtual int Compute (const Ifpack_Graph &Graph)
 Computes all it is necessary to initialize the reordering object. More...
 
virtual int Compute (const Epetra_RowMatrix &Matrix)
 Computes all it is necessary to initialize the reordering object. More...
 
virtual bool IsComputed () const
 Returns true is the reordering object has been successfully initialized, false otherwise. More...
 
virtual int Reorder (const int i) const
 Returns the reordered index of row i. More...
 
virtual int InvReorder (const int i) const
 Returns the inverse reordered index of row i. More...
 
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. More...
 
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. More...
 
virtual std::ostream & Print (std::ostream &os) const
 Prints basic information on iostream. This function is used by operator<<. More...
 
- Public Member Functions inherited from Ifpack_Reordering
virtual ~Ifpack_Reordering ()
 Destructor. More...
 

Private Attributes

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

Detailed Description

Ifpack_METISReordering: A class to reorder a graph using METIS.

Definition at line 60 of file Ifpack_METISReordering.h.

Constructor & Destructor Documentation

Ifpack_METISReordering::Ifpack_METISReordering ( )

Constructor.

Definition at line 64 of file Ifpack_METISReordering.cpp.

virtual Ifpack_METISReordering::~Ifpack_METISReordering ( )
inlinevirtual

Destructor.

Definition at line 68 of file Ifpack_METISReordering.h.

Member Function Documentation

virtual int Ifpack_METISReordering::SetParameter ( const std::string  Name,
const int  Value 
)
inlinevirtual

Sets integer parameters `Name'.

Implements Ifpack_Reordering.

Definition at line 71 of file Ifpack_METISReordering.h.

virtual int Ifpack_METISReordering::SetParameter ( const std::string  ,
const double   
)
inlinevirtual

Sets double parameters `Name'.

Implements Ifpack_Reordering.

Definition at line 79 of file Ifpack_METISReordering.h.

virtual int Ifpack_METISReordering::SetParameters ( Teuchos::ParameterList List)
inlinevirtual

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

Implements Ifpack_Reordering.

Definition at line 85 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 78 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 216 of file Ifpack_METISReordering.cpp.

virtual bool Ifpack_METISReordering::IsComputed ( ) const
inlinevirtual

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

Implements Ifpack_Reordering.

Definition at line 100 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 226 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 239 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 251 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 267 of file Ifpack_METISReordering.cpp.

std::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 283 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 124 of file Ifpack_METISReordering.h.

int Ifpack_METISReordering::NumMyRows_
private

Number of local rows in the graph.

Definition at line 126 of file Ifpack_METISReordering.h.

bool Ifpack_METISReordering::IsComputed_
private

If true, the reordering has been successfully computed.

Definition at line 128 of file Ifpack_METISReordering.h.

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

Contains the reordering.

Definition at line 130 of file Ifpack_METISReordering.h.

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

Contains the inverse reordering.

Definition at line 132 of file Ifpack_METISReordering.h.


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