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

#include <Xpetra_RowMatrix.hpp>

Inheritance diagram for Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal, Node > Xpetra::CrsMatrix< double, int, int, EpetraNode > Xpetra::CrsMatrix< double, int, long long, EpetraNode > Xpetra::CrsMatrix< Scalar, int, int, EpetraNode > Xpetra::CrsMatrix< Scalar, int, long long, EpetraNode > Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal, Node > Xpetra::EpetraCrsMatrixT< int, EpetraNode > Xpetra::EpetraCrsMatrixT< long long, EpetraNode > Xpetra::TpetraBlockCrsMatrix< Scalar, int, int, EpetraNode > Xpetra::TpetraCrsMatrix< Scalar, int, int, EpetraNode > Xpetra::TpetraBlockCrsMatrix< Scalar, int, long long, EpetraNode > Xpetra::TpetraCrsMatrix< Scalar, int, long long, EpetraNode > 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
 

Constructor/Destructor Methods

virtual ~RowMatrix ()
 Destructor. More...
 

Matrix Query Methods

virtual const Teuchos::RCP
< const Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getRowMap () const =0
 Returns the Map that describes the row distribution in this matrix. More...
 
virtual const Teuchos::RCP
< const Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getColMap () const =0
 Returns the Map that describes the column distribution in this matrix. More...
 
virtual global_size_t getGlobalNumRows () const =0
 Returns the number of global rows in this matrix. More...
 
virtual global_size_t getGlobalNumCols () const =0
 Returns the number of global columns in this matrix. More...
 
virtual size_t getNodeNumRows () const =0
 Returns the number of rows owned on the calling node. More...
 
virtual size_t getNodeNumCols () const =0
 Returns the number of columns needed to apply the forward operator on this node, i.e., the number of elements listed in the column map. 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 fillComplete() has been called. More...
 
virtual bool supportsRowViews () const =0
 Returns true if getLocalRowView() and getGlobalRowView() are valid for this class. More...
 

Extraction Methods

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

Mathematical Methods

virtual ScalarTraits< Scalar >
::magnitudeType 
getFrobeniusNorm () const =0
 Returns the Frobenius norm of the matrix. More...
 

Pure virtual functions to be overridden by subclasses.

virtual const Teuchos::RCP
< const Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getDomainMap () const =0
 Returns the Map associated with the domain of this operator, which must be compatible with X.getMap(). More...
 
virtual const Teuchos::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...
 
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...
 

Detailed Description

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
class Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 65 of file Xpetra_RowMatrix.hpp.

Member Typedef Documentation

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef Scalar Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalar_type

Definition at line 67 of file Xpetra_RowMatrix.hpp.

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef LocalOrdinal Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type

Definition at line 68 of file Xpetra_RowMatrix.hpp.

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef GlobalOrdinal Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type

Definition at line 69 of file Xpetra_RowMatrix.hpp.

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
typedef Node Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::node_type

Definition at line 70 of file Xpetra_RowMatrix.hpp.

Constructor & Destructor Documentation

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~RowMatrix ( )
inlinevirtual

Destructor.

Definition at line 76 of file Xpetra_RowMatrix.hpp.

Member Function Documentation

template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRowMap ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumRows ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumCols ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumRows ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumCols ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual global_size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumEntries ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumEntries ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInLocalRow ( LocalOrdinal  localRow) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalMaxNumRowEntries ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual size_t Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeMaxNumRowEntries ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isGloballyIndexed ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isFillComplete ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual bool Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::supportsRowViews ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy ( LocalOrdinal  LocalRow,
const Teuchos::ArrayView< LocalOrdinal > &  Indices,
const Teuchos::ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowView ( GlobalOrdinal  GlobalRow,
ArrayView< const GlobalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowView ( LocalOrdinal  LocalRow,
ArrayView< const LocalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual ScalarTraits< Scalar >::magnitudeType Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFrobeniusNorm ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const
pure virtual
template<class Scalar = Vector<>::scalar_type, class LocalOrdinal = Map<>::local_ordinal_type, class GlobalOrdinal = typename Map<LocalOrdinal>::global_ordinal_type, class Node = typename Map<LocalOrdinal, GlobalOrdinal>::node_type>
virtual void Xpetra::RowMatrix< 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 = Teuchos::ScalarTraits< Scalar >::one(),
Scalar  beta = Teuchos::ScalarTraits< Scalar >::zero() 
) const
pure virtual

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