46 #include "Epetra_ConfigDefs.h" 47 #include "Epetra_RowMatrix.h" 48 #include "Epetra_Comm.h" 49 #include "Epetra_Map.h" 50 #include "Epetra_MultiVector.h" 51 #include "Epetra_Vector.h" 55 const Teuchos::RefCountPtr<Ifpack_Reordering>& Reordering_in) :
57 Reordering_(Reordering_in),
58 NumMyRows_(Matrix_in->NumMyRows()),
59 MaxNumEntries_(Matrix_in->MaxNumEntries())
66 Reordering_(Reordering()),
67 NumMyRows_(
RHS.NumMyRows()),
68 MaxNumEntries_(
RHS.MaxNumEntries())
93 double *Values,
int * Indices)
const 98 NumEntries, Values,Indices));
102 for (
int i = 0 ; i < NumEntries ; ++i) {
140 Solve(
bool Upper,
bool Trans,
bool UnitDiagonal,
virtual int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Applies the reordered matrix to multi-vector X, returns the result in Y.
const Epetra_BlockMap & Map() const
int NumMyRows_
Number of local rows of A_.
char Label_[80]
Label for this object.
int MaxNumEntries_
Maximum number of entries in A_.
Ifpack_ReorderFilter(const Teuchos::RefCountPtr< Epetra_RowMatrix > &Matrix_in, const Teuchos::RefCountPtr< Ifpack_Reordering > &Reordering_in)
virtual int Solve(bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Solve, not implemented.
Ifpack_ReorderFilter & operator=(const Ifpack_ReorderFilter &RHS)
Operator assignment.
virtual int ExtractDiagonalCopy(Epetra_Vector &Diagonal) const
Extracts a copy of the diagonal of the reordered matrix.
Teuchos::RefCountPtr< Epetra_RowMatrix > A_
Pointer to the matrix to be preconditioned.
virtual int Multiply(bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
Multiplies multi-vector X with the reordered matrix, returns result in Y.
#define IFPACK_RETURN(ifpack_err)
bool UseTranspose() const
Returns true if the transpose of this matrix is used.
Teuchos::RefCountPtr< Epetra_RowMatrix > Matrix() const
Returns a reference-counted pointer to the internally stored pointer to Epetra_RowMatrix.
#define IFPACK_CHK_ERR(ifpack_err)
Ifpack_ReorderFilter: a class for light-weight reorder of local rows and columns of an Epetra_RowMatr...
Teuchos::RefCountPtr< Ifpack_Reordering > Reordering_
Pointer to the reordering to be used (already constructed).
virtual int ExtractMyRowCopy(int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const