193 #include "CLHEP/Matrix/defs.h" 194 #include "CLHEP/Matrix/GenMatrix.h" 209 class HepMatrix :
public HepGenMatrix {
242 virtual const double &
operator()(
int row,
int col)
const;
243 virtual double &
operator()(
int row,
int col);
280 HepMatrix sub(
int min_row,
int max_row,
int min_col,
int max_col)
const;
294 virtual void invert(
int& ierr);
310 double trace()
const;
376 double s,
int k1,
int k2,
377 int rowmin,
int rowmax);
380 double s,
int k1,
int k2,
381 int colmin,
int colmax);
390 int dfact_matrix(
double &det,
int *ir);
395 int dfinv_matrix(
int *ir);
399 std::vector<double >
m;
401 std::vector<double,Alloc<double,25> > m;
467 int row,
int col,
int row_start,
int col_start);
469 int row_start,
int col_start);
473 int k1,
int k2,
int row_min=1,
int row_max=0);
477 int k1,
int k2,
int col_min=1,
int col_max=0);
480 void givens(
double a,
double b,
double *c,
double *s);
491 int row=1,
int col=1);
493 int row,
int col,
int row_start,
int col_start);
495 int row_start,
int col_start);
500 #ifdef ENABLE_BACKWARDS_COMPATIBILITY 502 using namespace CLHEP;
505 #ifndef HEP_DEBUG_INLINE 506 #include "CLHEP/Matrix/Matrix.icc"
HepMatrix_row(HepMatrix &, int)
friend void col_givens(HepMatrix *A, double c, double s, int k1, int k2, int rowmin, int rowmax)
friend HepVector house(const HepMatrix &a, int row, int col)
virtual void invertHaywood5(int &ierr)
HepMatrix qr_inverse(const HepMatrix &A)
HepMatrix & operator=(const HepMatrix &)
friend void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
HepLorentzVector operator/(const HepLorentzVector &, double a)
HepMatrix apply(double(*f)(double, int, int)) const
HepMatrix operator-() const
friend void row_givens(HepMatrix *A, double c, double s, int k1, int k2, int colmin, int colmax)
friend HepMatrix operator+(const HepMatrix &hm1, const HepMatrix &hm2)
void qr_decomp(HepMatrix *A, HepMatrix *hsm)
HepMatrix sub(int min_row, int max_row, int min_col, int max_col) const
friend HepMatrix operator*(const HepMatrix &hm1, const HepMatrix &hm2)
friend void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row, int col)
friend void row_house(HepMatrix *, const HepMatrix &, double, int, int, int, int)
friend void col_house(HepMatrix *, const HepMatrix &, double, int, int, int, int)
virtual void invertHaywood6(int &ierr)
HepDiagMatrix dsum(const HepDiagMatrix &s1, const HepDiagMatrix &s2)
virtual int num_col() const
HepMatrix inverse() const
HepMatrix & operator/=(double t)
friend class HepSymMatrix
friend class HepMatrix_row_const
HepMatrix & operator*=(double t)
virtual int num_size() const
void givens(double a, double b, double *c, double *s)
friend HepVector solve(const HepMatrix &, const HepVector &)
friend void swap(HepMatrix &hm1, HepMatrix &hm2)
friend class HepDiagMatrix
friend class HepMatrix_row
virtual const double & operator()(int row, int col) const
virtual void invertHaywood4(int &ierr)
virtual int num_row() const
HepMatrix & operator-=(const HepMatrix &)
friend void house_with_update(HepMatrix *a, int row, int col)
double determinant() const
HepMatrix & operator+=(const HepMatrix &)
std::ostream & operator<<(std::ostream &os, const HepAxisAngle &aa)
friend void back_solve(const HepMatrix &R, HepVector *b)
friend HepVector qr_solve(HepMatrix *, const HepVector &)