26 template <
class t_MatrixType>
27 inline static void compute(t_MatrixType &M)
31 M(0, 0) = std::sqrt(M(0,0));
35 M.col(i-1).segment(i, size-i) /= M(i-1,i-1);
37 M.col(i).segment(i, size-i).noalias() -= M.block(i, 0, size-i, i) * M.row(i).segment(0, i).transpose();
39 M(i, i) = std::sqrt(M(i,i));
44 template <
class t_OutputVectorType,
45 class t_InputMatrixType0,
46 class t_InputMatrixType1>
47 inline static void solve( t_OutputVectorType &x,
48 t_InputMatrixType0 &L,
49 t_InputMatrixType1 &v)
51 x = L.template triangularView<Eigen::Lower>().solve(v);
52 L.transpose().template triangularView<Eigen::Upper>().solveInPlace(x);
static void compute(t_MatrixType &M)
static void solve(t_OutputVectorType &x, t_InputMatrixType0 &L, t_InputMatrixType1 &v)