rivet is hosted by Hepforge, IPPP Durham
Rivet 4.0.0

General \( N \)-dimensional mathematical matrix object. More...

#include <MatrixN.hh>

Public Member Functions

Matrixset (const size_t i, const size_t j, const double value)
 
double get (const size_t i, const size_t j) const
 
Vector< N > getRow (const size_t row) const
 
Matrix< N > & setRow (const size_t row, const Vector< N > &r)
 
Vector< N > getColumn (const size_t col) const
 
Matrix< N > & setColumn (const size_t col, const Vector< N > &c)
 
Matrix< N > transpose () const
 
Matrix< N > inverse () const
 Calculate inverse.
 
double det () const
 Calculate determinant.
 
double trace () const
 Calculate trace.
 
Matrix< N > operator- () const
 Negate.
 
constexpr size_t size () const
 Get dimensionality.
 
bool isZero (double tolerance=1E-5) const
 Index-wise check for nullness, allowing for numerical precision.
 
bool isEqual (Matrix< N > other) const
 Check for index-wise equality, allowing for numerical precision.
 
bool isSymm () const
 Check for symmetry under transposition.
 
bool isDiag () const
 Check that all off-diagonal elements are zero, allowing for numerical precision.
 
bool operator== (const Matrix< N > &a) const
 
bool operator!= (const Matrix< N > &a) const
 
Matrix< N > & operator*= (const Matrix< N > &m)
 
Matrix< N > & operator*= (const double a)
 
Matrix< N > & operator/= (const double a)
 
Matrix< N > & operator+= (const Matrix< N > &m)
 
Matrix< N > & operator-= (const Matrix< N > &m)
 

Static Public Member Functions

static Matrix< N > mkZero ()
 
static Matrix< N > mkDiag (Vector< N > diag)
 
static Matrix< N > mkIdentity ()
 

Protected Types

using EMatrix = RivetEigen::Matrix< double, N, N >
 

Friends

template<size_t M>
Matrix< M > add (const Matrix< M > &, const Matrix< M > &)
 
template<size_t M>
Matrix< M > multiply (const double, const Matrix< M > &)
 
template<size_t M>
Matrix< M > multiply (const Matrix< M > &, const Matrix< M > &)
 
template<size_t M>
Vector< M > multiply (const Matrix< M > &, const Vector< M > &)
 
template<size_t M>
Matrix< M > divide (const Matrix< M > &, const double)
 

Detailed Description

template<size_t N>
class Rivet::Matrix< N >

General \( N \)-dimensional mathematical matrix object.


The documentation for this class was generated from the following file:
  • /Users/chrisg/software/rivet/include/Rivet/Math/MatrixN.hh