🆕 What's new
- 2026/10/29: v0.13.0 improved performance on rectangular inputs for native R/H families.
- 2026/10/27: v0.12.0 improved performance on congested rectangular inputs for native R/H families.
- 2026/10/19: v0.11.0rc1 added the Rust and hybrid solvers:lapjvr,lapjvh,lapjvr_batch, andlapjvh_batch.
- 2026/09/07: v0.10.0rc1 added Python 3.15 support andlapmod_batch. It improved type hints, stability, and performance.
lapx started as a project to maintain Tomas Kazmar's lap, a Jonker-Volgenant solver package.
It provides dense and sparse solvers for single matrices and batches.
See the usage guide for all available functions.
For dedicated native solvers, see laprust
(Rust, from lapjvr) and lapcpp (C++).
Both packages provide lapjv and lapjv_batch.
Install from PyPI:
python -m pip install lapxPublished wheels cover Python 3.9–3.15 on most platforms and architectures. See the package files for details.
musllinux ARMv7 wheels include all pre-existing solvers but omit lapjvr, lapjvh,
lapjvr_batch, and lapjvh_batch because native Rust build tools are unavailable.
For source builds, optional solver families, and compiler settings, see the installation guide.
Install the package as lapx and use import lap.
Do not install lap and lapx together. Both packages provide the import name lap.
See the usage guide for single-matrix examples, batch examples, cost rules, and return formats.
Totals sum the recorded case times with the original precision settings.
See the benchmark guide for commands, repeat controls, timing methods, and historical results.
See the solver test guide and the build and packaging guide to run the checks.
