43#ifndef IFPACK_REORDERING_H
44#define IFPACK_REORDERING_H
46#include "Ifpack_ConfigDefs.h"
112 virtual int SetParameter(
const std::string Name,
const double Value) = 0;
141 virtual std::ostream&
Print(std::ostream& os)
const = 0;
147 return(obj.
Print(os));
Ifpack_Graph: a pure virtual class that defines graphs for IFPACK.
Ifpack_Reordering: basic class for reordering for a Ifpack_Graph object.
virtual int SetParameter(const std::string Name, const int Value)=0
Sets integer parameters ‘Name’.
virtual int Compute(const Epetra_RowMatrix &Matrix)=0
Computes all it is necessary to initialize the reordering object.
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,...
virtual bool IsComputed() const =0
Returns true is the reordering object has been successfully initialized, false otherwise.
virtual int Compute(const Ifpack_Graph &Graph)=0
Computes all it is necessary to initialize the reordering object.
virtual ~Ifpack_Reordering()
Destructor.
virtual int SetParameters(Teuchos::ParameterList &List)=0
Sets all parameters.
virtual int InvReorder(const int i) const =0
Returns the inverse reordered index of row i.
virtual int SetParameter(const std::string Name, const double Value)=0
Sets double parameters ‘Name’.
virtual int Reorder(const int i) const =0
Returns the reordered index of row i.
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,...
virtual std::ostream & Print(std::ostream &os) const =0
Prints basic information on iostream. This function is used by operator<<.