Private Types | List of all members
Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Concrete implementation of Xpetra::Matrix. More...

#include <Xpetra_CrsMatrixWrap.hpp>

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
 

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. 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 > &paramList=Teuchos::null)
 
virtual ~CrsMatrixWrap ()
 Destructor. More...
 

Insertion/Removal Methods

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...
 

Transformational Methods

void resumeFill (const RCP< ParameterList > &params=null)
 
void fillComplete (const RCP< const Map > &domainMap, const RCP< const Map > &rangeMap, const RCP< Teuchos::ParameterList > &params=null)
 Signal that data entry is complete, specifying domain and range maps. More...
 
void fillComplete (const RCP< ParameterList > &params=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...
 

Methods implementing Matrix

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...
 

Overridden from Teuchos::Describable

bool finalDefaultView_
 
RCP< CrsMatrixmatrixData_
 
std::string description () const
 Return a simple one-line description of this object. More...
 
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. More...
 
bool hasCrsGraph () const
 
RCP< const CrsGraphgetCrsGraph () const
 Returns the CrsGraph associated with this matrix. More...
 
RCP< CrsMatrixgetCrsMatrix () const
 
template<class Node2 >
RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node2 > > clone (const RCP< Node2 > &node2) const
 
void CreateDefaultView ()
 
void updateDefaultView () const
 

Detailed Description

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.

Member Typedef Documentation

◆ Map

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>
typedef Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Map
private

Definition at line 88 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrix

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>
typedef Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrix
private

Definition at line 89 of file Xpetra_CrsMatrixWrap.hpp.

◆ Matrix

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>
typedef Xpetra::Matrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Matrix
private

Definition at line 90 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsGraph

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>
typedef Xpetra::CrsGraph<LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsGraph
private

Definition at line 91 of file Xpetra_CrsMatrixWrap.hpp.

◆ TpetraCrsMatrix

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>
typedef Xpetra::TpetraCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::TpetraCrsMatrix
private

Definition at line 93 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrixFactory

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>
typedef Xpetra::CrsMatrixFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixFactory
private

Definition at line 95 of file Xpetra_CrsMatrixWrap.hpp.

◆ MatrixView

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>
typedef Xpetra::MatrixView<LocalOrdinal, GlobalOrdinal, Node> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MatrixView
private

Definition at line 96 of file Xpetra_CrsMatrixWrap.hpp.

Constructor & Destructor Documentation

◆ CrsMatrixWrap() [1/6]

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>
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 108 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrixWrap() [2/6]

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>
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 118 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrixWrap() [3/6]

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>
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 128 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrixWrap() [4/6]

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>
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 139 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrixWrap() [5/6]

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>
Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap ( RCP< CrsMatrix matrix)
inline

Definition at line 180 of file Xpetra_CrsMatrixWrap.hpp.

◆ CrsMatrixWrap() [6/6]

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>
Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CrsMatrixWrap ( const RCP< const CrsGraph > &  graph,
const RCP< ParameterList > &  paramList = Teuchos::null 
)
inline

Definition at line 190 of file Xpetra_CrsMatrixWrap.hpp.

◆ ~CrsMatrixWrap()

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 Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~CrsMatrixWrap ( )
inlinevirtual

Destructor.

Definition at line 201 of file Xpetra_CrsMatrixWrap.hpp.

Member Function Documentation

◆ insertGlobalValues()

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.

◆ insertLocalValues()

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

Insert matrix entries, using local IDs.

All index values must be in the local space.

Precondition
localRow exists as an ID in the global row map
isGloballyIndexed() == false
isStorageOptimized() == false
Postcondition
isLocallyIndexed() == true

Definition at line 233 of file Xpetra_CrsMatrixWrap.hpp.

◆ replaceGlobalValues()

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.

◆ replaceLocalValues()

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.

◆ setAllToScalar()

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 >::setAllToScalar ( const Scalar &  alpha)
inlinevirtual

Set all matrix entries equal to scalar.

Definition at line 256 of file Xpetra_CrsMatrixWrap.hpp.

◆ scale()

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 >::scale ( const Scalar &  alpha)
inline

Scale the current values of a matrix, this = alpha*this.

Definition at line 259 of file Xpetra_CrsMatrixWrap.hpp.

◆ resumeFill()

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 >::resumeFill ( const RCP< ParameterList > &  params = null)
inline

Resume fill operations. After calling fillComplete(), resumeFill() must be called before initiating any changes to the matrix.

resumeFill() may be called repeatedly.

Postcondition
isFillActive() == true
isFillComplete() == false

Definition at line 276 of file Xpetra_CrsMatrixWrap.hpp.

◆ fillComplete() [1/2]

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 >::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.

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.

◆ fillComplete() [2/2]

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 >::fillComplete ( const RCP< ParameterList > &  params = null)
inline

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.

◆ getGlobalNumRows()

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>
global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumRows ( ) const
inline

Returns the number of global rows in this matrix.

Undefined if isFillActive().

Definition at line 324 of file Xpetra_CrsMatrixWrap.hpp.

◆ getGlobalNumCols()

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>
global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumCols ( ) const
inline

Returns the number of global columns in the matrix.

Undefined if isFillActive().

Definition at line 331 of file Xpetra_CrsMatrixWrap.hpp.

◆ getNodeNumRows()

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 >::getNodeNumRows ( ) const
inline

Returns the number of matrix rows owned on the calling node.

Definition at line 336 of file Xpetra_CrsMatrixWrap.hpp.

◆ getGlobalNumEntries()

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>
global_size_t Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumEntries ( ) const
inline

Returns the global number of entries in this matrix.

Definition at line 341 of file Xpetra_CrsMatrixWrap.hpp.

◆ getNodeNumEntries()

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 >::getNodeNumEntries ( ) const
inline

Returns the local number of entries in this matrix.

Definition at line 346 of file Xpetra_CrsMatrixWrap.hpp.

◆ getNumEntriesInLocalRow()

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

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.

Definition at line 352 of file Xpetra_CrsMatrixWrap.hpp.

◆ getGlobalMaxNumRowEntries()

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.

◆ getNodeMaxNumRowEntries()

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.

◆ isLocallyIndexed()

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>
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed ( ) const
inline

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.

◆ isGloballyIndexed()

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>
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isGloballyIndexed ( ) const
inline

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.

◆ isFillComplete()

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>
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isFillComplete ( ) const
inline

Returns true if fillComplete() has been called and the matrix is in compute mode.

Definition at line 381 of file Xpetra_CrsMatrixWrap.hpp.

◆ getLocalRowCopy()

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.

◆ getGlobalRowView()

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.

◆ getLocalRowView()

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.

◆ getLocalDiagCopy() [1/2]

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 >::getLocalDiagCopy ( Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag) const
inline

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.

◆ getLocalDiagOffsets()

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 >::getLocalDiagOffsets ( Teuchos::ArrayRCP< size_t > &  offsets) const
inline

Get offsets of the diagonal entries in the matrix.

Definition at line 442 of file Xpetra_CrsMatrixWrap.hpp.

◆ getLocalDiagCopy() [2/2]

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 >::getLocalDiagCopy ( Xpetra::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 447 of file Xpetra_CrsMatrixWrap.hpp.

◆ getFrobeniusNorm()

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>
ScalarTraits<Scalar>::magnitudeType Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFrobeniusNorm ( ) const
inline

Get Frobenius norm of the matrix.

Definition at line 452 of file Xpetra_CrsMatrixWrap.hpp.

◆ leftScale()

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 >::leftScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x)
inline

Left scale matrix using the given vector entries.

Definition at line 457 of file Xpetra_CrsMatrixWrap.hpp.

◆ rightScale()

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 >::rightScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x)
inline

