Logo ROOT  
Reference Guide
TMatrixDSymEigen Class Reference

TMatrixDSymEigen.

Eigenvalues and eigenvectors of a real symmetric matrix.

If A is symmetric, then A = V*D*V' where the eigenvalue matrix D is diagonal and the eigenvector matrix V is orthogonal. That is, the diagonal values of D are the eigenvalues, and V*V' = I, where I is the identity matrix. The columns of V represent the eigenvectors in the sense that A*V = V*D.

Definition at line 27 of file TMatrixDSymEigen.h.

Public Types

enum  { kWorkMax = 100 }
 

Public Member Functions

 TMatrixDSymEigen ()
 
 TMatrixDSymEigen (const TMatrixDSym &a)
 Constructor for eigen-problem of symmetric matrix A . More...
 
 TMatrixDSymEigen (const TMatrixDSymEigen &another)
 Copy constructor. More...
 
virtual ~TMatrixDSymEigen ()
 
const TVectorDGetEigenValues () const
 
const TMatrixDGetEigenVectors () const
 
TMatrixDSymEigenoperator= (const TMatrixDSymEigen &source)
 Assignment operator. More...
 

Static Protected Member Functions

static void MakeEigenVectors (TMatrixD &v, TVectorD &d, TVectorD &e)
 Symmetric tridiagonal QL algorithm. More...
 
static void MakeTridiagonal (TMatrixD &v, TVectorD &d, TVectorD &e)
 This is derived from the Algol procedures tred2 by Bowdler, Martin, Reinsch, and Wilkinson, Handbook for Auto. More...
 

Protected Attributes

TVectorD fEigenValues
 
TMatrixD fEigenVectors
 

#include <TMatrixDSymEigen.h>

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
kWorkMax 

Definition at line 39 of file TMatrixDSymEigen.h.

Constructor & Destructor Documentation

◆ TMatrixDSymEigen() [1/3]

TMatrixDSymEigen::TMatrixDSymEigen ( )
inline

Definition at line 41 of file TMatrixDSymEigen.h.

◆ TMatrixDSymEigen() [2/3]

TMatrixDSymEigen::TMatrixDSymEigen ( const TMatrixDSym a)

Constructor for eigen-problem of symmetric matrix A .

Definition at line 34 of file TMatrixDSymEigen.cxx.

◆ TMatrixDSymEigen() [3/3]

TMatrixDSymEigen::TMatrixDSymEigen ( const TMatrixDSymEigen another)

Copy constructor.

Definition at line 61 of file TMatrixDSymEigen.cxx.

◆ ~TMatrixDSymEigen()

virtual TMatrixDSymEigen::~TMatrixDSymEigen ( )
inlinevirtual

Definition at line 44 of file TMatrixDSymEigen.h.

Member Function Documentation

◆ GetEigenValues()

const TVectorD& TMatrixDSymEigen::GetEigenValues ( ) const
inline

Definition at line 54 of file TMatrixDSymEigen.h.

◆ GetEigenVectors()

const TMatrixD& TMatrixDSymEigen::GetEigenVectors ( ) const
inline

Definition at line 53 of file TMatrixDSymEigen.h.

◆ MakeEigenVectors()

void TMatrixDSymEigen::MakeEigenVectors ( TMatrixD v,
TVectorD d,
TVectorD e 
)
staticprotected

Symmetric tridiagonal QL algorithm.

This is derived from the Algol procedures tql2, by Bowdler, Martin, Reinsch, and Wilkinson, Handbook for Auto. Comp., Vol.ii-Linear Algebra, and the corresponding Fortran subroutine in EISPACK.

Definition at line 201 of file TMatrixDSymEigen.cxx.

◆ MakeTridiagonal()

void TMatrixDSymEigen::MakeTridiagonal ( TMatrixD v,
TVectorD d,
TVectorD e 
)
staticprotected

This is derived from the Algol procedures tred2 by Bowdler, Martin, Reinsch, and Wilkinson, Handbook for Auto.

Comp., Vol.ii-Linear Algebra, and the corresponding Fortran subroutine in EISPACK.

Definition at line 71 of file TMatrixDSymEigen.cxx.

◆ operator=()

TMatrixDSymEigen & TMatrixDSymEigen::operator= ( const TMatrixDSymEigen source)

Assignment operator.

Definition at line 328 of file TMatrixDSymEigen.cxx.

Member Data Documentation

◆ fEigenValues

TVectorD TMatrixDSymEigen::fEigenValues
protected

Definition at line 35 of file TMatrixDSymEigen.h.

◆ fEigenVectors

TMatrixD TMatrixDSymEigen::fEigenVectors
protected

Definition at line 34 of file TMatrixDSymEigen.h.

Libraries for TMatrixDSymEigen:
[legend]

The documentation for this class was generated from the following files: