CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

CLHEP::HepMatrix Class Reference

#include <Matrix.h>

Inheritance diagram for CLHEP::HepMatrix:

CLHEP::HepGenMatrix List of all members.

Public Member Functions

 HepMatrix ()
 HepMatrix (int p, int q)
 HepMatrix (int p, int q, int i)
 HepMatrix (int p, int q, HepRandom &r)
 HepMatrix (const HepMatrix &m1)
 HepMatrix (const HepSymMatrix &m1)
 HepMatrix (const HepDiagMatrix &m1)
 HepMatrix (const HepVector &m1)
virtual ~HepMatrix ()
virtual int num_row () const
virtual int num_col () const
virtual const double & operator() (int row, int col) const
virtual double & operator() (int row, int col)
HepMatrixoperator *= (double t)
HepMatrixoperator/= (double t)
HepMatrixoperator+= (const HepMatrix &m2)
HepMatrixoperator+= (const HepSymMatrix &m2)
HepMatrixoperator+= (const HepDiagMatrix &m2)
HepMatrixoperator+= (const HepVector &m2)
HepMatrixoperator-= (const HepMatrix &m2)
HepMatrixoperator-= (const HepSymMatrix &m2)
HepMatrixoperator-= (const HepDiagMatrix &m2)
HepMatrixoperator-= (const HepVector &m2)
HepMatrixoperator= (const HepMatrix &m2)
HepMatrixoperator= (const HepSymMatrix &m2)
HepMatrixoperator= (const HepDiagMatrix &m2)
HepMatrixoperator= (const HepVector &m2)
HepMatrixoperator= (const HepRotation &m2)
HepMatrix operator- () const
HepMatrix apply (double(*f)(double, int, int)) const
HepMatrix T () const
HepMatrix sub (int min_row, int max_row, int min_col, int max_col) const
void sub (int row, int col, const HepMatrix &m1)
HepMatrix inverse (int &ierr) const
virtual void invert (int &ierr)
void invert ()
HepMatrix inverse () const
double determinant () const
double trace () const
HepMatrix_row operator[] (int)
const HepMatrix_row_const operator[] (int) const

Protected Member Functions

virtual int num_size () const
virtual void invertHaywood4 (int &ierr)
virtual void invertHaywood5 (int &ierr)
virtual void invertHaywood6 (int &ierr)

Friends

class HepMatrix_row
class HepMatrix_row_const
class HepVector
class HepSymMatrix
class HepDiagMatrix
void swap (HepMatrix &m1, HepMatrix &m2)
HepMatrix operator+ (const HepMatrix &m1, const HepMatrix &m2)
HepMatrix operator- (const HepMatrix &m1, const HepMatrix &m2)
HepMatrix operator * (const HepMatrix &m1, const HepMatrix &m2)
HepMatrix operator * (const HepMatrix &m1, const HepSymMatrix &m2)
HepMatrix operator * (const HepMatrix &m1, const HepDiagMatrix &m2)
HepMatrix operator * (const HepSymMatrix &m1, const HepMatrix &m2)
HepMatrix operator * (const HepDiagMatrix &m1, const HepMatrix &m2)
HepMatrix operator * (const HepVector &m1, const HepMatrix &m2)
HepVector operator * (const HepMatrix &m1, const HepVector &m2)
HepMatrix operator * (const HepSymMatrix &m1, const HepSymMatrix &m2)
HepVector solve (const HepMatrix &, const HepVector &)
HepVector qr_solve (HepMatrix *, const HepVector &)
HepMatrix qr_solve (HepMatrix *, const HepMatrix &b)
void tridiagonal (HepSymMatrix *a, HepMatrix *hsm)
void row_house (HepMatrix *, const HepMatrix &, double, int, int, int, int)
void row_house (HepMatrix *, const HepVector &, double, int, int)
void back_solve (const HepMatrix &R, HepVector *b)
void back_solve (const HepMatrix &R, HepMatrix *b)
void col_givens (HepMatrix *A, double c, double s, int k1, int k2, int rowmin, int rowmax)
void row_givens (HepMatrix *A, double c, double s, int k1, int k2, int colmin, int colmax)
void col_house (HepMatrix *, const HepMatrix &, double, int, int, int, int)
HepVector house (const HepMatrix &a, int row, int col)
void house_with_update (HepMatrix *a, int row, int col)
void house_with_update (HepMatrix *a, HepMatrix *v, int row, int col)
void house_with_update2 (HepSymMatrix *a, HepMatrix *v, int row, int col)

Classes

class  HepMatrix_row
class  HepMatrix_row_const

Detailed Description

Author:

Definition at line 209 of file Matrix.h.


Constructor & Destructor Documentation

CLHEP::HepMatrix::HepMatrix (  )  [inline]

CLHEP::HepMatrix::HepMatrix ( int  p,
int  q 
)

Definition at line 63 of file Matrix.cc.

CLHEP::HepMatrix::HepMatrix ( int  p,
int  q,
int  i 
)

Definition at line 69 of file Matrix.cc.

References a, and CLHEP::HepGenMatrix::error().

CLHEP::HepMatrix::HepMatrix ( int  p,
int  q,
HepRandom r 
)

Definition at line 96 of file Matrix.cc.

References a, and b.

CLHEP::HepMatrix::HepMatrix ( const HepMatrix m1  ) 

Definition at line 111 of file Matrix.cc.

References m.

CLHEP::HepMatrix::HepMatrix ( const HepSymMatrix m1  ) 

Definition at line 147 of file Matrix.cc.

References CLHEP::HepSymMatrix::m.

CLHEP::HepMatrix::HepMatrix ( const HepDiagMatrix m1  ) 

Definition at line 166 of file Matrix.cc.

References CLHEP::HepDiagMatrix::m, CLHEP::detail::n, and num_row().

CLHEP::HepMatrix::HepMatrix ( const HepVector m1  ) 

Definition at line 180 of file Matrix.cc.

References CLHEP::HepVector::m.

CLHEP::HepMatrix::~HepMatrix (  )  [virtual]

Definition at line 108 of file Matrix.cc.


Member Function Documentation

HepMatrix CLHEP::HepMatrix::apply ( double(*)(double, int, int)  f  )  const

Definition at line 476 of file Matrix.cc.

Referenced by main().

double CLHEP::HepMatrix::determinant (  )  const

Definition at line 815 of file Matrix.cc.

References dfact_matrix(), and CLHEP::HepGenMatrix::error().

HepMatrix CLHEP::HepMatrix::inverse (  )  const [inline]

HepMatrix CLHEP::HepMatrix::inverse ( int &  ierr  )  const [inline]

Referenced by main().

void CLHEP::HepMatrix::invert (  )  [inline]

void CLHEP::HepMatrix::invert ( int &  ierr  )  [virtual]

Implements CLHEP::HepGenMatrix.

Definition at line 707 of file Matrix.cc.

References CLHEP::HepGenMatrix::error(), invertHaywood4(), invertHaywood5(), and invertHaywood6().

Referenced by test_inversion().

void CLHEP::HepMatrix::invertHaywood4 ( int &  ierr  )  [protected, virtual]

Definition at line 116 of file MatrixInvert.cc.

References F00, F01, F02, F03, F10, F11, F12, F13, F20, F21, F22, F23, F30, F31, F32, and F33.

Referenced by invert().

void CLHEP::HepMatrix::invertHaywood5 ( int &  ierr  )  [protected, virtual]

Definition at line 220 of file MatrixInvert.cc.

References M00, M01, M02, M03, M04, M10, M11, M12, M13, M14, M20, M21, M22, M23, M24, M30, M31, M32, M33, M34, M40, M41, M42, M43, and M44.

Referenced by invert().

void CLHEP::HepMatrix::invertHaywood6 ( int &  ierr  )  [protected, virtual]

Definition at line 446 of file MatrixInvert.cc.

References A00, A01, A02, A03, A04, A05, A10, A11, A12, A13, A14, A15, A20, A21, A22, A23, A24, A25, A30, A31, A32, A33, A34, A35, A40, A41, A42, A43, A44, A45, A50, A51, A52, A53, A54, and A55.

Referenced by invert().

int CLHEP::HepMatrix::num_col (  )  const [virtual]

Implements CLHEP::HepGenMatrix.

Definition at line 122 of file Matrix.cc.

Referenced by CLHEP::back_solve(), CLHEP::col_givens(), CLHEP::col_house(), CLHEP::dsum(), CLHEP::HepVector::HepVector(), CLHEP::house_with_update(), CLHEP::house_with_update2(), CLHEP::operator *(), operator()(), CLHEP::HepVector::operator+=(), operator+=(), CLHEP::operator-(), CLHEP::HepVector::operator-=(), operator-=(), CLHEP::operator<<(), CLHEP::HepVector::operator=(), CLHEP::qr_decomp(), CLHEP::qr_inverse(), CLHEP::qr_solve(), CLHEP::row_givens(), CLHEP::row_house(), sub(), and CLHEP::tridiagonal().

int CLHEP::HepMatrix::num_row (  )  const [virtual]

Implements CLHEP::HepGenMatrix.

Definition at line 120 of file Matrix.cc.

Referenced by CLHEP::HepDiagMatrix::assign(), CLHEP::col_givens(), CLHEP::dsum(), HepMatrix(), CLHEP::operator *(), operator()(), CLHEP::HepVector::operator+=(), operator+=(), CLHEP::operator-(), CLHEP::HepVector::operator-=(), operator-=(), CLHEP::operator<<(), CLHEP::qr_decomp(), CLHEP::qr_inverse(), sub(), and CLHEP::tridiagonal().

int CLHEP::HepMatrix::num_size (  )  const [protected, virtual]

Implements CLHEP::HepGenMatrix.

Definition at line 124 of file Matrix.cc.

Referenced by CLHEP::operator *().

HepMatrix & CLHEP::HepMatrix::operator *= ( double  t  ) 

Definition at line 411 of file Matrix.cc.

References SIMPLE_UOP.

double & CLHEP::HepMatrix::operator() ( int  row,
int  col 
) [virtual]

Implements CLHEP::HepGenMatrix.

Definition at line 128 of file Matrix.cc.

References CLHEP::HepGenMatrix::error(), num_col(), and num_row().

const double & CLHEP::HepMatrix::operator() ( int  row,
int  col 
) const [virtual]

Implements CLHEP::HepGenMatrix.

Definition at line 137 of file Matrix.cc.

References CLHEP::HepGenMatrix::error(), num_col(), and num_row().

HepMatrix & CLHEP::HepMatrix::operator+= ( const HepVector m2  ) 

Definition at line 402 of file Vector.cc.

References CHK_DIM_2, num_col(), CLHEP::HepVector::num_row(), num_row(), and SIMPLE_BOP.

HepMatrix & CLHEP::HepMatrix::operator+= ( const HepDiagMatrix m2  ) 

Definition at line 454 of file DiagMatrix.cc.

References CHK_DIM_2, CLHEP::HepDiagMatrix::m, CLHEP::detail::n, CLHEP::HepDiagMatrix::num_col(), num_col(), CLHEP::HepDiagMatrix::num_row(), and num_row().

HepMatrix & CLHEP::HepMatrix::operator+= ( const HepSymMatrix m2  ) 

Definition at line 562 of file SymMatrix.cc.

References CHK_DIM_2, CLHEP::HepSymMatrix::m, CLHEP::HepSymMatrix::num_col(), num_col(), CLHEP::HepSymMatrix::num_row(), and num_row().

HepMatrix & CLHEP::HepMatrix::operator+= ( const HepMatrix m2  ) 

Definition at line 391 of file Matrix.cc.

References CHK_DIM_2, num_col(), num_row(), and SIMPLE_BOP.

HepMatrix CLHEP::HepMatrix::operator- (  )  const

Definition at line 261 of file Matrix.cc.

HepMatrix & CLHEP::HepMatrix::operator-= ( const HepVector m2  ) 

Definition at line 423 of file Vector.cc.

References CHK_DIM_2, num_col(), CLHEP::HepVector::num_row(), num_row(), and SIMPLE_BOP.

HepMatrix & CLHEP::HepMatrix::operator-= ( const HepDiagMatrix m2  ) 

Definition at line 486 of file DiagMatrix.cc.

References CHK_DIM_2, CLHEP::HepDiagMatrix::m, CLHEP::detail::n, CLHEP::HepDiagMatrix::num_col(), num_col(), CLHEP::HepDiagMatrix::num_row(), and num_row().

HepMatrix & CLHEP::HepMatrix::operator-= ( const HepSymMatrix m2  ) 

Definition at line 585 of file SymMatrix.cc.

References CHK_DIM_2, CLHEP::HepSymMatrix::m, CLHEP::HepSymMatrix::num_col(), num_col(), CLHEP::HepSymMatrix::num_row(), and num_row().

HepMatrix & CLHEP::HepMatrix::operator-= ( const HepMatrix m2  ) 

Definition at line 398 of file Matrix.cc.

References CHK_DIM_2, num_col(), num_row(), and SIMPLE_BOP.

HepMatrix & CLHEP::HepMatrix::operator/= ( double  t  ) 

Definition at line 405 of file Matrix.cc.

References SIMPLE_UOP.

HepMatrix & CLHEP::HepMatrix::operator= ( const HepRotation m2  ) 

Definition at line 17 of file MatrixEqRotation.cc.

References CLHEP::HepRotation::xx(), CLHEP::HepRotation::xy(), CLHEP::HepRotation::xz(), CLHEP::HepRotation::yx(), CLHEP::HepRotation::yy(), CLHEP::HepRotation::yz(), CLHEP::HepRotation::zx(), CLHEP::HepRotation::zy(), and CLHEP::HepRotation::zz().

HepMatrix & CLHEP::HepMatrix::operator= ( const HepVector m2  ) 

Definition at line 456 of file Vector.cc.

References CLHEP::HepVector::m, and CLHEP::HepVector::nrow.

HepMatrix & CLHEP::HepMatrix::operator= ( const HepDiagMatrix m2  ) 

Definition at line 530 of file DiagMatrix.cc.

References CLHEP::HepDiagMatrix::m, CLHEP::detail::n, and CLHEP::HepDiagMatrix::nrow.

HepMatrix & CLHEP::HepMatrix::operator= ( const HepSymMatrix m2  ) 

Definition at line 620 of file SymMatrix.cc.

References CLHEP::HepSymMatrix::m, and CLHEP::HepSymMatrix::nrow.

HepMatrix & CLHEP::HepMatrix::operator= ( const HepMatrix m2  ) 

Definition at line 417 of file Matrix.cc.

References m, ncol, and nrow.

const HepMatrix_row_const CLHEP::HepMatrix::operator[] ( int   )  const [inline]

Reimplemented from CLHEP::HepGenMatrix.

HepMatrix_row CLHEP::HepMatrix::operator[] ( int   )  [inline]

Reimplemented from CLHEP::HepGenMatrix.

void CLHEP::HepMatrix::sub ( int  row,
int  col,
const HepMatrix m1 
)

Definition at line 220 of file Matrix.cc.

References CLHEP::HepGenMatrix::error(), m, num_col(), and num_row().

HepMatrix CLHEP::HepMatrix::sub ( int  min_row,
int  max_row,
int  min_col,
int  max_col 
) const

Definition at line 195 of file Matrix.cc.

Referenced by main().

HepMatrix CLHEP::HepMatrix::T (  )  const

Definition at line 456 of file Matrix.cc.

Referenced by main().

double CLHEP::HepMatrix::trace (  )  const

Definition at line 832 of file Matrix.cc.


Friends And Related Function Documentation

void back_solve ( const HepMatrix R,
HepMatrix b 
) [friend]

void back_solve ( const HepMatrix R,
HepVector b 
) [friend]

void col_givens ( HepMatrix A,
double  c,
double  s,
int  k1,
int  k2,
int  rowmin,
int  rowmax 
) [friend]

void col_house ( HepMatrix ,
const HepMatrix ,
double  ,
int  ,
int  ,
int  ,
int   
) [friend]

friend class HepDiagMatrix [friend]

Definition at line 349 of file Matrix.h.

friend class HepMatrix_row [friend]

Definition at line 345 of file Matrix.h.

friend class HepMatrix_row_const [friend]

Definition at line 346 of file Matrix.h.

friend class HepSymMatrix [friend]

Definition at line 348 of file Matrix.h.

friend class HepVector [friend]

Definition at line 347 of file Matrix.h.

HepVector house ( const HepMatrix a,
int  row,
int  col 
) [friend]

void house_with_update ( HepMatrix a,
HepMatrix v,
int  row,
int  col 
) [friend]

void house_with_update ( HepMatrix a,
int  row,
int  col 
) [friend]

void house_with_update2 ( HepSymMatrix a,
HepMatrix v,
int  row,
int  col 
) [friend]

HepMatrix operator * ( const HepSymMatrix m1,
const HepSymMatrix m2 
) [friend]

HepVector operator * ( const HepMatrix m1,
const HepVector m2 
) [friend]

HepMatrix operator * ( const HepVector m1,
const HepMatrix m2 
) [friend]

Definition at line 380 of file Vector.cc.

HepMatrix operator * ( const HepDiagMatrix m1,
const HepMatrix m2 
) [friend]

HepMatrix operator * ( const HepSymMatrix m1,
const HepMatrix m2 
) [friend]

HepMatrix operator * ( const HepMatrix m1,
const HepDiagMatrix m2 
) [friend]

HepMatrix operator * ( const HepMatrix m1,
const HepSymMatrix m2 
) [friend]

HepMatrix operator * ( const HepMatrix m1,
const HepMatrix m2 
) [friend]

HepMatrix operator+ ( const HepMatrix m1,
const HepMatrix m2 
) [friend]

HepMatrix operator- ( const HepMatrix m1,
const HepMatrix m2 
) [friend]

HepMatrix qr_solve ( HepMatrix ,
const HepMatrix b 
) [friend]

HepVector qr_solve ( HepMatrix ,
const HepVector  
) [friend]

void row_givens ( HepMatrix A,
double  c,
double  s,
int  k1,
int  k2,
int  colmin,
int  colmax 
) [friend]

void row_house ( HepMatrix ,
const HepVector ,
double  ,
int  ,
int   
) [friend]

void row_house ( HepMatrix ,
const HepMatrix ,
double  ,
int  ,
int  ,
int  ,
int   
) [friend]

HepVector solve ( const HepMatrix ,
const HepVector  
) [friend]

void swap ( HepMatrix m1,
HepMatrix m2 
) [friend]

void tridiagonal ( HepSymMatrix a,
HepMatrix hsm 
) [friend]


The documentation for this class was generated from the following files:
Generated on 15 Nov 2012 for CLHEP by  doxygen 1.4.7