Anasazi Version of the Day
Public Member Functions
Anasazi::details::MultiVecTsqrAdapter< ScalarType > Class Template Reference

TSQR adapter for MultiVec. More...

#include <AnasaziMultiVec.hpp>

List of all members.

Public Member Functions

void factorExplicit (MV &A, MV &Q, dense_matrix_type &R, const bool forceNonnegativeDiagonal=false)
 Compute QR factorization A = QR, using TSQR.
int revealRank (MV &Q, dense_matrix_type &R, const magnitude_type &tol)
 Compute rank-revealing decomposition using results of factorExplicit().

Detailed Description

template<class ScalarType>
class Anasazi::details::MultiVecTsqrAdapter< ScalarType >

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 308 of file AnasaziMultiVec.hpp.


Member Function Documentation

template<class ScalarType >
void Anasazi::details::MultiVecTsqrAdapter< ScalarType >::factorExplicit ( MV A,
MV Q,
dense_matrix_type R,
const bool  forceNonnegativeDiagonal = false 
) [inline]

Compute QR factorization A = QR, using TSQR.

Definition at line 319 of file AnasaziMultiVec.hpp.

template<class ScalarType >
int Anasazi::details::MultiVecTsqrAdapter< ScalarType >::revealRank ( MV Q,
dense_matrix_type R,
const magnitude_type &  tol 
) [inline]

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

Definition at line 329 of file AnasaziMultiVec.hpp.


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