CbmRoot
CbmLitMatrixMath.h
Go to the documentation of this file.
1 #ifndef CBMLITMATRIXMATH_H_
2 #define CBMLITMATRIXMATH_H_
3 
4 #include "base/CbmLitFloat.h"
5 
6 #include <vector>
7 
8 //Matrix operations
9 
10 /* 5x5 symmetric matrix inverse */
11 bool InvSym15(std::vector<litfloat>& a);
12 
13 /* Multiplication of two 5x5 matrices */
14 bool Mult25(const std::vector<litfloat>& a,
15  const std::vector<litfloat>& b,
16  std::vector<litfloat>& c);
17 
18 /* Multiplication of two 6x6 matrices */
19 bool Mult36(const std::vector<litfloat>& a,
20  const std::vector<litfloat>& b,
21  std::vector<litfloat>& c);
22 
23 /* Multiplication of 5x5 matrix and 5x1 vector */
24 bool Mult25On5(const std::vector<litfloat>& a,
25  const std::vector<litfloat>& b,
26  std::vector<litfloat>& c);
27 
28 /* Multiplication of 5x5 matrix and 5x1 vector */
29 bool Mult15On5(const std::vector<litfloat>& a,
30  const std::vector<litfloat>& b,
31  std::vector<litfloat>& c);
32 
33 /* Transpose of 5x5 matrix */
34 bool Transpose25(std::vector<litfloat>& a);
35 
36 /* Subtraction of two matrices*/
37 bool Subtract(const std::vector<litfloat>& a,
38  const std::vector<litfloat>& b,
39  std::vector<litfloat>& c);
40 
41 /* Addition of two matrices*/
42 bool Add(const std::vector<litfloat>& a,
43  const std::vector<litfloat>& b,
44  std::vector<litfloat>& c);
45 
46 /* a*b*a^T */
47 bool Similarity(const std::vector<litfloat>& a,
48  const std::vector<litfloat>& b,
49  std::vector<litfloat>& c);
50 
51 /* Multiplication of two 5x5 matrices */
52 bool Mult15On25(const std::vector<litfloat>& a,
53  const std::vector<litfloat>& b,
54  std::vector<litfloat>& c);
55 
56 /* Multiplication of two 5x5 matrices */
57 bool Mult25On15(const std::vector<litfloat>& a,
58  const std::vector<litfloat>& b,
59  std::vector<litfloat>& c);
60 
61 #endif
Subtract
bool Subtract(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:366
Transpose25
bool Transpose25(std::vector< litfloat > &a)
Definition: CbmLitMatrixMath.cxx:298
Mult25On15
bool Mult25On15(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:534
Add
bool Add(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:380
Mult15On5
bool Mult15On5(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:351
Mult15On25
bool Mult15On25(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:483
Mult25On5
bool Mult25On5(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:333
CbmLitFloat.h
Define floating point number type litfloat.
Mult25
bool Mult25(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:226
Similarity
bool Similarity(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:395
InvSym15
bool InvSym15(std::vector< litfloat > &a)
Definition: CbmLitMatrixMath.cxx:41
Mult36
bool Mult36(const std::vector< litfloat > &a, const std::vector< litfloat > &b, std::vector< litfloat > &c)
Definition: CbmLitMatrixMath.cxx:278