Template Function proxsuite::proxqp::sparse::ldl_solve_in_place

Function Documentation

template<typename T, typename I>
void proxsuite::proxqp::sparse::ldl_solve_in_place(VectorViewMut<T> rhs, VectorView<T> init_guess, Results<T> const &results, Model<T, I> const &data, isize n_tot, proxsuite::linalg::sparse::MatMut<T, I> ldl, Eigen::MINRES<detail::AugmentedKkt<T, I>, Eigen::Upper | Eigen::Lower, Eigen::IdentityPreconditioner> &iterative_solver, bool do_ldlt, proxsuite::linalg::veg::dynstack::DynStackMut stack, T *ldl_values, I *perm, I *ldl_col_ptrs, I const *perm_inv, Settings<T> const &settings, proxsuite::linalg::sparse::MatMut<T, I> kkt_active, proxsuite::linalg::veg::SliceMut<bool> active_constraints)

Solves in place a linear system.

Parameters:
  • rhs – right hand side vector of the linear system to solver.

  • init_guess – initial guess for solving the linear system

  • ldl – current ldlt.

  • do_ldlt – boolean variable for doing the ldlt (rather than MinRes algorithm).

  • perm_inv – pointer to the inverse of the permutation.

  • results – solver results.

  • data – model of the QP.

  • n_tot – dimension of the KKT matrix

  • kkt_active – active part of the KKT matrix.

  • active_constraints – vector boolean precising whether the constraints are active or not.

  • iterative_solver – iterative solver matrix free.

  • stack – memory stack.

  • ldl_values – pointor to ldl values.

  • perm – pointor to the ldl permutation.

  • ldl_col_ptrs – pointor to the column of the ldl.

  • perm_inv – pointor the inverse permutation.

  • settings – solver’s settings.

  • kkt_active – active part of the kkt.