Xpetra Version of the Day
Loading...
Searching...
No Matches
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode > Class Template Reference

#include <Xpetra_TpetraCrsMatrix_decl.hpp>

Inheritance diagram for Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >:
Xpetra::CrsMatrix< Scalar, int, int, EpetraNode > Xpetra::CrsMatrix< Scalar, int, int, EpetraNode > Xpetra::RowMatrix< Scalar, int, int, EpetraNode > Xpetra::DistObject< char, int, int, EpetraNode > Xpetra::RowMatrix< Scalar, int, int, EpetraNode > Xpetra::DistObject< char, int, int, EpetraNode > Teuchos::Describable Teuchos::Describable Teuchos::LabeledObject Teuchos::LabeledObject

Private Types

typedef int LocalOrdinal
 
typedef int GlobalOrdinal
 
typedef EpetraNode Node
 
typedef TpetraCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, NodeTpetraCrsMatrixClass
 
typedef TpetraVector< Scalar, LocalOrdinal, GlobalOrdinal, NodeTpetraVectorClass
 
typedef TpetraImport< LocalOrdinal, GlobalOrdinal, NodeTpetraImportClass
 
typedef TpetraExport< LocalOrdinal, GlobalOrdinal, NodeTpetraExportClass
 
typedef Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type local_matrix_type
 
typedef TpetraCrsMatrix< Scalar, int, int, EpetraNodeTpetraCrsMatrixClass
 
typedef TpetraVector TpetraVectorClass
 
typedef TpetraImport< int, int, EpetraNodeTpetraImportClass
 
typedef TpetraExport< int, int, EpetraNodeTpetraExportClass
 
typedef Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >::local_matrix_type local_matrix_type
 

