library: libMatrix #include "TMatrixDSymEigen.h"

# TMatrixDSymEigen

class description - source file - inheritance tree (.ps)

## class TMatrixDSymEigen

| Inheritance Chart:

`TMatrixDSymEigen`

        protected:

          static void MakeEigenVectors(TMatrixD& v, TVectorD& d, TVectorD& e)
          static void MakeTridiagonal(TMatrixD& v, TVectorD& d, TVectorD& e)

        public:

                            TMatrixDSymEigen()
                            TMatrixDSymEigen(const TMatrixDSym& a)
                            TMatrixDSymEigen(const TMatrixDSymEigen& another)
                    virtual ~TMatrixDSymEigen()
             static TClass* Class()
            const TVectorD& GetEigenValues() const
            const TMatrixD& GetEigenVectors() const
            virtual TClass* IsA() const
          TMatrixDSymEigen& operator=(const TMatrixDSymEigen& source)
               virtual void ShowMembers(TMemberInspector& insp, char* parent)
               virtual void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          TMatrixD fEigenVectors  Eigen-vectors of matrix
          TVectorD fEigenValues   Eigen-values

        public:

          static const enum TMatrixDSymEigen:: kWorkMax

## Class Description

     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.

TMatrixDSymEigen(const TMatrixDSym &a)

TMatrixDSymEigen(const TMatrixDSymEigen &another)

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. Comp., Vol.ii-Linear Algebra, and the corresponding
     Fortran subroutine in EISPACK.

void MakeEigenVectors(TMatrixD &v,TVectorD &d,TVectorD &e)

     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.

### Inline Functions

                         void ~TMatrixDSymEigen()
             TMatrixDSymEigen TMatrixDSymEigen(const TMatrixDSymEigen& another)
              const TMatrixD& GetEigenVectors() const
              const TVectorD& GetEigenValues() const
            TMatrixDSymEigen& operator=(const TMatrixDSymEigen& source)
                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)

Last update: root/matrix:$Name: $:$Id: TMatrixDSymEigen.cxx,v 1.7 2004/03/19 14:20:40 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *