Belos Package Browser (Single Doxygen Collection)
Development
|
"Stub" TSQR adaptor for unsupported multivector types. More...
#include <BelosStubTsqrAdapter.hpp>
Public Types | |
typedef MultiVectorType | MV |
typedef double | scalar_type |
typedef int | ordinal_type |
typedef int | node_type |
typedef Teuchos::SerialDenseMatrix < ordinal_type, scalar_type > | dense_matrix_type |
typedef Teuchos::ScalarTraits < scalar_type >::magnitudeType | magnitude_type |
Public Member Functions | |
StubTsqrAdapter (const Teuchos::RCP< Teuchos::ParameterList > &plist) | |
Constructor (that accepts a parameter list). More... | |
StubTsqrAdapter () | |
Default constructor (stub; throws std::logic_error). More... | |
StubTsqrAdapter (const StubTsqrAdapter &rhs) | |
Copy constructor (throws std::logic_error). More... | |
Teuchos::RCP< const Teuchos::ParameterList > | getValidParameters () const |
Get list of valid default parameters (stub; throws std::logic_error). More... | |
void | setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &plist) |
Set parameters (stub; throws std::logic_error). More... | |
void | factorExplicit (MV &A, MV &Q, dense_matrix_type &R, const bool forceNonnegativeDiagonal=false) |
Compute QR factorization [Q,R] = qr(A,0) (stub; throws std::logic_error). More... | |
int | revealRank (MV &Q, dense_matrix_type &R, const magnitude_type &tol) |
Rank-revealing decomposition (stub; does nothing). More... | |
Public Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase | |
RCP< ParameterList > | getNonconstParameterList () |
RCP< ParameterList > | unsetParameterList () |
RCP< const ParameterList > | getParameterList () const |
Additional Inherited Members | |
Protected Member Functions inherited from Teuchos::ParameterListAcceptorDefaultBase | |
void | setMyParamList (const RCP< ParameterList > ¶mList) |
RCP< ParameterList > | getMyNonconstParamList () |
RCP< const ParameterList > | getMyParamList () const |
"Stub" TSQR adaptor for unsupported multivector types.
TSQR (Tall Skinny QR factorization) is an orthogonalization kernel that is as accurate as Householder QR, yet requires only 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. For examples, please refer to the Epetra_MultiVector and Tpetra::MultiVector specializations of Belos::MultiVecTraits.
Nevertheless, there may be multivector types for which a TSQR adapter has not yet been written. This "stub" adapter implements the interface that TSQR adapters must implement, but all of its methods throw std::logic_error to indicate that this is a stub. Thus, it allows Belos classes like TsqrOrthoManagerImpl to compile successfully for unsupported MV types. This in turn allows OrthoManagerFactory to be templated on the MV type.
Definition at line 52 of file BelosStubTsqrAdapter.hpp.
typedef MultiVectorType Belos::details::StubTsqrAdapter< MultiVectorType >::MV |
Definition at line 54 of file BelosStubTsqrAdapter.hpp.
typedef double Belos::details::StubTsqrAdapter< MultiVectorType >::scalar_type |
Definition at line 55 of file BelosStubTsqrAdapter.hpp.
typedef int Belos::details::StubTsqrAdapter< MultiVectorType >::ordinal_type |
Definition at line 56 of file BelosStubTsqrAdapter.hpp.
typedef int Belos::details::StubTsqrAdapter< MultiVectorType >::node_type |
Definition at line 57 of file BelosStubTsqrAdapter.hpp.
typedef Teuchos::SerialDenseMatrix<ordinal_type, scalar_type> Belos::details::StubTsqrAdapter< MultiVectorType >::dense_matrix_type |
Definition at line 58 of file BelosStubTsqrAdapter.hpp.
typedef Teuchos::ScalarTraits<scalar_type>::magnitudeType Belos::details::StubTsqrAdapter< MultiVectorType >::magnitude_type |
Definition at line 59 of file BelosStubTsqrAdapter.hpp.
|
inline |
Constructor (that accepts a parameter list).
plist | [in] List of parameters for configuring TSQR. The specific parameter keys that are read depend on the TSQR implementation. For details, call getValidParameters() and examine the documentation embedded therein. |
Definition at line 67 of file BelosStubTsqrAdapter.hpp.
|
inline |
Default constructor (stub; throws std::logic_error).
Definition at line 75 of file BelosStubTsqrAdapter.hpp.
|
inline |
Copy constructor (throws std::logic_error).
Definition at line 83 of file BelosStubTsqrAdapter.hpp.
|
inlinevirtual |
Get list of valid default parameters (stub; throws std::logic_error).
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 93 of file BelosStubTsqrAdapter.hpp.
|
inlinevirtual |
Set parameters (stub; throws std::logic_error).
Implements Teuchos::ParameterListAcceptor.
Definition at line 102 of file BelosStubTsqrAdapter.hpp.
|
inline |
Compute QR factorization [Q,R] = qr(A,0) (stub; throws std::logic_error).
Definition at line 111 of file BelosStubTsqrAdapter.hpp.
|
inline |
Rank-revealing decomposition (stub; does nothing).
Definition at line 123 of file BelosStubTsqrAdapter.hpp.