Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Public Types
TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV > Class Template Reference

Traits class mapping between multivector type and TSQR implementation types. More...

#include <TsqrTypeAdaptor.hpp>

List of all members.

Public Types

typedef TSQR::SequentialTsqr
< LO, S > 
node_tsqr_type
 Type representing the intranode part of TSQR.
typedef TSQR::DistTsqr< LO, S > dist_tsqr_type
 Type representing the internode part of TSQR.
typedef TSQR::Tsqr< LO, S,
node_tsqr_type, dist_tsqr_type
tsqr_type
 Type representing the whole TSQR method.
typedef TsqrFactory< LO, S,
node_tsqr_type, dist_tsqr_type
factory_type
typedef UndefinedComm comm_type

Detailed Description

template<class S, class LO, class GO, class MV>
class TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV >

Traits class mapping between multivector type and TSQR implementation types.

This traits class maps between the specific multivector type MV, and the corresponding appropriate intranode and internode TSQR implementation classes.

Template Parameters:
SThe Scalar type (the type of elements in the matrix for which to compute a QR factorization)
LOThe "local ordinal" type, as one would find in Tpetra distributed linear algebra objects. (In Epetra, the local and global ordinal types are both the same, namely "int".).
GOThe "global ordinal" type, as one would find in Tpetra distributed linear algebra objects. (In Epetra, the local and global ordinal types are both the same, namely "int".).
MVThe multivector type.

This class maps a multivector type to three different classes:

It also gives the appropriate TsqrFactory type to use for constructing a TsqrAdaptor.

Note:
Implementers who want to port TSQR to a new MV class (by mapping to an existing TSQR implementation) should first specialize a new TsqrTypeAdaptor class for that MV. They should then implement the corresponding TsqrAdaptor class.

Definition at line 96 of file TsqrTypeAdaptor.hpp.


Member Typedef Documentation

template<class S , class LO , class GO , class MV >
TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV >::node_tsqr_type

Type representing the intranode part of TSQR.

Defaults to sequential, cache-blocked TSQR.

Definition at line 107 of file TsqrTypeAdaptor.hpp.

template<class S , class LO , class GO , class MV >
TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV >::dist_tsqr_type

Type representing the internode part of TSQR.

Definition at line 112 of file TsqrTypeAdaptor.hpp.

template<class S , class LO , class GO , class MV >
TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV >::tsqr_type

Type representing the whole TSQR method.

Depends on node_tsqr_type and dist_tsqr_type.

Definition at line 119 of file TsqrTypeAdaptor.hpp.

template<class S , class LO , class GO , class MV >
TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV >::factory_type

Type of the TsqrFactory object that knows how to construct node_tsqr_type and dist_tsqr_type objects.

Definition at line 126 of file TsqrTypeAdaptor.hpp.

template<class S , class LO , class GO , class MV >
TSQR::Trilinos::TsqrTypeAdaptor< S, LO, GO, MV >::comm_type

Type of the (raw) communicator object used by the given multivector type. Communicator objects are always handled via Teuchos::RCP. The default is UndefinedComm, which catches missing or partially defined specializations of TsqrTypeAdaptor as syntax errors.

Definition at line 135 of file TsqrTypeAdaptor.hpp.


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