15 #include <gsl/gsl_matrix.h>
35 QMatrix(UInt_t nrow,UInt_t ncol);
56 void Resize(UInt_t nrow,UInt_t ncol);
95 void Set(
const std::map<int,int>& p);
395 UInt_t startJ=0)
const;
416 QMatrix (
const gsl_matrix* mat);
419 QMatrix(
double *data,
const UInt_t nrow,
const UInt_t ncol,
427 const double &
GetElement(UInt_t i,UInt_t j)
const;
446 static void MatrixCopy(
const double *orig,
const UInt_t Nrow,
447 const UInt_t Ncol,
double *dest,
448 UInt_t origTda=0,UInt_t destTda=0);
483 Diana::QMatrix
operator*(
double t,
const Diana::QMatrix&mat);
484 std::ostream&
operator<<(std::ostream&s,
const Diana::QMatrix& m);
#define Q_BEGIN_NAMESPACE
Q_END_NAMESPACE Diana::QMatrix operator*(double t, const Diana::QMatrix &mat)
scalar times QMatrix
std::ostream & operator<<(std::ostream &s, const Diana::QMatrix &m)
Interface for complex matrices in Diana analysis.
Interface for matrices in Diana analysis.
QMatrix GetSubMatrix(UInt_t nI, UInt_t nJ, UInt_t startI=0, UInt_t startJ=0)
Get a sub matrix of the matrix.
QVector GetDiaganol()
Get the diaganol.
void Initialize(double val=0)
initialize all elements (default to 0)
double & GetElement(UInt_t i, UInt_t j)
const QMatrix & operator+=(const QMatrix &mat)
add a QMatrix
void Set(const std::map< int, int > &p)
get a QMatrix from a map
void SetElement(UInt_t i, UInt_t j, Double_t val)
const QMatrix & operator=(const QMatrix &orig)
copy the content of another matrix
double Det() const
Determinant.
double & operator()(UInt_t i, UInt_t j)
retrieve an element
void Resize(UInt_t nrow, UInt_t ncol)
resize a QMatrix
QVector GetCol(UInt_t ncol)
get column
const QMatrix & operator-=(const QMatrix &mat)
subtract a QMatrix
const QMatrix & Mult(const QMatrix &mat)
Multiply element by element.
void CholeskySolveX(const QVector &Y, QVector &X) const
Solve for X using Cholesky decomposition.
UInt_t MemRowElements() const
void Clear()
reset members to default values
QVector GetRowByColumnIntValue(UInt_t col, int val) const
get row matching the integer value val in column col if more than one value is found in column the fi...
const QMatrix & Div(const QMatrix &mat)
Divide element by element.
void SetCol(UInt_t ncol, const QVector &vec)
set column to specific vector
static void MatrixCopy(const double *orig, const UInt_t Nrow, const UInt_t Ncol, double *dest, UInt_t origTda=0, UInt_t destTda=0)
Static method to copy a matrix from one data location to another.
QMatrix operator-()
revert sign to all components
void SetRow(UInt_t nrow, const QVector &vec)
set row to specific vectors
QMatrix(const double *orig)
QMatrix operator/(double t) const
Division by scalar.
QMatrix GetSummedAreaMatrix() const
Create a summed area matrix.
QMatrix T() const
transpose returns a different matrix transposed wrt the original
QMatrix operator+(const QMatrix &mat) const
sum matrix
Bool_t fDataOwner
This owns the memory.
QMatrix()
default constructor
UInt_t GetNRow() const
get number rows
QVector GetRow(UInt_t nrow)
get row
const QMatrix & CholeskyDecompose()
Cholesky Decomposition.
const double & operator()(UInt_t i, UInt_t j) const
retrieve an element
const QMatrix & Transpose()
transpose
const QMatrix & operator*=(double t)
multiplication by scalar
const QMatrix & Invert()
inverse inverts the matrix itself
const QMatrix & operator/=(double t)
division by scalar
void SetToIdentity()
initialize to identity
QMatrix operator*(const QMatrix &mat) const
Matrix product.
QMatrix GetCholeskyDecomposition() const
Cholesky Decomposition.
QMatrix Inv() const
inverse returns a different matrix inverted wrt the original
virtual ~QMatrix()
destructor
UInt_t GetNCol() const
get number of columns
base class for objects handled by QEvent and QGlobalDataManager.
Interface for vectors in Diana analysis.