Constructor/Destructor Methods

 TpetraCrsMatrix (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying fixed number of entries for each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying (possibly different) number of entries in each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying column Map and fixed number of entries for each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying column Map and number of entries in each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying a previously constructed graph.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor for a fused import.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor for a fused export.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &RowImporter, const Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > DomainImporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor for a fused import.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &RowExporter, const Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > DomainExporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor for a fused export.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const local_matrix_type &lclMatrix, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor specifying column Map and a local matrix, which the resulting CrsMatrix views.
 
 TpetraCrsMatrix (const local_matrix_type &lclMatrix, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor specifying local matrix and 4 maps.
 
virtual ~TpetraCrsMatrix ()
 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.
 
void setAllToScalar (const Scalar &alpha)
 Set all matrix entries equal to scalarThis.
 
void scale (const Scalar &alpha)
 Scale the current values of a matrix, this = alpha*this.
 
void allocateAllValues (size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &values)
 Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.
 
void setAllValues (const ArrayRCP< size_t > &rowptr, const ArrayRCP< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)
 Sets the 1D pointer arrays of the graph.
 
void getAllValues (ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const
 Gets the 1D pointer arrays of the graph.
 
void getAllValues (ArrayRCP< Scalar > &values)
 Gets the 1D pointer arrays of the graph.
 
bool haveGlobalConstants () const
 Returns true if globalConstants have been computed; false otherwise.
 

Transformational Methods

void resumeFill (const RCP< ParameterList > &params=null)
 
void fillComplete (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null)
 Signal that data entry is complete, specifying domain and range maps.
 
void fillComplete (const RCP< ParameterList > &params=null)
 Signal that data entry is complete.
 
void replaceDomainMapAndImporter (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &newImporter)
 Replaces the current domainMap and importer with the user-specified objects.
 
void expertStaticFillComplete (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &importer=Teuchos::null, const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)
 Expert static fill complete.
 

Methods implementing RowMatrix

const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRowMap () const
 Returns the Map that describes the row distribution in this matrix.
 
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getColMap () const
 Returns the Map that describes the column distribution in this matrix.
 
RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > getCrsGraph () const
 Returns the CrsGraph associated with this matrix.
 
global_size_t getGlobalNumRows () const
 Number of global elements in the row map of this matrix.
 
global_size_t getGlobalNumCols () const
 Number of global columns in the matrix.
 
size_t getLocalNumRows () const
 Returns the number of matrix rows owned on the calling node.
 
size_t getLocalNumCols () const
 Returns the number of columns connected to the locally owned rows of this matrix.
 
global_size_t getGlobalNumEntries () const
 Returns the global number of entries in this matrix.
 
size_t getLocalNumEntries () 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.
 
size_t getNumEntriesInGlobalRow (GlobalOrdinal globalRow) const
 Returns the current number of entries in the (locally owned) global row.
 
size_t getGlobalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on all nodes.
 
size_t getLocalMaxNumRowEntries () 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 the matrix is in compute mode, i.e. if fillComplete() has been called.
 
bool isFillActive () const
 Returns true if the matrix is in edit mode.
 
ScalarTraits< Scalar >::magnitudeType getFrobeniusNorm () const
 Returns the Frobenius norm of the matrix.
 
bool supportsRowViews () const
 Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.
 
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 getGlobalRowCopy (GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const
 Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.
 
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.
 

Methods implementing Operator

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.
 
void apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode, Scalar alpha, Scalar beta, bool sumInterfaceValues, const RCP< Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > > &regionInterfaceImporter, const Teuchos::ArrayRCP< LocalOrdinal > &regionInterfaceLIDs) const
 Computes the matrix-multivector multiplication for region layout matrices.
 
const RCP< const 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 Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap () const
 Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().
 

Overridden from Teuchos::Describable

std::string description () const
 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.
 

Overridden from Teuchos::LabeledObject

void setObjectLabel (const std::string &objectLabel)
 
 TpetraCrsMatrix (const TpetraCrsMatrix &matrix)
 Deep copy constructor.
 
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.
 
void replaceDiag (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag)
 Replace the diagonal entries of the matrix.
 
void leftScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
 Left scale operator with given vector values.
 
void rightScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
 Right scale operator with given vector values.
 
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getMap () const
 Implements DistObject interface.
 
void doImport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Import.
 
void doExport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Export.
 
void doImport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Import (using an Exporter).
 
void doExport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Export (using an Importer).
 
void removeEmptyProcessesInPlace (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)
 

Xpetra specific

bool hasMatrix () const
 Does this have an underlying matrix.
 
 TpetraCrsMatrix (const Teuchos::RCP< Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &mtx)
 TpetraCrsMatrix constructor to wrap a Tpetra::CrsMatrix object.
 
RCP< const Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_CrsMatrix () const
 Get the underlying Tpetra matrix.
 
RCP< Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > getTpetra_CrsMatrixNonConst () const
 Get the underlying Tpetra matrix.
 
local_matrix_type getLocalMatrix () const
 Access the local Kokkos::CrsMatrix data.
 
void setAllValues (const typename local_matrix_type::row_map_type &ptr, const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type &ind, const typename local_matrix_type::values_type &val)
 
LocalOrdinal GetStorageBlockSize () const
 Returns the block size of the storage mechanism, which is usually 1, except for Tpetra::BlockCrsMatrix.
 
void residual (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &R) const
 Compute a residual R = B - (*this) * X.
 

Constructor/Destructor Methods

 TpetraCrsMatrix (const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, size_t maxNumEntriesPerRow, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying fixed number of entries for each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying (possibly different) number of entries in each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &colMap, size_t maxNumEntriesPerRow, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying column Map and fixed number of entries for each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying column Map and number of entries in each row.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsGraph< int, int, EpetraNode > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying a previously constructed graph.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix > &sourceMatrix, const Import< int, int, EpetraNode > &importer, const Teuchos::RCP< const Map< int, int, EpetraNode > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor for a fused import.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix > &sourceMatrix, const Export< int, int, EpetraNode > &exporter, const Teuchos::RCP< const Map< int, int, EpetraNode > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor for a fused export.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix > &sourceMatrix, const Import< int, int, EpetraNode > &RowImporter, const Teuchos::RCP< const Import< int, int, EpetraNode > > DomainImporter, const Teuchos::RCP< const Map< int, int, EpetraNode > > &domainMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor for a fused import.
 
 TpetraCrsMatrix (const Teuchos::RCP< const CrsMatrix > &sourceMatrix, const Export< int, int, EpetraNode > &RowExporter, const Teuchos::RCP< const Export< int, int, EpetraNode > > DomainExporter, const Teuchos::RCP< const Map< int, int, EpetraNode > > &domainMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor for a fused export.
 
 TpetraCrsMatrix (const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &colMap, const local_matrix_type &lclMatrix, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor specifying column Map and a local matrix, which the resulting CrsMatrix views.
 
 TpetraCrsMatrix (const local_matrix_type &lclMatrix, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &colMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor specifying local matrix and 4 maps.
 
 TpetraCrsMatrix (const local_matrix_type &lclMatrix, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rowMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &colMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &domainMap, const Teuchos::RCP< const Map< int, int, EpetraNode > > &rangeMap, const Teuchos::RCP< const Import< int, int, EpetraNode > > &importer, const Teuchos::RCP< const Export< int, int, EpetraNode > > &exporter, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor specifying local matrix, four maps, import and export objects.
 
virtual ~TpetraCrsMatrix ()
 Destructor.
 

Overridden from Teuchos::LabeledObject

 TpetraCrsMatrix (const TpetraCrsMatrix &matrix)
 Deep copy constructor.
 
void setObjectLabel (const std::string &objectLabel)
 
void getLocalDiagCopy (Vector &diag) const
 Get a copy of the diagonal entries owned by this node, with local row indices.
 
void getLocalDiagCopy (Vector &diag, const Teuchos::ArrayView< const size_t > &offsets) const
 Get a copy of the diagonal entries owned by this node, with local row indices.
 
void getLocalDiagOffsets (Teuchos::ArrayRCP< size_t > &offsets) const
 Get offsets of the diagonal entries in the matrix.
 
void replaceDiag (const Vector &diag)
 Replace the diagonal entries of the matrix.
 
void leftScale (const Vector &x)
 Left scale operator with given vector values.
 
void rightScale (const Vector &x)
 Right scale operator with given vector values.
 
Teuchos::RCP< const Map< int, int, EpetraNode > > getMap () const
 Implements DistObject interface.
 
void doImport (const DistObject< char, int, int, EpetraNode > &source, const Import< int, int, EpetraNode > &importer, CombineMode CM)
 Import.
 
void doImport (const DistObject< char, int, int, EpetraNode > &source, const Export< int, int, EpetraNode > &exporter, CombineMode CM)
 Import (using an Exporter).
 
void doExport (const DistObject< char, int, int, EpetraNode > &dest, const Import< int, int, EpetraNode > &importer, CombineMode CM)
 Export.
 
void doExport (const DistObject< char, int, int, EpetraNode > &dest, const Export< int, int, EpetraNode > &exporter, CombineMode CM)
 Export (using an Importer).
 
void removeEmptyProcessesInPlace (const Teuchos::RCP< const Map< int, int, EpetraNode > > &newMap)
 

Xpetra specific

 TpetraCrsMatrix (const Teuchos::RCP< Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > &mtx)
 TpetraCrsMatrix constructor to wrap a Tpetra::CrsMatrix object.
 
void setAllValues (const typename local_matrix_type::row_map_type &ptr, const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type &ind, const typename local_matrix_type::values_type &val)
 
bool hasMatrix () const
 Does this have an underlying matrix.
 
RCP< const Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > getTpetra_CrsMatrix () const
 Get the underlying Tpetra matrix.
 
RCP< Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > getTpetra_CrsMatrixNonConst () const
 Get the underlying Tpetra matrix.
 
local_matrix_type::HostMirror getLocalMatrixHost () const
 Access the local Kokkos::CrsMatrix data.
 
local_matrix_type getLocalMatrixDevice () const
 Access the local Kokkos::CrsMatrix data.
 
int GetStorageBlockSize () const
 Returns the block size of the storage mechanism, which is usually 1, except for Tpetra::BlockCrsMatrix.
 
void residual (const MultiVector &X, const MultiVector &B, MultiVector &R) const
 Compute a residual R = B - (*this) * X.
 
RCP< Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > mtx_
 

Insertion/Removal Methods

void insertGlobalValues (int globalRow, const ArrayView< const int > &cols, const ArrayView< const Scalar > &vals)
 Insert matrix entries, using global IDs.
 
void insertLocalValues (int localRow, const ArrayView< const int > &cols, const ArrayView< const Scalar > &vals)
 Insert matrix entries, using local IDs.
 
void replaceGlobalValues (int globalRow, const ArrayView< const int > &cols, const ArrayView< const Scalar > &vals)
 Replace matrix entries, using global IDs.
 
void replaceLocalValues (int localRow, const ArrayView< const int > &cols, const ArrayView< const Scalar > &vals)
 Replace matrix entries, using local IDs.
 
void setAllToScalar (const Scalar &alpha)
 Set all matrix entries equal to scalarThis.
 
void scale (const Scalar &alpha)
 Scale the current values of a matrix, this = alpha*this.
 
void allocateAllValues (size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< int > &colind, ArrayRCP< Scalar > &values)
 Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.
 
void setAllValues (const ArrayRCP< size_t > &rowptr, const ArrayRCP< int > &colind, const ArrayRCP< Scalar > &values)
 Sets the 1D pointer arrays of the graph.
 
void getAllValues (ArrayRCP< const size_t > &rowptr, ArrayRCP< const int > &colind, ArrayRCP< const Scalar > &values) const
 Gets the 1D pointer arrays of the graph.
 
void getAllValues (ArrayRCP< Scalar > &values)
 Gets the 1D pointer arrays of the graph.
 
bool haveGlobalConstants () const
 Returns true if globalConstants have been computed; false otherwise.
 

Transformational Methods

void resumeFill (const RCP< ParameterList > &params=null)
 
void fillComplete (const RCP< const Map< int, int, EpetraNode > > &domainMap, const RCP< const Map< int, int, EpetraNode > > &rangeMap, const RCP< ParameterList > &params=null)
 Signal that data entry is complete, specifying domain and range maps.
 
void fillComplete (const RCP< ParameterList > &params=null)
 Signal that data entry is complete.
 
void replaceDomainMapAndImporter (const Teuchos::RCP< const Map< int, int, EpetraNode > > &newDomainMap, Teuchos::RCP< const Import< int, int, EpetraNode > > &newImporter)
 Replaces the current domainMap and importer with the user-specified objects.
 
void expertStaticFillComplete (const RCP< const Map< int, int, EpetraNode > > &domainMap, const RCP< const Map< int, int, EpetraNode > > &rangeMap, const RCP< const Import< int, int, EpetraNode > > &importer=Teuchos::null, const RCP< const Export< int, int, EpetraNode > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)
 Expert static fill complete.
 

Methods implementing RowMatrix

const RCP< const Map< int, int, EpetraNode > > getRowMap () const
 Returns the Map that describes the row distribution in this matrix.
 
const RCP< const Map< int, int, EpetraNode > > getColMap () const
 Returns the Map that describes the column distribution in this matrix.
 
RCP< const CrsGraph< int, int, EpetraNode > > getCrsGraph () const
 Returns the CrsGraph associated with this matrix.
 
global_size_t getGlobalNumRows () const
 Number of global elements in the row map of this matrix.
 
global_size_t getGlobalNumCols () const
 Number of global columns in the matrix.
 
size_t getLocalNumRows () const
 Returns the number of matrix rows owned on the calling node.
 
size_t getLocalNumCols () const
 Returns the number of columns connected to the locally owned rows of this matrix.
 
global_size_t getGlobalNumEntries () const
 Returns the global number of entries in this matrix.
 
size_t getLocalNumEntries () const
 Returns the local number of entries in this matrix.
 
size_t getNumEntriesInLocalRow (int localRow) const
 Returns the current number of entries on this node in the specified local row.
 
size_t getNumEntriesInGlobalRow (int globalRow) const
 Returns the current number of entries in the (locally owned) global row.
 
size_t getGlobalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on all nodes.
 
size_t getLocalMaxNumRowEntries () 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 the matrix is in compute mode, i.e. if fillComplete() has been called.
 
bool isFillActive () const
 Returns true if the matrix is in edit mode.
 
ScalarTraits< Scalar >::magnitudeType getFrobeniusNorm () const
 Returns the Frobenius norm of the matrix.
 
bool supportsRowViews () const
 Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.
 
void getLocalRowCopy (int LocalRow, const ArrayView< int > &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 (int GlobalRow, ArrayView< const int > &indices, ArrayView< const Scalar > &values) const
 Extract a const, non-persisting view of global indices in a specified row of the matrix.
 
void getGlobalRowCopy (int GlobalRow, const ArrayView< int > &indices, const ArrayView< Scalar > &values, size_t &numEntries) const
 Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.
 
void getLocalRowView (int LocalRow, ArrayView< const int > &indices, ArrayView< const Scalar > &values) const
 Extract a const, non-persisting view of local indices in a specified row of the matrix.
 

Methods implementing Operator

void apply (const MultiVector &X, MultiVector &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=ScalarTraits< Scalar >::one(), Scalar beta=ScalarTraits< Scalar >::zero()) const
 Computes the sparse matrix-multivector multiplication.
 
void apply (const MultiVector &X, MultiVector &Y, Teuchos::ETransp mode, Scalar alpha, Scalar beta, bool sumInterfaceValues, const RCP< Xpetra::Import< int, int, EpetraNode > > &regionInterfaceImporter, const Teuchos::ArrayRCP< int > &regionInterfaceLIDs) const
 Computes the matrix-multivector multiplication for region layout matrices.
 
const RCP< const Map< int, int, EpetraNode > > getDomainMap () const
 Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.
 
const RCP< const Map< int, int, EpetraNode > > getRangeMap () const
 Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().
 

Overridden from Teuchos::Describable

std::string description () const
 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.
 

Additional Inherited Members

- Public Types inherited from Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >
typedef Scalar scalar_type
 
typedef int local_ordinal_type
 
typedef int global_ordinal_type
 
typedef EpetraNode node_type
 
using impl_scalar_type
 
using execution_space
 
using local_graph_type
 
using local_matrix_type
 The specialization of Kokkos::CrsMatrix that represents the part of the sparse matrix on each MPI process. The same as for Tpetra.
 
- Public Types inherited from Xpetra::RowMatrix< Scalar, int, int, EpetraNode >
typedef Scalar scalar_type
 
typedef int local_ordinal_type
 
typedef int global_ordinal_type
 
typedef EpetraNode node_type
 
virtual void setAllValues (const typename local_matrix_type::row_map_type &ptr, const typename local_graph_type::entries_type::non_const_type &ind, const typename local_matrix_type::values_type &val)=0
 
virtual ~CrsMatrix ()
 Destructor.
 
virtual ~RowMatrix ()
 Destructor.
 
virtual ~DistObject ()
 Destructor.
 
virtual void beginImport (const DistObject< char, int, int, EpetraNode > &source, const Import< int, int, EpetraNode > &importer, CombineMode CM)
 Import data into this object using an Import object ("forward mode").
 
virtual void beginImport (const DistObject< char, int, int, EpetraNode > &source, const Export< int, int, EpetraNode > &exporter, CombineMode CM)
 Import data into this object using an Export object ("reverse mode").
 
virtual void endImport (const DistObject< char, int, int, EpetraNode > &source, const Import< int, int, EpetraNode > &importer, CombineMode CM)
 Import data into this object using an Import object ("forward mode").
 
virtual void endImport (const DistObject< char, int, int, EpetraNode > &source, const Export< int, int, EpetraNode > &exporter, CombineMode CM)
 Import data into this object using an Export object ("reverse mode").
 
virtual void beginExport (const DistObject< char, int, int, EpetraNode > &source, const Export< int, int, EpetraNode > &exporter, CombineMode CM)
 Export data into this object using an Export object ("forward mode").
 
virtual void beginExport (const DistObject< char, int, int, EpetraNode > &source, const Import< int, int, EpetraNode > &importer, CombineMode CM)
 Export data into this object using an Import object ("reverse mode").
 
virtual void endExport (const DistObject< char, int, int, EpetraNode > &source, const Export< int, int, EpetraNode > &exporter, CombineMode CM)
 Export data into this object using an Export object ("forward mode").
 
virtual void endExport (const DistObject< char, int, int, EpetraNode > &source, const Import< int, int, EpetraNode > &importer, CombineMode CM)
 Export data into this object using an Import object ("reverse mode").
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
- Public Member Functions inherited from Teuchos::LabeledObject
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual std::string getObjectLabel () const
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class Scalar>
class Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >

Definition at line 471 of file Xpetra_TpetraCrsMatrix_decl.hpp.

Member Typedef Documentation

◆ LocalOrdinal

template<class Scalar>
typedef int Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::LocalOrdinal
private

Definition at line 474 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ GlobalOrdinal

template<class Scalar>
typedef int Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::GlobalOrdinal
private

Definition at line 475 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ Node

template<class Scalar>
typedef EpetraNode Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::Node
private

Definition at line 476 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrixClass [1/2]

template<class Scalar>
typedef TpetraCrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrixClass
private

Definition at line 478 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraVectorClass [1/2]

template<class Scalar>
typedef TpetraVector<Scalar,LocalOrdinal,GlobalOrdinal,Node> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraVectorClass
private

Definition at line 479 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraImportClass [1/2]

template<class Scalar>
typedef TpetraImport<LocalOrdinal,GlobalOrdinal,Node> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraImportClass
private

Definition at line 480 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraExportClass [1/2]

template<class Scalar>
typedef TpetraExport<LocalOrdinal,GlobalOrdinal,Node> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraExportClass
private

Definition at line 481 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ local_matrix_type [1/2]

template<class Scalar>
typedef Xpetra::CrsMatrix<Scalar,LocalOrdinal,GlobalOrdinal,Node>::local_matrix_type Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::local_matrix_type
private

Definition at line 485 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrixClass [2/2]

typedef TpetraCrsMatrix<Scalar,int,int,EpetraNode> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrixClass
private

Definition at line 81 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraVectorClass [2/2]

typedef TpetraVector Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraVectorClass
private

Definition at line 82 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraImportClass [2/2]

typedef TpetraImport<int,int,EpetraNode> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraImportClass
private

Definition at line 83 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraExportClass [2/2]

typedef TpetraExport<int,int,EpetraNode> Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraExportClass
private

Definition at line 84 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ local_matrix_type [2/2]

typedef Xpetra::CrsMatrix<Scalar,int,int,EpetraNode>::local_matrix_type Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::local_matrix_type
private

Definition at line 88 of file Xpetra_TpetraCrsMatrix_decl.hpp.

Constructor & Destructor Documentation

◆ TpetraCrsMatrix() [1/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rowMap,
size_t maxNumEntriesPerRow,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor specifying fixed number of entries for each row.

Definition at line 494 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [2/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rowMap,
const ArrayRCP< const size_t > & NumEntriesPerRowToAlloc,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor specifying (possibly different) number of entries in each row.

Definition at line 499 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [3/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rowMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & colMap,
size_t maxNumEntriesPerRow,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor specifying column Map and fixed number of entries for each row.

Definition at line 504 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [4/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rowMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & colMap,
const ArrayRCP< const size_t > & NumEntriesPerRowToAlloc,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor specifying column Map and number of entries in each row.

Definition at line 509 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [5/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > & graph,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor specifying a previously constructed graph.

Definition at line 514 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [6/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & sourceMatrix,
const Import< LocalOrdinal, GlobalOrdinal, Node > & importer,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap = Teuchos::null,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor for a fused import.

Definition at line 521 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [7/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & sourceMatrix,
const Export< LocalOrdinal, GlobalOrdinal, Node > & exporter,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap = Teuchos::null,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )
inline

Constructor for a fused export.

Definition at line 530 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [8/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & sourceMatrix,
const Import< LocalOrdinal, GlobalOrdinal, Node > & RowImporter,
const Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > DomainImporter,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap,
const Teuchos::RCP< Teuchos::ParameterList > & params )
inline

Constructor for a fused import.

Definition at line 539 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [9/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & sourceMatrix,
const Export< LocalOrdinal, GlobalOrdinal, Node > & RowExporter,
const Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > DomainExporter,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap,
const Teuchos::RCP< Teuchos::ParameterList > & params )
inline

Constructor for a fused export.

Definition at line 550 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [10/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rowMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & colMap,
const local_matrix_type & lclMatrix,
const Teuchos::RCP< Teuchos::ParameterList > & params = null )
inline

Constructor specifying column Map and a local matrix, which the resulting CrsMatrix views.

Unlike most other CrsMatrix constructors, successful completion of this constructor will result in a fill-complete matrix.

Parameters
rowMap[in] Distribution of rows of the matrix.
colMap[in] Distribution of columns of the matrix.
lclMatrix[in] A local CrsMatrix containing all local matrix values as well as a local graph. The graph's local row indices must come from the specified row Map, and its local column indices must come from the specified column Map.
params[in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values.

Definition at line 581 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [11/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const local_matrix_type & lclMatrix,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rowMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & colMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap = Teuchos::null,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > & params = null )
inline

Constructor specifying local matrix and 4 maps.

Definition at line 589 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ ~TpetraCrsMatrix() [1/2]

template<class Scalar>
virtual Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::~TpetraCrsMatrix ( )
inlinevirtual

Destructor.

Definition at line 601 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [12/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const TpetraCrsMatrix< Scalar, int, int, EpetraNode > & matrix)
inline

Deep copy constructor.

Definition at line 781 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [13/27]

template<class Scalar>
Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > & mtx)
inline

TpetraCrsMatrix constructor to wrap a Tpetra::CrsMatrix object.

Definition at line 833 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ TpetraCrsMatrix() [14/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
size_t maxNumEntriesPerRow,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor specifying fixed number of entries for each row.

Definition at line 97 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [15/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
const ArrayRCP< const size_t > & NumEntriesPerRowToAlloc,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor specifying (possibly different) number of entries in each row.

Definition at line 100 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [16/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & colMap,
size_t maxNumEntriesPerRow,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor specifying column Map and fixed number of entries for each row.

Definition at line 103 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [17/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & colMap,
const ArrayRCP< const size_t > & NumEntriesPerRowToAlloc,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor specifying column Map and number of entries in each row.

Definition at line 106 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [18/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsGraph< int, int, EpetraNode > > & graph,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor specifying a previously constructed graph.

Definition at line 109 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [19/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix > & sourceMatrix,
const Import< int, int, EpetraNode > & importer,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & domainMap = Teuchos::null,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor for a fused import.

Definition at line 112 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [20/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix > & sourceMatrix,
const Export< int, int, EpetraNode > & exporter,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & domainMap = Teuchos::null,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > & params = Teuchos::null )

Constructor for a fused export.

Definition at line 119 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [21/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix > & sourceMatrix,
const Import< int, int, EpetraNode > & RowImporter,
const Teuchos::RCP< const Import< int, int, EpetraNode > > DomainImporter,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & domainMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rangeMap,
const Teuchos::RCP< Teuchos::ParameterList > & params )

Constructor for a fused import.

Definition at line 126 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [22/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const CrsMatrix > & sourceMatrix,
const Export< int, int, EpetraNode > & RowExporter,
const Teuchos::RCP< const Export< int, int, EpetraNode > > DomainExporter,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & domainMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rangeMap,
const Teuchos::RCP< Teuchos::ParameterList > & params )

Constructor for a fused export.

Definition at line 134 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [23/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & colMap,
const local_matrix_type & lclMatrix,
const Teuchos::RCP< Teuchos::ParameterList > & params = null )

Constructor specifying column Map and a local matrix, which the resulting CrsMatrix views.

Unlike most other CrsMatrix constructors, successful completion of this constructor will result in a fill-complete matrix.

Parameters
rowMap[in] Distribution of rows of the matrix.
colMap[in] Distribution of columns of the matrix.
lclMatrix[in] A local CrsMatrix containing all local matrix values as well as a local graph. The graph's local row indices must come from the specified row Map, and its local column indices must come from the specified column Map.
params[in/out] Optional list of parameters. If not null, any missing parameters will be filled in with their default values.

Definition at line 162 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [24/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const local_matrix_type & lclMatrix,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & colMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & domainMap = Teuchos::null,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > & params = null )

Constructor specifying local matrix and 4 maps.

Definition at line 168 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [25/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const local_matrix_type & lclMatrix,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rowMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & colMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & domainMap,
const Teuchos::RCP< const Map< int, int, EpetraNode > > & rangeMap,
const Teuchos::RCP< const Import< int, int, EpetraNode > > & importer,
const Teuchos::RCP< const Export< int, int, EpetraNode > > & exporter,
const Teuchos::RCP< Teuchos::ParameterList > & params = null )

Constructor specifying local matrix, four maps, import and export objects.

Definition at line 177 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [26/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const TpetraCrsMatrix< Scalar, int, int, EpetraNode > & matrix)

Deep copy constructor.

Definition at line 373 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ TpetraCrsMatrix() [27/27]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::TpetraCrsMatrix ( const Teuchos::RCP< Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > & mtx)

TpetraCrsMatrix constructor to wrap a Tpetra::CrsMatrix object.

Definition at line 425 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ ~TpetraCrsMatrix() [2/2]

Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::~TpetraCrsMatrix ( )
virtual

Destructor.

Definition at line 189 of file Xpetra_TpetraCrsMatrix_def.hpp.

Member Function Documentation

◆ insertGlobalValues() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::insertGlobalValues ( GlobalOrdinal globalRow,
const ArrayView< const GlobalOrdinal > & cols,
const ArrayView< const Scalar > & vals )
inlinevirtual

Insert matrix entries, using global IDs.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 609 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ insertLocalValues() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::insertLocalValues ( LocalOrdinal localRow,
const ArrayView< const LocalOrdinal > & cols,
const ArrayView< const Scalar > & vals )
inlinevirtual

Insert matrix entries, using local IDs.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 612 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ replaceGlobalValues() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceGlobalValues ( GlobalOrdinal globalRow,
const ArrayView< const GlobalOrdinal > & cols,
const ArrayView< const Scalar > & vals )
inlinevirtual

Replace matrix entries, using global IDs.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 615 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ replaceLocalValues() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceLocalValues ( LocalOrdinal localRow,
const ArrayView< const LocalOrdinal > & cols,
const ArrayView< const Scalar > & vals )
inlinevirtual

Replace matrix entries, using local IDs.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 619 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ setAllToScalar() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setAllToScalar ( const Scalar & alpha)
inlinevirtual

Set all matrix entries equal to scalarThis.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 625 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ scale() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::scale ( const Scalar & alpha)
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 628 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ allocateAllValues() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::allocateAllValues ( size_t numNonZeros,
ArrayRCP< size_t > & rowptr,
ArrayRCP< LocalOrdinal > & colind,
ArrayRCP< Scalar > & values )
inlinevirtual

Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 632 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ setAllValues() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setAllValues ( const ArrayRCP< size_t > & rowptr,
const ArrayRCP< LocalOrdinal > & colind,
const ArrayRCP< Scalar > & values )
inlinevirtual

Sets the 1D pointer arrays of the graph.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 635 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getAllValues() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getAllValues ( ArrayRCP< const size_t > & rowptr,
ArrayRCP< const LocalOrdinal > & colind,
ArrayRCP< const Scalar > & values ) const
inlinevirtual

Gets the 1D pointer arrays of the graph.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 638 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getAllValues() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getAllValues ( ArrayRCP< Scalar > & values)
inlinevirtual

Gets the 1D pointer arrays of the graph.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 641 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ haveGlobalConstants() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::haveGlobalConstants ( ) const
inlinevirtual

Returns true if globalConstants have been computed; false otherwise.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 643 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ resumeFill() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::resumeFill ( const RCP< ParameterList > & params = null)
inlinevirtual

◆ fillComplete() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::fillComplete ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap,
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap,
const RCP< ParameterList > & params = null )
inlinevirtual

Signal that data entry is complete, specifying domain and range maps.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 654 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ fillComplete() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::fillComplete ( const RCP< ParameterList > & params = null)
inlinevirtual

Signal that data entry is complete.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 657 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ replaceDomainMapAndImporter() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceDomainMapAndImporter ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & newDomainMap,
Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > & newImporter )
inlinevirtual

Replaces the current domainMap and importer with the user-specified objects.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 661 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ expertStaticFillComplete() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::expertStaticFillComplete ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & domainMap,
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & rangeMap,
const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > & importer = Teuchos::null,
const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > & exporter = Teuchos::null,
const RCP< ParameterList > & params = Teuchos::null )
inlinevirtual

Expert static fill complete.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 664 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getRowMap() [1/2]

template<class Scalar>
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getRowMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 676 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getColMap() [1/2]

template<class Scalar>
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getColMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 679 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getCrsGraph() [1/2]

template<class Scalar>
RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getCrsGraph ( ) const
inlinevirtual

Returns the CrsGraph associated with this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 682 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getGlobalNumRows() [1/2]

template<class Scalar>
global_size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumRows ( ) const
inlinevirtual

Number of global elements in the row map of this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 685 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getGlobalNumCols() [1/2]

template<class Scalar>
global_size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumCols ( ) const
inlinevirtual

Number of global columns in the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 688 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalNumRows() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalNumRows ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 691 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalNumCols() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalNumCols ( ) const
inlinevirtual

Returns the number of columns connected to the locally owned rows of this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 694 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getGlobalNumEntries() [1/2]

template<class Scalar>
global_size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumEntries ( ) const
inlinevirtual

Returns the global number of entries in this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 697 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalNumEntries() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalNumEntries ( ) const
inlinevirtual

Returns the local number of entries in this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 700 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getNumEntriesInLocalRow() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getNumEntriesInLocalRow ( LocalOrdinal localRow) const
inlinevirtual

Returns the current number of entries on this node in the specified local row.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 703 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getNumEntriesInGlobalRow() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getNumEntriesInGlobalRow ( GlobalOrdinal globalRow) const
inlinevirtual

Returns the current number of entries in the (locally owned) global row.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 706 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getGlobalMaxNumRowEntries() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalMaxNumRowEntries ( ) const
inlinevirtual

Returns the maximum number of entries across all rows/columns on all nodes.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 709 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalMaxNumRowEntries() [1/2]

template<class Scalar>
size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalMaxNumRowEntries ( ) const
inlinevirtual

Returns the maximum number of entries across all rows/columns on this node.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 712 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ isLocallyIndexed() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isLocallyIndexed ( ) const
inlinevirtual

If matrix indices are in the local range, this function returns true. Otherwise, this function returns false.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 715 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ isGloballyIndexed() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isGloballyIndexed ( ) const
inlinevirtual

If matrix indices are in the global range, this function returns true. Otherwise, this function returns false.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 718 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ isFillComplete() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isFillComplete ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 721 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ isFillActive() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isFillActive ( ) const
inlinevirtual

Returns true if the matrix is in edit mode.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 724 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getFrobeniusNorm() [1/2]

template<class Scalar>
ScalarTraits< Scalar >::magnitudeType Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getFrobeniusNorm ( ) const
inlinevirtual

Returns the Frobenius norm of the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 727 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ supportsRowViews() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::supportsRowViews ( ) const
inlinevirtual

Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 730 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalRowCopy() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalRowCopy ( LocalOrdinal LocalRow,
const ArrayView< LocalOrdinal > & Indices,
const ArrayView< Scalar > & Values,
size_t & NumEntries ) const
inlinevirtual

Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 733 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getGlobalRowView() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalRowView ( GlobalOrdinal GlobalRow,
ArrayView< const GlobalOrdinal > & indices,
ArrayView< const Scalar > & values ) const
inlinevirtual

Extract a const, non-persisting view of global indices in a specified row of the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 736 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getGlobalRowCopy() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalRowCopy ( GlobalOrdinal GlobalRow,
const ArrayView< GlobalOrdinal > & indices,
const ArrayView< Scalar > & values,
size_t & numEntries ) const
inlinevirtual

Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 739 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalRowView() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalRowView ( LocalOrdinal LocalRow,
ArrayView< const LocalOrdinal > & indices,
ArrayView< const Scalar > & values ) const
inlinevirtual

Extract a const, non-persisting view of local indices in a specified row of the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 742 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ apply() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::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
inlinevirtual

Computes the sparse matrix-multivector multiplication.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 750 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ apply() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::apply ( const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & X,
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & Y,
Teuchos::ETransp mode,
Scalar alpha,
Scalar beta,
bool sumInterfaceValues,
const RCP< Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > > & regionInterfaceImporter,
const Teuchos::ArrayRCP< LocalOrdinal > & regionInterfaceLIDs ) const
inlinevirtual

Computes the matrix-multivector multiplication for region layout matrices.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 753 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getDomainMap() [1/2]

template<class Scalar>
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getDomainMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 756 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getRangeMap() [1/2]

template<class Scalar>
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getRangeMap ( ) const
inlinevirtual

Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 759 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ description() [1/2]

template<class Scalar>
std::string Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::description ( ) const
inlinevirtual

A simple one-line description of this object.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 767 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ describe() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::describe ( Teuchos::FancyOStream & out,
const Teuchos::EVerbosityLevel verbLevel = Teuchos::Describable::verbLevel_default ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 770 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ setObjectLabel() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setObjectLabel ( const std::string & objectLabel)
inlinevirtual

◆ getLocalDiagCopy() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & diag) const
inlinevirtual

Get a copy of the diagonal entries owned by this node, with local row idices.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 784 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalDiagOffsets() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagOffsets ( Teuchos::ArrayRCP< size_t > & offsets) const
inlinevirtual

Get offsets of the diagonal entries in the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 787 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalDiagCopy() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & diag,
const Teuchos::ArrayView< const size_t > & offsets ) const
inlinevirtual

Get a copy of the diagonal entries owned by this node, with local row indices.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 790 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ replaceDiag() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceDiag ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & diag)
inlinevirtual

Replace the diagonal entries of the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 793 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ leftScale() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::leftScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & x)
inlinevirtual

Left scale operator with given vector values.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 796 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ rightScale() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::rightScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & x)
inlinevirtual

Right scale operator with given vector values.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 799 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getMap() [1/2]

template<class Scalar>
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getMap ( ) const
inlinevirtual

Implements DistObject interface.

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

Implements Xpetra::DistObject< char, int, int, EpetraNode >.

Definition at line 805 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ doImport() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doImport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > & source,
const Import< LocalOrdinal, GlobalOrdinal, Node > & importer,
CombineMode CM )
inlinevirtual

◆ doExport() [1/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doExport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > & dest,
const Import< LocalOrdinal, GlobalOrdinal, Node > & importer,
CombineMode CM )
inlinevirtual

◆ doImport() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doImport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > & source,
const Export< LocalOrdinal, GlobalOrdinal, Node > & exporter,
CombineMode CM )
inlinevirtual

Import (using an Exporter).

Implements Xpetra::DistObject< char, int, int, EpetraNode >.

Definition at line 816 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ doExport() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doExport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > & dest,
const Export< LocalOrdinal, GlobalOrdinal, Node > & exporter,
CombineMode CM )
inlinevirtual

Export (using an Importer).

Implements Xpetra::DistObject< char, int, int, EpetraNode >.

Definition at line 820 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ removeEmptyProcessesInPlace() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::removeEmptyProcessesInPlace ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > & newMap)
inlinevirtual

◆ hasMatrix() [1/2]

template<class Scalar>
bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::hasMatrix ( ) const
inlinevirtual

Does this have an underlying matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 830 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getTpetra_CrsMatrix() [1/2]

template<class Scalar>
RCP< const Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getTpetra_CrsMatrix ( ) const
inline

Get the underlying Tpetra matrix.

Definition at line 838 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getTpetra_CrsMatrixNonConst() [1/2]

template<class Scalar>
RCP< Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getTpetra_CrsMatrixNonConst ( ) const
inline

Get the underlying Tpetra matrix.

Definition at line 841 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalMatrix()

template<class Scalar>
local_matrix_type Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalMatrix ( ) const
inline

Access the local Kokkos::CrsMatrix data.

Definition at line 845 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ setAllValues() [2/4]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setAllValues ( const typename local_matrix_type::row_map_type & ptr,
const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type & ind,
const typename local_matrix_type::values_type & val )
inline

Definition at line 849 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ GetStorageBlockSize() [1/2]

template<class Scalar>
LocalOrdinal Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::GetStorageBlockSize ( ) const
inlinevirtual

Returns the block size of the storage mechanism, which is usually 1, except for Tpetra::BlockCrsMatrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 855 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ residual() [1/2]

template<class Scalar>
void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::residual ( const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & X,
const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & B,
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & R ) const
inlinevirtual

Compute a residual R = B - (*this) * X.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 858 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ insertGlobalValues() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::insertGlobalValues ( int globalRow,
const ArrayView< const int > & cols,
const ArrayView< const Scalar > & vals )

Insert matrix entries, using global IDs.

Definition at line 197 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ insertLocalValues() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::insertLocalValues ( int localRow,
const ArrayView< const int > & cols,
const ArrayView< const Scalar > & vals )

Insert matrix entries, using local IDs.

Definition at line 200 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ replaceGlobalValues() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceGlobalValues ( int globalRow,
const ArrayView< const int > & cols,
const ArrayView< const Scalar > & vals )

Replace matrix entries, using global IDs.

Definition at line 203 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ replaceLocalValues() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceLocalValues ( int localRow,
const ArrayView< const int > & cols,
const ArrayView< const Scalar > & vals )

Replace matrix entries, using local IDs.

Definition at line 207 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ setAllToScalar() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setAllToScalar ( const Scalar & alpha)
virtual

Set all matrix entries equal to scalarThis.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 212 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ scale() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::scale ( const Scalar & alpha)
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 215 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ allocateAllValues() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::allocateAllValues ( size_t numNonZeros,
ArrayRCP< size_t > & rowptr,
ArrayRCP< int > & colind,
ArrayRCP< Scalar > & values )

Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine.

Definition at line 219 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ setAllValues() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setAllValues ( const ArrayRCP< size_t > & rowptr,
const ArrayRCP< int > & colind,
const ArrayRCP< Scalar > & values )

Sets the 1D pointer arrays of the graph.

Definition at line 223 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ setAllValues() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setAllValues ( const typename local_matrix_type::row_map_type & ptr,
const typename local_matrix_type::StaticCrsGraphType::entries_type::non_const_type & ind,
const typename local_matrix_type::values_type & val )
inline

Definition at line 443 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getAllValues() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getAllValues ( ArrayRCP< const size_t > & rowptr,
ArrayRCP< const int > & colind,
ArrayRCP< const Scalar > & values ) const

Gets the 1D pointer arrays of the graph.

Definition at line 227 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getAllValues() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getAllValues ( ArrayRCP< Scalar > & values)
virtual

Gets the 1D pointer arrays of the graph.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 231 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ haveGlobalConstants() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::haveGlobalConstants ( ) const
virtual

Returns true if globalConstants have been computed; false otherwise.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 233 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ resumeFill() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::resumeFill ( const RCP< ParameterList > & params = null)
virtual

◆ fillComplete() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::fillComplete ( const RCP< const Map< int, int, EpetraNode > > & domainMap,
const RCP< const Map< int, int, EpetraNode > > & rangeMap,
const RCP< ParameterList > & params = null )

Signal that data entry is complete, specifying domain and range maps.

Definition at line 245 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ fillComplete() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::fillComplete ( const RCP< ParameterList > & params = null)
virtual

Signal that data entry is complete.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 248 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ replaceDomainMapAndImporter() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceDomainMapAndImporter ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & newDomainMap,
Teuchos::RCP< const Import< int, int, EpetraNode > > & newImporter )

Replaces the current domainMap and importer with the user-specified objects.

Definition at line 252 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ expertStaticFillComplete() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::expertStaticFillComplete ( const RCP< const Map< int, int, EpetraNode > > & domainMap,
const RCP< const Map< int, int, EpetraNode > > & rangeMap,
const RCP< const Import< int, int, EpetraNode > > & importer = Teuchos::null,
const RCP< const Export< int, int, EpetraNode > > & exporter = Teuchos::null,
const RCP< ParameterList > & params = Teuchos::null )

Expert static fill complete.

Definition at line 255 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getRowMap() [2/2]

const RCP< const Map< int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getRowMap ( ) const
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 267 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getColMap() [2/2]

const RCP< const Map< int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getColMap ( ) const
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 270 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getCrsGraph() [2/2]

RCP< const CrsGraph< int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getCrsGraph ( ) const
virtual

Returns the CrsGraph associated with this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 273 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getGlobalNumRows() [2/2]

global_size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumRows ( ) const
virtual

Number of global elements in the row map of this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 276 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getGlobalNumCols() [2/2]

global_size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumCols ( ) const
virtual

Number of global columns in the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 279 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalNumRows() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalNumRows ( ) const
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 282 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalNumCols() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalNumCols ( ) const
virtual

Returns the number of columns connected to the locally owned rows of this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 285 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getGlobalNumEntries() [2/2]

global_size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalNumEntries ( ) const
virtual

Returns the global number of entries in this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 288 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalNumEntries() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalNumEntries ( ) const
virtual

Returns the local number of entries in this matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 291 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getNumEntriesInLocalRow() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getNumEntriesInLocalRow ( int localRow) const

Returns the current number of entries on this node in the specified local row.

Definition at line 294 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getNumEntriesInGlobalRow() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getNumEntriesInGlobalRow ( int globalRow) const

Returns the current number of entries in the (locally owned) global row.

Definition at line 297 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getGlobalMaxNumRowEntries() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalMaxNumRowEntries ( ) const
virtual

Returns the maximum number of entries across all rows/columns on all nodes.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 300 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalMaxNumRowEntries() [2/2]

size_t Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalMaxNumRowEntries ( ) const
virtual

Returns the maximum number of entries across all rows/columns on this node.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 303 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ isLocallyIndexed() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isLocallyIndexed ( ) const
virtual

If matrix indices are in the local range, this function returns true. Otherwise, this function returns false.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 306 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ isGloballyIndexed() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isGloballyIndexed ( ) const
virtual

If matrix indices are in the global range, this function returns true. Otherwise, this function returns false.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 309 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ isFillComplete() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isFillComplete ( ) const
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 312 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ isFillActive() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::isFillActive ( ) const
virtual

Returns true if the matrix is in edit mode.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 315 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getFrobeniusNorm() [2/2]

ScalarTraits< Scalar >::magnitudeType Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getFrobeniusNorm ( ) const
virtual

Returns the Frobenius norm of the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 318 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ supportsRowViews() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::supportsRowViews ( ) const
virtual

Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 321 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalRowCopy() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalRowCopy ( int LocalRow,
const ArrayView< int > & 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.

Definition at line 324 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getGlobalRowView() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalRowView ( int GlobalRow,
ArrayView< const int > & indices,
ArrayView< const Scalar > & values ) const

Extract a const, non-persisting view of global indices in a specified row of the matrix.

Definition at line 327 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getGlobalRowCopy() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getGlobalRowCopy ( int GlobalRow,
const ArrayView< int > & indices,
const ArrayView< Scalar > & values,
size_t & numEntries ) const

Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.

Definition at line 330 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalRowView() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalRowView ( int LocalRow,
ArrayView< const int > & indices,
ArrayView< const Scalar > & values ) const

Extract a const, non-persisting view of local indices in a specified row of the matrix.

Definition at line 333 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ apply() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::apply ( const MultiVector & X,
MultiVector & Y,
Teuchos::ETransp mode = Teuchos::NO_TRANS,
Scalar alpha = ScalarTraits< Scalar >::one(),
Scalar beta = ScalarTraits< Scalar >::zero() ) const

Computes the sparse matrix-multivector multiplication.

Definition at line 341 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ apply() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::apply ( const MultiVector & X,
MultiVector & Y,
Teuchos::ETransp mode,
Scalar alpha,
Scalar beta,
bool sumInterfaceValues,
const RCP< Xpetra::Import< int, int, EpetraNode > > & regionInterfaceImporter,
const Teuchos::ArrayRCP< int > & regionInterfaceLIDs ) const

Computes the matrix-multivector multiplication for region layout matrices.

Definition at line 344 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getDomainMap() [2/2]

const RCP< const Map< int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getDomainMap ( ) const
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 347 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getRangeMap() [2/2]

const RCP< const Map< int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getRangeMap ( ) const
virtual

Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 350 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ description() [2/2]

std::string Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::description ( ) const
virtual

A simple one-line description of this object.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 358 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ describe() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::describe ( Teuchos::FancyOStream & out,
const Teuchos::EVerbosityLevel verbLevel = Teuchos::Describable::verbLevel_default ) const
virtual

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

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 361 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ setObjectLabel() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::setObjectLabel ( const std::string & objectLabel)
virtual

◆ getLocalDiagCopy() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagCopy ( Vector & diag) const

Get a copy of the diagonal entries owned by this node, with local row indices.

Definition at line 376 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalDiagCopy() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagCopy ( Vector & diag,
const Teuchos::ArrayView< const size_t > & offsets ) const

Get a copy of the diagonal entries owned by this node, with local row indices.

Definition at line 382 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalDiagOffsets() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalDiagOffsets ( Teuchos::ArrayRCP< size_t > & offsets) const
virtual

Get offsets of the diagonal entries in the matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 379 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ replaceDiag() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::replaceDiag ( const Vector & diag)

Replace the diagonal entries of the matrix.

Definition at line 385 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ leftScale() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::leftScale ( const Vector & x)

Left scale operator with given vector values.

Definition at line 388 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ rightScale() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::rightScale ( const Vector & x)

Right scale operator with given vector values.

Definition at line 391 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getMap() [2/2]

Teuchos::RCP< const Map< int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getMap ( ) const
virtual

Implements DistObject interface.

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

Implements Xpetra::DistObject< char, int, int, EpetraNode >.

Definition at line 397 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ doImport() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doImport ( const DistObject< char, int, int, EpetraNode > & source,
const Import< int, int, EpetraNode > & importer,
CombineMode CM )

Import.

Definition at line 400 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ doImport() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doImport ( const DistObject< char, int, int, EpetraNode > & source,
const Export< int, int, EpetraNode > & exporter,
CombineMode CM )

Import (using an Exporter).

Definition at line 408 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ doExport() [3/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doExport ( const DistObject< char, int, int, EpetraNode > & dest,
const Import< int, int, EpetraNode > & importer,
CombineMode CM )

Export.

Definition at line 404 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ doExport() [4/4]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::doExport ( const DistObject< char, int, int, EpetraNode > & dest,
const Export< int, int, EpetraNode > & exporter,
CombineMode CM )

Export (using an Importer).

Definition at line 412 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ removeEmptyProcessesInPlace() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::removeEmptyProcessesInPlace ( const Teuchos::RCP< const Map< int, int, EpetraNode > > & newMap)

Definition at line 415 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ hasMatrix() [2/2]

bool Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::hasMatrix ( ) const
virtual

Does this have an underlying matrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 422 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getTpetra_CrsMatrix() [2/2]

RCP< const Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getTpetra_CrsMatrix ( ) const

Get the underlying Tpetra matrix.

Definition at line 428 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getTpetra_CrsMatrixNonConst() [2/2]

RCP< Tpetra::CrsMatrix< Scalar, int, int, EpetraNode > > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getTpetra_CrsMatrixNonConst ( ) const

Get the underlying Tpetra matrix.

Definition at line 431 of file Xpetra_TpetraCrsMatrix_def.hpp.

◆ getLocalMatrixHost()

local_matrix_type::HostMirror Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalMatrixHost ( ) const
inlinevirtual

Access the local Kokkos::CrsMatrix data.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 435 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ getLocalMatrixDevice()

local_matrix_type Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::getLocalMatrixDevice ( ) const
inlinevirtual

Access the local Kokkos::CrsMatrix data.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 439 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ GetStorageBlockSize() [2/2]

int Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::GetStorageBlockSize ( ) const
inlinevirtual

Returns the block size of the storage mechanism, which is usually 1, except for Tpetra::BlockCrsMatrix.

Implements Xpetra::CrsMatrix< Scalar, int, int, EpetraNode >.

Definition at line 451 of file Xpetra_TpetraCrsMatrix_decl.hpp.

◆ residual() [2/2]

void Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::residual ( const MultiVector & X,
const MultiVector & B,
MultiVector & R ) const

Compute a residual R = B - (*this) * X.

Definition at line 454 of file Xpetra_TpetraCrsMatrix_def.hpp.

Member Data Documentation

◆ mtx_

RCP< Tpetra::CrsMatrix<Scalar, int, int, EpetraNode> > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >::mtx_
private

Definition at line 461 of file Xpetra_TpetraCrsMatrix_decl.hpp.


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