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:
- 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)