5#ifndef TRKALGS_ALSYMMAT_H
6#define TRKALGS_ALSYMMAT_H
54 virtual void reSize(
long int Nnew)
override final;
55 virtual double&
elemr(
long int,
long int)
override final;
56 virtual double elemc(
long int,
long int)
const override final;
58 virtual int invert()
override final;
62 virtual void SetPathBin(
const std::string&)
override final;
63 virtual void SetPathTxt(
const std::string&)
override final;
64 virtual StatusCode
Write(
const std::string&,
bool,
bool,
double,
float)
override final;
65 virtual StatusCode
CheckMatVersion(
const std::string&,
bool&)
override final;
66 virtual StatusCode
Read(
const std::string&,
int&,
bool&,
float&)
override final;
67 virtual StatusCode
ReadProjected(
const std::string&,
int&,
bool&,
float&)
override final;
71 inline const double*
ptrData()
const;
74 inline const std::string&
pathBin()
const;
75 inline const std::string&
pathTxt()
const;
81 inline long int elem(
long int,
long int)
const;
98 if( i<0 ) {
throw std::out_of_range(
"AlSymMat::elem: Index 1 < zero! " ); };
99 if( i>=
size() ) {
throw std::out_of_range(
"AlSymMat::elem: Index 1 too large! " ); };
100 if( j<0 ) {
throw std::out_of_range(
"AlSymMat::elem: Index 2 < zero! " ); };
101 if( j>=
size() ) {
throw std::out_of_range(
"AlSymMat::elem: Index 2 too large! " ); };
104 return ((i+1)*i/2+j);
107 return ((j+1)*j/2+i);
class TMatrixTSparse< double > TMatrixDSparse
contains the implementation of the methods of class AlMat, for handling general NxM matrices
contains the implementation for handling sparse matrices
virtual int RemoveCollsRows(std::vector< int >) override final
virtual int invert() override final
void copy(const AlSymMat &m)
virtual void RemoveModule(int) override final
AlSymMat & operator=(const AlSpaMat &)
virtual double determinant() override final
virtual StatusCode ReadProjected(const std::string &, int &, bool &, float &) override final
virtual AlSymMat operator-(const AlSymMat &) const
virtual AlMat operator*(const AlSymMat &) const
const std::string & pathTxt() const
virtual StatusCode Read(const std::string &, int &, bool &, float &) override final
virtual void SetPathBin(const std::string &) override final
virtual StatusCode CheckMatVersion(const std::string &, bool &) override final
virtual double & elemr(long int, long int) override final
virtual AlSymMat & operator-=(const AlSymMat &)
virtual void reSize(long int Nnew) override final
const double * ptrData() const
virtual void RemoveAlignPar(int, int) override final
virtual StatusCode Write(const std::string &, bool, bool, double, float) override final
virtual TMatrixDSparse * makeTMatrix() override final
virtual AlSymMat & operator*=(const double &)
const std::string & pathBin() const
virtual double elemc(long int, long int) const override final
virtual void SetPathTxt(const std::string &) override final
virtual int diagonalize(char jobz, AlVec &w, AlMat &z) override final
virtual AlSymMat operator+(const AlSymMat &) const
long int elem(long int, long int) const
virtual AlSymMat & operator+=(const AlSymMat &)
Ensure that the ATLAS eigen extensions are properly loaded.
@ z
global position (cartesian)