Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members
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>

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, const std::string &label=std::string())
 Constructor that takes the matrix to transpose. More...
 

Methods for computing the explicit transpose.

Teuchos::RCP< crs_matrix_typecreateTranspose (const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Compute and return the transpose of the matrix given to the constructor. More...
 
Teuchos::RCP< crs_matrix_typecreateTransposeLocal (const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Compute and return the transpose of the matrix given to the constructor. More...
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
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 as CrsMatrix.

Definition at line 48 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,
const std::string &  label = std::string() 
)

Constructor that takes the matrix to transpose.

Definition at line 30 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 ( const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null)

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

Definition at line 41 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 ( const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null)

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


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