35#ifndef G4ErrorSymMatrix_hh
36#define G4ErrorSymMatrix_hh
219 std::vector<G4double> m;
226 static const G4double CHOLESKY_THRESHOLD_5x5;
227 static const G4double CHOLESKY_CREEP_5x5;
231 static const G4double CHOLESKY_THRESHOLD_6x6;
232 static const G4double CHOLESKY_CREEP_6x6;
234 void invert4(
G4int& ifail);
235 void invert5(
G4int& ifail);
236 void invert6(
G4int& ifail);
292#include "G4ErrorSymMatrix.icc"
void diag_step(G4ErrorSymMatrix *t, G4int begin, G4int end)
G4ErrorMatrix operator-(const G4ErrorMatrix &m1, const G4ErrorSymMatrix &s2)
G4ErrorSymMatrix operator/(const G4ErrorSymMatrix &m1, G4double t)
void tridiagonal(G4ErrorSymMatrix *a, G4ErrorMatrix *hsm)
G4ErrorMatrix diagonalize(G4ErrorSymMatrix *s)
void house_with_update2(G4ErrorSymMatrix *a, G4ErrorMatrix *v, G4int row=1, G4int col=1)
G4double condition(const G4ErrorSymMatrix &m)
G4ErrorSymMatrix dsum(const G4ErrorSymMatrix &s1, const G4ErrorSymMatrix &s2)
std::ostream & operator<<(std::ostream &s, const G4ErrorSymMatrix &q)
G4ErrorMatrix operator*(const G4ErrorMatrix &m1, const G4ErrorSymMatrix &m2)
G4ErrorMatrix operator+(const G4ErrorMatrix &m1, const G4ErrorSymMatrix &s2)
G4ErrorSymMatrix_row_const(const G4ErrorSymMatrix &, G4int)
const G4double & operator[](G4int) const
G4ErrorSymMatrix_row(G4ErrorSymMatrix &, G4int)
G4double & operator[](G4int)
G4ErrorSymMatrix similarityT(const G4ErrorMatrix &m1) const
friend void diag_step(G4ErrorSymMatrix *t, G4int begin, G4int end)
G4ErrorSymMatrix(G4ErrorSymMatrix &&)=default
void invertCholesky6(G4int &ifail)
void assign(const G4ErrorSymMatrix &m2)
friend G4ErrorSymMatrix operator+(const G4ErrorSymMatrix &m1, const G4ErrorSymMatrix &m2)
void invert(G4int &ifail)
void assign(const G4ErrorMatrix &m2)
const G4double & fast(G4int row, G4int col) const
void invertHaywood6(G4int &ifail)
friend void tridiagonal(G4ErrorSymMatrix *a, G4ErrorMatrix *hsm)
void invertHaywood5(G4int &ifail)
friend G4ErrorMatrix diagonalize(G4ErrorSymMatrix *s)
G4ErrorSymMatrix sub(G4int min_row, G4int max_row) const
G4ErrorSymMatrix apply(G4double(*f)(G4double, G4int, G4int)) const
G4ErrorSymMatrix operator-() const
const G4double & operator()(G4int row, G4int col) const
G4double & fast(G4int row, G4int col)
G4double determinant() const
G4ErrorSymMatrix & operator/=(G4double t)
G4ErrorSymMatrix inverse(G4int &ifail) const
G4ErrorSymMatrix & operator*=(G4double t)
friend G4double condition(const G4ErrorSymMatrix &m)
G4ErrorSymMatrix_row_const operator[](G4int) const
G4ErrorSymMatrix & operator=(G4ErrorSymMatrix &&)=default
void invertHaywood4(G4int &ifail)
G4ErrorSymMatrix & operator+=(const G4ErrorSymMatrix &m2)
virtual ~G4ErrorSymMatrix()
friend void house_with_update2(G4ErrorSymMatrix *a, G4ErrorMatrix *v, G4int row, G4int col)
G4ErrorSymMatrix_row operator[](G4int)
G4ErrorSymMatrix & operator-=(const G4ErrorSymMatrix &m2)
G4ErrorSymMatrix similarity(const G4ErrorMatrix &m1) const
void invertCholesky5(G4int &ifail)
friend void diag_step(G4ErrorSymMatrix *t, G4ErrorMatrix *u, G4int begin, G4int end)
G4ErrorSymMatrix T() const
G4ErrorSymMatrix & operator=(const G4ErrorSymMatrix &m2)
friend G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, const G4ErrorSymMatrix &m2)
G4double & operator()(G4int row, G4int col)
void invertBunchKaufman(G4int &ifail)