All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Private Attributes
Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <Xpetra_TpetraRowMatrix.hpp>

Inheritance diagram for Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >

List of all members.

Private Attributes

RCP< Tpetra::RowMatrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
mtx_

Destructor Method

virtual ~TpetraRowMatrix ()
 Destructor.

Matrix Query Methods

const Teuchos::RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getRowMap () const
 Returns the Map that describes the row distribution in this matrix.
const Teuchos::RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getColMap () const
 Returns the Map that describes the column distribution in this matrix.
Tpetra::global_size_t getGlobalNumRows () const
 Returns the number of global rows in this matrix.
Tpetra::global_size_t getGlobalNumCols () const
 Returns the number of global columns in this matrix.
size_t getNodeNumRows () const
 Returns the number of rows owned on the calling node.
size_t getNodeNumCols () const
 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.
Tpetra::global_size_t getGlobalNumEntries () const
 Returns the global number of entries in this matrix.
size_t getNodeNumEntries () const
 Returns the local number of entries in this matrix.
size_t getNumEntriesInLocalRow (LocalOrdinal localRow) const
 Returns the current number of entries on this node in the specified local row.
Tpetra::global_size_t getGlobalNumDiags () const
 Returns the number of global diagonal entries, based on global row/column index comparisons.
size_t getNodeNumDiags () const
 Returns the number of local diagonal entries, based on global row/column index comparisons.
size_t getGlobalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on all nodes.
size_t getNodeMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on this node.
bool isLocallyIndexed () const
 If matrix indices are in the local range, this function returns true. Otherwise, this function returns false. */.
bool isGloballyIndexed () const
 If matrix indices are in the global range, this function returns true. Otherwise, this function returns false. */.
bool isFillComplete () const
 Returns true if fillComplete() has been called.

Extraction Methods

void getLocalRowCopy (LocalOrdinal LocalRow, const Teuchos::ArrayView< LocalOrdinal > &Indices, const Teuchos::ArrayView< Scalar > &Values, size_t &NumEntries) const
 Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine.
void getGlobalRowView (GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const
 Extract a const, non-persisting view of global indices in a specified row of the matrix.
void getLocalRowView (LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const
 Extract a const, non-persisting view of local indices in a specified row of the matrix.
void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const
 Get a copy of the diagonal entries owned by this node, with local row indices.

Mathematical Methods

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

Pure virtual functions to be overridden by subclasses.

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

Xpetra specific

 TpetraRowMatrix (const Teuchos::RCP< Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &mtx)
 TpetraCrsMatrix constructor to wrap a Tpetra::CrsMatrix object.
RCP< const Tpetra::RowMatrix
< Scalar, LocalOrdinal,
GlobalOrdinal, Node > > 
getTpetra_RowMatrix () const
 Get the underlying Tpetra matrix.
RCP< Tpetra::RowMatrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
getTpetra_RowMatrixNonConst () const
 Get the underlying Tpetra matrix.

Detailed Description

template<class Scalar, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
class Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 66 of file Xpetra_TpetraRowMatrix.hpp.


Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
virtual Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~TpetraRowMatrix ( ) [inline, virtual]

Destructor.

Definition at line 76 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::TpetraRowMatrix ( const Teuchos::RCP< Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  mtx) [inline]

TpetraCrsMatrix constructor to wrap a Tpetra::CrsMatrix object.

Definition at line 182 of file Xpetra_TpetraRowMatrix.hpp.


Member Function Documentation

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRowMap ( ) const [inline, virtual]

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

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

Definition at line 84 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getColMap ( ) const [inline, virtual]

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

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

Definition at line 88 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
Tpetra::global_size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumRows ( ) const [inline, virtual]

Returns the number of global rows in this matrix.

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

Definition at line 92 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
Tpetra::global_size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumCols ( ) const [inline, virtual]

Returns the number of global columns in this matrix.

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

Definition at line 95 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumRows ( ) const [inline, virtual]

Returns the number of rows owned on the calling node.

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

Definition at line 98 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumCols ( ) const [inline, virtual]

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.

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

Definition at line 101 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
Tpetra::global_size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumEntries ( ) const [inline, virtual]

Returns the global number of entries in this matrix.

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

Definition at line 104 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumEntries ( ) const [inline, virtual]

Returns the local number of entries in this matrix.

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

Definition at line 107 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInLocalRow ( LocalOrdinal  localRow) const [inline, virtual]

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

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

Definition at line 110 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
Tpetra::global_size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumDiags ( ) const [inline, virtual]

Returns the number of global diagonal entries, based on global row/column index comparisons.

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

Definition at line 113 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeNumDiags ( ) const [inline, virtual]

Returns the number of local diagonal entries, based on global row/column index comparisons.

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

Definition at line 116 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalMaxNumRowEntries ( ) const [inline, virtual]

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

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

Definition at line 119 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
size_t Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNodeMaxNumRowEntries ( ) const [inline, virtual]

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

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

Definition at line 122 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
bool Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed ( ) const [inline, virtual]

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

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

Definition at line 125 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
bool Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isGloballyIndexed ( ) const [inline, virtual]

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

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

Definition at line 128 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
bool Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isFillComplete ( ) const [inline, virtual]

Returns true if fillComplete() has been called.

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

Definition at line 131 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
void Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy ( LocalOrdinal  LocalRow,
const Teuchos::ArrayView< LocalOrdinal > &  Indices,
const Teuchos::ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const [inline, virtual]

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

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

Definition at line 139 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
void Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowView ( GlobalOrdinal  GlobalRow,
ArrayView< const GlobalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const [inline, virtual]

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

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

Definition at line 142 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
void Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalRowView ( LocalOrdinal  LocalRow,
ArrayView< const LocalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const [inline, virtual]

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

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

Definition at line 145 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
void Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag) const [inline, virtual]

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

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

Definition at line 148 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
ScalarTraits< Scalar >::magnitudeType Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getFrobeniusNorm ( ) const [inline, virtual]

Returns the Frobenius norm of the matrix.

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

Definition at line 157 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const [inline, virtual]

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

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

Definition at line 165 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const [inline, virtual]

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

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

Definition at line 169 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
void Xpetra::TpetraRowMatrix< 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 [inline, virtual]

Computes the operator-multivector application.

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

Definition at line 173 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
RCP<const Tpetra::RowMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getTpetra_RowMatrix ( ) const [inline]

Get the underlying Tpetra matrix.

Definition at line 185 of file Xpetra_TpetraRowMatrix.hpp.

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
RCP<Tpetra::RowMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getTpetra_RowMatrixNonConst ( ) const [inline]

Get the underlying Tpetra matrix.

Definition at line 188 of file Xpetra_TpetraRowMatrix.hpp.


Member Data Documentation

template<class Scalar , class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = Kokkos::DefaultNode::DefaultNodeType>
RCP< Tpetra::RowMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::TpetraRowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::mtx_ [private]

Definition at line 194 of file Xpetra_TpetraRowMatrix.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines