EigenSystem Class Template Reference

#include <MatrixDiag.hh>

List of all members.


Detailed Description

template<size_t N>
class Rivet::EigenSystem< N >

Handy object containing results of a diagonalization.

Definition at line 49 of file MatrixDiag.hh.


Public Types

typedef pair< double, Vector< N > > EigenPair
typedef vector< EigenPairEigenPairs

Public Member Functions

Vector< N > getDiagVector () const
Matrix< N > getDiagMatrix () const
EigenPairs getEigenPairs () const
vector< double > getEigenValues () const
vector< Vector< N > > getEigenVectors () const

Private Attributes

EigenPairs _eigenPairs

Friends

template<size_t M>
EigenSystem< M > diagonalize (const Matrix< M > &)

Member Typedef Documentation

typedef pair<double, Vector<N> > EigenPair

Definition at line 54 of file MatrixDiag.hh.

typedef vector<EigenPair> EigenPairs

Definition at line 55 of file MatrixDiag.hh.


Member Function Documentation

Vector<N> getDiagVector (  )  const [inline]

Definition at line 57 of file MatrixDiag.hh.

References EigenSystem::_eigenPairs.

Referenced by EigenSystem::getDiagMatrix().

00057                                   {
00058     assert(_eigenPairs.size() == N);
00059     Vector<N> ret;
00060     for (size_t i = 0; i < N; ++i) {
00061       ret.set(i, _eigenPairs[i].first);
00062     }
00063     return ret;
00064   }

Matrix<N> getDiagMatrix (  )  const [inline]

Definition at line 66 of file MatrixDiag.hh.

References EigenSystem::getDiagVector().

Referenced by Sphericity::_calcSphericity().

00066                                   {
00067     return Matrix<N>::mkDiag(getDiagVector());
00068   }

EigenPairs getEigenPairs (  )  const [inline]

Definition at line 70 of file MatrixDiag.hh.

References EigenSystem::_eigenPairs.

Referenced by Sphericity::_calcSphericity().

00070                                    {
00071     return _eigenPairs;
00072   }

vector<double> getEigenValues (  )  const [inline]

Definition at line 74 of file MatrixDiag.hh.

References EigenSystem::_eigenPairs.

00074                                         {
00075     assert(_eigenPairs.size() == N);
00076     vector<double> ret;
00077     for (size_t i = 0; i < N; ++i) {
00078       ret.push_back(_eigenPairs[i].first);
00079     }
00080     return ret;
00081   }

vector<Vector<N> > getEigenVectors (  )  const [inline]

Definition at line 83 of file MatrixDiag.hh.

References EigenSystem::_eigenPairs, and Rivet::second.

00083                                              {
00084     assert(_eigenPairs.size() == N);
00085     vector<Vector<N> > ret;
00086     for (size_t i = 0; i < N; ++i) {
00087       ret.push_back(_eigenPairs[i].second);
00088     }
00089     return ret;
00090   }


Friends And Related Function Documentation

EigenSystem<M> diagonalize ( const Matrix< M > &   )  [friend]


Member Data Documentation


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