|
| 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 |
| |
|
| | CrsMatrixWrap (const RCP< const Map > &rowMap, size_t maxNumEntriesPerRow, Xpetra::ProfileType pftype=Xpetra::DynamicProfile) |
| | Constructor specifying fixed number of entries for each row. More...
|
| |
| | 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. More...
|
| |
| | 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. More...
|
| |
| | 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. More...
|
| |
| | CrsMatrixWrap (RCP< CrsMatrix > matrix) |
| |
| | CrsMatrixWrap (const RCP< const CrsGraph > &graph, const RCP< ParameterList > ¶mList=Teuchos::null) |
| |
| virtual | ~CrsMatrixWrap () |
| | Destructor. More...
|
| |
|
| void | insertGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| | Insert matrix entries, using global IDs. More...
|
| |
| void | insertLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| | Insert matrix entries, using local IDs. More...
|
| |
| void | replaceGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| | Replace matrix entries, using global IDs. More...
|
| |
| void | replaceLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals) |
| | Replace matrix entries, using local IDs. More...
|
| |
| virtual void | setAllToScalar (const Scalar &alpha) |
| | Set all matrix entries equal to scalar. More...
|
| |
| void | scale (const Scalar &alpha) |
| | Scale the current values of a matrix, this = alpha*this. More...
|
| |
|
| 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. More...
|
| |
| void | fillComplete (const RCP< ParameterList > ¶ms=null) |
| | Signal that data entry is complete. More...
|
| |
| global_size_t | getGlobalNumRows () const |
| | Returns the number of global rows in this matrix. More...
|
| |
| global_size_t | getGlobalNumCols () const |
| | Returns the number of global columns in the matrix. More...
|
| |
| size_t | getNodeNumRows () const |
| | Returns the number of matrix rows owned on the calling node. More...
|
| |
| global_size_t | getGlobalNumEntries () const |
| | Returns the global number of entries in this matrix. More...
|
| |
| size_t | getNodeNumEntries () const |
| | Returns the local number of entries in this matrix. More...
|
| |
| size_t | getNumEntriesInLocalRow (LocalOrdinal localRow) const |
| | Returns the current number of entries on this node in the specified local row. More...
|
| |
| size_t | getGlobalMaxNumRowEntries () const |
| | Returns the maximum number of entries across all rows/columns on all nodes. More...
|
| |
| size_t | getNodeMaxNumRowEntries () const |
| | Returns the maximum number of entries across all rows/columns on this node. More...
|
| |
| bool | isLocallyIndexed () const |
| | If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. */. More...
|
| |
| bool | isGloballyIndexed () const |
| | If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. */. More...
|
| |
| bool | isFillComplete () const |
| | Returns true if fillComplete() has been called and the matrix is in compute mode. More...
|
| |
| 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. More...
|
| |
| 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. More...
|
| |
| 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. More...
|
| |
| void | getLocalDiagCopy (Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const |
| | Get a copy of the diagonal entries owned by this node, with local row idices. More...
|
| |
| void | getLocalDiagOffsets (Teuchos::ArrayRCP< size_t > &offsets) const |
| | Get offsets of the diagonal entries in the matrix. More...
|
| |
| void | getLocalDiagCopy (Xpetra::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. More...
|
| |
| ScalarTraits< Scalar >::magnitudeType | getFrobeniusNorm () const |
| | Get Frobenius norm of the matrix. More...
|
| |
| void | leftScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x) |
| | Left scale matrix using the given vector entries. More...
|
| |
| void | rightScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x) |
| | Right scale matrix using the given vector entries. More...
|
| |
| bool | haveGlobalConstants () const |
| | Returns true if globalConstants have been computed; false otherwise. More...
|
| |
|
Multiplies this matrix by a MultiVector.
X is required to be post-imported, i.e., described by the column map of the matrix. Y is required to be pre-exported, i.e., described by the row map of the matrix.
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 beta is equal to zero, the operation will enjoy overwrite semantics (Y will be overwritten with the result of the multiplication). Otherwise, the result of the multiplication will be accumulated into Y.
|
| virtual void | apply (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, Xpetra::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. More...
|
| |
| 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. More...
|
| |
| 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. More...
|
| |
| const RCP< const Map > & | getColMap (viewLabel_t viewLabel) const |
| | Returns the Map that describes the column distribution in this matrix. More...
|
| |
| void | removeEmptyProcessesInPlace (const Teuchos::RCP< const Map > &newMap) |
| |
| const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > | getMap () const |
| | Implements DistObject interface. More...
|
| |
| void | doImport (const Matrix &source, const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM) |
| | Import. More...
|
| |
| void | doExport (const Matrix &dest, const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM) |
| | Export. More...
|
| |
| void | doImport (const Matrix &source, const Xpetra::Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM) |
| | Import (using an Exporter). More...
|
| |
| void | doExport (const Matrix &dest, const Xpetra::Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM) |
| | Export (using an Importer). More...
|
| |
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
class Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >
Concrete implementation of Xpetra::Matrix.
Definition at line 85 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::insertGlobalValues |
( |
GlobalOrdinal |
globalRow, |
|
|
const ArrayView< const GlobalOrdinal > & |
cols, |
|
|
const ArrayView< const Scalar > & |
vals |
|
) |
| |
|
inline |
Insert matrix entries, using global IDs.
All index values must be in the global space.
- Precondition
globalRow exists as an ID in the global row map
-
isLocallyIndexed() == false
-
isStorageOptimized() == false
- Postcondition
isGloballyIndexed() == true
- Note
- If
globalRow 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.
-
If the matrix row already contains values at the indices corresponding to values in
cols, then the new values will be summed with the old values; this may happen at insertion or during the next call to fillComplete().
-
If
hasColMap() == true, only (cols[i],vals[i]) where cols[i] belongs to the column map on this node will be inserted into the matrix.
Definition at line 221 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::insertLocalValues |
( |
LocalOrdinal |
localRow, |
|
|
const ArrayView< const LocalOrdinal > & |
cols, |
|
|
const ArrayView< const Scalar > & |
vals |
|
) |
| |
|
inline |
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceGlobalValues |
( |
GlobalOrdinal |
globalRow, |
|
|
const ArrayView< const GlobalOrdinal > & |
cols, |
|
|
const ArrayView< const Scalar > & |
vals |
|
) |
| |
|
inline |
Replace matrix entries, using global IDs.
All index values must be in the global space.
- Precondition
globalRow is a global row belonging to the matrix on this node.
- Note
- If (globalRow,cols[i]) corresponds to an entry that is duplicated in this matrix row (likely because it was inserted more than once and fillComplete() has not been called in the interim), the behavior of this function is not defined.
Definition at line 243 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceLocalValues |
( |
LocalOrdinal |
localRow, |
|
|
const ArrayView< const LocalOrdinal > & |
cols, |
|
|
const ArrayView< const Scalar > & |
vals |
|
) |
| |
|
inline |
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.
Definition at line 251 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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.
- Precondition
isFillActive() == true
-
isFillComplete()() == false
- Postcondition
isFillActive() == false
-
isFillComplete() == true
-
if os == DoOptimizeStorage, then isStorageOptimized() == true
Definition at line 291 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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.
- Note
- This method calls fillComplete( getRowMap(), getRowMap(), os ).
- Precondition
isFillActive() == true
-
isFillComplete()() == false
- Postcondition
isFillActive() == false
-
isFillComplete() == true
-
if os == DoOptimizeStorage, then isStorageOptimized() == true
Definition at line 312 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Returns the number of global rows in this matrix.
Undefined if isFillActive().
Definition at line 324 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Returns the number of global columns in the matrix.
Undefined if isFillActive().
Definition at line 331 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInLocalRow |
( |
LocalOrdinal |
localRow | ) |
const |
|
inline |
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalMaxNumRowEntries |
( |
| ) |
const |
|
inline |
Returns the maximum number of entries across all rows/columns on all nodes.
Undefined if isFillActive().
Definition at line 359 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeMaxNumRowEntries |
( |
| ) |
const |
|
inline |
Returns the maximum number of entries across all rows/columns on this node.
Undefined if isFillActive().
Definition at line 366 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. */.
Definition at line 371 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. */.
Definition at line 376 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy |
( |
LocalOrdinal |
LocalRow, |
|
|
const ArrayView< LocalOrdinal > & |
Indices, |
|
|
const ArrayView< Scalar > & |
Values, |
|
|
size_t & |
NumEntries |
|
) |
| const |
|
inline |
Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine.
- Parameters
-
| 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().
- Precondition
isLocallyIndexed()==true or hasColMap() == true
Definition at line 398 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowView |
( |
GlobalOrdinal |
GlobalRow, |
|
|
ArrayView< const GlobalOrdinal > & |
indices, |
|
|
ArrayView< const Scalar > & |
values |
|
) |
| const |
|
inline |
Extract a const, non-persisting view of global indices in a specified row of the matrix.
- Parameters
-
| GlobalRow | - (In) Global row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
| Values | - (Out) Row values |
- Precondition
isLocallyIndexed() == false
- Postcondition
indices.size() == getNumEntriesInGlobalRow(GlobalRow)
Note: If GlobalRow does not belong to this node, then indices is set to null.
Definition at line 416 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowView |
( |
LocalOrdinal |
LocalRow, |
|
|
ArrayView< const LocalOrdinal > & |
indices, |
|
|
ArrayView< const Scalar > & |
values |
|
) |
| const |
|
inline |
Extract a const, non-persisting view of local indices in a specified row of the matrix.
- Parameters
-
| LocalRow | - (In) Local row number for which indices are desired. |
| Indices | - (Out) Global column indices corresponding to values. |
| Values | - (Out) Row values |
- Precondition
isGloballyIndexed() == false
- Postcondition
indices.size() == getNumEntriesInLocalRow(LocalRow)
Note: If LocalRow does not belong to this node, then indices is set to null.
Definition at line 430 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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.
Definition at line 437 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets.
Definition at line 447 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
| virtual void Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::apply |
( |
const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & |
X, |
|
|
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & |
Y, |
|
|
Teuchos::ETransp |
mode = Teuchos::NO_TRANS, |
|
|
Scalar |
alpha = ScalarTraits<Scalar>::one(), |
|
|
Scalar |
beta = ScalarTraits<Scalar>::zero() |
|
) |
| const |
|
inlinevirtual |
Computes the sparse matrix-multivector multiplication.
Performs
, with one special exceptions:
- if
beta == 0, apply() overwrites Y, so that any values in Y (including NaNs) are ignored.
Definition at line 500 of file Xpetra_CrsMatrixWrap.hpp.
template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>