Concrete implementation of Xpetra::Matrix. More...
#include <Xpetra_CrsMatrixWrap.hpp>
Public Member Functions | |
| global_size_t | getGlobalNumRows () const |
| Returns the number of global rows in this matrix. | |
| global_size_t | getGlobalNumCols () const |
| Returns the number of global columns in the matrix. | |
| size_t | getNodeNumRows () const |
| Returns the number of matrix rows owned on the calling node. | |
| global_size_t | getGlobalNumEntries () const |
| Returns the global number of entries in this matrix. | |
| size_t | getNodeNumEntries () const |
| Returns the local number of entries in this matrix. | |
| size_t | getNumEntriesInLocalRow (LocalOrdinal localRow) const |
| Returns the current number of entries on this node in the specified local row. | |
| global_size_t | getGlobalNumDiags () const |
| Returns the number of global diagonal entries, based on global row/column index comparisons. | |
| size_t | getNodeNumDiags () const |
| Returns the number of local diagonal entries, based on global row/column index comparisons. | |
| size_t | getGlobalMaxNumRowEntries () const |
| Returns the maximum number of entries across all rows/columns on all nodes. | |
| size_t | getNodeMaxNumRowEntries () const |
| Returns the maximum number of entries across all rows/columns on this node. | |
| bool | isLocallyIndexed () const |
| If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. */. | |
| bool | isGloballyIndexed () const |
| If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. */. | |
| bool | isFillComplete () const |
Returns true if fillComplete() has been called and the matrix is in compute mode. | |
| void | getLocalRowCopy (LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const |
| Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine. | |
| void | getGlobalRowView (GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const |
| Extract a const, non-persisting view of global indices in a specified row of the matrix. | |
| void | getLocalRowView (LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const |
| Extract a const, non-persisting view of local indices in a specified row of the matrix. | |
| void | getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const |
| Get a copy of the diagonal entries owned by this node, with local row idices. | |
| void | getLocalDiagOffsets (Teuchos::ArrayRCP< size_t > &offsets) const |
| Get offsets of the diagonal entries in the matrix. | |
| void | getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const |
| Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets. | |
| ScalarTraits< Scalar > ::magnitudeType | getFrobeniusNorm () const |
| Get Frobenius norm of the matrix. | |
| const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getMap () const |
| Implements DistObject interface. | |
| void | doImport (const Matrix &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM) |
| Import. | |
| void | doExport (const Matrix &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM) |
| Export. | |
| void | doImport (const Matrix &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM) |
| Import (using an Exporter). | |
| void | doExport (const Matrix &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM) |
| Export (using an Importer). | |
| template<class Node2 > | |
| RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node2 > > | clone (const RCP< Node2 > &node2) const |
Private Types | |
| typedef Xpetra::Map < LocalOrdinal, GlobalOrdinal, Node > | Map |
| typedef Xpetra::CrsMatrix < Scalar, LocalOrdinal, GlobalOrdinal, Node > | CrsMatrix |
| typedef Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > | Matrix |
| typedef Xpetra::CrsGraph < LocalOrdinal, GlobalOrdinal, Node > | CrsGraph |
| typedef Xpetra::TpetraCrsMatrix < Scalar, LocalOrdinal, GlobalOrdinal, Node > | TpetraCrsMatrix |
| typedef Xpetra::CrsMatrixFactory < Scalar, LocalOrdinal, GlobalOrdinal, Node > | CrsMatrixFactory |
| typedef Xpetra::MatrixView < LocalOrdinal, GlobalOrdinal, Node > | MatrixView |
Private Member Functions | |
| void | CreateDefaultView () |
| void | updateDefaultView () const |
Private Attributes | |
| bool | finalDefaultView_ |
| RCP< CrsMatrix > | matrixData_ |
Constructor/Destructor Methods | |
| CrsMatrixWrap (const RCP< const Map > &rowMap, size_t maxNumEntriesPerRow, Xpetra::ProfileType pftype=Xpetra::DynamicProfile) | |
| Constructor specifying fixed number of entries for each row. | |
| CrsMatrixWrap (const RCP< const Map > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=Xpetra::DynamicProfile) | |
| Constructor specifying (possibly different) number of entries in each row. | |
| CrsMatrixWrap (const RCP< const Map > &rowMap, const RCP< const Map > &colMap, size_t maxNumEntriesPerRow, Xpetra::ProfileType pftype=Xpetra::DynamicProfile) | |
| Constructor specifying fixed number of entries for each row and column map. | |
| CrsMatrixWrap (const RCP< const Map > &rowMap, const RCP< const Map > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, Xpetra::ProfileType pftype=Xpetra::DynamicProfile) | |
| Constructor specifying fixed number of entries for each row and column map. | |
| CrsMatrixWrap (RCP< CrsMatrix > matrix) | |
| CrsMatrixWrap (const RCP< const CrsGraph > &graph, const RCP< ParameterList > ¶mList=Teuchos::null) | |
| virtual | ~CrsMatrixWrap () |
| Destructor. | |
Insertion/Removal Methods | |
| void | insertGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| Insert matrix entries, using global IDs. | |
| void | insertLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| Insert matrix entries, using local IDs. | |
| void | replaceGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| Replace matrix entries, using global IDs. | |
| void | replaceLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| Replace matrix entries, using local IDs. | |
| virtual void | setAllToScalar (const Scalar &alpha) |
| Set all matrix entries equal to scalar. | |
| void | scale (const Scalar &alpha) |
| Scale the current values of a matrix, this = alpha*this. | |
Transformational Methods | |
| void | resumeFill (const RCP< ParameterList > ¶ms=null) |
| void | fillComplete (const RCP< const Map > &domainMap, const RCP< const Map > &rangeMap, const RCP< Teuchos::ParameterList > ¶ms=null) |
| Signal that data entry is complete, specifying domain and range maps. | |
| void | fillComplete (const RCP< ParameterList > ¶ms=null) |
| Signal that data entry is complete. | |
Methods implementing Matrix | |
Multiplies this matrix by a MultiVector.
Both are required to have constant stride, and they are not permitted to ocupy overlapping space. No runtime checking will be performed in a non-debug build. This method is templated on the scalar type of MultiVector objects, allowing this method to be applied to MultiVector objects of arbitrary type. However, it is recommended that multiply() not be called directly; instead, use the CrsMatrixMultiplyOp, as it will handle the import/exprt operations required to apply a matrix with non-trivial communication needs. If | |
| void | apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=ScalarTraits< Scalar >::one(), Scalar beta=ScalarTraits< Scalar >::zero()) const |
| Computes the sparse matrix-multivector multiplication. | |
| const RCP< const Xpetra::Map < LocalOrdinal, GlobalOrdinal, Node > > | getDomainMap () const |
Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called. | |
| const RCP< const Xpetra::Map < LocalOrdinal, GlobalOrdinal, Node > > | getRangeMap () const |
| const RCP< const Map > & | getColMap () const |
Returns the Map that describes the column distribution in this matrix. This might be null until fillComplete() is called. | |
| const RCP< const Map > & | getColMap (viewLabel_t viewLabel) const |
| Returns the Map that describes the column distribution in this matrix. | |
| void | removeEmptyProcessesInPlace (const Teuchos::RCP< const Map > &newMap) |
Overridden from Teuchos::Describable | |
| std::string | description () const |
| Return a simple one-line description of this object. | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
| Print the object with some verbosity level to an FancyOStream object. | |
| RCP< const CrsGraph > | getCrsGraph () const |
| Returns the CrsGraph associated with this matrix. | |
| RCP< CrsMatrix > | getCrsMatrix () const |
Concrete implementation of Xpetra::Matrix.
Definition at line 85 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Map [private] |
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 88 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrix [private] |
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 89 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Matrix [private] |
Definition at line 90 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::CrsGraph<LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsGraph [private] |
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 91 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::TpetraCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::TpetraCrsMatrix [private] |
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 93 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::CrsMatrixFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixFactory [private] |
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 95 of file Xpetra_CrsMatrixWrap.hpp.
typedef Xpetra::MatrixView<LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MatrixView [private] |
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 96 of file Xpetra_CrsMatrixWrap.hpp.
| Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap | ( | const RCP< const Map > & | rowMap, |
| size_t | maxNumEntriesPerRow, | ||
| Xpetra::ProfileType | pftype = Xpetra::DynamicProfile |
||
| ) | [inline] |
Constructor specifying fixed number of entries for each row.
Definition at line 103 of file Xpetra_CrsMatrixWrap.hpp.
| Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap | ( | const RCP< const Map > & | rowMap, |
| const ArrayRCP< const size_t > & | NumEntriesPerRowToAlloc, | ||
| ProfileType | pftype = Xpetra::DynamicProfile |
||
| ) | [inline] |
Constructor specifying (possibly different) number of entries in each row.
Definition at line 113 of file Xpetra_CrsMatrixWrap.hpp.
| Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap | ( | const RCP< const Map > & | rowMap, |
| const RCP< const Map > & | colMap, | ||
| size_t | maxNumEntriesPerRow, | ||
| Xpetra::ProfileType | pftype = Xpetra::DynamicProfile |
||
| ) | [inline] |
Constructor specifying fixed number of entries for each row and column map.
Definition at line 123 of file Xpetra_CrsMatrixWrap.hpp.
| Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap | ( | const RCP< const Map > & | rowMap, |
| const RCP< const Map > & | colMap, | ||
| const ArrayRCP< const size_t > & | NumEntriesPerRowToAlloc, | ||
| Xpetra::ProfileType | pftype = Xpetra::DynamicProfile |
||
| ) | [inline] |
Constructor specifying fixed number of entries for each row and column map.
Definition at line 134 of file Xpetra_CrsMatrixWrap.hpp.
| Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap | ( | RCP< CrsMatrix > | matrix | ) | [inline] |
Definition at line 144 of file Xpetra_CrsMatrixWrap.hpp.
| Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap | ( | const RCP< const CrsGraph > & | graph, |
| const RCP< ParameterList > & | paramList = Teuchos::null |
||
| ) | [inline] |
Definition at line 154 of file Xpetra_CrsMatrixWrap.hpp.
| virtual Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~CrsMatrixWrap | ( | ) | [inline, virtual] |
Destructor.
Definition at line 165 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::insertGlobalValues | ( | GlobalOrdinal | globalRow, |
| const ArrayView< const GlobalOrdinal > & | cols, | ||
| const ArrayView< const Scalar > & | vals | ||
| ) | [inline, virtual] |
Insert matrix entries, using global IDs.
All index values must be in the global space.
globalRow exists as an ID in the global row map isLocallyIndexed() == false isStorageOptimized() == falseisGloballyIndexed() == trueglobalRow does not belong to the matrix on this node, then it will be communicated to the appropriate node when globalAssemble() is called (which will, at the latest, occur during the next call to fillComplete().) Otherwise, the entries will be inserted in the local matrix. cols, then the new values will be summed with the old values; this may happen at insertion or during the next call to fillComplete(). hasColMap() == true, only (cols[i],vals[i]) where cols[i] belongs to the column map on this node will be inserted into the matrix. Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 185 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::insertLocalValues | ( | LocalOrdinal | localRow, |
| const ArrayView< const LocalOrdinal > & | cols, | ||
| const ArrayView< const Scalar > & | vals | ||
| ) | [inline, virtual] |
Insert matrix entries, using local IDs.
All index values must be in the local space.
localRow exists as an ID in the global row map isGloballyIndexed() == false isStorageOptimized() == falseisLocallyIndexed() == true Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 197 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceGlobalValues | ( | GlobalOrdinal | globalRow, |
| const ArrayView< const GlobalOrdinal > & | cols, | ||
| const ArrayView< const Scalar > & | vals | ||
| ) | [inline, virtual] |
Replace matrix entries, using global IDs.
All index values must be in the global space.
globalRow is a global row belonging to the matrix on this node.Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 207 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceLocalValues | ( | LocalOrdinal | localRow, |
| const ArrayView< const LocalOrdinal > & | cols, | ||
| const ArrayView< const Scalar > & | vals | ||
| ) | [inline, virtual] |
Replace matrix entries, using local IDs.
All index values must be in the local space. Note that if a value is not already present for the specified location in the matrix, the input value will be ignored silently.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 215 of file Xpetra_CrsMatrixWrap.hpp.
| virtual void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setAllToScalar | ( | const Scalar & | alpha | ) | [inline, virtual] |
Set all matrix entries equal to scalar.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 220 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scale | ( | const Scalar & | alpha | ) | [inline, virtual] |
Scale the current values of a matrix, this = alpha*this.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 223 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::resumeFill | ( | const RCP< ParameterList > & | params = null | ) | [inline, virtual] |
Resume fill operations. After calling fillComplete(), resumeFill() must be called before initiating any changes to the matrix.
resumeFill() may be called repeatedly.
isFillActive() == true isFillComplete() == false Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 240 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fillComplete | ( | const RCP< const Map > & | domainMap, |
| const RCP< const Map > & | rangeMap, | ||
| const RCP< Teuchos::ParameterList > & | params = null |
||
| ) | [inline] |
Signal that data entry is complete, specifying domain and range maps.
Off-node indices are distributed (via globalAssemble()), indices are sorted, redundant indices are eliminated, and global indices are transformed to local indices.
isFillActive() == true isFillComplete()() == false isFillActive() == false isFillComplete() == true if os == DoOptimizeStorage, then isStorageOptimized() == true Definition at line 255 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fillComplete | ( | const RCP< ParameterList > & | params = null | ) | [inline, virtual] |
Signal that data entry is complete.
Off-node entries are distributed (via globalAssemble()), repeated entries are summed, and global indices are transformed to local indices.
isFillActive() == true isFillComplete()() == false isFillActive() == false isFillComplete() == true if os == DoOptimizeStorage, then isStorageOptimized() == true Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 276 of file Xpetra_CrsMatrixWrap.hpp.
| global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumRows | ( | ) | const [inline, virtual] |
Returns the number of global rows in this matrix.
Undefined if isFillActive().
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 288 of file Xpetra_CrsMatrixWrap.hpp.
| global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumCols | ( | ) | const [inline, virtual] |
Returns the number of global columns in the matrix.
Undefined if isFillActive().
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 295 of file Xpetra_CrsMatrixWrap.hpp.
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumRows | ( | ) | const [inline, virtual] |
Returns the number of matrix rows owned on the calling node.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 300 of file Xpetra_CrsMatrixWrap.hpp.
| global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumEntries | ( | ) | const [inline, virtual] |
Returns the global number of entries in this matrix.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 305 of file Xpetra_CrsMatrixWrap.hpp.
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumEntries | ( | ) | const [inline, virtual] |
Returns the local number of entries in this matrix.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 310 of file Xpetra_CrsMatrixWrap.hpp.
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInLocalRow | ( | LocalOrdinal | localRow | ) | const [inline, virtual] |
Returns the current number of entries on this node in the specified local row.
Returns OrdinalTraits<size_t>::invalid() if the specified local row is not valid for this matrix.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 316 of file Xpetra_CrsMatrixWrap.hpp.
| global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumDiags | ( | ) | const [inline, virtual] |
Returns the number of global diagonal entries, based on global row/column index comparisons.
Undefined if isFillActive().
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 323 of file Xpetra_CrsMatrixWrap.hpp.
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumDiags | ( | ) | const [inline, virtual] |
Returns the number of local diagonal entries, based on global row/column index comparisons.
Undefined if isFillActive().
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 330 of file Xpetra_CrsMatrixWrap.hpp.
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalMaxNumRowEntries | ( | ) | const [inline, virtual] |
Returns the maximum number of entries across all rows/columns on all nodes.
Undefined if isFillActive().
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 337 of file Xpetra_CrsMatrixWrap.hpp.
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeMaxNumRowEntries | ( | ) | const [inline, virtual] |
Returns the maximum number of entries across all rows/columns on this node.
Undefined if isFillActive().
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 344 of file Xpetra_CrsMatrixWrap.hpp.
| bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed | ( | ) | const [inline, virtual] |
If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. */.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 349 of file Xpetra_CrsMatrixWrap.hpp.
| bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isGloballyIndexed | ( | ) | const [inline, virtual] |
If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. */.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 354 of file Xpetra_CrsMatrixWrap.hpp.
| bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isFillComplete | ( | ) | const [inline, virtual] |
Returns true if fillComplete() has been called and the matrix is in compute mode.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 359 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy | ( | LocalOrdinal | LocalRow, |
| const ArrayView< LocalOrdinal > & | Indices, | ||
| const ArrayView< Scalar > & | Values, | ||
| size_t & | NumEntries | ||
| ) | const [inline, virtual] |
Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine.
| LocalRow | - (In) Local row number for which indices are desired. |
| Indices | - (Out) Local column indices corresponding to values. |
| Values | - (Out) Matrix values. |
| NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown if either Indices or Values is not large enough to hold the data associated with row LocalRow. If LocalRow is not valid for this node, then Indices and Values are unchanged and NumIndices is returned as OrdinalTraits<size_t>::invalid().
isLocallyIndexed()==true or hasColMap() == true Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 376 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowView | ( | GlobalOrdinal | GlobalRow, |
| ArrayView< const GlobalOrdinal > & | indices, | ||
| ArrayView< const Scalar > & | values | ||
| ) | const [inline, virtual] |
Extract a const, non-persisting view of global indices in a specified row of the matrix.
| GlobalRow | - (In) Global row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
| Values | - (Out) Row values |
isLocallyIndexed() == false indices.size() == getNumEntriesInGlobalRow(GlobalRow)Note: If GlobalRow does not belong to this node, then indices is set to null.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 394 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowView | ( | LocalOrdinal | LocalRow, |
| ArrayView< const LocalOrdinal > & | indices, | ||
| ArrayView< const Scalar > & | values | ||
| ) | const [inline, virtual] |
Extract a const, non-persisting view of local indices in a specified row of the matrix.
| LocalRow | - (In) Local row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
| Values | - (Out) Row values |
isGloballyIndexed() == false indices.size() == getNumEntriesInLocalRow(LocalRow)Note: If LocalRow does not belong to this node, then indices is set to null.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 408 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagCopy | ( | Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | diag | ) | const [inline, virtual] |
Get a copy of the diagonal entries owned by this node, with local row idices.
Returns a distributed Vector object partitioned according to this matrix's row map, containing the the zero and non-zero diagonals owned by this node.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 415 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagOffsets | ( | Teuchos::ArrayRCP< size_t > & | offsets | ) | const [inline] |
Get offsets of the diagonal entries in the matrix.
Definition at line 420 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagCopy | ( | Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | diag, |
| const Teuchos::ArrayView< const size_t > & | offsets | ||
| ) | const [inline] |
Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets.
Definition at line 425 of file Xpetra_CrsMatrixWrap.hpp.
| ScalarTraits<Scalar>::magnitudeType Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFrobeniusNorm | ( | ) | const [inline, virtual] |
Get Frobenius norm of the matrix.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 430 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::apply | ( | const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | X, |
| MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | Y, | ||
| Teuchos::ETransp | mode = Teuchos::NO_TRANS, |
||
| Scalar | alpha = ScalarTraits<Scalar>::one(), |
||
| Scalar | beta = ScalarTraits<Scalar>::zero() |
||
| ) | const [inline, virtual] |
Computes the sparse matrix-multivector multiplication.
Performs
, with one special exceptions:
beta == 0, apply() overwrites Y, so that any values in Y (including NaNs) are ignored. Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 463 of file Xpetra_CrsMatrixWrap.hpp.
| const RCP<const Xpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap | ( | ) | const [inline, virtual] |
Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 473 of file Xpetra_CrsMatrixWrap.hpp.
| const RCP<const Xpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap | ( | ) | const [inline, virtual] |
Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 479 of file Xpetra_CrsMatrixWrap.hpp.
| const RCP<const Map>& Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap | ( | ) | const [inline, virtual] |
Returns the Map that describes the column distribution in this matrix. This might be null until fillComplete() is called.
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 485 of file Xpetra_CrsMatrixWrap.hpp.
| const RCP<const Map>& Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap | ( | viewLabel_t | viewLabel | ) | const [inline, virtual] |
Returns the Map that describes the column distribution in this matrix.
Reimplemented from Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 488 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::removeEmptyProcessesInPlace | ( | const Teuchos::RCP< const Map > & | newMap | ) | [inline] |
Definition at line 494 of file Xpetra_CrsMatrixWrap.hpp.
| const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMap | ( | ) | const [inline, virtual] |
Implements DistObject interface.
Access function for the Tpetra::Map this DistObject was constructed with.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 506 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doImport | ( | const Matrix & | source, |
| const Import< LocalOrdinal, GlobalOrdinal, Node > & | importer, | ||
| CombineMode | CM | ||
| ) | [inline] |
Definition at line 511 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doExport | ( | const Matrix & | dest, |
| const Import< LocalOrdinal, GlobalOrdinal, Node > & | importer, | ||
| CombineMode | CM | ||
| ) | [inline] |
Definition at line 518 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doImport | ( | const Matrix & | source, |
| const Export< LocalOrdinal, GlobalOrdinal, Node > & | exporter, | ||
| CombineMode | CM | ||
| ) | [inline] |
Import (using an Exporter).
Definition at line 525 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doExport | ( | const Matrix & | dest, |
| const Export< LocalOrdinal, GlobalOrdinal, Node > & | exporter, | ||
| CombineMode | CM | ||
| ) | [inline] |
Export (using an Importer).
Definition at line 532 of file Xpetra_CrsMatrixWrap.hpp.
| std::string Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description | ( | ) | const [inline, virtual] |
Return a simple one-line description of this object.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 544 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::Describable::verbLevel_default |
||
| ) | const [inline, virtual] |
Print the object with some verbosity level to an FancyOStream object.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 549 of file Xpetra_CrsMatrixWrap.hpp.
| RCP<const CrsGraph> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getCrsGraph | ( | ) | const [inline, virtual] |
Returns the CrsGraph associated with this matrix.
Implements Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 566 of file Xpetra_CrsMatrixWrap.hpp.
| RCP<CrsMatrix> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getCrsMatrix | ( | ) | const [inline] |
Definition at line 568 of file Xpetra_CrsMatrixWrap.hpp.
| RCP<Xpetra::Matrix<Scalar,LocalOrdinal,GlobalOrdinal,Node2> > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::clone | ( | const RCP< Node2 > & | node2 | ) | const [inline] |
Definition at line 573 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CreateDefaultView | ( | ) | [inline, private] |
Definition at line 591 of file Xpetra_CrsMatrixWrap.hpp.
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::updateDefaultView | ( | ) | const [inline, private] |
Definition at line 605 of file Xpetra_CrsMatrixWrap.hpp.
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::finalDefaultView_ [mutable, private] |
Definition at line 614 of file Xpetra_CrsMatrixWrap.hpp.
RCP<CrsMatrix> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::matrixData_ [private] |
Definition at line 617 of file Xpetra_CrsMatrixWrap.hpp.
1.7.6.1