5 x 5 symmetric matrix
More...
#include <JMatrix5S.hh>
|
| JMatrix5S () |
| Default constructor. More...
|
|
| JMatrix5S (const JMatrix5D &A) |
| Contructor. More...
|
|
| JMatrix5S (const double __a00, const double __a10, const double __a11, const double __a20, const double __a21, const double __a22, const double __a30, const double __a31, const double __a32, const double __a33, const double __a40, const double __a41, const double __a42, const double __a43, const double __a44) |
| Contructor. More...
|
|
void | invert () |
| Invert matrix. More...
|
|
JMatrix5D & | setIdentity () |
| Set to identity matrix. More...
|
|
void | set (const JMatrix5D &A) |
| Set matrix. More...
|
|
JMatrix5D & | reset () |
| Set matrix to the null matrix. More...
|
|
JMatrix5D & | transpose () |
| Transpose. More...
|
|
JMatrix5D & | negate () |
| Negate matrix. More...
|
|
JMatrix5D & | add (const JMatrix5D &A) |
| Matrix addition. More...
|
|
JMatrix5D & | sub (const JMatrix5D &A) |
| Matrix subtraction. More...
|
|
JMatrix5D & | mul (const double factor) |
| Scale matrix. More...
|
|
const JMatrix5D & | mul (const JMatrix5D &A, const JMatrix5D &B) |
| Matrix multiplication. More...
|
|
JMatrix5D & | mul (const JSecond_t &object) |
| Multiply with object. More...
|
|
JMatrix5D & | div (const double factor) |
| Scale matrix. More...
|
|
bool | equals (const JMatrix5D &A, const double eps=std::numeric_limits< double >::min()) const |
| Equality. More...
|
|
bool | isIdentity (const double eps=std::numeric_limits< double >::min()) const |
| Test identity. More...
|
|
double | getDeterminant () const |
| Get determinant of matrix. More...
|
|
void | transform (double &__x0, double &__x1, double &__x2, double &__x3, double &__x4) const |
| Transform. More...
|
|
double | operator() (int row, int col) const |
| Get matrix element. More...
|
|
double & | operator() (int row, int col) |
| Get matrix element. More...
|
|
5 x 5 symmetric matrix
Definition at line 26 of file JMatrix5S.hh.
◆ JMatrix5S() [1/3]
JMATH::JMatrix5S::JMatrix5S |
( |
| ) |
|
|
inline |
◆ JMatrix5S() [2/3]
JMATH::JMatrix5S::JMatrix5S |
( |
const JMatrix5D & |
A | ) |
|
|
inline |
◆ JMatrix5S() [3/3]
JMATH::JMatrix5S::JMatrix5S |
( |
const double |
__a00, |
|
|
const double |
__a10, |
|
|
const double |
__a11, |
|
|
const double |
__a20, |
|
|
const double |
__a21, |
|
|
const double |
__a22, |
|
|
const double |
__a30, |
|
|
const double |
__a31, |
|
|
const double |
__a32, |
|
|
const double |
__a33, |
|
|
const double |
__a40, |
|
|
const double |
__a41, |
|
|
const double |
__a42, |
|
|
const double |
__a43, |
|
|
const double |
__a44 |
|
) |
| |
|
inline |
Contructor.
The upper triangle is internally set.
- Parameters
-
__a00 | (0,0) |
__a10 | (1,0) |
__a11 | (1,1) |
__a20 | (2,0) |
__a21 | (2,1) |
__a22 | (2,2) |
__a30 | (3,0) |
__a31 | (3,1) |
__a32 | (3,2) |
__a33 | (3,3) |
__a40 | (4,0) |
__a41 | (4,1) |
__a42 | (4,2) |
__a43 | (4,3) |
__a44 | (4,4) |
Definition at line 68 of file JMatrix5S.hh.
73 JMatrix5D(__a00, __a10, __a20, __a30, __a40,
74 __a10, __a11, __a21, __a31, __a41,
75 __a20, __a21, __a22, __a32, __a42,
76 __a30, __a31, __a32, __a33, __a43,
77 __a40, __a41, __a42, __a43, __a44)
◆ invert()
void JMATH::JMatrix5S::invert |
( |
| ) |
|
|
inline |
Invert matrix.
Definition at line 84 of file JMatrix5S.hh.
103 if (fabs(
a10) > fabs(val)) {
108 if (fabs(
a20) > fabs(val)) {
113 if (fabs(
a30) > fabs(val)) {
118 if (fabs(
a40) > fabs(val)) {
159 throw JDivisionByZero(
"LDU decomposition zero pivot");
188 if (fabs(
a21) > fabs(val)) {
193 if (fabs(
a31) > fabs(val)) {
198 if (fabs(
a41) > fabs(val)) {
231 throw JDivisionByZero(
"LDU decomposition zero pivot");
251 if (fabs(
a32) > fabs(val)) {
256 if (fabs(
a42) > fabs(val)) {
281 throw JDivisionByZero(
"LDU decomposition zero pivot");
294 if (fabs(
a43) > fabs(val)) {
311 throw JDivisionByZero(
"LDU decomposition zero pivot");
320 throw JDivisionByZero(
"D matrix not invertable");
◆ getInstance()
static const JMatrix5D& JMATH::JMatrix5D::getInstance |
( |
| ) |
|
|
inlinestaticinherited |
Get reference to unique instance of this class object.
- Returns
- zero matrix
Definition at line 101 of file JMatrix5D.hh.
◆ setIdentity()
Set to identity matrix.
- Returns
- this matrix
Definition at line 114 of file JMatrix5D.hh.
◆ getIdentity()
static const JMatrix5D& JMATH::JMatrix5D::getIdentity |
( |
| ) |
|
|
inlinestaticinherited |
Get reference to unique instance of this class object.
- Returns
- identity matrix
Definition at line 131 of file JMatrix5D.hh.
◆ set()
void JMATH::JMatrix5D::set |
( |
const JMatrix5D & |
A | ) |
|
|
inlineinherited |
Set matrix.
- Parameters
-
Definition at line 144 of file JMatrix5D.hh.
146 static_cast<JMatrix5D&>(*
this) = A;
◆ reset()
Set matrix to the null matrix.
- Returns
- this matrix
Definition at line 155 of file JMatrix5D.hh.
◆ transpose()
◆ negate()
Negate matrix.
- Returns
- -this matrix
Definition at line 192 of file JMatrix5D.hh.
◆ add()
Matrix addition.
- Parameters
-
- Returns
- this matrix + A
Definition at line 210 of file JMatrix5D.hh.
◆ sub()
Matrix subtraction.
- Parameters
-
- Returns
- this matrix - A
Definition at line 228 of file JMatrix5D.hh.
◆ mul() [1/3]
JMatrix5D& JMATH::JMatrix5D::mul |
( |
const double |
factor | ) |
|
|
inlineinherited |
Scale matrix.
- Parameters
-
- Returns
- this matrix * factor
Definition at line 246 of file JMatrix5D.hh.
248 a00 *= factor;
a01 *= factor;
a02 *= factor;
a03 *= factor;
a04 *= factor;
249 a10 *= factor;
a11 *= factor;
a12 *= factor;
a13 *= factor;
a14 *= factor;
250 a20 *= factor;
a21 *= factor;
a22 *= factor;
a23 *= factor;
a24 *= factor;
251 a30 *= factor;
a31 *= factor;
a32 *= factor;
a33 *= factor;
a34 *= factor;
252 a40 *= factor;
a41 *= factor;
a42 *= factor;
a43 *= factor;
a44 *= factor;
◆ mul() [2/3]
Matrix multiplication.
- Parameters
-
- Returns
- this matrix
Definition at line 283 of file JMatrix5D.hh.
◆ mul() [3/3]
Multiply with object.
- Parameters
-
- Returns
- result object
Definition at line 273 of file JMath.hh.
◆ div()
JMatrix5D& JMATH::JMatrix5D::div |
( |
const double |
factor | ) |
|
|
inlineinherited |
Scale matrix.
- Parameters
-
- Returns
- this matrix / factor
Definition at line 264 of file JMatrix5D.hh.
266 a00 /= factor;
a01 /= factor;
a02 /= factor;
a03 /= factor;
a04 /= factor;
267 a10 /= factor;
a11 /= factor;
a12 /= factor;
a13 /= factor;
a14 /= factor;
268 a20 /= factor;
a21 /= factor;
a22 /= factor;
a23 /= factor;
a24 /= factor;
269 a30 /= factor;
a31 /= factor;
a32 /= factor;
a33 /= factor;
a34 /= factor;
270 a40 /= factor;
a41 /= factor;
a42 /= factor;
a43 /= factor;
a44 /= factor;
◆ equals()
bool JMATH::JMatrix5D::equals |
( |
const JMatrix5D & |
A, |
|
|
const double |
eps = std::numeric_limits<double>::min() |
|
) |
| const |
|
inlineinherited |
Equality.
- Parameters
-
A | matrix |
eps | numerical precision |
- Returns
- true if matrices identical; else false
Definition at line 327 of file JMatrix5D.hh.
330 return (fabs(
a00 - A.
a00) <= eps &&
331 fabs(
a01 - A.
a01) <= eps &&
332 fabs(
a02 - A.
a02) <= eps &&
333 fabs(
a03 - A.
a03) <= eps &&
334 fabs(
a04 - A.
a04) <= eps &&
335 fabs(
a10 - A.
a10) <= eps &&
336 fabs(
a11 - A.
a11) <= eps &&
337 fabs(
a12 - A.
a12) <= eps &&
338 fabs(
a13 - A.
a13) <= eps &&
339 fabs(
a14 - A.
a14) <= eps &&
340 fabs(
a20 - A.
a20) <= eps &&
341 fabs(
a21 - A.
a21) <= eps &&
342 fabs(
a22 - A.
a22) <= eps &&
343 fabs(
a23 - A.
a23) <= eps &&
344 fabs(
a24 - A.
a24) <= eps &&
345 fabs(
a30 - A.
a30) <= eps &&
346 fabs(
a31 - A.
a31) <= eps &&
347 fabs(
a32 - A.
a32) <= eps &&
348 fabs(
a33 - A.
a33) <= eps &&
349 fabs(
a34 - A.
a34) <= eps &&
350 fabs(
a40 - A.
a40) <= eps &&
351 fabs(
a41 - A.
a41) <= eps &&
352 fabs(
a42 - A.
a42) <= eps &&
353 fabs(
a43 - A.
a43) <= eps &&
354 fabs(
a44 - A.
a44) <= eps);
◆ isIdentity()
bool JMATH::JMatrix5D::isIdentity |
( |
const double |
eps = std::numeric_limits<double>::min() | ) |
const |
|
inlineinherited |
Test identity.
- Parameters
-
- Returns
- true if identity matrix; else false
Definition at line 364 of file JMatrix5D.hh.
◆ getDeterminant()
double JMATH::JMatrix5D::getDeterminant |
( |
| ) |
const |
|
inlineinherited |
Get determinant of matrix.
- Returns
- determinant of matrix
Definition at line 375 of file JMatrix5D.hh.
◆ transform()
void JMATH::JMatrix5D::transform |
( |
double & |
__x0, |
|
|
double & |
__x1, |
|
|
double & |
__x2, |
|
|
double & |
__x3, |
|
|
double & |
__x4 |
|
) |
| const |
|
inlineinherited |
Transform.
- Parameters
-
__x0 | x0 value |
__x1 | x1 value |
__x2 | x2 value |
__x3 | x3 value |
__x4 | x4 value |
Definition at line 417 of file JMatrix5D.hh.
419 const double x0 =
a00 * __x0 +
a01 * __x1 +
a02 * __x2 +
a03 * __x3 +
a04 * __x4;
420 const double x1 =
a10 * __x0 +
a11 * __x1 +
a12 * __x2 +
a13 * __x3 +
a14 * __x4;
421 const double x2 =
a20 * __x0 +
a21 * __x1 +
a22 * __x2 +
a23 * __x3 +
a24 * __x4;
422 const double x3 =
a30 * __x0 +
a31 * __x1 +
a32 * __x2 +
a33 * __x3 +
a34 * __x4;
423 const double x4 =
a40 * __x0 +
a41 * __x1 +
a42 * __x2 +
a43 * __x3 +
a44 * __x4;
◆ operator()() [1/2]
double JMATH::JMatrix5D::operator() |
( |
int |
row, |
|
|
int |
col |
|
) |
| const |
|
inlineinherited |
Get matrix element.
- Parameters
-
row | row number |
col | column number |
- Returns
- matrix element at (row,col)
Definition at line 501 of file JMatrix5D.hh.
◆ operator()() [2/2]
double& JMATH::JMatrix5D::operator() |
( |
int |
row, |
|
|
int |
col |
|
) |
| |
|
inlineinherited |
Get matrix element.
- Parameters
-
row | row number |
col | column number |
- Returns
- matrix element at (row,col)
Definition at line 514 of file JMatrix5D.hh.
◆ NUMBER_OF_DIMENSIONS
const int JMATH::JMatrix5D::NUMBER_OF_DIMENSIONS = 5 |
|
staticinherited |
◆ a00
double JMATH::JMatrix5D::a00 |
|
inherited |
◆ a01
double JMATH::JMatrix5D::a01 |
|
inherited |
◆ a02
double JMATH::JMatrix5D::a02 |
|
inherited |
◆ a03
double JMATH::JMatrix5D::a03 |
|
inherited |
◆ a04
double JMATH::JMatrix5D::a04 |
|
inherited |
◆ a10
double JMATH::JMatrix5D::a10 |
|
inherited |
◆ a11
double JMATH::JMatrix5D::a11 |
|
inherited |
◆ a12
double JMATH::JMatrix5D::a12 |
|
inherited |
◆ a13
double JMATH::JMatrix5D::a13 |
|
inherited |
◆ a14
double JMATH::JMatrix5D::a14 |
|
inherited |
◆ a20
double JMATH::JMatrix5D::a20 |
|
inherited |
◆ a21
double JMATH::JMatrix5D::a21 |
|
inherited |
◆ a22
double JMATH::JMatrix5D::a22 |
|
inherited |
◆ a23
double JMATH::JMatrix5D::a23 |
|
inherited |
◆ a24
double JMATH::JMatrix5D::a24 |
|
inherited |
◆ a30
double JMATH::JMatrix5D::a30 |
|
inherited |
◆ a31
double JMATH::JMatrix5D::a31 |
|
inherited |
◆ a32
double JMATH::JMatrix5D::a32 |
|
inherited |
◆ a33
double JMATH::JMatrix5D::a33 |
|
inherited |
◆ a34
double JMATH::JMatrix5D::a34 |
|
inherited |
◆ a40
double JMATH::JMatrix5D::a40 |
|
inherited |
◆ a41
double JMATH::JMatrix5D::a41 |
|
inherited |
◆ a42
double JMATH::JMatrix5D::a42 |
|
inherited |
◆ a43
double JMATH::JMatrix5D::a43 |
|
inherited |
◆ a44
double JMATH::JMatrix5D::a44 |
|
inherited |
The documentation for this class was generated from the following file: