All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Referenceabstract

#include <Xpetra_CrsMatrix.hpp>

Inheritance diagram for Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Xpetra::DistObject< char, LocalOrdinal, GlobalOrdinal, Node > Teuchos::Describable Teuchos::LabeledObject Xpetra::TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Xpetra::TpetraCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Public Types

typedef Scalar scalar_type
 
typedef LocalOrdinal local_ordinal_type
 
typedef GlobalOrdinal global_ordinal_type
 
typedef Node node_type
 
- 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 Member Functions

virtual size_t getNodeNumCols () const =0
 Returns the number of matrix columns owned on the calling node. More...
 
virtual void getLocalRowCopy (LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &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 bool hasMatrix () const =0
 Does this have an underlying matrix. More...
 
- Public Member Functions inherited from Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual ~RowMatrix ()
 Destructor. More...
 
- Public Member Functions inherited from Xpetra::DistObject< char, LocalOrdinal, GlobalOrdinal, Node >
virtual ~DistObject ()
 Destructor. More...
 
virtual void doImport (const DistObject< char, 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 doImport (const DistObject< char, 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 doExport (const DistObject< char, 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 doExport (const DistObject< char, 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 Teuchos::RCP< const
Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getMap () const =0
 The Map describing the parallel distribution of this object. More...
 
- Public Member Functions inherited from Teuchos::Describable
void describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const
 
virtual ~Describable ()
 
 LabeledObject ()
 
virtual ~LabeledObject ()
 
virtual std::string getObjectLabel () const
 
DescribableStreamManipulatorState describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default)
 
std::ostream & operator<< (std::ostream &os, const DescribableStreamManipulatorState &d)
 

Constructor/Destructor Methods

virtual ~CrsMatrix ()
 Destructor. More...
 

Insertion/Removal Methods

virtual void insertGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)=0
 Insert matrix entries, using global IDs. More...
 
virtual void insertLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)=0
 Insert matrix entries, using local IDs. More...
 
virtual void replaceGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)=0
 Replace matrix entries, using global IDs. More...
 
virtual void replaceLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)=0
 Replace matrix entries, using local IDs. More...
 
virtual void setAllToScalar (const Scalar &alpha)=0
 Set all matrix entries equal to scalarThis. More...
 
virtual void scale (const Scalar &alpha)=0
 Scale the current values of a matrix, this = alpha*this. More...
 
virtual void allocateAllValues (size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &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< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)=0
 Sets the 1D pointer arrays of the graph. More...
 
