Explicit API¶
Internals of the explicit predictor–corrector backend. Import directly from
qpax.explicit only when you specifically want this backend's
implementation.
qpax.explicit.pdip.solve_qp ¶
solve_qp(Q: Array, q: Array, A: Array, b: Array, G: Array, h: Array, solver_tol: float = 1e-05, max_iter: int = 30, linear_solver: LinearSolver = LinearSolver.CHOLESKY, return_bad_step: bool = False, sigma: float = 0.125, verbose: bool = False)
Solve a QP using a primal-dual interior point method.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
Q
|
Array
|
(n, n) positive definite matrix |
required |
q
|
Array
|
(n,) vector |
required |
A
|
Array
|
(m, n) equality constraint matrix |
required |
b
|
Array
|
(m,) equality constraint vector |
required |
G
|
Array
|
(p, n) inequality constraint matrix |
required |
h
|
Array
|
(p,) inequality constraint vector |
required |
linear_solver
|
LinearSolver
|
LinearSolver.CHOLESKY or LinearSolver.QR |
CHOLESKY
|
Returns:
| Name | Type | Description |
|---|---|---|
x |
(n,) optimal solution |
|
s |
(p,) inequality slack variables |
|
z |
(p,) inequality dual variables |
|
y |
(m,) equality dual variables |
|
converged |
int convergence flag |
|
pdip_iter |
int number of iterations |
qpax.explicit.diff_qp.solve_qp_primal ¶
qpax.explicit.elastic_qp.solve_qp_elastic ¶
qpax.explicit.elastic_qp.solve_qp_elastic_primal ¶
qpax.explicit.pdip_relaxed.relax_qp ¶
relax_qp(Q, q, A, b, G, h, x, s, z, y, solver_tol=1e-05, target_kappa=0.001, max_iter=30, return_bad_step=False, sigma: float = 0.125, verbose: bool = False)