Right scale matrix using the given vector entries.

Definition at line 462 of file Xpetra_CrsMatrixWrap.hpp.

◆ haveGlobalConstants()

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>
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::haveGlobalConstants ( ) const
inline

Returns true if globalConstants have been computed; false otherwise.

Definition at line 467 of file Xpetra_CrsMatrixWrap.hpp.

◆ apply()

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 $Y = \alpha A^{\textrm{mode}} X + \beta Y$, 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.

◆ getDomainMap()

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>
RCP<const Xpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const
inline

Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.

Definition at line 511 of file Xpetra_CrsMatrixWrap.hpp.

◆ getRangeMap()

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>
RCP<const Xpetra::Map<LocalOrdinal,GlobalOrdinal,Node> > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const
inline

Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.

Definition at line 517 of file Xpetra_CrsMatrixWrap.hpp.

◆ getColMap() [1/2]

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>
const RCP<const Map>& Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap ( ) const
inline

Returns the Map that describes the column distribution in this matrix. This might be null until fillComplete() is called.

Definition at line 523 of file Xpetra_CrsMatrixWrap.hpp.

◆ getColMap() [2/2]

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>
const RCP<const Map>& Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap ( viewLabel_t  viewLabel) const
inline

Returns the Map that describes the column distribution in this matrix.

