Xpetra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node > Class Template Reference

#include <Xpetra_EpetraCrsMatrix.hpp>

Inheritance diagram for Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >:
Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node > Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Xpetra::DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Public Member Functions

 EpetraCrsMatrixT (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 
 EpetraCrsMatrixT (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (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)
 
 EpetraCrsMatrixT (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 > > &rangeMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 
virtual ~EpetraCrsMatrixT ()
 
void insertGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 
void insertLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 
void replaceGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 
void replaceLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 
void setAllToScalar (const Scalar &alpha)
 
void scale (const Scalar &alpha)
 
void allocateAllValues (size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &values)
 
void setAllValues (const ArrayRCP< size_t > &rowptr, const ArrayRCP< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)
 
void getAllValues (ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const
 
void getAllValues (ArrayRCP< Scalar > &values)
 
bool haveGlobalConstants () const
 Returns true if globalConstants have been computed; false otherwise. More...
 
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)
 
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)
 
void fillComplete (const RCP< ParameterList > &params=null)
 Signal that data entry is complete. More...
 
void replaceDomainMapAndImporter (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &newImporter)
 
const RCP< const Comm< int > > getComm () const
 
const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getRowMap () const
 Returns the Map that describes the row distribution in this matrix. More...
 
const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getColMap () const
 Returns the Map that describes the column distribution in this matrix. More...
 
RCP< const CrsGraph
< LocalOrdinal, GlobalOrdinal,
Node > > 
getCrsGraph () const
 Returns the CrsGraph associated with this matrix. More...
 
global_size_t getGlobalNumRows () const
 Number of global elements in the row map of this matrix. More...
 
global_size_t getGlobalNumCols () const
 Number of global columns in the matrix. More...
 
size_t getLocalNumRows () const
 Returns the number of matrix rows owned on the calling node. More...
 
size_t getLocalNumCols () const
 Returns the number of matrix columns owned on the calling node. More...
 
global_size_t getGlobalNumEntries () const
 Returns the global number of entries in this matrix. More...
 
size_t getLocalNumEntries () const
 Returns the local number of entries in this matrix. More...
 
size_t getNumEntriesInLocalRow (LocalOrdinal localRow) const
 
size_t getNumEntriesInGlobalRow (GlobalOrdinal globalRow) const
 Returns the current number of entries in the specified global row. More...
 
size_t getGlobalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on all nodes. More...
 
size_t getLocalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on this node. More...
 
bool isLocallyIndexed () const
 If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. More...
 
bool isGloballyIndexed () const
 If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. More...
 
bool isFillComplete () const
 Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called. More...
 
bool isFillActive () const
 Returns true if the matrix is in edit mode. More...
 
ScalarTraits< Scalar >
::magnitudeType 
getFrobeniusNorm () const
 Returns the Frobenius norm of the matrix. More...
 
bool supportsRowViews () const
 Returns true if getLocalRowView() and getGlobalRowView() are valid for this class. More...
 
void getLocalRowCopy (LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
 
void getGlobalRowCopy (GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
 
void getGlobalRowView (GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const
 
void getLocalRowView (LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const
 
void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const
 
void getLocalDiagOffsets (Teuchos::ArrayRCP< size_t > &offsets) const
 Get offsets of the diagonal entries in the matrix. More...
 
void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const
 
void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Kokkos::View< const size_t *, typename Node::device_type, Kokkos::MemoryUnmanaged > &offsets) const
 
void replaceDiag (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag)
 
void leftScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
 
void rightScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)
 
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
 
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< Import< LocalOrdinal, GlobalOrdinal, Node > > &regionInterfaceImporter, const Teuchos::ArrayRCP< LocalOrdinal > &regionInterfaceLIDs) const
 
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. More...
 
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(). More...
 
std::string description () const
 A simple one-line description of this object. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to an FancyOStream object. More...
 
void setObjectLabel (const std::string &objectLabel)
 
 EpetraCrsMatrixT (const EpetraCrsMatrixT &matrix)
 
Teuchos::RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getMap () const
 The Map describing the parallel distribution of this object. More...
 
void doImport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 
void doExport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 
void doImport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 
void doExport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 
void removeEmptyProcessesInPlace (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)
 
bool hasMatrix () const
 Does this have an underlying matrix. More...
 
 EpetraCrsMatrixT (const Teuchos::RCP< Epetra_CrsMatrix > &mtx)
 
RCP< const Epetra_CrsMatrix > getEpetra_CrsMatrix () const
 
RCP< Epetra_CrsMatrix > getEpetra_CrsMatrixNonConst () const
 
local_matrix_type getLocalMatrixDevice () const
 
local_matrix_type::HostMirror getLocalMatrixHost () const
 
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. More...
 
void residual (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &R) const
 
- Public Member Functions inherited from Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >
virtual void getLocalRowCopy (intLocalRow, const ArrayView< int > &Indices, const ArrayView< double > &Values, size_t &NumEntries) const =0
 Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine. More...
 
virtual void residual (const MultiVector< double, int, EpetraGlobalOrdinal, Node > &X, const MultiVector< double, int, EpetraGlobalOrdinal, Node > &B, MultiVector< double, int, EpetraGlobalOrdinal, Node > &R) const =0
 Compute a residual R = B - (*this) * X. More...
 
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. More...
 
virtual void insertGlobalValues (EpetraGlobalOrdinalglobalRow, const ArrayView< const EpetraGlobalOrdinal > &cols, const ArrayView< const double > &vals)=0
 Insert matrix entries, using global IDs. More...
 
virtual void insertLocalValues (intlocalRow, const ArrayView< const int > &cols, const ArrayView< const double > &vals)=0
 Insert matrix entries, using local IDs. More...
 
virtual void replaceGlobalValues (EpetraGlobalOrdinalglobalRow, const ArrayView< const EpetraGlobalOrdinal > &cols, const ArrayView< const double > &vals)=0
 Replace matrix entries, using global IDs. More...
 
virtual void replaceLocalValues (intlocalRow, const ArrayView< const int > &cols, const ArrayView< const double > &vals)=0
 Replace matrix entries, using local IDs. More...
 
virtual void setAllToScalar (const double &alpha)=0
 Set all matrix entries equal to scalarThis. More...
 
virtual void scale (const double &alpha)=0
 Scale the current values of a matrix, this = alpha*this. More...
 
virtual void allocateAllValues (size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< int > &colind, ArrayRCP< double > &values)=0
 Allocates and returns ArrayRCPs of the Crs arrays — This is an Xpetra-only routine. More...
 
virtual void setAllValues (const ArrayRCP< size_t > &rowptr, const ArrayRCP< int > &colind, const ArrayRCP< double > &values)=0
 Sets the 1D pointer arrays of the graph. More...
 
virtual void getAllValues (ArrayRCP< const size_t > &rowptr, ArrayRCP< const int > &colind, ArrayRCP< const double > &values) const =0
 Gets the 1D pointer arrays of the graph. More...
 
virtual void getAllValues (ArrayRCP< double > &values)=0
 Gets the 1D pointer arrays of the graph. More...
 
virtual void fillComplete (const RCP< const Map< int, EpetraGlobalOrdinal, Node > > &domainMap, const RCP< const Map< int, EpetraGlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null)=0
 Signal that data entry is complete, specifying domain and range maps. More...
 
virtual void replaceDomainMapAndImporter (const Teuchos::RCP< const Map< int, EpetraGlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< int, EpetraGlobalOrdinal, Node > > &newImporter)=0
 Replaces the current domainMap and importer with the user-specified objects. More...
 
virtual void expertStaticFillComplete (const RCP< const Map< int, EpetraGlobalOrdinal, Node > > &domainMap, const RCP< const Map< int, EpetraGlobalOrdinal, Node > > &rangeMap, const RCP< const Import< int, EpetraGlobalOrdinal, Node > > &importer=Teuchos::null, const RCP< const Export< int, EpetraGlobalOrdinal, Node > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)=0
 Expert static fill complete. More...
 
virtual size_t getNumEntriesInLocalRow (intlocalRow) const =0
 Returns the current number of entries on this node in the specified local row. More...
 
virtual void getGlobalRowView (EpetraGlobalOrdinalGlobalRow, ArrayView< const EpetraGlobalOrdinal > &indices, ArrayView< const double > &values) const =0
 Extract a const, non-persisting view of global indices in a specified row of the matrix. More...
 
virtual void getGlobalRowCopy (EpetraGlobalOrdinalGlobalRow, const ArrayView< EpetraGlobalOrdinal > &indices, const ArrayView< double > &values, size_t &numEntries) const =0
 Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage. More...
 
virtual void getLocalRowView (intLocalRow, ArrayView< const int > &indices, ArrayView< const double > &values) const =0
 Extract a const, non-persisting view of local indices in a specified row of the matrix. More...
 
virtual void getLocalDiagCopy (Vector< double, int, EpetraGlobalOrdinal, Node > &diag) const =0
 Get a copy of the diagonal entries owned by this node, with local row indices. More...
 
virtual void getLocalDiagCopy (Vector< double, int, EpetraGlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const =0
 Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets. More...
 
virtual void getLocalDiagCopy (Vector< double, int, EpetraGlobalOrdinal, Node > &diag, const Kokkos::View< const size_t *, typename Node::device_type, Kokkos::MemoryUnmanaged > &offsets) const =0
 Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets. More...
 
virtual void replaceDiag (const Vector< double, int, EpetraGlobalOrdinal, Node > &diag)=0
 Replace the diagonal entries of the matrix. More...
 
virtual void leftScale (const Vector< double, int, EpetraGlobalOrdinal, Node > &x)=0
 Left scale matrix using the given vector entries. More...
 
virtual void rightScale (const Vector< double, int, EpetraGlobalOrdinal, Node > &x)=0
 Right scale matrix using the given vector entries. More...
 
virtual void removeEmptyProcessesInPlace (const RCP< const Map< int, EpetraGlobalOrdinal, Node > > &newMap)=0
 
virtual void apply (const MultiVector< double, int, EpetraGlobalOrdinal, Node > &X, MultiVector< double, int, EpetraGlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, doublealpha=ScalarTraits< double >::one(), doublebeta=ScalarTraits< double >::zero()) const =0
 Computes the sparse matrix-multivector multiplication. More...
 
virtual void apply (const MultiVector< double, int, EpetraGlobalOrdinal, Node > &X, MultiVector< double, int, EpetraGlobalOrdinal, Node > &Y, Teuchos::ETransp mode, doublealpha, doublebeta, bool sumInterfaceValues, const RCP< Import< int, EpetraGlobalOrdinal, Node > > &regionInterfaceImporter, const Teuchos::ArrayRCP< int > &regionInterfaceLIDs) const =0
 Computes the sparse matrix-multivector multiplication for region layout matrices. More...
 
- Public Member Functions inherited from Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual ~RowMatrix ()
 Destructor. More...
 
virtual size_t getNumEntriesInLocalRow (LocalOrdinal localRow) const =0
 Returns the current number of entries on this node in the specified local row. More...
 
virtual void getLocalRowCopy (LocalOrdinal LocalRow, const Teuchos::ArrayView< LocalOrdinal > &Indices, const Teuchos::ArrayView< Scalar > &Values, size_t &NumEntries) const =0
 Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine. More...
 
virtual void getGlobalRowView (GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const =0
 Extract a const, non-persisting view of global indices in a specified row of the matrix. More...
 
virtual void getLocalRowView (LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const =0
 Extract a const, non-persisting view of local indices in a specified row of the matrix. More...
 
virtual void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const =0
 Get a copy of the diagonal entries owned by this node, with local row indices. More...
 
virtual void apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const =0
 Computes the operator-multivector application. More...
 
- Public Member Functions inherited from Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual ~Operator ()
 
virtual void removeEmptyProcessesInPlace (const RCP< const map_type > &)
 
virtual void residual (const mv_type &X, const mv_type &B, mv_type &R) const =0
 Compute a residual R = B - (*this) * X. More...
 
virtual bool hasTransposeApply () const
 Whether this operator supports applying the transpose or conjugate transpose. More...
 
- Public Member Functions inherited from Xpetra::DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node >
virtual ~DistObject ()
 Destructor. More...
 
virtual void doImport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)=0
 Import data into this object using an Import object ("forward mode"). More...
 
virtual void beginImport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Import data into this object using an Import object ("forward mode"). More...
 
virtual void endImport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Import data into this object using an Import object ("forward mode"). More...
 
virtual void doExport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)=0
 Export data into this object using an Export object ("forward mode"). More...
 
virtual void beginExport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Export data into this object using an Export object ("forward mode"). More...
 
virtual void endExport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Export data into this object using an Export object ("forward mode"). More...
 
virtual void doImport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)=0
 Import data into this object using an Export object ("reverse mode"). More...
 
virtual void beginImport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Import data into this object using an Export object ("reverse mode"). More...
 
virtual void endImport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Import data into this object using an Export object ("reverse mode"). More...
 
virtual void doExport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)=0
 Export data into this object using an Import object ("reverse mode"). More...
 
virtual void beginExport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Export data into this object using an Import object ("reverse mode"). More...
 
virtual void endExport (const DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Export data into this object using an Import object ("reverse mode"). More...
 

Private Types

typedef EpetraGlobalOrdinal GlobalOrdinal
 
typedef CrsMatrix< double, int,
GlobalOrdinal, Node >
::scalar_type 
Scalar
 
typedef CrsMatrix< double, int,
GlobalOrdinal, Node >
::local_ordinal_type 
LocalOrdinal
 
typedef Xpetra::CrsMatrix
< Scalar, LocalOrdinal,
GlobalOrdinal, Node >
::local_matrix_type 
local_matrix_type
 
typedef Xpetra::CrsMatrix
< Scalar, LocalOrdinal,
GlobalOrdinal, Node >
::node_type 
node_type
 

Additional Inherited Members

- Public Types inherited from Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >
typedef double scalar_type
 
typedef int local_ordinal_type
 
typedef EpetraGlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
using impl_scalar_type = typename Kokkos::ArithTraits< double >::val_type
 
using execution_space = typename node_type::device_type
 
using local_graph_type = Kokkos::StaticCrsGraph< int, Kokkos::LayoutLeft, execution_space, void, size_t >
 
using local_matrix_type = KokkosSparse::CrsMatrix< impl_scalar_type, int, execution_space, void, typename local_graph_type::size_type >
 The specialization of Kokkos::CrsMatrix that represents the part of the sparse matrix on each MPI process. The same as for Tpetra. More...
 
- Public Types inherited from Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >
typedef Scalar scalar_type
 
typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
- Public Types inherited from Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node >
typedef Scalar scalar_type
 The type of the entries of the input and output multivectors. More...
 
typedef LocalOrdinal local_ordinal_type
 The local index type. More...
 
typedef GlobalOrdinal global_ordinal_type
 The global index type. More...
 
typedef Node node_type
 The Kokkos Node type. More...
 

Detailed Description

template<class EpetraGlobalOrdinal, class Node>
class Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >

Definition at line 50 of file Xpetra_EpetraCrsMatrix.hpp.

Member Typedef Documentation

template<class EpetraGlobalOrdinal , class Node >
typedef EpetraGlobalOrdinal Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::GlobalOrdinal
private

Definition at line 52 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
typedef CrsMatrix<double, int, GlobalOrdinal, Node>::scalar_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::Scalar
private

Definition at line 53 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
typedef CrsMatrix<double, int, GlobalOrdinal, Node>::local_ordinal_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::LocalOrdinal
private

Definition at line 54 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
typedef Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::local_matrix_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::local_matrix_type
private

Definition at line 57 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
typedef Xpetra::CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>::node_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::node_type
private

Definition at line 58 of file Xpetra_EpetraCrsMatrix.hpp.

Constructor & Destructor Documentation

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

Definition at line 62 of file Xpetra_EpetraCrsMatrix.hpp.

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

Definition at line 66 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 70 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 71 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &  graph,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)
inline

Definition at line 72 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 73 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 81 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 89 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 98 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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

Definition at line 108 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( 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 > > &  rangeMap = Teuchos::null,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > &  params = null 
)
inline

Definition at line 115 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
virtual Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::~EpetraCrsMatrixT ( )
inlinevirtual

Definition at line 126 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( const EpetraCrsMatrixT< EpetraGlobalOrdinal, Node > &  matrix)
inline

Definition at line 190 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::EpetraCrsMatrixT ( const Teuchos::RCP< Epetra_CrsMatrix > &  mtx)
inline

Definition at line 203 of file Xpetra_EpetraCrsMatrix.hpp.

Member Function Documentation

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::insertGlobalValues ( GlobalOrdinal  globalRow,
const ArrayView< const GlobalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
inline

Definition at line 128 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::insertLocalValues ( LocalOrdinal  localRow,
const ArrayView< const LocalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
inline

Definition at line 129 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::replaceGlobalValues ( GlobalOrdinal  globalRow,
const ArrayView< const GlobalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
inline

Definition at line 130 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::replaceLocalValues ( LocalOrdinal  localRow,
const ArrayView< const LocalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
inline

Definition at line 131 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::setAllToScalar ( const Scalar alpha)
inline

Definition at line 132 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::scale ( const Scalar alpha)
inline

Definition at line 133 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::allocateAllValues ( size_t  numNonZeros,
ArrayRCP< size_t > &  rowptr,
ArrayRCP< LocalOrdinal > &  colind,
ArrayRCP< Scalar > &  values 
)
inline

Definition at line 134 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::setAllValues ( const ArrayRCP< size_t > &  rowptr,
const ArrayRCP< LocalOrdinal > &  colind,
const ArrayRCP< Scalar > &  values 
)
inline

Definition at line 135 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getAllValues ( ArrayRCP< const size_t > &  rowptr,
ArrayRCP< const LocalOrdinal > &  colind,
ArrayRCP< const Scalar > &  values 
) const
inline

Definition at line 136 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getAllValues ( ArrayRCP< Scalar > &  values)
inline

Definition at line 137 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::haveGlobalConstants ( ) const
inlinevirtual

Returns true if globalConstants have been computed; false otherwise.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 138 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::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 
)
inline

Definition at line 139 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::resumeFill ( const RCP< ParameterList > &  params = null)
inlinevirtual
template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::fillComplete ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap,
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rangeMap,
const RCP< ParameterList > &  params = null 
)
inline

Definition at line 146 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::fillComplete ( const RCP< ParameterList > &  params = null)
inlinevirtual

Signal that data entry is complete.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 147 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::replaceDomainMapAndImporter ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  newDomainMap,
Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &  newImporter 
)
inline

Definition at line 148 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
const RCP<const Comm<int> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getComm ( ) const
inline

Definition at line 149 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
const RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getRowMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 150 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
const RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getColMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 151 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
RCP<const CrsGraph<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getCrsGraph ( ) const
inlinevirtual

Returns the CrsGraph associated with this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 152 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getGlobalNumRows ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 153 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getGlobalNumCols ( ) const
inlinevirtual

Number of global columns in the matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 154 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalNumRows ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 155 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalNumCols ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 156 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getGlobalNumEntries ( ) const
inlinevirtual

Returns the global number of entries in this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 157 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalNumEntries ( ) const
inlinevirtual

Returns the local number of entries in this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 158 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getNumEntriesInLocalRow ( LocalOrdinal  localRow) const
inline

Definition at line 159 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getNumEntriesInGlobalRow ( GlobalOrdinal  globalRow) const
inlinevirtual

Returns the current number of entries in the specified global row.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 160 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getGlobalMaxNumRowEntries ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 161 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalMaxNumRowEntries ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 162 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::isLocallyIndexed ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 163 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::isGloballyIndexed ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 164 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::isFillComplete ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 165 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::isFillActive ( ) const
inlinevirtual

Returns true if the matrix is in edit mode.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 166 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
ScalarTraits<Scalar>::magnitudeType Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getFrobeniusNorm ( ) const
inlinevirtual

Returns the Frobenius norm of the matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 167 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::supportsRowViews ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 168 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalRowCopy ( LocalOrdinal  LocalRow,
const ArrayView< LocalOrdinal > &  Indices,
const ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const
inline

Definition at line 169 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getGlobalRowCopy ( GlobalOrdinal  GlobalRow,
const ArrayView< GlobalOrdinal > &  Indices,
const ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const
inline

Definition at line 170 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getGlobalRowView ( GlobalOrdinal  GlobalRow,
ArrayView< const GlobalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const
inline

Definition at line 171 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalRowView ( LocalOrdinal  LocalRow,
ArrayView< const LocalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const
inline

Definition at line 172 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag) const
inline

Definition at line 173 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalDiagOffsets ( Teuchos::ArrayRCP< size_t > &  offsets) const
inlinevirtual

Get offsets of the diagonal entries in the matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 174 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag,
const Teuchos::ArrayView< const size_t > &  offsets 
) const
inline

Definition at line 175 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag,
const Kokkos::View< const size_t *, typename Node::device_type, Kokkos::MemoryUnmanaged > &  offsets 
) const
inline

Definition at line 176 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::replaceDiag ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag)
inline

Definition at line 177 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::leftScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x)
inline

Definition at line 178 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::rightScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x)
inline

Definition at line 179 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::apply ( const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
Scalar  alpha = ScalarTraits<Scalar>::one(),
Scalar  beta = ScalarTraits<Scalar>::zero() 
) const
inline

Definition at line 181 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::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< Import< LocalOrdinal, GlobalOrdinal, Node > > &  regionInterfaceImporter,
const Teuchos::ArrayRCP< LocalOrdinal > &  regionInterfaceLIDs 
) const
inline

