Template Function proxsuite::linalg::sparse::rank1_update

Function Documentation

template<typename T, typename I>
auto proxsuite::linalg::sparse::rank1_update(MatMut<T, I> ld, I *etree, I const *perm_inv, VecRef<T, I> w, proxsuite::linalg::veg::DoNotDeduce<T> alpha, DynStackMut stack) noexcept(false) -> MatMut<T, I>

Performs a rank one update in place. Given ldlt factor l, and d, of a matrix a, this computes the ldlt factors of a + alpha w w.T It returns a view on the updated factors.

Parameters:
  • ld – : ldlt factors of a (lower triangular with d on the diagonal)

  • etree – pointer to the elimination tree

  • perm_inv – pointer to inverse permutation (for ex AMD). If this is null, the permutation is assumed to be the identity.

  • w – is the update vector

  • alpha – is the update coefficient

  • stack – is the memory stack