Definition at line 526 of file Xpetra_CrsMatrixWrap.hpp.

◆ removeEmptyProcessesInPlace()

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 >::removeEmptyProcessesInPlace ( const Teuchos::RCP< const Map > &  newMap)
inline

Definition at line 532 of file Xpetra_CrsMatrixWrap.hpp.

◆ getMap()

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>
const Teuchos::RCP< const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getMap ( ) const
inline

Implements DistObject interface.

Access function for the Tpetra::Map this DistObject was constructed with.

Definition at line 544 of file Xpetra_CrsMatrixWrap.hpp.

◆ doImport() [1/2]

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 >::doImport ( const Matrix source,
const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
CombineMode  CM 
)
inline

Import.

Definition at line 549 of file Xpetra_CrsMatrixWrap.hpp.

◆ doExport() [1/2]

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 >::doExport ( const Matrix dest,
const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
CombineMode  CM 
)
inline

Export.

Definition at line 556 of file Xpetra_CrsMatrixWrap.hpp.

◆ doImport() [2/2]

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 >::doImport ( const Matrix source,
const Xpetra::Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
CombineMode  CM 
)
inline

Import (using an Exporter).

Definition at line 563 of file Xpetra_CrsMatrixWrap.hpp.

◆ doExport() [2/2]

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 >::doExport ( const Matrix dest,
const Xpetra::Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
CombineMode  CM 
)
inline

Export (using an Importer).

Definition at line 570 of file Xpetra_CrsMatrixWrap.hpp.

◆ description()

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>
std::string Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
inline

Return a simple one-line description of this object.

Definition at line 582 of file Xpetra_CrsMatrixWrap.hpp.

◆ describe()

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 >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const
inline

Print the object with some verbosity level to an FancyOStream object.

Definition at line 587 of file Xpetra_CrsMatrixWrap.hpp.

◆ hasCrsGraph()

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>
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::hasCrsGraph ( ) const
inline

Definition at line 616 of file Xpetra_CrsMatrixWrap.hpp.

◆ getCrsGraph()

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>
RCP<const CrsGraph> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getCrsGraph ( ) const
inline

Returns the CrsGraph associated with this matrix.

Definition at line 619 of file Xpetra_CrsMatrixWrap.hpp.

◆ getCrsMatrix()

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>
RCP<CrsMatrix> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getCrsMatrix ( ) const
inline

Definition at line 621 of file Xpetra_CrsMatrixWrap.hpp.

◆ clone()

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 Node2 >
RCP<Xpetra::Matrix<Scalar,LocalOrdinal,GlobalOrdinal,Node2> > Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::clone ( const RCP< Node2 > &  node2) const
inline

Definition at line 626 of file Xpetra_CrsMatrixWrap.hpp.

◆ CreateDefaultView()

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 >::CreateDefaultView ( )
inlineprivate

Definition at line 644 of file Xpetra_CrsMatrixWrap.hpp.

◆ updateDefaultView()

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 >::updateDefaultView ( ) const
inlineprivate

Definition at line 658 of file Xpetra_CrsMatrixWrap.hpp.

Member Data Documentation

◆ finalDefaultView_

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>
bool Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::finalDefaultView_
mutableprivate

Definition at line 667 of file Xpetra_CrsMatrixWrap.hpp.

◆ matrixData_

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>
RCP<CrsMatrix> Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node >::matrixData_
private

Definition at line 670 of file Xpetra_CrsMatrixWrap.hpp.


The documentation for this class was generated from the following files: