193 #include "CLHEP/Matrix/defs.h"
194 #include "CLHEP/Matrix/GenMatrix.h"
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 apply(double(*f)(double, int, int)) const
HepVector solve(const HepMatrix &, const HepVector &)
HepMatrix operator-() const
Hep3Vector operator+(const Hep3Vector &, const Hep3Vector &)
HepMatrix_row(HepMatrix &, int)
void row_givens(HepMatrix *A, double c, double s, int k1, int k2, int col_min=1, int col_max=0)
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)
void row_house(HepMatrix *a, const HepVector &v, double vnormsq, int row=1, int col=1)
void house_with_update(HepMatrix *a, int row=1, int col=1)
HepMatrix qr_inverse(const HepMatrix &A)
HepMatrix & operator=(const HepMatrix &)
virtual int num_col() const
virtual const double & operator()(int row, int col) const
HepMatrix_row_const(const HepMatrix &, int)
void col_house(HepMatrix *a, const HepMatrix &v, double vnormsq, int row, int col, int row_start, int col_start)
friend void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
HepLorentzVector operator/(const HepLorentzVector &, double a)
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)
friend HepMatrix operator*(const HepMatrix &hm1, const HepMatrix &hm2)
friend void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row, int col)
double determinant() const
HepVector house(const HepMatrix &a, int row=1, int col=1)
friend void row_house(HepMatrix *, const HepMatrix &, double, int, int, int, int)
HepLorentzRotation operator*(const HepRotation &r, const HepLorentzRotation <)
friend void col_house(HepMatrix *, const HepMatrix &, double, int, int, int, int)
virtual void invertHaywood6(int &ierr)
HepMatrix inverse() const
HepDiagMatrix dsum(const HepDiagMatrix &s1, const HepDiagMatrix &s2)
void col_givens(HepMatrix *A, double c, double s, int k1, int k2, int row_min=1, int row_max=0)
const double & operator[](int) const
HepMatrix & operator/=(double t)
void back_solve(const HepMatrix &R, HepVector *b)
HepMatrix & operator*=(double t)
HepMatrix_row operator[](int)
void givens(double a, double b, double *c, double *s)
friend HepVector solve(const HepMatrix &, const HepVector &)
friend void swap(HepMatrix &hm1, HepMatrix &hm2)
HepVector qr_solve(const HepMatrix &A, const HepVector &b)
virtual void invertHaywood4(int &ierr)
Hep3Vector operator-(const Hep3Vector &, const Hep3Vector &)
HepMatrix sub(int min_row, int max_row, int min_col, int max_col) const
HepMatrix & operator-=(const HepMatrix &)
friend void house_with_update(HepMatrix *a, int row, int col)
HepMatrix & operator+=(const HepMatrix &)
virtual int num_row() const
virtual int num_size() const
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 &)