Template Function proxsuite::linalg::sparse::factorize_numeric
Defined in File factorize.hpp
Function Documentation
-
template<typename T, typename I>
void proxsuite::linalg::sparse::factorize_numeric(T *values, I *row_indices, proxsuite::linalg::veg::DoNotDeduce<T const*> diag_to_add, proxsuite::linalg::veg::DoNotDeduce<I const*> perm, I const *col_ptrs, I const *etree, I const *perm_inv, MatRef<T, I> a, DynStackMut stack) noexcept(false) Performs numerical
LDLT
factorization, assuming the symbolic factorization and column counts have already been computed.L
andD
are stored in the same matrix, with the elements ofD
replacing the implicit diagonal1
element of each column ofL
.- Parameters:
values – pointer to the values of the factorization
row_indices – pointer to the row indices of the factorization
diag_to_add – pointer to a vector that is added to the diagonal of the matrix during factorization, if
diag_to_add
andperm
are both non nullperm – pointer to the pre-computed permutation that is applied to
diag
.col_ptrs – pointer to the already computed column pointers
etree – pointer to the already computed elimination tree
perm_inv – pointer to the already computed inverse permutation. Must be the inverse of
perm
a – matrix to be factorized
stack – temporary allocation stack