virtual void getAllValues (ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const =0
 Gets the 1D pointer arrays of the graph. More...
 

Transformational Methods

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

Methods implementing RowMatrix

virtual const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getRowMap () const =0
 Returns the Map that describes the row distribution in this matrix. More...
 
virtual const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getColMap () const =0
 Returns the Map that describes the column distribution in this matrix. More...
 
virtual RCP< const CrsGraph
< LocalOrdinal, GlobalOrdinal,
Node > > 
getCrsGraph () const =0
 Returns the CrsGraph associated with this matrix. More...
 
virtual global_size_t getGlobalNumRows () const =0
 Number of global elements in the row map of this matrix. More...
 
virtual global_size_t getGlobalNumCols () const =0
 Number of global columns in the matrix. More...
 
virtual size_t getNodeNumRows () const =0
 Returns the number of matrix rows owned on the calling node. More...
 
virtual global_size_t getGlobalNumEntries () const =0
 Returns the global number of entries in this matrix. More...
 
virtual size_t getNodeNumEntries () const =0
 Returns the local number of entries in this matrix. 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 size_t getGlobalMaxNumRowEntries () const =0
 Returns the maximum number of entries across all rows/columns on all nodes. More...
 
virtual size_t getNodeMaxNumRowEntries () const =0
 Returns the maximum number of entries across all rows/columns on this node. More...
 
virtual bool isLocallyIndexed () const =0
 If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. More...
 
virtual bool isGloballyIndexed () const =0
 If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. More...
 
virtual bool isFillComplete () const =0
 Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called. More...
 
virtual bool isFillActive () const =0
 Returns true if the matrix is in edit mode. More...
 
virtual ScalarTraits< Scalar >
::magnitudeType 
getFrobeniusNorm () const =0
 Returns the Frobenius norm of the matrix. More...
 
virtual bool supportsRowViews () const =0
 Returns true if getLocalRowView() and getGlobalRowView() are valid for this class. 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 getGlobalRowCopy (GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &indices, const ArrayView< Scalar > &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 (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 getLocalDiagOffsets (Teuchos::ArrayRCP< size_t > &offsets) const =0
 Get offsets of the diagonal entries in the matrix. More...
 
virtual void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, 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 replaceDiag (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag)=0
 Replace the diagonal entries of the matrix. More...
 
virtual void leftScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)=0
 Left scale matrix using the given vector entries. More...
 
virtual void rightScale (const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &x)=0
 Right scale matrix using the given vector entries. More...
 
virtual void removeEmptyProcessesInPlace (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)=0
 
virtual bool haveGlobalConstants () const =0
 Returns true if globalConstants have been computed; false otherwise. More...
 

Methods implementing Operator

virtual 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 =0
 Computes the sparse matrix-multivector multiplication. More...
 
virtual const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getDomainMap () const =0
 Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called. More...
 
virtual const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getRangeMap () const =0
 Returns the Map associated with the range of this operator, which must be compatible with Y.getMap(). More...
 

Overridden from Teuchos::Describable

virtual std::string description () const =0
 A simple one-line description of this object. More...
 
virtual void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const =0
 Print the object with some verbosity level to an FancyOStream object. More...
 

Overridden from Teuchos::LabeledObject

virtual void setObjectLabel (const std::string &objectLabel)=0
 

Additional Inherited Members

- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
class Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 73 of file Xpetra_CrsMatrix.hpp.

Member Typedef Documentation

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
typedef Scalar Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type

Definition at line 78 of file Xpetra_CrsMatrix.hpp.

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
typedef LocalOrdinal Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type

Definition at line 79 of file Xpetra_CrsMatrix.hpp.

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
typedef GlobalOrdinal Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type

Definition at line 80 of file Xpetra_CrsMatrix.hpp.

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
typedef Node Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type

Definition at line 81 of file Xpetra_CrsMatrix.hpp.

Constructor & Destructor Documentation

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~CrsMatrix ( )
inlinevirtual

Destructor.

Definition at line 87 of file Xpetra_CrsMatrix.hpp.

Member Function Documentation

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::insertGlobalValues ( GlobalOrdinal  globalRow,
const ArrayView< const GlobalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::insertLocalValues ( LocalOrdinal  localRow,
const ArrayView< const LocalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceGlobalValues ( GlobalOrdinal  globalRow,
const ArrayView< const GlobalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceLocalValues ( LocalOrdinal  localRow,
const ArrayView< const LocalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setAllToScalar ( const Scalar &  alpha)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scale ( const Scalar &  alpha)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::allocateAllValues ( size_t  numNonZeros,
ArrayRCP< size_t > &  rowptr,
ArrayRCP< LocalOrdinal > &  colind,
ArrayRCP< Scalar > &  values 
)
pure virtual

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

Parameters
numNonZerosNumber of non-zeros
rowptrPointer to row array of Crs data
colindPointer to colInd array of Crs data
valuesPointer to value array of Crs data
Warning
This is an expert-only routine and should not be called from user code.

Implemented in Xpetra::TpetraCrsMatrix< Scalar, int, long long, EpetraNode >, Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >, Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >, Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >, Xpetra::TpetraCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setAllValues ( const ArrayRCP< size_t > &  rowptr,
const ArrayRCP< LocalOrdinal > &  colind,
const ArrayRCP< Scalar > &  values 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getAllValues ( ArrayRCP< const size_t > &  rowptr,
ArrayRCP< const LocalOrdinal > &  colind,
ArrayRCP< const Scalar > &  values 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::resumeFill ( const RCP< ParameterList > &  params = null)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fillComplete ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap,
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rangeMap,
const RCP< ParameterList > &  params = null 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fillComplete ( const RCP< ParameterList > &  params = null)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceDomainMapAndImporter ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  newDomainMap,
Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &  newImporter 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, 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 
)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRowMap ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getCrsGraph ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumRows ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumCols ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumRows ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumEntries ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumEntries ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInLocalRow ( LocalOrdinal  localRow) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalMaxNumRowEntries ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeMaxNumRowEntries ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isGloballyIndexed ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isFillComplete ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isFillActive ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual ScalarTraits< Scalar >::magnitudeType Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFrobeniusNorm ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::supportsRowViews ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowView ( GlobalOrdinal  GlobalRow,
ArrayView< const GlobalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowCopy ( GlobalOrdinal  GlobalRow,
const ArrayView< GlobalOrdinal > &  indices,
const ArrayView< Scalar > &  values,
size_t &  numEntries 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowView ( LocalOrdinal  LocalRow,
ArrayView< const LocalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagOffsets ( Teuchos::ArrayRCP< size_t > &  offsets) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag,
const Teuchos::ArrayView< const size_t > &  offsets 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::replaceDiag ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::leftScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::rightScale ( const Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  x)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::removeEmptyProcessesInPlace ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  newMap)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::haveGlobalConstants ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::apply ( const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
Scalar  alpha = ScalarTraits< Scalar >::one(),
Scalar  beta = ScalarTraits< Scalar >::zero() 
) const
pure virtual

Computes the sparse matrix-multivector multiplication.

This method computes Y := beta*Y + alpha*Op(A)*X, where Op(A) is either $A$, $A^T$ (the transpose), or $A^H$ (the conjugate transpose).

Parameters
[in]XInput vector
[in,out]YResult vector
[in]modeTranspose mode
[in]alphaScaling factor
[in]betaScaling factor

Implements Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Implemented in Xpetra::TpetraCrsMatrix< Scalar, int, long long, EpetraNode >, Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode >, Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode >, Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode >, Xpetra::TpetraCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >, and Xpetra::TpetraBlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual std::string Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setObjectLabel ( const std::string &  objectLabel)
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumCols ( ) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy ( LocalOrdinal  LocalRow,
const ArrayView< LocalOrdinal > &  Indices,
const ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const
pure virtual
template<class Scalar = double, class LocalOrdinal = CrsGraph<>::local_ordinal_type, class GlobalOrdinal = typename CrsGraph<LocalOrdinal>::global_ordinal_type, class Node = typename CrsGraph<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::hasMatrix ( ) const
pure virtual

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