|
IFPACK Development
|
Ifpack_OverlappingRowMatrix: matrix with ghost rows, based on Epetra_RowMatrix. More...
#include <Ifpack_OverlappingRowMatrix.h>


Public Member Functions | |
| Ifpack_OverlappingRowMatrix (const Teuchos::RefCountPtr< const Epetra_RowMatrix > &Matrix_in, int OverlapLevel_in) | |
| virtual int | NumMyRowEntries (int MyRow, int &NumEntries) const |
| Returns the number of nonzero entries in MyRow. More... | |
| virtual int | MaxNumEntries () const |
| Returns the maximum of NumMyRowEntries() over all rows. More... | |
| virtual int | ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const |
| Returns a copy of the specified local row in user-provided arrays. More... | |
| virtual int | ExtractDiagonalCopy (Epetra_Vector &Diagonal) const |
| Returns a copy of the main diagonal in a user-provided vector. More... | |
| virtual int | Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| Returns the result of a Epetra_RowMatrix multiplied by a Epetra_MultiVector X in Y. More... | |
| virtual int | Solve (bool, bool, bool, const Epetra_MultiVector &, Epetra_MultiVector &) const |
| Returns result of a local-only solve using a triangular Epetra_RowMatrix with Epetra_MultiVectors X and Y (NOT IMPLEMENTED). More... | |
| virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| virtual int | InvRowSums (Epetra_Vector &) const |
| Computes the sum of absolute values of the rows of the Epetra_RowMatrix, results returned in x (NOT IMPLEMENTED). More... | |
| virtual int | LeftScale (const Epetra_Vector &) |
| Scales the Epetra_RowMatrix on the left with a Epetra_Vector x (NOT IMPLEMENTED). More... | |
| virtual int | InvColSums (Epetra_Vector &) const |
| Computes the sum of absolute values of the columns of the Epetra_RowMatrix, results returned in x (NOT IMPLEMENTED). More... | |
| virtual int | RightScale (const Epetra_Vector &) |
| Scales the Epetra_RowMatrix on the right with a Epetra_Vector x (NOT IMPLEMENTED). More... | |
| virtual bool | Filled () const |
| If FillComplete() has been called, this query returns true, otherwise it returns false. More... | |
| virtual double | NormInf () const |
| Returns the infinity norm of the global matrix. More... | |
| virtual double | NormOne () const |
| Returns the one norm of the global matrix. More... | |
| virtual int | NumGlobalNonzeros () const |
| Returns the number of nonzero entries in the global matrix. More... | |
| virtual int | NumGlobalRows () const |
| Returns the number of global matrix rows. More... | |
| virtual int | NumGlobalCols () const |
| Returns the number of global matrix columns. More... | |
| virtual int | NumGlobalDiagonals () const |
| Returns the number of global nonzero diagonal entries, based on global row/column index comparisons. More... | |
| virtual long long | NumGlobalNonzeros64 () const |
| Returns the number of nonzero entries in the global matrix. More... | |
| virtual long long | NumGlobalRows64 () const |
| Returns the number of global matrix rows. More... | |
| virtual long long | NumGlobalCols64 () const |
| Returns the number of global matrix columns. More... | |
| virtual long long | NumGlobalDiagonals64 () const |
| Returns the number of global nonzero diagonal entries, based on global row/column index comparisons. More... | |
| virtual int | NumMyNonzeros () const |
| Returns the number of nonzero entries in the calling processor's portion of the matrix. More... | |
| virtual int | NumMyRows () const |
| Returns the number of matrix rows owned by the calling processor. More... | |
| virtual int | NumMyCols () const |
| Returns the number of matrix columns owned by the calling processor. More... | |
| virtual int | NumMyDiagonals () const |
| Returns the number of local nonzero diagonal entries, based on global row/column index comparisons. More... | |
| virtual bool | LowerTriangular () const |
| If matrix is lower triangular in local index space, this query returns true, otherwise it returns false. More... | |
| virtual bool | UpperTriangular () const |
| If matrix is upper triangular in local index space, this query returns true, otherwise it returns false. More... | |
| virtual const Epetra_Map & | RowMatrixRowMap () const |
| Returns the Epetra_Map object associated with the rows of this matrix. More... | |
| virtual const Epetra_Map & | RowMatrixColMap () const |
| Returns the Epetra_Map object associated with the columns of this matrix. More... | |
| virtual const Epetra_Import * | RowMatrixImporter () const |
| Returns the Epetra_Import object that contains the import operations for distributed operations. More... | |
| int | SetOwnership (bool) |
| Sets ownership. More... | |
| int | SetUseTranspose (bool UseTranspose_in) |
| Sets use transpose (not implemented). More... | |
| bool | UseTranspose () const |
| Returns the current UseTranspose setting. More... | |
| bool | HasNormInf () const |
| Returns true if the this object can provide an approximate Inf-norm, false otherwise. More... | |
| const Epetra_Comm & | Comm () const |
| Returns a pointer to the Epetra_Comm communicator associated with this operator. More... | |
| const Epetra_Map & | OperatorDomainMap () const |
| Returns the Epetra_Map object associated with the domain of this operator. More... | |
| const Epetra_Map & | OperatorRangeMap () const |
| Returns the Epetra_Map object associated with the range of this operator. More... | |
| const Epetra_BlockMap & | Map () const |
| const char * | Label () const |
| int | OverlapLevel () const |
| int | ImportMultiVector (const Epetra_MultiVector &X, Epetra_MultiVector &OvX, Epetra_CombineMode CM=Insert) |
| int | ExportMultiVector (const Epetra_MultiVector &OvX, Epetra_MultiVector &X, Epetra_CombineMode CM=Add) |
| virtual int | NumMyRowEntries (int MyRow, int &NumEntries) const=0 |
| virtual int | MaxNumEntries () const=0 |
| virtual int | ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const=0 |
| virtual int | ExtractDiagonalCopy (Epetra_Vector &Diagonal) const=0 |
| virtual int | Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual int | Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual int | InvRowSums (Epetra_Vector &x) const=0 |
| virtual int | LeftScale (const Epetra_Vector &x)=0 |
| virtual int | InvColSums (Epetra_Vector &x) const=0 |
| virtual int | RightScale (const Epetra_Vector &x)=0 |
| virtual bool | Filled () const=0 |
| virtual double | NormInf () const=0 |
| virtual double | NormOne () const=0 |
| virtual int | NumGlobalNonzeros () const=0 |
| virtual int | NumGlobalRows () const=0 |
| virtual int | NumGlobalCols () const=0 |
| virtual int | NumGlobalDiagonals () const=0 |
| virtual int | NumMyNonzeros () const=0 |
| virtual int | NumMyRows () const=0 |
| virtual int | NumMyCols () const=0 |
| virtual int | NumMyDiagonals () const=0 |
| virtual bool | LowerTriangular () const=0 |
| virtual bool | UpperTriangular () const=0 |
| virtual const Epetra_Map & | RowMatrixRowMap () const=0 |
| virtual const Epetra_Map & | RowMatrixColMap () const=0 |
| virtual const Epetra_Import * | RowMatrixImporter () const=0 |
| virtual int | NumMyRowEntries (int MyRow, int &NumEntries) const=0 |
| virtual int | MaxNumEntries () const=0 |
| virtual int | ExtractMyRowCopy (int MyRow, int Length, int &NumEntries, double *Values, int *Indices) const=0 |
| virtual int | ExtractDiagonalCopy (Epetra_Vector &Diagonal) const=0 |
| virtual int | Multiply (bool TransA, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual int | Solve (bool Upper, bool Trans, bool UnitDiagonal, const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual int | InvRowSums (Epetra_Vector &x) const=0 |
| virtual int | LeftScale (const Epetra_Vector &x)=0 |
| virtual int | InvColSums (Epetra_Vector &x) const=0 |
| virtual int | RightScale (const Epetra_Vector &x)=0 |
| virtual bool | Filled () const=0 |
| virtual double | NormInf () const=0 |
| virtual double | NormOne () const=0 |
| virtual int | NumGlobalNonzeros () const=0 |
| virtual int | NumGlobalRows () const=0 |
| virtual int | NumGlobalCols () const=0 |
| virtual int | NumGlobalDiagonals () const=0 |
| virtual int | NumMyNonzeros () const=0 |
| virtual int | NumMyRows () const=0 |
| virtual int | NumMyCols () const=0 |
| virtual int | NumMyDiagonals () const=0 |
| virtual bool | LowerTriangular () const=0 |
| virtual bool | UpperTriangular () const=0 |
| virtual const Epetra_Map & | RowMatrixRowMap () const=0 |
| virtual const Epetra_Map & | RowMatrixColMap () const=0 |
| virtual const Epetra_Import * | RowMatrixImporter () const=0 |
| virtual int | SetUseTranspose (bool UseTranspose)=0 |
| virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual double | NormInf () const=0 |
| virtual const char * | Label () const=0 |
| virtual bool | UseTranspose () const=0 |
| virtual bool | HasNormInf () const=0 |
| virtual const Epetra_Comm & | Comm () const=0 |
| virtual const Epetra_Map & | OperatorDomainMap () const=0 |
| virtual const Epetra_Map & | OperatorRangeMap () const=0 |
| virtual int | SetUseTranspose (bool UseTranspose)=0 |
| virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0 |
| virtual double | NormInf () const=0 |
| virtual const char * | Label () const=0 |
| virtual bool | UseTranspose () const=0 |
| virtual bool | HasNormInf () const=0 |
| virtual const Epetra_Comm & | Comm () const=0 |
| virtual const Epetra_Map & | OperatorDomainMap () const=0 |
| virtual const Epetra_Map & | OperatorRangeMap () const=0 |
| virtual const Epetra_BlockMap & | Map () const=0 |
| virtual const Epetra_BlockMap & | Map () const=0 |
Ifpack_OverlappingRowMatrix: matrix with ghost rows, based on Epetra_RowMatrix.
Definition at line 68 of file Ifpack_OverlappingRowMatrix.h.
| Ifpack_OverlappingRowMatrix::Ifpack_OverlappingRowMatrix | ( | const Teuchos::RefCountPtr< const Epetra_RowMatrix > & | Matrix_in, |
| int | OverlapLevel_in | ||
| ) |
Definition at line 164 of file Ifpack_OverlappingRowMatrix.cpp.
|
inline |
Definition at line 91 of file Ifpack_OverlappingRowMatrix.h.
|
virtual |
Implements Epetra_Operator.
Definition at line 1771 of file Ifpack_OverlappingRowMatrix.cpp.
|
virtual |
Implements Epetra_Operator.
Definition at line 1779 of file Ifpack_OverlappingRowMatrix.cpp.
|
inlinevirtual |
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Implements Epetra_Operator.
Definition at line 372 of file Ifpack_OverlappingRowMatrix.h.
References Comm().
Referenced by Comm().
| int Ifpack_OverlappingRowMatrix::ExportMultiVector | ( | const Epetra_MultiVector & | OvX, |
| Epetra_MultiVector & | X, | ||
| Epetra_CombineMode | CM = Add |
||
| ) |
Definition at line 1810 of file Ifpack_OverlappingRowMatrix.cpp.
|
virtual |
Returns a copy of the main diagonal in a user-provided vector.
| Diagonal | - (Out) Extracted main diagonal. |
Implements Epetra_RowMatrix.
Definition at line 1727 of file Ifpack_OverlappingRowMatrix.cpp.
|
virtual |
Returns a copy of the specified local row in user-provided arrays.
| MyRow | - (In) Local row to extract. |
| Length | - (In) Length of Values and Indices. |
| NumEntries | - (Out) Number of nonzero entries extracted. |
| Values | - (Out) Extracted values for this row. |
| Indices | - (Out) Extracted global column indices for the corresponding values. |
Implements Epetra_RowMatrix.
Definition at line 1710 of file Ifpack_OverlappingRowMatrix.cpp.
References Epetra_RowMatrix::ExtractMyRowCopy().
Referenced by Multiply().
|
inlinevirtual |
If FillComplete() has been called, this query returns true, otherwise it returns false.
Implements Epetra_RowMatrix.
Definition at line 206 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Implements Epetra_Operator.
Definition at line 366 of file Ifpack_OverlappingRowMatrix.h.
References HasNormInf().
Referenced by HasNormInf().
| int Ifpack_OverlappingRowMatrix::ImportMultiVector | ( | const Epetra_MultiVector & | X, |
| Epetra_MultiVector & | OvX, | ||
| Epetra_CombineMode | CM = Insert |
||
| ) |
Definition at line 1801 of file Ifpack_OverlappingRowMatrix.cpp.
|
inlinevirtual |
Computes the sum of absolute values of the columns of the Epetra_RowMatrix, results returned in x (NOT IMPLEMENTED).
Implements Epetra_RowMatrix.
Definition at line 189 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Computes the sum of absolute values of the rows of the Epetra_RowMatrix, results returned in x (NOT IMPLEMENTED).
Implements Epetra_RowMatrix.
Definition at line 177 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Implements Epetra_Operator.
Definition at line 392 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Scales the Epetra_RowMatrix on the left with a Epetra_Vector x (NOT IMPLEMENTED).
Implements Epetra_RowMatrix.
Definition at line 183 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
If matrix is lower triangular in local index space, this query returns true, otherwise it returns false.
Implements Epetra_RowMatrix.
Definition at line 306 of file Ifpack_OverlappingRowMatrix.h.
References LowerTriangular().
Referenced by LowerTriangular().
|
virtual |
Implements Epetra_SrcDistObject.
Definition at line 1795 of file Ifpack_OverlappingRowMatrix.cpp.
|
inlinevirtual |
Returns the maximum of NumMyRowEntries() over all rows.
Implements Epetra_RowMatrix.
Definition at line 110 of file Ifpack_OverlappingRowMatrix.h.
|
virtual |
Returns the result of a Epetra_RowMatrix multiplied by a Epetra_MultiVector X in Y.
| TransA | -(In) If true, multiply by the transpose of matrix, otherwise just use matrix. |
| X | - (In) A Epetra_MultiVector of dimension NumVectors to multiply with matrix. |
| Y | -(Out) A Epetra_MultiVector of dimension NumVectorscontaining result. |
Implements Epetra_RowMatrix.
Definition at line 1735 of file Ifpack_OverlappingRowMatrix.cpp.
References ExtractMyRowCopy(), Epetra_MultiVector::NumVectors(), and Epetra_MultiVector::PutScalar().
|
inlinevirtual |
Returns the infinity norm of the global matrix.
Implements Epetra_RowMatrix.
Definition at line 215 of file Ifpack_OverlappingRowMatrix.h.
References NormInf().
Referenced by NormInf().
|
inlinevirtual |
Returns the one norm of the global matrix.
Implements Epetra_RowMatrix.
Definition at line 224 of file Ifpack_OverlappingRowMatrix.h.
References NormOne().
Referenced by NormOne().
|
inlinevirtual |
Returns the number of global matrix columns.
Implements Epetra_RowMatrix.
Definition at line 246 of file Ifpack_OverlappingRowMatrix.h.
References NumGlobalCols().
Referenced by NumGlobalCols().
|
inlinevirtual |
Returns the number of global matrix columns.
Definition at line 270 of file Ifpack_OverlappingRowMatrix.h.
References NumGlobalCols64().
Referenced by NumGlobalCols64().
|
inlinevirtual |
Returns the number of global nonzero diagonal entries, based on global row/column index comparisons.
Implements Epetra_RowMatrix.
Definition at line 252 of file Ifpack_OverlappingRowMatrix.h.
References NumGlobalDiagonals().
Referenced by NumGlobalDiagonals().
|
inlinevirtual |
Returns the number of global nonzero diagonal entries, based on global row/column index comparisons.
Definition at line 276 of file Ifpack_OverlappingRowMatrix.h.
References NumGlobalDiagonals64().
Referenced by NumGlobalDiagonals64().
|
inlinevirtual |
Returns the number of nonzero entries in the global matrix.
Implements Epetra_RowMatrix.
Definition at line 231 of file Ifpack_OverlappingRowMatrix.h.
References RowMatrixRowMap().
|
inlinevirtual |
Returns the number of nonzero entries in the global matrix.
Definition at line 258 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the number of global matrix rows.
Implements Epetra_RowMatrix.
Definition at line 240 of file Ifpack_OverlappingRowMatrix.h.
References NumGlobalRows().
Referenced by NumGlobalRows().
|
inlinevirtual |
Returns the number of global matrix rows.
Definition at line 264 of file Ifpack_OverlappingRowMatrix.h.
References NumGlobalRows64().
Referenced by NumGlobalRows64().
|
inlinevirtual |
Returns the number of matrix columns owned by the calling processor.
Implements Epetra_RowMatrix.
Definition at line 294 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the number of local nonzero diagonal entries, based on global row/column index comparisons.
Implements Epetra_RowMatrix.
Definition at line 300 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the number of nonzero entries in the calling processor's portion of the matrix.
Implements Epetra_RowMatrix.
Definition at line 282 of file Ifpack_OverlappingRowMatrix.h.
|
virtual |
Returns the number of nonzero entries in MyRow.
| MyRow | - (In) Local row. |
| NumEntries | - (Out) Number of nonzero values present. |
Implements Epetra_RowMatrix.
Definition at line 1601 of file Ifpack_OverlappingRowMatrix.cpp.
References NumMyRowEntries().
Referenced by NumMyRowEntries().
|
inlinevirtual |
Returns the number of matrix rows owned by the calling processor.
Implements Epetra_RowMatrix.
Definition at line 288 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the Epetra_Map object associated with the domain of this operator.
Implements Epetra_Operator.
Definition at line 378 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the Epetra_Map object associated with the range of this operator.
Implements Epetra_Operator.
Definition at line 384 of file Ifpack_OverlappingRowMatrix.h.
|
inline |
Definition at line 396 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Scales the Epetra_RowMatrix on the right with a Epetra_Vector x (NOT IMPLEMENTED).
Implements Epetra_RowMatrix.
Definition at line 196 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the Epetra_Map object associated with the columns of this matrix.
Implements Epetra_RowMatrix.
Definition at line 324 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the Epetra_Import object that contains the import operations for distributed operations.
Implements Epetra_RowMatrix.
Definition at line 338 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns the Epetra_Map object associated with the rows of this matrix.
Implements Epetra_RowMatrix.
Definition at line 318 of file Ifpack_OverlappingRowMatrix.h.
Referenced by NumGlobalNonzeros().
|
inline |
Sets ownership.
Definition at line 347 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Sets use transpose (not implemented).
Implements Epetra_Operator.
Definition at line 353 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
Returns result of a local-only solve using a triangular Epetra_RowMatrix with Epetra_MultiVectors X and Y (NOT IMPLEMENTED).
Implements Epetra_RowMatrix.
Definition at line 165 of file Ifpack_OverlappingRowMatrix.h.
|
inlinevirtual |
If matrix is upper triangular in local index space, this query returns true, otherwise it returns false.
Implements Epetra_RowMatrix.
Definition at line 312 of file Ifpack_OverlappingRowMatrix.h.
References UpperTriangular().
Referenced by UpperTriangular().
|
inlinevirtual |
Returns the current UseTranspose setting.
Implements Epetra_Operator.
Definition at line 360 of file Ifpack_OverlappingRowMatrix.h.