Go to the documentation of this file.
74 #include "CLHEP/Matrix/defs.h"
75 #include "CLHEP/Matrix/GenMatrix.h"
89 class HepSymMatrix :
public HepGenMatrix {
116 const double &
operator()(
int row,
int col)
const;
121 const double &
fast(
int row,
int col)
const;
122 double &
fast(
int row,
int col);
196 double trace()
const;
268 std::vector<double > m;
270 std::vector<double,Alloc<double,25> >
m;
275 static double posDefFraction5x5;
276 static double adjustment5x5;
277 static const double CHOLESKY_THRESHOLD_5x5;
278 static const double CHOLESKY_CREEP_5x5;
280 static double posDefFraction6x6;
281 static double adjustment6x6;
282 static const double CHOLESKY_THRESHOLD_6x6;
283 static const double CHOLESKY_CREEP_6x6;
285 void invert4 (
int & ifail);
286 void invert5 (
int & ifail);
287 void invert6 (
int & ifail);
296 std::ostream&
operator<<(std::ostream &s,
const HepSymMatrix &q);
299 HepMatrix
operator*(
const HepMatrix &hm1,
const HepSymMatrix &hm2);
300 HepMatrix
operator*(
const HepSymMatrix &hm1,
const HepMatrix &hm2);
301 HepMatrix
operator*(
const HepSymMatrix &hm1,
const HepSymMatrix &hm2);
302 HepSymMatrix
operator*(
double t,
const HepSymMatrix &s1);
303 HepSymMatrix
operator*(
const HepSymMatrix &s1,
double t);
307 HepSymMatrix
operator/(
const HepSymMatrix &hm1,
double t);
310 HepMatrix
operator+(
const HepMatrix &hm1,
const HepSymMatrix &s2);
311 HepMatrix
operator+(
const HepSymMatrix &s1,
const HepMatrix &hm2);
312 HepSymMatrix
operator+(
const HepSymMatrix &s1,
const HepSymMatrix &s2);
315 HepMatrix
operator-(
const HepMatrix &hm1,
const HepSymMatrix &s2);
316 HepMatrix
operator-(
const HepSymMatrix &hm1,
const HepMatrix &hm2);
317 HepSymMatrix
operator-(
const HepSymMatrix &s1,
const HepSymMatrix &s2);
320 HepSymMatrix
dsum(
const HepSymMatrix &s1,
const HepSymMatrix &s2);
326 void diag_step(HepSymMatrix *t,
int begin,
int end);
327 void diag_step(HepSymMatrix *t, HepMatrix *u,
int begin,
int end);
334 HepVector
house(
const HepSymMatrix &
a,
int row=1,
int col=1);
344 #ifdef ENABLE_BACKWARDS_COMPATIBILITY
346 using namespace CLHEP;
349 #ifndef HEP_DEBUG_INLINE
350 #include "CLHEP/Matrix/SymMatrix.icc"
HepSymMatrix_row operator[](int)
HepVector house(const HepMatrix &a, int row=1, int col=1)
friend HepSymMatrix operator+(const HepSymMatrix &hm1, const HepSymMatrix &hm2)
void invertCholesky6(int &ifail)
HepSymMatrix & operator/=(double t)
friend void diag_step(HepSymMatrix *t, int begin, int end)
double condition(const HepSymMatrix &m)
HepSymMatrix & operator*=(double t)
HepSymMatrix sub(int min_row, int max_row) const
void invertHaywood5(int &ifail)
friend void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row, int col)
void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row=1, int col=1)
void assign(const HepMatrix &hm2)
friend class HepSymMatrix_row_const
HepSymMatrix_row_const(const HepSymMatrix &, int)
void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
HepSymMatrix & operator=(const HepSymMatrix &hm2)
HepSymMatrix inverse() const
friend HepSymMatrix vT_times_v(const HepVector &v)
friend HepVector house(const HepSymMatrix &a, int row, int col)
HepSymMatrix operator-() const
HepSymMatrix & operator+=(const HepSymMatrix &hm2)
HepMatrix diagonalize(HepSymMatrix *s)
HepLorentzVector operator/(const HepLorentzVector &, double a)
Hep3Vector operator-(const Hep3Vector &, const Hep3Vector &)
void invertHaywood4(int &ifail)
const double & operator[](int) const
they are gone ZOOM Features Discontinued The following features of the ZOOM package were felt to be extreme overkill These have been after checking that no existing user code was utilizing as in SpaceVector v
HepSymMatrix_row(HepSymMatrix &, int)
HepSymMatrix & operator-=(const HepSymMatrix &hm2)
void invertCholesky5(int &ifail)
const double & operator()(int row, int col) const
friend class HepSymMatrix_row
double determinant() const
const double & fast(int row, int col) const
friend double condition(const HepSymMatrix &m)
Hep3Vector operator+(const Hep3Vector &, const Hep3Vector &)
HepSymMatrix similarityT(const HepMatrix &hm1) const
friend class HepDiagMatrix
HepSymMatrix apply(double(*f)(double, int, int)) const
HepSymMatrix similarity(const HepMatrix &hm1) const
friend HepMatrix operator*(const HepSymMatrix &hm1, const HepSymMatrix &hm2)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
void invertBunchKaufman(int &ifail)
void invertHaywood6(int &ifail)
HepLorentzRotation operator*(const HepRotation &r, const HepLorentzRotation <)
friend void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
HepDiagMatrix dsum(const HepDiagMatrix &s1, const HepDiagMatrix &s2)
void diag_step(HepSymMatrix *t, int begin, int end)
friend HepMatrix diagonalize(HepSymMatrix *s)