Tpetra Matrix/Vector Services Version of the Day
Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node, SpMatOps > Class Template Reference

Construct and (optionally) redistribute the 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 SpMatOps mat_vec_type
typedef SpMatOps mat_solve_type
typedef Map< LocalOrdinal,
GlobalOrdinal, Node > 
map_type
typedef CrsMatrix< Scalar,
LocalOrdinal, GlobalOrdinal,
Node, SpMatOps > 
crs_matrix_type

Public Member Functions

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

Forward transformation methods

Teuchos::RCP< crs_matrix_typecreateTranspose ()
Teuchos::RCP< crs_matrix_typecreateTransposeLocal ()

Detailed Description

template<class Scalar, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType, class SpMatOps = typename KokkosClassic::DefaultKernels<Scalar,LocalOrdinal,Node>::SparseOps>
class Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node, SpMatOps >

Construct and (optionally) redistribute the 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 73 of file Tpetra_RowMatrixTransposer_decl.hpp.


Constructor & Destructor Documentation

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

Constructor that takes the matrix to transpose.

Definition at line 61 of file Tpetra_RowMatrixTransposer_def.hpp.

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

Constructor that takes the matrix to transpose.

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 71 of file Tpetra_RowMatrixTransposer_def.hpp.


Member Function Documentation

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

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

Definition at line 81 of file Tpetra_RowMatrixTransposer_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node , class SpMatOps >
Teuchos::RCP< CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node, SpMatOps > > Tpetra::RowMatrixTransposer< Scalar, LocalOrdinal, GlobalOrdinal, Node, SpMatOps >::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 114 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 Friends Defines