Anasazi Version of the Day
|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(). |
TSQR adapter for MultiVec.
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.
This class is the TSQR adapter for MultiVec. It merely calls MultiVec's corresponding methods for TSQR functionality.
|void Anasazi::details::MultiVecTsqrAdapter< ScalarType >::factorExplicit||(||MV &||A,|
|const bool||forceNonnegativeDiagonal =
|int Anasazi::details::MultiVecTsqrAdapter< ScalarType >::revealRank||(||MV &||Q,|
|const magnitude_type &||tol|