CMS 3D CMS Logo

Classes | Namespaces | Functions | Variables
choleskyInversion.h File Reference
#include <cmath>
#include <Eigen/Core>

Go to the source code of this file.

Classes

struct  math::cholesky::Inverter< M1, M2, N >
 
struct  math::cholesky::Inverter< M1, M2, 1 >
 
struct  math::cholesky::Inverter< M1, M2, 2 >
 
struct  math::cholesky::Inverter< M1, M2, 3 >
 
struct  math::cholesky::Inverter< M1, M2, 4 >
 
struct  math::cholesky::Inverter< M1, M2, 5 >
 
struct  math::cholesky::Inverter< M1, M2, 6 >
 

Namespaces

 math
 
 math::cholesky
 

Functions

template<typename D1 , typename D2 >
constexpr void math::cholesky::__attribute__ ((always_inline)) invert(Eigen
 
template<typename M1 , typename M2 >
constexpr void math::cholesky::__attribute__ ((always_inline)) invert11(M1 const &src
 
 math::cholesky::dst (0, 0)
 
 math::cholesky::dst (1, 0)
 
 math::cholesky::dst (1, 1)
 
 math::cholesky::dst (2, 0)
 
 math::cholesky::dst (2, 1)
 
 math::cholesky::dst (2, 2)
 
 math::cholesky::dst (3, 0)
 
 math::cholesky::dst (3, 1)
 
 math::cholesky::dst (3, 2)
 
 math::cholesky::dst (3, 3)
 
 math::cholesky::dst (4, 0)
 
 math::cholesky::dst (4, 1)
 
 math::cholesky::dst (4, 2)
 
 math::cholesky::dst (4, 3)
 
 math::cholesky::dst (4, 4)
 
 math::cholesky::dst (5, 0)
 
 math::cholesky::dst (5, 1)
 
 math::cholesky::dst (5, 2)
 
 math::cholesky::dst (5, 3)
 
 math::cholesky::dst (5, 4)
 
 math::cholesky::dst (5, 5)
 
template<typename M >
constexpr void math::cholesky::symmetrize11 (M &dst)
 
template<typename M >
constexpr void math::cholesky::symmetrize22 (M &dst)
 
template<typename M >
constexpr void math::cholesky::symmetrize33 (M &dst)
 
template<typename M >
constexpr void math::cholesky::symmetrize44 (M &dst)
 
template<typename M >
constexpr void math::cholesky::symmetrize55 (M &dst)
 
template<typename M >
constexpr void math::cholesky::symmetrize66 (M &dst)
 

Variables

constexpr void M2 & math::cholesky::dst
 
auto math::cholesky::li21 = luc1 * luc0 * luc2
 
auto math::cholesky::li31 = (luc1 * (luc2 * luc4) - luc3) * luc0
 
auto math::cholesky::li32 = -(luc2 * luc4)
 
auto math::cholesky::li41 = (-luc1 * (luc2 * luc4) * (luc8 * luc5) + luc1 * (luc2 * luc7) + luc3 * (luc8 * luc5) - luc6) * luc0
 
auto math::cholesky::li42 = (luc4 * luc8 * luc5 - luc7) * luc2
 
auto math::cholesky::li43 = -(luc8 * luc5)
 
auto math::cholesky::li51
 
auto math::cholesky::li52 = (-luc4 * luc8 * luc13 * luc5 * luc9 + luc4 * luc12 * luc5 + luc7 * luc13 * luc9 - luc11) * luc2
 
auto math::cholesky::li53 = (luc13 * luc8 * luc9 - luc12) * luc5
 
auto math::cholesky::li54 = -luc13 * luc9
 
auto math::cholesky::li61
 
auto math::cholesky::li62
 
auto math::cholesky::li63
 
auto math::cholesky::li64 = (luc19 * luc14 * luc13 - luc18) * luc9
 
auto math::cholesky::li65 = -luc19 * luc14
 
auto math::cholesky::luc0 = F(1.0) / src(0, 0)
 
auto math::cholesky::luc1 = src(1, 0) * src(1, 0) * luc0
 
auto math::cholesky::luc10 = src(4, 0)
 
auto math::cholesky::luc11 = (src(4, 1) - luc0 * luc1 * luc10)
 
auto math::cholesky::luc12 = (src(4, 2) - luc0 * luc3 * luc10 - luc2 * luc4 * luc11)
 
auto math::cholesky::luc13 = (src(4, 3) - luc0 * luc6 * luc10 - luc2 * luc7 * luc11 - luc5 * luc8 * luc12)
 
auto math::cholesky::luc14
 
auto math::cholesky::luc15 = src(5, 0)
 
auto math::cholesky::luc16 = (src(5, 1) - luc0 * luc1 * luc15)
 
auto math::cholesky::luc17 = (src(5, 2) - luc0 * luc3 * luc15 - luc2 * luc4 * luc16)
 
auto math::cholesky::luc18 = (src(5, 3) - luc0 * luc6 * luc15 - luc2 * luc7 * luc16 - luc5 * luc8 * luc17)
 
auto math::cholesky::luc19
 
auto math::cholesky::luc2 = F(1.0) / (src(1, 1) - luc1)
 
auto math::cholesky::luc20
 
auto math::cholesky::luc3 = src(2, 0)
 
auto math::cholesky::luc4 = (src(2, 1) - luc0 * luc1 * luc3)
 
auto math::cholesky::luc5 = src(2, 2) - (luc0 * luc3 * luc3 + (luc2 * luc4) * luc4)
 
auto math::cholesky::luc6 = src(3, 0)
 
auto math::cholesky::luc7 = (src(3, 1) - luc0 * luc1 * luc6)
 
auto math::cholesky::luc8 = (src(3, 2) - luc0 * luc3 * luc6 - luc2 * luc4 * luc7)
 
auto math::cholesky::luc9 = src(3, 3) - (luc0 * luc6 * luc6 + luc2 * luc7 * luc7 + luc8 * (luc8 * luc5))