Tpetra Matrix/Vector Services  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Construct and (optionally) redistribute the explicitly stored transpose of a CrsMatrix. More...

#include <Tpetra_RowMatrixTransposer_decl.hpp>

List of all members.

Public Types

Typedefs
typedef Scalar scalar_type
typedef LocalOrdinal local_ordinal_type
typedef GlobalOrdinal global_ordinal_type
typedef Node node_type
typedef Map< LocalOrdinal,
GlobalOrdinal, Node > 
map_type
typedef CrsMatrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > 
crs_matrix_type

Public Member Functions

Constructors
 RowMatrixTransposer (const Teuchos::RCP< const crs_matrix_type > &origMatrix)
 Constructor that takes the matrix to transpose.
TEUCHOS_DEPRECATED RowMatrixTransposer (const crs_matrix_type &origMatrix)
 Constructor that takes the matrix to transpose (DEPRECATED).

Methods for computing the explicit transpose.

Teuchos::RCP< crs_matrix_typecreateTranspose ()
 Compute and return the transpose of the matrix given to the constructor.
Teuchos::RCP< crs_matrix_typecreateTransposeLocal ()
 Compute and return the transpose of the matrix given to the constructor.

Detailed Description

template<class Scalar = CrsMatrix<>::scalar_type, class LocalOrdinal = typename CrsMatrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename CrsMatrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
class Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Construct and (optionally) redistribute the explicitly stored transpose of a CrsMatrix.

This class is based on the EpetraExt version. It first transposes the matrix to an intermediate version with overlapping row map. That matrix is then converted to a final version whose row map is "unique", i.e., a row is wholly owned by one process.

This class takes the same template parameters (with the same default values) as CrsMatrix.

Definition at line 69 of file Tpetra_RowMatrixTransposer_decl.hpp.


Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node >::RowMatrixTransposer ( const Teuchos::RCP< const crs_matrix_type > &  origMatrix)

Constructor that takes the matrix to transpose.

Definition at line 60 of file Tpetra_RowMatrixTransposer_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
TEUCHOS_DEPRECATED Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node >::RowMatrixTransposer ( const crs_matrix_type origMatrix)

Constructor that takes the matrix to transpose (DEPRECATED).

This method is DEPRECATED, because it is not memory safe. (If origMatrix falls out of scope, its reference will be invalidated.) Please call the version of the constructor that takes an RCP<const crs_matrix_type>.

Definition at line 69 of file Tpetra_RowMatrixTransposer_def.hpp.


Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node >::createTranspose ( )

Compute and return the transpose of the matrix given to the constructor.

Definition at line 78 of file Tpetra_RowMatrixTransposer_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node >::createTransposeLocal ( )

Compute and return the transpose of the matrix given to the constructor.

In this call, we (potentially) leave the matrix with an overlapping row Map. This is a perfectly valid matrix, but won't work correctly with some routines in Ifpack or Muelu.

Warning:
This routine leaves overlapping rows. Unless you're sure that's OK, call createTranspose() instead.

Definition at line 110 of file Tpetra_RowMatrixTransposer_def.hpp.


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