Definition at line 182 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
const RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getDomainMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 183 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
const RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getRangeMap ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 184 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
std::string Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::description ( ) const
inlinevirtual

A simple one-line description of this object.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 186 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::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< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 187 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::setObjectLabel ( const std::string &  objectLabel)
inlinevirtual
template<class EpetraGlobalOrdinal , class Node >
Teuchos::RCP<const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getMap ( ) const
inlinevirtual

The Map describing the parallel distribution of this object.

Implements Xpetra::DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 195 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::doImport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  source,
const Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
CombineMode  CM 
)
inline

Definition at line 196 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::doExport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  dest,
const Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
CombineMode  CM 
)
inline

Definition at line 197 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::doImport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  source,
const Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
CombineMode  CM 
)
inline

Definition at line 198 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::doExport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  dest,
const Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
CombineMode  CM 
)
inline

Definition at line 199 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::removeEmptyProcessesInPlace ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  newMap)
inline

Definition at line 200 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::hasMatrix ( ) const
inlinevirtual

Does this have an underlying matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 202 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
RCP<const Epetra_CrsMatrix> Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getEpetra_CrsMatrix ( ) const
inline

Definition at line 207 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
RCP<Epetra_CrsMatrix> Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getEpetra_CrsMatrixNonConst ( ) const
inline

Definition at line 208 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
local_matrix_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalMatrixDevice ( ) const
inlinevirtual
template<class EpetraGlobalOrdinal , class Node >
local_matrix_type::HostMirror Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::getLocalMatrixHost ( ) const
inlinevirtual
template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::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 219 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
LocalOrdinal Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::GetStorageBlockSize ( ) const
inlinevirtual

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

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node >.

Definition at line 226 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal , class Node >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node >::residual ( const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  B,
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  R 
) const
inline

Definition at line 234 of file Xpetra_EpetraCrsMatrix.hpp.


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