43#ifndef IFPACK_REORDERING_H
44#define IFPACK_REORDERING_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));
std::ostream & operator<<(std::ostream &os, const Ifpack_Reordering &obj)
adjacency_list< vecS, vecS, undirectedS, no_property, property< edge_weight_t, double > > Graph
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<<.