Fork me on GitHub


Numerically Accurate Sparsity-Oriented QP solver

NASOQ is a scalable and efficient Quadratic Programming solver that obtains solutions for requested accuracies. Visit our SIGGRAPH 2020 paper for details. NASOQ is open-source, the code is here.

Get started with NASOQ.

We have built the largest dataset of sparse QP problems from real applications to show the efficiency of NASOQ compared to other solvers. Visit the Sparse Quadratic Programing repository for problem descriptions.

Follow us on Twitter to stay tuned!


NASOQ is accurate

NASOQ converges to all reasonable requested accuracy thresholds. NASOQ provides the lowest failure rate amongst existing open-source and commercial solvers for a range of real QP problems.

NASOQ is fast

NASOQ uses an efficient sparsity-oriented row modification algorithm (SOMOD) and an indefinite solver to provide fast solutions to the intermediate indefinite linear system of equations that appear throughout the QP solve process.


NASOQ is versatile

NASOQ efficiently and accurately solves QP problems from a wide range of applications including contact simulation, shape deformation, model predictive control, model reconstruction and many more.

NASOQ is scalable

NASOQ leverages the problem sparsity pattern to efficiently solve QP problems with small as well as large number of variables and constraints. NASOQ can be used to solve QP problems within the range of 10 to 100 thousands of variables and with 10 to over several thousands of linear constraints.


NASOQ: Numerically Accurate Sparsity-Oriented QP Solver
Kazem Cheshmi, Danny M. Kaufman, Shoaib Kamil, Maryam Mehri Dehnavi