SourcePro C++ 12.0 |
SourcePro® C++ API Reference Guide |
SourcePro C++ Documentation Home |
Encapsulates the tridiagonal decomposition of a symmetric matrix. More...
#include <rw/lapack/td.h>
Public Types | |
typedef rw_numeric_traits < TypeT >::norm_type | rt |
Public Member Functions | |
void | set (const RWMathVec< rt > &diag_, const RWMathVec< rt > &offdiag_) |
virtual RWMathVec< TypeT > | transform (const RWMathVec< rt > &) const |
virtual RWGenMat< TypeT > | transform (const RWGenMat< rt > &) const =0 |
const RWMathVec< rt > | diagonal () const |
const RWMathVec< rt > | offDiagonal () const |
unsigned | rows () const |
unsigned | cols () const |
The class RWTriDiagDecomp<T> encapsulates the tridiagonal decomposition of a symmetric matrix A:
where Q is orthogonal and T is tridiagonal and real, even in the complex case. This decomposition is often done as a precursor to computing eigenvalues, since the eigenvalues of T and A are the same, and those of T are easier to compute. This class is used internally by the symmetric eigenvalue classes.
The class RWTriDiagDecomp<T> is an abstract base class. Subclasses must implement the pure virtual function decompose
. This separates the implementation of the storage of Q from the interface, so that band and dense decompositions can use different storage techniques. The Linear Algebra Module provides the derived classes RWDenseTriDiagDecomp<T> and RWBandTriDiagDecomp<T> .
#include <rw/lapack/td.h>
See specific subclasses for examples.
typedef rw_numeric_traits<TypeT>::norm_type RWTriDiagDecomp< TypeT >::rt |
Typedef for the usual return type of numerical norm
-like functions. For more information, see rw_numeric_traits<T>::norm_type.
Reimplemented in RWDenseTriDiagDecomp< TypeT >, and RWBandTriDiagDecomp< TypeT >.
unsigned RWTriDiagDecomp< TypeT >::cols | ( | ) | const [inline] |
Returns the number of columns in the decomposition.
const RWMathVec<rt> RWTriDiagDecomp< TypeT >::diagonal | ( | ) | const [inline] |
Returns the diagonal of the symmetric tridiagonal matrix T.
const RWMathVec<rt> RWTriDiagDecomp< TypeT >::offDiagonal | ( | ) | const [inline] |
Returns the subdiagonal or superdiagonal of the symmetric tridiagonal matrix T.
unsigned RWTriDiagDecomp< TypeT >::rows | ( | ) | const [inline] |
Returns the number of rows in the decomposition.
void RWTriDiagDecomp< TypeT >::set | ( | const RWMathVec< rt > & | diag_, | |
const RWMathVec< rt > & | offdiag_ | |||
) |
Sets the tridiagonal matrix directly.
virtual RWGenMat<TypeT> RWTriDiagDecomp< TypeT >::transform | ( | const RWGenMat< rt > & | ) | const [pure virtual] |
Transforms the vector from tridiagonal decomposition space back to the original matrix space. This amounts to multiplying it by the matrix Q.
Implemented in RWDenseTriDiagDecomp< TypeT >, and RWBandTriDiagDecomp< TypeT >.
virtual RWMathVec<TypeT> RWTriDiagDecomp< TypeT >::transform | ( | const RWMathVec< rt > & | ) | const [virtual] |
Transforms the vector from tridiagonal decomposition space back to the original matrix space. This amounts to multiplying it by the matrix Q.
Reimplemented in RWDenseTriDiagDecomp< TypeT >, and RWBandTriDiagDecomp< TypeT >.
© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.