qpax examples

May 26, 2026 ยท View on GitHub

Standalone examples and benchmarks for the qpax differentiable QP solver.

Quickstart

# 1. Install qpax and the example deps:
pip install -r requirements.txt 

# 2. Run the smallest example end-to-end:
# cd example_name
# python example_name.py (or the CLI command in the example's readme)

NOTE: In requirements.txt modify the qpax version to your needs (CPU/GPU) (see the installation instructions for more details).

Examples

ExampleMethodDescriptionPaper
bilevel_trajectory_optimization
Bilevel trajectory optimizationInner QP ensures safety and smoothness; outer L-BFGS reduces navigation time.Mellinger et al.
learning_safety_filter
Learning from demonstrationsLearning a multi-agent safety-filter CBF from expert demonstrations.Xiao et al.
autotuning_mpc
MPC autotuning from demonstrationsLearns MPC cost weights from demonstration trajectories.Adabag et al.
backend_comparison
Theoretical comparisonComparison of implicit and explicit backend of the qpax solver.Arrizabalaga et al.

Each example folder ships its own README.md with the exact run command, CLI/config options, and output paths.

Projects using qpax

The following open-source projects use qpax in compelling real-world applications:

  • cbfpy: Control Barrier Functions in Python and JAX.
  • oscbf: Safe, high-performance, task-consistent manipulator control.
  • frax: Fast robot kinematics and dynamics in JAX.

These projects are good references for seeing how qpax can be used beyond the examples in this repository.

If you are using qpax and would like to be listed here, open a PR or issue and we will be happy to add your project.

Citation

If you use these examples or the qpax solver in academic work, please cite:

@misc{arrizabalaga2026differentiableinteriorpointmethodsingle,
      title={A Differentiable Interior-Point Method in Single Precision}, 
      author={Jon Arrizabalaga and Kevin Tracy and Zachary Manchester},
      year={2026},
      eprint={2605.17913},
      archivePrefix={arXiv},
      primaryClass={math.OC},
      url={https://arxiv.org/abs/2605.17913}, 
}

License

This project is licensed under the Apache License 2.0 โ€” see the qpax repository for details.