CLHEP 2.4.7.1
C++ Class Library for High Energy Physics
CLHEP::HepMatrix Class Reference

#include <CLHEP/Matrix/Matrix.h>

Inheritance diagram for CLHEP::HepMatrix:
CLHEP::HepGenMatrix

Classes

class  HepMatrix_row
class  HepMatrix_row_const

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 &hm1)
 HepMatrix (const HepSymMatrix &)
 HepMatrix (const HepDiagMatrix &)
 HepMatrix (const HepVector &)
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 &)
HepMatrixoperator+= (const HepSymMatrix &)
HepMatrixoperator+= (const HepDiagMatrix &)
HepMatrixoperator+= (const HepVector &)
HepMatrixoperator-= (const HepMatrix &)
HepMatrixoperator-= (const HepSymMatrix &)
HepMatrixoperator-= (const HepDiagMatrix &)
HepMatrixoperator-= (const HepVector &)
HepMatrixoperator= (const HepMatrix &)
HepMatrixoperator= (const HepSymMatrix &)
HepMatrixoperator= (const HepDiagMatrix &)
HepMatrixoperator= (const HepVector &)
HepMatrixoperator= (const HepRotation &)
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 &hm1)
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
Public Member Functions inherited from CLHEP::HepGenMatrix
virtual ~HepGenMatrix ()
HepGenMatrix_row operator[] (int)
const HepGenMatrix_row_const operator[] (int) const
virtual bool operator== (const HepGenMatrix &) const

Protected Member Functions

virtual int num_size () const
virtual void invertHaywood4 (int &ierr)
virtual void invertHaywood5 (int &ierr)
virtual void invertHaywood6 (int &ierr)
Protected Member Functions inherited from CLHEP::HepGenMatrix
void delete_m (int size, double *)
double * new_m (int size)

Friends

class HepMatrix_row
class HepMatrix_row_const
class HepVector
class HepSymMatrix
class HepDiagMatrix
void swap (HepMatrix &hm1, HepMatrix &hm2)
HepMatrix operator+ (const HepMatrix &hm1, const HepMatrix &hm2)
HepMatrix operator- (const HepMatrix &hm1, const HepMatrix &hm2)
HepMatrix operator* (const HepMatrix &hm1, const HepMatrix &hm2)
HepMatrix operator* (const HepMatrix &hm1, const HepSymMatrix &hm2)
HepMatrix operator* (const HepMatrix &hm1, const HepDiagMatrix &hm2)
HepMatrix operator* (const HepSymMatrix &hm1, const HepMatrix &hm2)
HepMatrix operator* (const HepDiagMatrix &hm1, const HepMatrix &hm2)
HepMatrix operator* (const HepVector &hm1, const HepMatrix &hm2)
HepVector operator* (const HepMatrix &hm1, const HepVector &hm2)
HepMatrix operator* (const HepSymMatrix &hm1, const HepSymMatrix &hm2)
HepVector solve (const HepMatrix &, const HepVector &)
HepVector qr_solve (HepMatrix *A, const HepVector &b)
HepMatrix qr_solve (HepMatrix *A, const HepMatrix &b)
void tridiagonal (HepSymMatrix *a, HepMatrix *hsm)
void row_house (HepMatrix *a, const HepMatrix &v, double vnormsq, int row, int col, int row_start, int col_start)
void row_house (HepMatrix *a, const HepVector &v, double vnormsq, int row=1, int col=1)
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=1, int rowmax=0)
void row_givens (HepMatrix *A, double c, double s, int k1, int k2, int colmin=1, int colmax=0)
void col_house (HepMatrix *a, const HepMatrix &v, double vnormsq, int row, int col, int row_start, int col_start)
HepVector house (const HepMatrix &a, int row=1, int col=1)
void house_with_update (HepMatrix *a, int row=1, int col=1)
void house_with_update (HepMatrix *a, HepMatrix *v, int row=1, int col=1)
void house_with_update2 (HepSymMatrix *a, HepMatrix *v, int row=1, int col=1)

Additional Inherited Members

Public Types inherited from CLHEP::HepGenMatrix
enum  { size_max = 25 }
typedef std::vector< double, Alloc< double, 25 > >::iterator mIter
typedef std::vector< double, Alloc< double, 25 > >::const_iterator mcIter
Static Public Member Functions inherited from CLHEP::HepGenMatrix
static void swap (int &, int &)
static void swap (std::vector< double, Alloc< double, 25 > > &, std::vector< double, Alloc< double, 25 > > &)
static void error (const char *s)

Detailed Description

Author

Definition at line 205 of file Matrix.h.

