Template Function proxsuite::linalg::sparse::add_row

Function Documentation

template<typename T, typename I>
auto proxsuite::linalg::sparse::add_row(MatMut<T, I> ld, I *etree, I const *perm_inv, isize pos, VecRef<T, I> new_col, proxsuite::linalg::veg::DoNotDeduce<T> diag_element, DynStackMut stack) noexcept(false) -> MatMut<T, I>

Given the ldlt factors of matrix a, computes the ldlt factors of the matrix a with added row and column at position pos. It is assumed that the row and column are empty except the diagonal element. It returns a view of the updated factors.

Parameters:
  • ld – : the ldlt factors

  • 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.

  • pos – position of the row and column to be added

  • new_col – : new column to be added without the diagonal element (of size nnz-1)

  • diag_element – : diagonal element of the added row and column

  • stack – is the memory stack