Belos Version of the Day
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
Belos::details::MultiVecTsqrAdapter< ScalarType, DM > Class Template Reference

TSQR adapter for MultiVec. More...

#include <BelosMultiVec.hpp>

Public Types

typedef MultiVec< ScalarType, DM > MV
 
typedef ScalarType scalar_type
 
typedef int ordinal_type
 
typedef int node_type
 
typedef Teuchos::ScalarTraits< scalar_type >::magnitudeType magnitude_type
 

Public Member Functions

void factorExplicit (MV &A, MV &Q, DM &R, const bool forceNonnegativeDiagonal=false)
 Compute QR factorization A = QR, using TSQR.
 
int revealRank (MV &Q, DM &R, const magnitude_type &tol)
 Compute rank-revealing decomposition using results of factorExplicit().
 
void setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &params)
 
Teuchos::RCP< const Teuchos::ParameterList > getValidParameters () const
 

Detailed Description

template<class ScalarType, class DM = DefaultDenseMatrix<int, ScalarType>>
class Belos::details::MultiVecTsqrAdapter< ScalarType, DM >

TSQR adapter for MultiVec.

TSQR (Tall Skinny QR factorization) is an orthogonalization kernel that is as accurate as Householder QR, yet requires only $2 \log P$ messages between $P$ MPI processes, independently of the number of columns in the multivector.

TSQR works independently of the particular multivector implementation, and interfaces to the latter via an adapter class. Each multivector type MV needs its own adapter class. The specialization of MultiVecTraits for MV refers to its corresponding adapter class as its tsqr_adaptor_type [sic; sorry about the lack of standard spelling of "adapter"] typedef.

This class is the TSQR adapter for MultiVec. It merely calls MultiVec's corresponding methods for TSQR functionality.

Definition at line 287 of file BelosMultiVec.hpp.

Member Typedef Documentation

◆ MV

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
typedef MultiVec<ScalarType, DM> Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::MV

Definition at line 289 of file BelosMultiVec.hpp.

◆ scalar_type

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
typedef ScalarType Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::scalar_type

Definition at line 290 of file BelosMultiVec.hpp.

◆ ordinal_type

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
typedef int Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::ordinal_type

Definition at line 291 of file BelosMultiVec.hpp.

◆ node_type

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
typedef int Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::node_type

Definition at line 292 of file BelosMultiVec.hpp.

◆ magnitude_type

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
typedef Teuchos::ScalarTraits<scalar_type>::magnitudeType Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::magnitude_type

Definition at line 293 of file BelosMultiVec.hpp.

Member Function Documentation

◆ factorExplicit()

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
void Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::factorExplicit ( MV A,
MV Q,
DM &  R,
const bool  forceNonnegativeDiagonal = false 
)
inline

Compute QR factorization A = QR, using TSQR.

Definition at line 297 of file BelosMultiVec.hpp.

◆ revealRank()

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
int Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::revealRank ( MV Q,
DM &  R,
const magnitude_type tol 
)
inline

Compute rank-revealing decomposition using results of factorExplicit().

Definition at line 307 of file BelosMultiVec.hpp.

◆ setParameterList()

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
void Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::setParameterList ( const Teuchos::RCP< Teuchos::ParameterList > &  params)
inline

Definition at line 314 of file BelosMultiVec.hpp.

◆ getValidParameters()

template<class ScalarType , class DM = DefaultDenseMatrix<int, ScalarType>>
Teuchos::RCP< const Teuchos::ParameterList > Belos::details::MultiVecTsqrAdapter< ScalarType, DM >::getValidParameters ( ) const
inline

Definition at line 318 of file BelosMultiVec.hpp.


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

Generated for Belos by doxygen 1.9.8