slsqp_jax.qp.inequality

Inequality-only path: no equality block, just an active-set loop on the inequality residuals.

slsqp_jax.qp.inequality

Inequality-only QP strategy.

Used when m_eq == 0: there is no equality block to absorb / project, just an active-set loop on inequality constraints.

slsqp_jax.qp.inequality.solve_qp_inequality(hvp_fn, g, A_ineq, b_ineq, m_ineq, max_iter, max_cg_iter, tol, expand_factor, initial_active_set, kkt_residual, inner_solver, precond_fn=None, cg_tol=None, cg_regularization=1e-06, predicted_active_set=None, use_expand=True, mult_drop_floor=1e-06, ping_pong_threshold=2147483647)[source]

Solve the QP with inequality constraints only (no equality block).

Return type:

QPSolverResult

Parameters:
  • hvp_fn (Callable[[Float[Array, 'n']], Float[Array, 'n']])

  • g (Float[Array, 'n'])

  • A_ineq (Float[Array, 'm_ineq n'])

  • b_ineq (Float[Array, 'm_ineq'])

  • m_ineq (int)

  • max_iter (int)

  • max_cg_iter (int)

  • tol (Float[Array, ''] | float)

  • expand_factor (float)

  • initial_active_set (Bool[Array, 'm_ineq'] | None)

  • kkt_residual (Float[Array, ''] | float)

  • inner_solver (AbstractInnerSolver)

  • precond_fn (Callable[[Float[Array, 'n']], Float[Array, 'n']] | None)

  • cg_tol (Float[Array, ''] | float | None)

  • cg_regularization (float)

  • predicted_active_set (Bool[Array, 'm_ineq'] | None)

  • use_expand (bool)

  • mult_drop_floor (float)

  • ping_pong_threshold (int)