Constructor & Destructor Documentation

◆ HepMatrix() [1/8]

◆ HepMatrix() [2/8]

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

◆ HepMatrix() [3/8]

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

◆ HepMatrix() [4/8]

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

◆ HepMatrix() [5/8]

CLHEP::HepMatrix::HepMatrix ( const HepMatrix & hm1)

References HepMatrix().

◆ HepMatrix() [6/8]

CLHEP::HepMatrix::HepMatrix ( const HepSymMatrix & )

References HepSymMatrix.

◆ HepMatrix() [7/8]

CLHEP::HepMatrix::HepMatrix ( const HepDiagMatrix & )

References HepDiagMatrix.

◆ HepMatrix() [8/8]

CLHEP::HepMatrix::HepMatrix ( const HepVector & )

References HepVector.

◆ ~HepMatrix()

virtual CLHEP::HepMatrix::~HepMatrix ( )
virtual

Member Function Documentation

◆ apply()

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

References HepMatrix().

◆ determinant()

double CLHEP::HepMatrix::determinant ( ) const

◆ inverse() [1/2]

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

Definition at line 90 of file Matrix.icc.

References HepMatrix(), and inverse().

Referenced by inverse().

◆ inverse() [2/2]

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

Definition at line 78 of file Matrix.icc.

References HepMatrix().

◆ invert() [1/2]

void CLHEP::HepMatrix::invert ( )
inline

Definition at line 97 of file Matrix.icc.

References invert().

Referenced by invert().

◆ invert() [2/2]

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

Implements CLHEP::HepGenMatrix.

References HepMatrix().

◆ invertHaywood4()

virtual void CLHEP::HepMatrix::invertHaywood4 ( int & ierr)
protectedvirtual

◆ invertHaywood5()

virtual void CLHEP::HepMatrix::invertHaywood5 ( int & ierr)
protectedvirtual

◆ invertHaywood6()

virtual void CLHEP::HepMatrix::invertHaywood6 ( int & ierr)
protectedvirtual

◆ num_col()

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

Implements CLHEP::HepGenMatrix.

◆ num_row()

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

Implements CLHEP::HepGenMatrix.

◆ num_size()

virtual int CLHEP::HepMatrix::num_size ( ) const
protectedvirtual

Implements CLHEP::HepGenMatrix.

◆ operator()() [1/2]

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

Implements CLHEP::HepGenMatrix.

◆ operator()() [2/2]

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

Implements CLHEP::HepGenMatrix.

◆ operator*=()

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

References HepMatrix().

◆ operator+=() [1/4]

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

References HepDiagMatrix, and HepMatrix().

◆ operator+=() [2/4]

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

References HepMatrix().

◆ operator+=() [3/4]

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

References HepMatrix(), and HepSymMatrix.

◆ operator+=() [4/4]

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

References HepMatrix(), and HepVector.

◆ operator-()

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

References HepMatrix().

◆ operator-=() [1/4]

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

References HepDiagMatrix, and HepMatrix().

◆ operator-=() [2/4]

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

References HepMatrix().

◆ operator-=() [3/4]

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

References HepMatrix(), and HepSymMatrix.

◆ operator-=() [4/4]

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

References HepMatrix(), and HepVector.

◆ operator/=()

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

References HepMatrix().

◆ operator=() [1/5]

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

References HepDiagMatrix, and HepMatrix().

◆ operator=() [2/5]

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

References HepMatrix().

◆ operator=() [3/5]

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

References HepMatrix().

◆ operator=() [4/5]

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

References HepMatrix(), and HepSymMatrix.

◆ operator=() [5/5]

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

References HepMatrix(), and HepVector.

◆ operator[]() [1/2]

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

Definition at line 17 of file Matrix.icc.

◆ operator[]() [2/2]

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

Definition at line 28 of file Matrix.icc.

◆ sub() [1/2]

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

References HepMatrix().

◆ sub() [2/2]

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

References HepMatrix().

◆ T()

HepMatrix CLHEP::HepMatrix::T ( ) const

References HepMatrix().

◆ trace()

double CLHEP::HepMatrix::trace ( ) const

◆ back_solve [1/2]

void back_solve ( const HepMatrix & R,
HepMatrix * b )
friend

References HepMatrix().

◆ back_solve [2/2]

void back_solve ( const HepMatrix & R,
HepVector * b )
friend

References HepMatrix(), and HepVector.

◆ col_givens

void col_givens ( HepMatrix * A,
double c,
double s,
int k1,
int k2,
int rowmin = 1,
int rowmax = 0 )
friend

References HepMatrix().

◆ col_house

