189#include "CLHEP/Matrix/defs.h"
190#include "CLHEP/Matrix/GenMatrix.h"
238 virtual const double &
operator()(
int row,
int col)
const;
239 virtual double &
operator()(
int row,
int col);
276 HepMatrix sub(
int min_row,
int max_row,
int min_col,
int max_col)
const;
290 virtual void invert(
int& ierr);
306 double trace()
const;
372 double s,
int k1,
int k2,
373 int rowmin,
int rowmax);
376 double s,
int k1,
int k2,
377 int colmin,
int colmax);
386 int dfact_matrix(
double &det,
int *ir);
391 int dfinv_matrix(
int *ir);
395 std::vector<double > m;
397 std::vector<double,Alloc<double,25> > m;
463 int row,
int col,
int row_start,
int col_start);
465 int row_start,
int col_start);
469 int k1,
int k2,
int row_min=1,
int row_max=0);
473 int k1,
int k2,
int col_min=1,
int col_max=0);
476void givens(
double a,
double b,
double *c,
double *s);
487 int row=1,
int col=1);
489 int row,
int col,
int row_start,
int col_start);
491 int row_start,
int col_start);
496#ifdef ENABLE_BACKWARDS_COMPATIBILITY
498using namespace CLHEP;
501#ifndef HEP_DEBUG_INLINE
502#include "CLHEP/Matrix/Matrix.icc"
HepMatrix_row_const(const HepMatrix &, int)
const double & operator[](int) const
HepMatrix_row(HepMatrix &, int)
friend HepVector house(const HepMatrix &a, int row, int col)
friend void house_with_update2(HepSymMatrix *a, HepMatrix *v, int row, int col)
friend HepMatrix operator+(const HepMatrix &hm1, const HepMatrix &hm2)
virtual void invertHaywood4(int &ierr)
HepMatrix sub(int min_row, int max_row, int min_col, int max_col) const
HepMatrix & operator=(const HepMatrix &)
friend void row_house(HepMatrix *, const HepMatrix &, double, int, int, int, int)
friend void tridiagonal(HepSymMatrix *a, HepMatrix *hsm)
friend HepVector solve(const HepMatrix &, const HepVector &)
HepMatrix apply(double(*f)(double, int, int)) const
friend void col_givens(HepMatrix *A, double c, double s, int k1, int k2, int rowmin, int rowmax)
virtual int num_col() const
virtual const double & operator()(int row, int col) const
HepMatrix & operator/=(double t)
virtual int num_row() const
friend void row_givens(HepMatrix *A, double c, double s, int k1, int k2, int colmin, int colmax)
HepMatrix & operator+=(const HepMatrix &)
HepMatrix_row operator[](int)
friend void swap(HepMatrix &hm1, HepMatrix &hm2)
HepMatrix operator-() const
HepMatrix & operator*=(double t)
friend void house_with_update(HepMatrix *a, int row, int col)
HepMatrix & operator-=(const HepMatrix &)
friend void col_house(HepMatrix *, const HepMatrix &, double, int, int, int, int)
double determinant() const
friend HepMatrix operator*(const HepMatrix &hm1, const HepMatrix &hm2)
virtual void invertHaywood6(int &ierr)
friend HepVector qr_solve(HepMatrix *, const HepVector &)
virtual int num_size() const
HepMatrix inverse(int &ierr) const
HepMatrix inverse() const
virtual void invertHaywood5(int &ierr)
friend void back_solve(const HepMatrix &R, HepVector *b)
void col_house(HepMatrix *a, const HepMatrix &v, double vnormsq, int row, int col, int row_start, int col_start)
HepVector qr_solve(const HepMatrix &A, const HepVector &b)
HepMatrix qr_inverse(const HepMatrix &A)
void house_with_update(HepMatrix *a, int row=1, int col=1)
void back_solve(const HepMatrix &R, HepVector *b)
void qr_decomp(HepMatrix *A, HepMatrix *hsm)
std::ostream & operator<<(std::ostream &s, const HepDiagMatrix &q)
HepVector house(const HepMatrix &a, int row=1, int col=1)
void row_givens(HepMatrix *A, double c, double s, int k1, int k2, int col_min=1, int col_max=0)
HepMatrix operator+(const HepMatrix &hm1, const HepDiagMatrix &d2)
HepMatrix operator-(const HepMatrix &hm1, const HepDiagMatrix &d2)
void givens(double a, double b, double *c, double *s)
HepDiagMatrix operator/(const HepDiagMatrix &hm1, double t)
HepMatrix operator*(const HepMatrix &hm1, const HepDiagMatrix &hm2)
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)
void row_house(HepMatrix *a, const HepVector &v, double vnormsq, int row=1, int col=1)
HepVector solve(const HepMatrix &, const HepVector &)