ROOT
6.06/09
Reference Guide
|
Definition at line 30 of file TMatrixDEigen.h.
Public Types | |
enum | { kWorkMax = 100 } |
Public Member Functions | |
TMatrixDEigen () | |
TMatrixDEigen (const TMatrixD &a) | |
TMatrixDEigen (const TMatrixDEigen &another) | |
Copy constructor. More... | |
virtual | ~TMatrixDEigen () |
const TMatrixD & | GetEigenVectors () const |
const TVectorD & | GetEigenValuesRe () const |
const TVectorD & | GetEigenValuesIm () const |
const TMatrixD | GetEigenValues () const |
Computes the block diagonal eigenvalue matrix. More... | |
TMatrixDEigen & | operator= (const TMatrixDEigen &source) |
Assignment operator. More... | |
Static Protected Member Functions | |
static void | MakeHessenBerg (TMatrixD &v, TVectorD &ortho, TMatrixD &H) |
Nonsymmetric reduction to Hessenberg form. More... | |
static void | MakeSchurr (TMatrixD &v, TVectorD &d, TVectorD &e, TMatrixD &H) |
Nonsymmetric reduction from Hessenberg to real Schur form. More... | |
static void | Sort (TMatrixD &v, TVectorD &d, TVectorD &e) |
Sort eigenvalues and corresponding vectors in descending order of Re^2+Im^2 of the complex eigenvalues . More... | |
Protected Attributes | |
TMatrixD | fEigenVectors |
TVectorD | fEigenValuesRe |
TVectorD | fEigenValuesIm |
#include <TMatrixDEigen.h>
anonymous enum |
Enumerator | |
---|---|
kWorkMax |
Definition at line 44 of file TMatrixDEigen.h.
|
inline |
Definition at line 46 of file TMatrixDEigen.h.
TMatrixDEigen::TMatrixDEigen | ( | const TMatrixD & | a | ) |
TMatrixDEigen::TMatrixDEigen | ( | const TMatrixDEigen & | another | ) |
Copy constructor.
Definition at line 93 of file TMatrixDEigen.cxx.
|
inlinevirtual |
Definition at line 50 of file TMatrixDEigen.h.
const TMatrixD TMatrixDEigen::GetEigenValues | ( | ) | const |
Computes the block diagonal eigenvalue matrix.
If the original matrix A is not symmetric, then the eigenvalue matrix D is block diagonal with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, a + i*b, in 2-by-2 blocks, [a, b; -b, a]. That is, if the complex eigenvalues look like
u + iv . . . . . . u - iv . . . . . . a + ib . . . . . . a - ib . . . . . . x . . . . . . y
then D looks like
u v . . . .
-v u . . . . . . a b . . . . -b a . . . . . . x . . . . . . y
This keeps V a real matrix in both symmetric and non-symmetric cases, and A*V = V*D.
Indexing: If matrix A has the index/shape (rowLwb,rowUpb,rowLwb,rowUpb) each eigen-vector must have the shape (rowLwb,rowUpb) . For convinience, the column index of the eigen-vector matrix also runs from rowLwb to rowUpb so that the returned matrix has also index/shape (rowLwb,rowUpb,rowLwb,rowUpb) .
Definition at line 780 of file TMatrixDEigen.cxx.
|
inline |
Definition at line 61 of file TMatrixDEigen.h.
|
inline |
Definition at line 60 of file TMatrixDEigen.h.
Referenced by TMatrixT< Element >::EigenVectors().
|
inline |
Definition at line 59 of file TMatrixDEigen.h.
Referenced by TMatrixT< Element >::EigenVectors().
Nonsymmetric reduction to Hessenberg form.
This is derived from the Algol procedures orthes and ortran, by Martin and Wilkinson, Handbook for Auto. Comp., Vol.ii-Linear Algebra, and the corresponding Fortran subroutines in EISPACK.
Definition at line 104 of file TMatrixDEigen.cxx.
|
staticprotected |
Nonsymmetric reduction from Hessenberg to real Schur form.
This is derived from the Algol procedure hqr2, by Martin and Wilkinson, Handbook for Auto. Comp., Vol.ii-Linear Algebra, and the corresponding Fortran subroutine in EISPACK.
Definition at line 229 of file TMatrixDEigen.cxx.
TMatrixDEigen & TMatrixDEigen::operator= | ( | const TMatrixDEigen & | source | ) |
Assignment operator.
Definition at line 735 of file TMatrixDEigen.cxx.
Sort eigenvalues and corresponding vectors in descending order of Re^2+Im^2 of the complex eigenvalues .
Definition at line 694 of file TMatrixDEigen.cxx.
|
protected |
Definition at line 40 of file TMatrixDEigen.h.
Referenced by GetEigenValues(), GetEigenValuesIm(), and operator=().
|
protected |
Definition at line 39 of file TMatrixDEigen.h.
Referenced by GetEigenValues(), GetEigenValuesRe(), and operator=().
|
protected |
Definition at line 38 of file TMatrixDEigen.h.
Referenced by GetEigenValues(), GetEigenVectors(), and operator=().