void col_house ( HepMatrix * a,
const HepMatrix & v,
double vnormsq,
int row,
int col,
int row_start,
int col_start )
friend

References HepMatrix().

◆ HepDiagMatrix

friend class HepDiagMatrix
friend

Definition at line 345 of file Matrix.h.

References HepDiagMatrix.

Referenced by HepDiagMatrix, HepMatrix(), operator*, operator*, operator+=(), operator-=(), and operator=().

◆ HepMatrix_row

friend class HepMatrix_row
friend

Definition at line 341 of file Matrix.h.

◆ HepMatrix_row_const

friend class HepMatrix_row_const
friend

Definition at line 342 of file Matrix.h.

◆ HepSymMatrix

friend class HepSymMatrix
friend

◆ HepVector

friend class HepVector
friend

◆ house

HepVector house ( const HepMatrix & a,
int row = 1,
int col = 1 )
friend

References HepMatrix(), and HepVector.

◆ house_with_update [1/2]

void house_with_update ( HepMatrix * a,
HepMatrix * v,
int row = 1,
int col = 1 )
friend

References HepMatrix().

◆ house_with_update [2/2]

void house_with_update ( HepMatrix * a,
int row = 1,
int col = 1 )
friend

References HepMatrix().

◆ house_with_update2

void house_with_update2 ( HepSymMatrix * a,
HepMatrix * v,
int row = 1,
int col = 1 )
friend

References HepMatrix(), and HepSymMatrix.

◆ operator* [1/8]

HepMatrix operator* ( const HepDiagMatrix & hm1,
const HepMatrix & hm2 )
friend

References HepDiagMatrix, and HepMatrix().

◆ operator* [2/8]

HepMatrix operator* ( const HepMatrix & hm1,
const HepDiagMatrix & hm2 )
friend

References HepDiagMatrix, and HepMatrix().

◆ operator* [3/8]

HepMatrix operator* ( const HepMatrix & hm1,
const HepMatrix & hm2 )
friend

References HepMatrix().

◆ operator* [4/8]

HepMatrix operator* ( const HepMatrix & hm1,
const HepSymMatrix & hm2 )
friend

References HepMatrix(), and HepSymMatrix.

◆ operator* [5/8]

HepVector operator* ( const HepMatrix & hm1,
const HepVector & hm2 )
friend

References HepMatrix(), and HepVector.

◆ operator* [6/8]

HepMatrix operator* ( const HepSymMatrix & hm1,
const HepMatrix & hm2 )
friend

References HepMatrix(), and HepSymMatrix.

◆ operator* [7/8]

HepMatrix operator* ( const HepSymMatrix & hm1,
const HepSymMatrix & hm2 )
friend

References HepMatrix(), and HepSymMatrix.

◆ operator* [8/8]

HepMatrix operator* ( const HepVector & hm1,
const HepMatrix & hm2 )
friend

References HepMatrix(), and HepVector.

◆ operator+

HepMatrix operator+ ( const HepMatrix & hm1,
const HepMatrix & hm2 )
friend

References HepMatrix().

◆ operator-

HepMatrix operator- ( const HepMatrix & hm1,
const HepMatrix & hm2 )
friend

References HepMatrix().

◆ qr_solve [1/2]

HepMatrix qr_solve ( HepMatrix * A,
const HepMatrix & b )
friend

References HepMatrix().

◆ qr_solve [2/2]

HepVector qr_solve ( HepMatrix * A,
const HepVector & b )
friend

References HepMatrix(), and HepVector.

◆ row_givens

void row_givens ( HepMatrix * A,
double c,
double s,
int k1,
int k2,
int colmin = 1,
int colmax = 0 )
friend

References HepMatrix().

◆ row_house [1/2]

void row_house ( HepMatrix * a,
const HepMatrix & v,
double vnormsq,
int row,
int col,
int row_start,
int col_start )
friend

References HepMatrix().

◆ row_house [2/2]

void row_house ( HepMatrix * a,
const HepVector & v,
double vnormsq,
int row = 1,
int col = 1 )
friend

References HepMatrix(), and HepVector.

◆ solve

HepVector solve ( const HepMatrix & ,
const HepVector &  )
friend

References HepMatrix(), and HepVector.

◆ swap

void swap ( HepMatrix & hm1,
HepMatrix & hm2 )
friend

Definition at line 69 of file Matrix.icc.

References HepMatrix(), and CLHEP::HepGenMatrix::swap().

◆ tridiagonal

void tridiagonal ( HepSymMatrix * a,
HepMatrix * hsm )
friend

References HepMatrix(), and HepSymMatrix.


The documentation for this class was generated from the following files: