Loading web-font TeX/Math/Italic
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
MatrixFunctions.h File Reference
Include dependency graph for MatrixFunctions.h:
This graph shows which files directly or indirectly include this file:

Classes

class  ROOT::Math::MatrixMulOp< MatrixA, MatrixB, T, D >
 Class for Matrix-Matrix multiplication. More...
 
struct  ROOT::Math::meta_col_dot< I >
 
struct  ROOT::Math::meta_col_dot< 0 >
 
struct  ROOT::Math::meta_matrix_dot< I >
 
struct  ROOT::Math::meta_matrix_dot< 0 >
 
struct  ROOT::Math::meta_row_dot< I >
 
struct  ROOT::Math::meta_row_dot< 0 >
 
class  ROOT::Math::TensorMulOp< Vector1, Vector2 >
 Class for Tensor Multiplication (outer product) of two vectors giving a matrix. More...
 
class  ROOT::Math::TransposeOp< Matrix, T, D1, D2 >
 Class for Transpose Operations. More...
 
class  ROOT::Math::VectorMatrixColOp< Vector, Matrix, D1 >
 Class for Vector-Matrix multiplication. More...
 
class  ROOT::Math::VectorMatrixRowOp< Matrix, Vector, D2 >
 

Namespaces

namespace  ROOT
 tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tbb::task_arena without forward declaring tbb::interface7
 
namespace  ROOT::Math
 

Functions

template<class A , class B , class T , unsigned int D1, unsigned int D, unsigned int D2, class R1 , class R2 >
Expr< MatrixMulOp< Expr< A, T, D1, D, R1 >, Expr< B, T, D, D2, R2 >, T, D >, T, D1, D2, typename MultPolicy< T, R1, R2 >::RepType > ROOT::Math::operator* (const Expr< A, T, D1, D, R1 > &lhs, const Expr< B, T, D, D2, R2 > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D, unsigned int D2, class R1 , class R2 >
Expr< MatrixMulOp< Expr< A, T, D1, D, R1 >, SMatrix< T, D, D2, R2 >, T, D >, T, D1, D2, typename MultPolicy< T, R1, R2 >::RepType > ROOT::Math::operator* (const Expr< A, T, D1, D, R1 > &lhs, const SMatrix< T, D, D2, R2 > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixRowOp< Expr< A, T, D1, D2, R >, SVector< T, D2 >, D2 >, T, D1 > ROOT::Math::operator* (const Expr< A, T, D1, D2, R > &lhs, const SVector< T, D2 > &rhs)
 
template<class A , class B , class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixRowOp< Expr< A, T, D1, D2, R >, VecExpr< B, T, D2 >, D2 >, T, D1 > ROOT::Math::operator* (const Expr< A, T, D1, D2, R > &lhs, const VecExpr< B, T, D2 > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D, unsigned int D2, class R1 , class R2 >
Expr< MatrixMulOp< SMatrix< T, D1, D, R1 >, Expr< A, T, D, D2, R2 >, T, D >, T, D1, D2, typename MultPolicy< T, R1, R2 >::RepType > ROOT::Math::operator* (const SMatrix< T, D1, D, R1 > &lhs, const Expr< A, T, D, D2, R2 > &rhs)
 
template<class T , unsigned int D1, unsigned int D, unsigned int D2, class R1 , class R2 >
Expr< MatrixMulOp< SMatrix< T, D1, D, R1 >, SMatrix< T, D, D2, R2 >, T, D >, T, D1, D2, typename MultPolicy< T, R1, R2 >::RepType > ROOT::Math::operator* (const SMatrix< T, D1, D, R1 > &lhs, const SMatrix< T, D, D2, R2 > &rhs)
 Matrix * Matrix multiplication , C(i,j) = \sum_{k} A(i,k) * B(k,j) returning a matrix expression.
 
template<class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixRowOp< SMatrix< T, D1, D2, R >, SVector< T, D2 >, D2 >, T, D1 > ROOT::Math::operator* (const SMatrix< T, D1, D2, R > &lhs, const SVector< T, D2 > &rhs)
 Matrix * Vector multiplication a(i) = \sum_{j} M(i,j) * b(j) returning a vector expression.
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixRowOp< SMatrix< T, D1, D2, R >, VecExpr< A, T, D2 >, D2 >, T, D1 > ROOT::Math::operator* (const SMatrix< T, D1, D2, R > &lhs, const VecExpr< A, T, D2 > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixColOp< SVector< T, D1 >, Expr< A, T, D1, D2, R >, D1 >, T, D2 > ROOT::Math::operator* (const SVector< T, D1 > &lhs, const Expr< A, T, D1, D2, R > &rhs)
 
template<class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixColOp< SVector< T, D1 >, SMatrix< T, D1, D2, R >, D1 >, T, D2 > ROOT::Math::operator* (const SVector< T, D1 > &lhs, const SMatrix< T, D1, D2, R > &rhs)
 
template<class A , class B , class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixColOp< VecExpr< A, T, D1 >, Expr< B, T, D1, D2, R >, D1 >, T, D2 > ROOT::Math::operator* (const VecExpr< A, T, D1 > &lhs, const Expr< B, T, D1, D2, R > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
VecExpr< VectorMatrixColOp< VecExpr< A, T, D1 >, SMatrix< T, D1, D2, R >, D1 >, T, D2 > ROOT::Math::operator* (const VecExpr< A, T, D1 > &lhs, const SMatrix< T, D1, D2, R > &rhs)
 
template<class A , class T , unsigned int D, class R >
ROOT::Math::Similarity (const Expr< A, T, D, D, R > &lhs, const SVector< T, D > &rhs)
 
template<class A , class B , class T , unsigned int D, class R >
ROOT::Math::Similarity (const Expr< A, T, D, D, R > &lhs, const VecExpr< B, T, D > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
SMatrix< T, D1, D1, MatRepSym< T, D1 > > ROOT::Math::Similarity (const Expr< A, T, D1, D2, R > &lhs, const SMatrix< T, D2, D2, MatRepSym< T, D2 > > &rhs)
 
template<class T , unsigned int D, class R >
ROOT::Math::Similarity (const SMatrix< T, D, D, R > &lhs, const SVector< T, D > &rhs)
 Similarity Vector - Matrix Product: v^T * A * v returning a scalar value of type T s = \sum_{i,j} v(i) * A(i,j) * v(j).
 
template<class A , class T , unsigned int D, class R >
ROOT::Math::Similarity (const SMatrix< T, D, D, R > &lhs, const VecExpr< A, T, D > &rhs)
 
template<class T , unsigned int D1, unsigned int D2, class R >
SMatrix< T, D1, D1, MatRepSym< T, D1 > > ROOT::Math::Similarity (const SMatrix< T, D1, D2, R > &lhs, const SMatrix< T, D2, D2, MatRepSym< T, D2 > > &rhs)
 Similarity Matrix Product : B = U * A * U^T for A symmetric returning a symmetric matrix expression: B(i,j) = \sum_{k,l} U(i,k) * A(k,l) * U(j,l) .
 
template<class A , class T , unsigned int D, class R >
ROOT::Math::Similarity (const SVector< T, D > &lhs, const Expr< A, T, D, D, R > &rhs)
 
template<class T , unsigned int D, class R >
ROOT::Math::Similarity (const SVector< T, D > &lhs, const SMatrix< T, D, D, R > &rhs)
 
template<class A , class B , class T , unsigned int D, class R >
ROOT::Math::Similarity (const VecExpr< A, T, D > &lhs, const Expr< B, T, D, D, R > &rhs)
 
template<class A , class T , unsigned int D, class R >
ROOT::Math::Similarity (const VecExpr< A, T, D > &lhs, const SMatrix< T, D, D, R > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
SMatrix< T, D2, D2, MatRepSym< T, D2 > > ROOT::Math::SimilarityT (const Expr< A, T, D1, D2, R > &lhs, const SMatrix< T, D1, D1, MatRepSym< T, D1 > > &rhs)
 
template<class T , unsigned int D1, unsigned int D2, class R >
SMatrix< T, D2, D2, MatRepSym< T, D2 > > ROOT::Math::SimilarityT (const SMatrix< T, D1, D2, R > &lhs, const SMatrix< T, D1, D1, MatRepSym< T, D1 > > &rhs)
 Transpose Similarity Matrix Product : B = U^T * A * U for A symmetric returning a symmetric matrix expression: B(i,j) = \sum_{k,l} U(k,i) * A(k,l) * U(l,j) .
 
template<class T , unsigned int D>
SVector< T, D > ROOT::Math::SolveChol (const SMatrix< T, D, D, MatRepSym< T, D > > &mat, const SVector< T, D > &vec, int &ifail)
 same function as before but not overwriting the matrix and returning a copy of the vector (this is the slow version)
 
template<class T , unsigned int D>
bool ROOT::Math::SolveChol (SMatrix< T, D, D, MatRepSym< T, D > > &mat, SVector< T, D > &vec)
 
template<class T , unsigned int D1, unsigned int D2>
Expr< TensorMulOp< SVector< T, D1 >, SVector< T, D2 > >, T, D1, D2 > ROOT::Math::TensorProd (const SVector< T, D1 > &lhs, const SVector< T, D2 > &rhs)
 Tensor Vector Product : M(i,j) = v(i) * v(j) returning a matrix expression.
 
template<class T , unsigned int D1, unsigned int D2, class A >
Expr< TensorMulOp< SVector< T, D1 >, VecExpr< A, T, D2 > >, T, D1, D2 > ROOT::Math::TensorProd (const SVector< T, D1 > &lhs, const VecExpr< A, T, D2 > &rhs)
 
template<class T , unsigned int D1, unsigned int D2, class A >
Expr< TensorMulOp< VecExpr< A, T, D1 >, SVector< T, D2 > >, T, D1, D2 > ROOT::Math::TensorProd (const VecExpr< A, T, D1 > &lhs, const SVector< T, D2 > &rhs)
 
template<class T , unsigned int D1, unsigned int D2, class A , class B >
Expr< TensorMulOp< VecExpr< A, T, D1 >, VecExpr< B, T, D2 > >, T, D1, D2 > ROOT::Math::TensorProd (const VecExpr< A, T, D1 > &lhs, const VecExpr< B, T, D2 > &rhs)
 
template<class A , class T , unsigned int D1, unsigned int D2, class R >
Expr< TransposeOp< Expr< A, T, D1, D2, R >, T, D1, D2 >, T, D2, D1, typename TranspPolicy< T, D1, D2, R >::RepType > ROOT::Math::Transpose (const Expr< A, T, D1, D2, R > &rhs)
 
template<class T , unsigned int D1, unsigned int D2, class R >
Expr< TransposeOp< SMatrix< T, D1, D2, R >, T, D1, D2 >, T, D2, D1, typename TranspPolicy< T, D1, D2, R >::RepType > ROOT::Math::Transpose (const SMatrix< T, D1, D2, R > &rhs)
 Matrix Transpose B(i,j) = A(j,i) returning a matrix expression.