ROOT
6.10/00
Reference Guide
ROOT Home Page
Main Page
Tutorials
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
math
matrix
inc
TMatrixDSymEigen.h
Go to the documentation of this file.
1
// @(#)root/matrix:$Id$
2
// Authors: Fons Rademakers, Eddy Offermann Dec 2003
3
4
/*************************************************************************
5
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6
* All rights reserved. *
7
* *
8
* For the licensing terms see $ROOTSYS/LICENSE. *
9
* For the list of contributors see $ROOTSYS/README/CREDITS. *
10
*************************************************************************/
11
12
#ifndef ROOT_TMatrixDSymEigen
13
#define ROOT_TMatrixDSymEigen
14
15
//////////////////////////////////////////////////////////////////////////
16
// //
17
// TMatrixDSymEigen //
18
// //
19
// Eigenvalues and eigenvectors of a real symmetric matrix. //
20
// //
21
//////////////////////////////////////////////////////////////////////////
22
23
#include "
TMatrixD.h
"
24
#include "
TMatrixDSym.h
"
25
#include "
TVectorD.h
"
26
27
class
TMatrixDSymEigen
28
{
29
protected
:
30
31
static
void
MakeTridiagonal
(
TMatrixD
&
v
,
TVectorD
&d,
TVectorD
&
e
);
32
static
void
MakeEigenVectors
(
TMatrixD
&v,
TVectorD
&d,
TVectorD
&e);
33
34
TMatrixD
fEigenVectors
;
// Eigen-vectors of matrix
35
TVectorD
fEigenValues
;
// Eigen-values
36
37
public
:
38
39
enum
{
kWorkMax
= 100};
// size of work array
40
41
TMatrixDSymEigen
() :
fEigenVectors
(),
fEigenValues
() {};
42
TMatrixDSymEigen
(
const
TMatrixDSym
&
a
);
43
TMatrixDSymEigen
(
const
TMatrixDSymEigen
&another);
44
virtual
~TMatrixDSymEigen
() {}
45
46
// If matrix A has shape (rowLwb,rowUpb,rowLwb,rowUpb), then each eigen-vector
47
// must have an index running between (rowLwb,rowUpb) .
48
// For convenience, the column index of the eigen-vector matrix
49
// also runs from rowLwb to rowUpb so that the returned matrix
50
// has also index/shape (rowLwb,rowUpb,rowLwb,rowUpb) .
51
// The same is true for the eigen-value vector .
52
53
const
TMatrixD
&
GetEigenVectors
()
const
{
return
fEigenVectors
; }
54
const
TVectorD
&
GetEigenValues
()
const
{
return
fEigenValues
; }
55
56
TMatrixDSymEigen
&
operator=
(
const
TMatrixDSymEigen
&source);
57
58
ClassDef
(
TMatrixDSymEigen
,1)
// Eigen-Vectors/Values of a Matrix
59
};
60
#endif
TMatrixDSymEigen::GetEigenValues
const TVectorD & GetEigenValues() const
Definition:
TMatrixDSymEigen.h:54
TMatrixDSymEigen::MakeEigenVectors
static void MakeEigenVectors(TMatrixD &v, TVectorD &d, TVectorD &e)
Symmetric tridiagonal QL algorithm.
Definition:
TMatrixDSymEigen.cxx:201
TMatrixDSymEigen::TMatrixDSymEigen
TMatrixDSymEigen()
Definition:
TMatrixDSymEigen.h:41
TVectorT< Double_t >
TMatrixDSymEigen::operator=
TMatrixDSymEigen & operator=(const TMatrixDSymEigen &source)
Assignment operator.
Definition:
TMatrixDSymEigen.cxx:328
a
TArc * a
Definition:
textangle.C:12
TMatrixDSymEigen
TMatrixDSymEigen.
Definition:
TMatrixDSymEigen.h:27
TMatrixT< Double_t >
TVectorD.h
ClassDef
#define ClassDef(name, id)
Definition:
Rtypes.h:297
TMatrixDSym.h
TMatrixTSym< Double_t >
v
SVector< double, 2 > v
Definition:
Dict.h:5
TMatrixDSymEigen::kWorkMax
Definition:
TMatrixDSymEigen.h:39
TMatrixDSymEigen::MakeTridiagonal
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.
Definition:
TMatrixDSymEigen.cxx:71
TMatrixDSymEigen::GetEigenVectors
const TMatrixD & GetEigenVectors() const
Definition:
TMatrixDSymEigen.h:53
e
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
Definition:
TRolke.cxx:630
TMatrixDSymEigen::fEigenValues
TVectorD fEigenValues
Definition:
TMatrixDSymEigen.h:35
TMatrixD.h
TMatrixDSymEigen::fEigenVectors
TMatrixD fEigenVectors
Definition:
TMatrixDSymEigen.h:34
TMatrixDSymEigen::~TMatrixDSymEigen
virtual ~TMatrixDSymEigen()
Definition:
TMatrixDSymEigen.h:44