Classes | |
struct | Inverter |
struct | Inverter< M1, M2, 1 > |
struct | Inverter< M1, M2, 2 > |
struct | Inverter< M1, M2, 3 > |
struct | Inverter< M1, M2, 4 > |
struct | Inverter< M1, M2, 5 > |
struct | Inverter< M1, M2, 6 > |
Functions | |
template<typename M1 , typename M2 > | |
constexpr void | __attribute__ ((always_inline)) invert11(M1 const &src |
dst (0, 0) | |
dst (1, 0) | |
dst (1, 1) | |
dst (2, 0) | |
dst (2, 1) | |
dst (2, 2) | |
dst (3, 0) | |
dst (3, 1) | |
dst (3, 2) | |
dst (3, 3) | |
dst (4, 0) | |
dst (4, 1) | |
dst (4, 2) | |
dst (4, 3) | |
dst (4, 4) | |
dst (5, 0) | |
dst (5, 1) | |
dst (5, 2) | |
dst (5, 3) | |
dst (5, 4) | |
dst (5, 5) | |
template<typename M1 , typename M2 , int N = M2::ColsAtCompileTime> | |
constexpr void | invertNN (M1 const &src, M2 &dst) |
else | invertNN (src, dst) |
template<typename M > | |
constexpr void | symmetrize11 (M &dst) |
template<typename M > | |
constexpr void | symmetrize22 (M &dst) |
template<typename M > | |
constexpr void | symmetrize33 (M &dst) |
template<typename M > | |
constexpr void | symmetrize44 (M &dst) |
template<typename M > | |
constexpr void | symmetrize55 (M &dst) |
template<typename M > | |
constexpr void | symmetrize66 (M &dst) |
Variables | |
constexpr void M2 & | dst |
auto | li21 = luc1 * luc0 * luc2 |
auto | li31 = (luc1 * (luc2 * luc4) - luc3) * luc0 |
auto | li32 = -(luc2 * luc4) |
auto | li41 = (-luc1 * (luc2 * luc4) * (luc8 * luc5) + luc1 * (luc2 * luc7) + luc3 * (luc8 * luc5) - luc6) * luc0 |
auto | li42 = (luc4 * luc8 * luc5 - luc7) * luc2 |
auto | li43 = -(luc8 * luc5) |
auto | li51 |
auto | li52 = (-luc4 * luc8 * luc13 * luc5 * luc9 + luc4 * luc12 * luc5 + luc7 * luc13 * luc9 - luc11) * luc2 |
auto | li53 = (luc13 * luc8 * luc9 - luc12) * luc5 |
auto | li54 = -luc13 * luc9 |
auto | li61 |
auto | li62 |
auto | li63 |
auto | li64 = (luc19 * luc14 * luc13 - luc18) * luc9 |
auto | li65 = -luc19 * luc14 |
auto | luc0 = F(1.0) / src(0, 0) |
auto | luc1 = src(1, 0) * src(1, 0) * luc0 |
auto | luc10 = src(4, 0) |
auto | luc11 = (src(4, 1) - luc0 * luc1 * luc10) |
auto | luc12 = (src(4, 2) - luc0 * luc3 * luc10 - luc2 * luc4 * luc11) |
auto | luc13 = (src(4, 3) - luc0 * luc6 * luc10 - luc2 * luc7 * luc11 - luc5 * luc8 * luc12) |
auto | luc14 |
auto | luc15 = src(5, 0) |
auto | luc16 = (src(5, 1) - luc0 * luc1 * luc15) |
auto | luc17 = (src(5, 2) - luc0 * luc3 * luc15 - luc2 * luc4 * luc16) |
auto | luc18 = (src(5, 3) - luc0 * luc6 * luc15 - luc2 * luc7 * luc16 - luc5 * luc8 * luc17) |
auto | luc19 |
auto | luc2 = F(1.0) / (src(1, 1) - luc1) |
auto | luc20 |
auto | luc3 = src(2, 0) |
auto | luc4 = (src(2, 1) - luc0 * luc1 * luc3) |
auto | luc5 = src(2, 2) - (luc0 * luc3 * luc3 + (luc2 * luc4) * luc4) |
auto | luc6 = src(3, 0) |
auto | luc7 = (src(3, 1) - luc0 * luc1 * luc6) |
auto | luc8 = (src(3, 2) - luc0 * luc3 * luc6 - luc2 * luc4 * luc7) |
auto | luc9 = src(3, 3) - (luc0 * luc6 * luc6 + luc2 * luc7 * luc7 + luc8 * (luc8 * luc5)) |
|
inline |
fully inlined specialized code to perform the inversion of a positive defined matrix of rank up to 6.
adapted from ROOT::Math::CholeskyDecomp originally by
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 | |||
) |
|
inline |
Definition at line 17 of file choleskyInversion.h.
References a, dst, mps_fire::i, dqmiolumiharvest::j, isotrackApplyRegressor::k, cmsLHEtoEOSManager::l, N, and alcazmumu_cfi::src.
else math::cholesky::invertNN | ( | src | , |
dst | |||
) |
|
inline |
Definition at line 316 of file choleskyInversion.h.
|
inline |
|
inline |
Definition at line 324 of file choleskyInversion.h.
References dst, and symmetrize22().
Referenced by symmetrize44().
|
inline |
Definition at line 331 of file choleskyInversion.h.
References dst, and symmetrize33().
Referenced by symmetrize55().
|
inline |
Definition at line 339 of file choleskyInversion.h.
References dst, and symmetrize44().
Referenced by symmetrize66().
|
inline |
constexpr void M2 & math::cholesky::dst |
Definition at line 92 of file choleskyInversion.h.
Referenced by edm::bit_cast(), SiStripConfigDb::getDcuDetIds(), invertNN(), l1tpf_calo::FlatCaloLinker::run(), symmetrize22(), symmetrize33(), symmetrize44(), symmetrize55(), symmetrize66(), and DAClusterizerInZT_vect::update().
Definition at line 104 of file choleskyInversion.h.
Referenced by fastInvertPDM2().
Definition at line 125 of file choleskyInversion.h.
Definition at line 124 of file choleskyInversion.h.
auto math::cholesky::li41 = (-luc1 * (luc2 * luc4) * (luc8 * luc5) + luc1 * (luc2 * luc7) + luc3 * (luc8 * luc5) - luc6) * luc0 |
Definition at line 157 of file choleskyInversion.h.
Definition at line 156 of file choleskyInversion.h.
Definition at line 155 of file choleskyInversion.h.
auto math::cholesky::li51 |
Definition at line 204 of file choleskyInversion.h.
auto math::cholesky::li52 = (-luc4 * luc8 * luc13 * luc5 * luc9 + luc4 * luc12 * luc5 + luc7 * luc13 * luc9 - luc11) * luc2 |
Definition at line 203 of file choleskyInversion.h.
Definition at line 202 of file choleskyInversion.h.
Definition at line 201 of file choleskyInversion.h.
auto math::cholesky::li61 |
Definition at line 281 of file choleskyInversion.h.
auto math::cholesky::li62 |
Definition at line 277 of file choleskyInversion.h.
auto math::cholesky::li63 |
Definition at line 274 of file choleskyInversion.h.
Definition at line 273 of file choleskyInversion.h.
auto math::cholesky::luc0 = F(1.0) / src(0, 0) |
Definition at line 100 of file choleskyInversion.h.
auto math::cholesky::luc1 = src(1, 0) * src(1, 0) * luc0 |
Definition at line 101 of file choleskyInversion.h.
auto math::cholesky::luc10 = src(4, 0) |
Definition at line 187 of file choleskyInversion.h.
Definition at line 188 of file choleskyInversion.h.
Definition at line 189 of file choleskyInversion.h.
auto math::cholesky::luc13 = (src(4, 3) - luc0 * luc6 * luc10 - luc2 * luc7 * luc11 - luc5 * luc8 * luc12) |
Definition at line 190 of file choleskyInversion.h.
auto math::cholesky::luc14 |
auto math::cholesky::luc15 = src(5, 0) |
Definition at line 249 of file choleskyInversion.h.
Definition at line 250 of file choleskyInversion.h.
Definition at line 251 of file choleskyInversion.h.
auto math::cholesky::luc18 = (src(5, 3) - luc0 * luc6 * luc15 - luc2 * luc7 * luc16 - luc5 * luc8 * luc17) |
Definition at line 252 of file choleskyInversion.h.
auto math::cholesky::luc19 |
Definition at line 102 of file choleskyInversion.h.
math::cholesky::luc20 |
Definition at line 255 of file choleskyInversion.h.
auto math::cholesky::luc3 = src(2, 0) |
Definition at line 118 of file choleskyInversion.h.
Definition at line 119 of file choleskyInversion.h.
Definition at line 120 of file choleskyInversion.h.
auto math::cholesky::luc6 = src(3, 0) |
Definition at line 146 of file choleskyInversion.h.
Definition at line 147 of file choleskyInversion.h.
Definition at line 148 of file choleskyInversion.h.