Home

Warning

The software is under active development. Use it at your own risk, and please send your feedback to Buyun Liang via liang664@umn.edu. We are always looking for contributors and collaborators.

NCVX (NonConVeX) is a user-friendly and scalable python package for solving general nonconvex, especially nonsmooth and constrained problems. NCVX, GRANSO translated and revamped, features auto-differentiation, GPU acceleration, tensor input, scalable QP solver, and zero dependency on proprietary packages. As a highlight, NCVX can solve general constrained deep learning problems, the first of its kind. NCVX is being developed by GLOVEX at the Department of Computer Science & Engineering, University of Minnesota, Twin Cities.

Get the Code

The source code is available on our group Github.

Update Logs

v1.1.1: Multiple examples added: unconstrained DL, feasibility problem, sphere manifold.

v1.1.0: L-BFGS Added. Notebook tutorials added. Feature complete translation for GRANSO.

v1.0.0: Initial release of NCVX. Main features: auto-differentiation, GPU acceleration, tensor input, scalable QP solver, and zero dependency on proprietary packages.

Acknowledgements

We would like to thank the GRANSO developers. This work was supported by UMII Seed Grant Program and NSF CMMI 2038403.

Contact

NCVX is created by Buyun Liang [https://buyunliang.org] - feel free to contact me [liang664@umn.edu] if you have any questions!