Skip to main content

omnibias.convex

0.1.0a2AlphaPython >=3.10AGPL / commercial

Differentiable LP and QP solver paths, barrier methods, KKT sensitivities, and scoped optimality evidence.

import omnibias.convex

Use convex for the supported linear or quadratic program representation and solver contract. Matrix dimensions, inequality orientation, feasibility, and objective normalization must agree. Solver tolerances and barrier parameters control an approximate numerical solve; inspect convergence and feasibility information.

Implicit differentiation through an argmin relies on regularity and an appropriate nonsingular KKT system. Active-set transitions, degenerate constraints, or infeasibility can invalidate a smooth sensitivity interpretation. A returned gradient is not a guarantee that every nearby problem has the same solution structure.

Certified optimality information is a separate path with explicit assumptions and enclosure status. Preserve bounds and status rather than replacing them with an unconstrained success label. This alpha package uses AGPL-or-commercial licensing.

Module contract & mathematical conventions

omnibias-convex: differentiable + certified convex optimization (LP/QP).

A closed-form-Hessian log-barrier interior-point solver, an argmin that is differentiable through the KKT system (OptNet / cvxpylayers style), and an optional rigorous optimality certificate from omnibias.core.verified.

Backend solvers live under omnibias.convex.jax and omnibias.convex.torch; the pure containers (ConvexSolution, BarrierOptions) are shared.

important:

**Bit-parity with the PyTorch twin requires 64-bit JAX** -- jax.config.update("jax_enable_x64", True) before the first JAX array is created (or JAX_ENABLE_X64=1). JAX otherwise truncates to float32 while PyTorch uses float64, so the twins stay internally consistent but agree only to float32 tolerance. Where a value feeds a threshold, a rounding step or an argmax, that is enough to change the decision rather than just the last digits. See omnibias.jax.precision.

Shared formulas do not imply universal floating-point identity. Verify dtype, shape, derivative-order support, and the stated numerical assumptions for the path you use.

Imports & aliases​

These names share a definition with another public module. Follow a name for its full contract, parameters, and examples.

Import from this moduleCanonical reference
BarrierOptionsomnibias.convex.BarrierOptions
Certificateomnibias.convex.Certificate
CertificationErroromnibias.convex.CertificationError
ConvexSolutionomnibias.convex.ConvexSolution
LinearInequalityBackendomnibias.convex.LinearInequalityBackend
active_set_warm_startomnibias.convex.active_set_warm_start
certify_lp_optimumomnibias.convex.certify_lp_optimum
certify_qp_optimumomnibias.convex.certify_qp_optimum
geometry_warm_startomnibias.convex.geometry_warm_start
lp_dual_lower_boundomnibias.convex.lp_dual_lower_bound
predicted_vertexomnibias.convex.predicted_vertex