Warning, file /include/root/TMatrixDEigen.h was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TMatrixDEigen
0013 #define ROOT_TMatrixDEigen
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include "TMatrixD.h"
0024 #include "TVectorD.h"
0025
0026 class TMatrixDEigen
0027 {
0028 protected :
0029
0030 static void MakeHessenBerg (TMatrixD &v,TVectorD &ortho,TMatrixD &H);
0031 static void MakeSchurr (TMatrixD &v,TVectorD &d, TVectorD &e,TMatrixD &H);
0032 static void Sort (TMatrixD &v,TVectorD &d, TVectorD &e);
0033
0034 TMatrixD fEigenVectors;
0035 TVectorD fEigenValuesRe;
0036 TVectorD fEigenValuesIm;
0037
0038 public :
0039
0040 enum {kWorkMax = 100};
0041
0042 TMatrixDEigen()
0043 : fEigenVectors(), fEigenValuesRe(), fEigenValuesIm() {};
0044 TMatrixDEigen(const TMatrixD &a);
0045 TMatrixDEigen(const TMatrixDEigen &another);
0046 virtual ~TMatrixDEigen() {}
0047
0048
0049
0050
0051
0052
0053
0054
0055 const TMatrixD &GetEigenVectors () const { return fEigenVectors; }
0056 const TVectorD &GetEigenValuesRe() const { return fEigenValuesRe; }
0057 const TVectorD &GetEigenValuesIm() const { return fEigenValuesIm; }
0058 const TMatrixD GetEigenValues () const;
0059
0060 TMatrixDEigen &operator= (const TMatrixDEigen &source);
0061
0062 ClassDef(TMatrixDEigen,1)
0063 };
0064 #endif