Encapsulates a symmetric tridiagonal decomposition of a symmetric banded matrix. More...
#include <rw/lapack/td.h>
Public Member Functions | |
RWBandTriDiagDecomp (const typename rw_linear_algebra_traits< TypeT >::banded_hermitian_type &A, bool keepQ=true) | |
virtual RWGenMat< TypeT > | transform (const RWGenMat< rt > &x) const |
virtual RWMathVec< TypeT > | transform (const RWMathVec< rt > &x) const |
Public Member Functions inherited from RWTriDiagDecomp< TypeT > | |
unsigned | cols () const |
const RWMathVec< rt > | diagonal () const |
const RWMathVec< rt > | offDiagonal () const |
unsigned | rows () const |
void | set (const RWMathVec< rt > &diag_, const RWMathVec< rt > &offdiag_) |
Additional Inherited Members | |
Public Types inherited from RWTriDiagDecomp< TypeT > | |
typedef rw_numeric_traits< TypeT >::norm_type | rt |
The class RWBandTriDiagDecomp encapsulates a symmetric tridiagonal decomposition of a symmetric banded matrix A:
\[ A = QTQ^\prime \]
where Q is orthogonal and T is real tridiagonal symmetric. This class is used internally by the symmetric eigenvalue classes.
RWBandTriDiagDecomp< TypeT >::RWBandTriDiagDecomp | ( | const typename rw_linear_algebra_traits< TypeT >::banded_hermitian_type & | A, |
bool | keepQ = true |
||
) |
Constructs a tridiagonal decomposition of A. By setting the optional boolean parameter keepQ to false
, the data necessary to transform via Q
is not stored. This can save substantial storage costs, but an exception is thrown if you attempt to use the member function transform.
|
virtual |
Transforms the vector from tridiagonal decomposition space back to the original matrix space. This amounts to multiplying it by the matrix Q.
Implements RWTriDiagDecomp< TypeT >.
|
virtual |
Transforms the vector from tridiagonal decomposition space back to the original matrix space. This amounts to multiplying it by the matrix Q.
Reimplemented from RWTriDiagDecomp< TypeT >.
Copyright © 2021 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |