70#include "CLHEP/Matrix/defs.h"
71#include "CLHEP/Matrix/GenMatrix.h"
72#include "CLHEP/Utility/thread_local.h"
118 const double &
fast(
int row,
int col)
const;
119 double &
fast(
int row,
int col);
193 double trace()
const;
265 std::vector<double > m;
267 std::vector<double,Alloc<double,25> > m;
272 static CLHEP_THREAD_LOCAL
double posDefFraction5x5;
273 static CLHEP_THREAD_LOCAL
double adjustment5x5;
274 static const double CHOLESKY_THRESHOLD_5x5;
275 static const double CHOLESKY_CREEP_5x5;
277 static CLHEP_THREAD_LOCAL
double posDefFraction6x6;
278 static CLHEP_THREAD_LOCAL
double adjustment6x6;
279 static const double CHOLESKY_THRESHOLD_6x6;
280 static const double CHOLESKY_CREEP_6x6;
282 void invert4 (
int & ifail);
283 void invert5 (
int & ifail);
284 void invert6 (
int & ifail);
341#ifdef ENABLE_BACKWARDS_COMPATIBILITY
343using namespace CLHEP;
346#ifndef HEP_DEBUG_INLINE
347#include "CLHEP/Matrix/SymMatrix.icc"
const double & operator[](int) const
HepSymMatrix_row_const(const HepSymMatrix &, int)
HepSymMatrix_row(HepSymMatrix &, int)
HepSymMatrix & operator*=(double t)
friend double condition(const HepSymMatrix &m)
friend void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row, int col)
double & fast(int row, int col)
void assign(const HepSymMatrix &hm2)
void invertHaywood5(int &ifail)
double determinant() const
void invertCholesky6(int &ifail)
void invertHaywood4(int &ifail)
HepSymMatrix_row operator[](int)
HepSymMatrix & operator+=(const HepSymMatrix &hm2)
void assign(const HepMatrix &hm2)
HepSymMatrix apply(double(*f)(double, int, int)) const
friend void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
friend HepMatrix diagonalize(HepSymMatrix *s)
friend void diag_step(HepSymMatrix *t, int begin, int end)
HepSymMatrix similarityT(const HepMatrix &hm1) const
HepSymMatrix & operator=(const HepSymMatrix &hm2)
const double & operator()(int row, int col) const
void invertCholesky5(int &ifail)
HepSymMatrix sub(int min_row, int max_row) const
friend HepMatrix operator*(const HepSymMatrix &hm1, const HepSymMatrix &hm2)
HepSymMatrix operator-() const
HepSymMatrix & operator-=(const HepSymMatrix &hm2)
void invertHaywood6(int &ifail)
HepSymMatrix inverse(int &ifail) const
HepSymMatrix similarity(const HepMatrix &hm1) const
friend HepSymMatrix vT_times_v(const HepVector &v)
void invertBunchKaufman(int &ifail)
const double & fast(int row, int col) const
double & operator()(int row, int col)
friend HepSymMatrix operator+(const HepSymMatrix &hm1, const HepSymMatrix &hm2)
friend HepVector house(const HepSymMatrix &a, int row, int col)
HepSymMatrix inverse() const
HepSymMatrix & operator/=(double t)
void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row=1, int col=1)
std::ostream & operator<<(std::ostream &s, const HepDiagMatrix &q)
HepVector house(const HepMatrix &a, int row=1, int col=1)
HepMatrix operator+(const HepMatrix &hm1, const HepDiagMatrix &d2)
HepMatrix operator-(const HepMatrix &hm1, const HepDiagMatrix &d2)
HepDiagMatrix operator/(const HepDiagMatrix &hm1, double t)
HepMatrix operator*(const HepMatrix &hm1, const HepDiagMatrix &hm2)
HepDiagMatrix dsum(const HepDiagMatrix &s1, const HepDiagMatrix &s2)
double condition(const HepSymMatrix &m)
HepMatrix diagonalize(HepSymMatrix *s)
void diag_step(HepSymMatrix *t, int begin, int end)