A package to project onto quadratic hypersurface.
Project description
quadproj
A simple library to project a point onto a quadratic surface, or quadric.
Please cite us if you use this package.
How to install quadproj?
python3 -m pip install quadproj
How does quadproj works?
Roughly speaking, the projection is obtained by computing exhaustively all KKT point from the optimization problem defining the projection. We show in [1] 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?
The class Quadric
from the quadrics
module allows to create a non-empty, non-cylindrical, and central quadric.
We can use the project
function from the project
module to find (one of) the projections
of some point onto the quadric.
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.