A package to project onto quadratic hypersurface.
Project description
quadproj
A simple library to project a point onto a quadratic surface, or quadric.
How to install quadproj?
It is a one-liner!
python3 -m pip install quadproj
See installation page for further information and the requirements.
Documentation
The documentation is hosted on GitLab: https://loicvh.gitlab.io/quadproj
How does quadproj works?
The projection is obtained by computing exhaustively all KKT point from the optimization problem defining the projection. The authors of [1] show that for non-cylindrical central quadrics, the solutions belong to the KKT points that consist in the intersection between:
- a unique root of a nonlinear function on a specific interval;
- a set of closed-form points.
Either set can be empty but for a nonempty quadric, at least one is nonempty and contains (one of the) projections.
The full explanation is provided in [1].
How to use quadproj?
See the quickstart page or the API documentation.
Dependencies
See requirements.txt.
[1]
(2021) L. Van Hoorebeeck, P.-A. Absil and A. Papavasiliou, “Projection onto quadratic hypersurfaces”, submitted. (preprint, abstract/BibTex)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.