|
|
| ReorderFilter (const Teuchos::RCP< const row_matrix_type > &A, const Teuchos::ArrayRCP< local_ordinal_type > &perm, const Teuchos::ArrayRCP< local_ordinal_type > &reverseperm) |
| Constructor. More...
|
|
virtual | ~ReorderFilter () |
| Destructor. More...
|
|
|
virtual Teuchos::RCP< const
Teuchos::Comm< int > > | getComm () const |
| The matrix's communicator. More...
|
|
virtual Teuchos::RCP< const
map_type > | getRowMap () const |
| Returns the Map that describes the row distribution in this matrix. More...
|
|
virtual Teuchos::RCP< const
map_type > | getColMap () const |
| Returns the Map that describes the column distribution in this matrix. More...
|
|
virtual Teuchos::RCP< const
map_type > | getDomainMap () const |
| Returns the Map that describes the domain distribution in this matrix. More...
|
|
virtual Teuchos::RCP< const
map_type > | getRangeMap () const |
| Returns the Map that describes the range distribution in this matrix. More...
|
|
virtual Teuchos::RCP< const
Tpetra::RowGraph
< local_ordinal_type,
global_ordinal_type, node_type > > | getGraph () const |
| Returns the RowGraph associated with this matrix. More...
|
|
virtual global_size_t | getGlobalNumRows () const |
| Returns the number of global rows in this matrix. More...
|
|
virtual global_size_t | getGlobalNumCols () const |
| Returns the number of global columns in this matrix. More...
|
|
virtual size_t | getNodeNumRows () const |
| Returns the number of rows owned on the calling node. More...
|
|
virtual size_t | getNodeNumCols () const |
| Returns the number of columns needed to apply the forward operator on this node, i.e., the number of elements listed in the column map. More...
|
|
virtual global_ordinal_type | getIndexBase () const |
| Returns the index base for global indices for this matrix. More...
|
|
virtual global_size_t | getGlobalNumEntries () const |
| Returns the global number of entries in this matrix. More...
|
|
virtual size_t | getNodeNumEntries () const |
| Returns the local number of entries in this matrix. More...
|
|
virtual size_t | getNumEntriesInGlobalRow (global_ordinal_type globalRow) const |
| The current number of entries in this matrix, stored on the calling process, in the row whose global index is globalRow . More...
|
|
virtual size_t | getNumEntriesInLocalRow (local_ordinal_type localRow) const |
| The current number of entries in this matrix, stored on the calling process, in the row whose local index is globalRow . More...
|
|
virtual size_t | getGlobalMaxNumRowEntries () const |
| Returns the maximum number of entries across all rows/columns on all nodes. More...
|
|
virtual size_t | getNodeMaxNumRowEntries () const |
| Returns the maximum number of entries across all rows/columns on this node. More...
|
|
virtual bool | hasColMap () const |
| Indicates whether this matrix has a well-defined column map. More...
|
|
virtual bool | isLocallyIndexed () const |
| If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. */. More...
|
|
virtual bool | isGloballyIndexed () const |
| If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. */. More...
|
|
virtual bool | isFillComplete () const |
| Returns true if fillComplete() has been called. More...
|
|
virtual bool | supportsRowViews () const |
| Returns true if RowViews are supported. More...
|
|
|
virtual void | getGlobalRowCopy (global_ordinal_type GlobalRow, const Teuchos::ArrayView< global_ordinal_type > &Indices, const Teuchos::ArrayView< scalar_type > &Values, size_t &NumEntries) const |
| Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage. More...
|
|
virtual void | getLocalRowCopy (local_ordinal_type DropRow, const Teuchos::ArrayView< local_ordinal_type > &Indices, const Teuchos::ArrayView< scalar_type > &Values, size_t &NumEntries) const |
| Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine. More...
|
|
virtual void | getGlobalRowView (global_ordinal_type GlobalRow, Teuchos::ArrayView< const global_ordinal_type > &indices, Teuchos::ArrayView< const scalar_type > &values) const |
| Extract a const, non-persisting view of global indices in a specified row of the matrix. More...
|
|
virtual void | getLocalRowView (local_ordinal_type LocalRow, Teuchos::ArrayView< const local_ordinal_type > &indices, Teuchos::ArrayView< const scalar_type > &values) const |
| Extract a const, non-persisting view of local indices in a specified row of the matrix. More...
|
|
virtual void | getLocalDiagCopy (Tpetra::Vector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &diag) const |
| Get a copy of the diagonal entries owned by this node, with local row indices. More...
|
|
|
virtual void | leftScale (const Tpetra::Vector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &x) |
| Scales the RowMatrix on the left with the Vector x. More...
|
|
virtual void | rightScale (const Tpetra::Vector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &x) |
| Scales the RowMatrix on the right with the Vector x. More...
|
|
virtual mag_type | getFrobeniusNorm () const |
| Returns the Frobenius norm of the matrix. More...
|
|
virtual void | apply (const Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &X, Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, scalar_type alpha=Teuchos::ScalarTraits< scalar_type >::one(), scalar_type beta=Teuchos::ScalarTraits< scalar_type >::zero()) const |
| \( Y := \beta Y + \alpha Op(A) X \), where Op(A) is either A, \(A^T\), or \(A^H\). More...
|
|
virtual bool | hasTransposeApply () const |
| Whether apply() can apply the transpose or conjugate transpose. More...
|
|
virtual void | permuteOriginalToReordered (const Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &originalX, Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &reorderedY) const |
| Permute multivector: original-to-reordered. More...
|
|
template<class DomainScalar , class RangeScalar > |
void | permuteOriginalToReorderedTempl (const Tpetra::MultiVector< DomainScalar, local_ordinal_type, global_ordinal_type, node_type > &originalX, Tpetra::MultiVector< RangeScalar, local_ordinal_type, global_ordinal_type, node_type > &reorderedY) const |
|
virtual void | permuteReorderedToOriginal (const Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &reorderedX, Tpetra::MultiVector< scalar_type, local_ordinal_type, global_ordinal_type, node_type > &originalY) const |
| Permute multivector: reordered-to-original. More...
|
|
template<class DomainScalar , class RangeScalar > |
void | permuteReorderedToOriginalTempl (const Tpetra::MultiVector< DomainScalar, local_ordinal_type, global_ordinal_type, node_type > &reorderedX, Tpetra::MultiVector< RangeScalar, local_ordinal_type, global_ordinal_type, node_type > &originalY) const |
|
virtual | ~RowMatrix ()=default |
| Destructor (virtual for memory safety of derived classes) More...
|
|
template<class MatrixType>
class Ifpack2::ReorderFilter< MatrixType >
Wraps a Tpetra::RowMatrix in a filter that reorders local rows and columns.
- Template Parameters
-
MatrixType | A specialization of Tpetra::RowMatrix. |
This class is used in AdditiveSchwarz to reorder (if required by the user) the localized matrix. As the localized matrix is defined on a serial communicator only, all maps are trivial (as all elements reside on the same process). This class does not attemp to define properly reordered maps, hence it should not be used for distributed matrices.
To improve the performance of Ifpack2::AdditiveSchwarz, some operations are not performed in the construction phase (like for instance the computation of the 1-norm and infinite-norm, of check whether the reordered matrix is lower/upper triangular or not).