QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
symmetric threshold Jacobi algorithm. More...
#include <symmetricschurdecomposition.hpp>
Public Member Functions | |
SymmetricSchurDecomposition (const Matrix &s) | |
const Array & | eigenvalues () const |
const Matrix & | eigenvectors () const |
Private Member Functions | |
void | jacobiRotate_ (Matrix &m, Real rot, Real dil, Size j1, Size k1, Size j2, Size k2) const |
This routines implements the Jacobi, a.k.a. Givens, rotation. More... | |
Private Attributes | |
Array | diagonal_ |
Matrix | eigenVectors_ |
symmetric threshold Jacobi algorithm.
Given a real symmetric matrix S, the Schur decomposition finds the eigenvalues and eigenvectors of S. If D is the diagonal matrix formed by the eigenvalues and U the unitarian matrix of the eigenvectors we can write the Schur decomposition as
\[ S = U \cdot D \cdot U^T \, ,\]
where \( \cdot \) is the standard matrix product and \( ^T \) is the transpose operator. This class implements the Schur decomposition using the symmetric threshold Jacobi algorithm. For details on the different Jacobi transfomations see "Matrix computation," second edition, by Golub and Van Loan, The Johns Hopkins University Press
Definition at line 50 of file symmetricschurdecomposition.hpp.
SymmetricSchurDecomposition | ( | const Matrix & | s | ) |
Definition at line 26 of file symmetricschurdecomposition.cpp.
const Array & eigenvalues | ( | ) | const |
Definition at line 54 of file symmetricschurdecomposition.hpp.
const Matrix & eigenvectors | ( | ) | const |
Definition at line 55 of file symmetricschurdecomposition.hpp.
|
private |
This routines implements the Jacobi, a.k.a. Givens, rotation.
Definition at line 67 of file symmetricschurdecomposition.hpp.
|
private |
Definition at line 57 of file symmetricschurdecomposition.hpp.
|
private |
Definition at line 58 of file symmetricschurdecomposition.hpp.