Venue: NeurIPS 2022 Conference

Reviews:

final_score: rating: 7: Accept: Technically solid paper, with high impact on at least one sub-area, or moderate-to-high impact on more than one areas, with good-to-excellent evaluation, resources, reproducibility, and no unaddressed ethical considerations.
review_content: summary: The paper describes a python package for projecting onto quadratic hypersurfaces. The basic problem it solves is to minimizing projection errors in Hilbert space subject to x^T A x + b^T x + c = 0. The authors show that with eigen decomposition of A, we can re-parametrize this problem and solve it with Newton's method. The paper also provides a number of example codes illustrating how to use the package. 
strengths_and_weaknesses: Strength

* clarity of writing
* the tool seems to have broader usage in practice

Weaknesses

* Some computational performance studies are missing. It would be nice to include statistics of how this package tool scales with the growth of problem size. 


questions: Could you provide some studies about how this package tool scales with the growth of problem size. 

I would also like to see some high dimension application of the package.
limitations: N/A
review_title: null

final_score: rating: 3: Reject: For instance, a paper with technical flaws, weak evaluation, inadequate reproducibility and incompletely addressed ethical considerations.
review_content: summary: This paper an introduction to a Python package implementing the method of projecting onto a central and non-cylindrical quadratic hypersurface (quadric) proposed in a recently posted arXiv manuscript [21]. Orthogonal projection onto a set is an important tool in machine learning as it is a basic building block of many learning algorithms. When the set onto which the projection is made is compact and convex the problem is relatively easy in the sense that the unique closest point exists and this point can be found using standard convex optimization algorithms. When the set is nonconvex, however, the problem needs to be tackled case by case. A quadric is a set of roots of a matrix quadratic equation characterized by the eigenvalues of the coefficient matrix $A$ of the quadratic term and the discriminant of the equation. This set is in general nonconvex. The recent manuscript [21, Proposition 2.20] provides  characteristics of a projected point (there can be multiple closest points from the input point since the set is nonconvex)  when the quadric is central (discriminant is nonzero) and non-cylindrical ($A$ is nonsingular), and also an algorithm [21, Algorithm 2] for computing it. This paper implements [21, Algorithm 2] in Python and build a package quadproj in order to democratize the algorithm. A review of the theory of [21] and exposition of how to use the quadproj package, with sample code snippets, are provided. 
strengths_and_weaknesses: A strength of the paper is in the "democratization" of the algorithm for projection onto a quadric by writing an easy-to-use Python package. The package is designed so that construction of a quadric object, projection onto the quadric, and visualization of the solution is straightforward. The sample code snippets are also easy to follow. Indeed, visualization (in 2D or 3D cases)  is emphasized with a couple of figures. Also, the exposition is quite clear.

A weakness is in novelty. All the theory and method in Sections 2 and 3 are treated in [21], so the contribution of this paper seems to be limited to Section 4, description of the quadproj package. I understand that careful and easy-to-use implementation of an algorithm is an important task, but for such an implementation is publishable to a premire conference and journal, I think more consideration is needed.  For example, in the editorial policy of the SIAM Journal on Scientific Computing (https://epubs.siam.org/journal/sisc/editorial-policy), which I believe is closest in scope with the paper, states for the "Software and High-Performance Computing" category as follows.

> ... For software in particular, submitted papers should not be limited to describing a new package but must present the algorithmic or technological innovations that made the development of the software possible.

Unfortunately, I do not see either algorithmic or technological innovation in the exposition of the package in this paper.

questions: None.
limitations: Please see "Strengths And Weaknesses" section. In the present form, this paper looks as if it is an appendix to [21].
review_title: null

final_score: rating: 3: Reject: For instance, a paper with technical flaws, weak evaluation, inadequate reproducibility and incompletely addressed ethical considerations.
review_content: summary: This paper is a short tutorial on a Python optimization package, which implements the method of the recent preprint [21], regarding the problem of projecting a given point of the Euclidean n-dimensional space onto a quadratic hypersurface. 
strengths_and_weaknesses: Strength:

Certainly, being able to project efficiently and accurately onto a quadratic hypersurface is very important, and the present paper concerns a promising step in this direction. Here is an additional reason for the significance of this problem, not mentioned in the paper: It is a classical fact in algebraic geometry, that any variety defined by homogeneous equations is isomorphic, via the so-called Veronese map, to a variety defined by quadratic equations (e.g., see Exercise 2.9, page 25, in “Algebraic Geometry: A First Course” by Joe Harris). Thus being able to efficiently and accurately project onto a single quadratic hypersurface, is the beginning of being able to project onto any variety, since the latter can be viewed as an intersection of quadratic hypersurfaces. 

Weakness:

While a tutorial presenting a Python package for projecting onto quadratic hypersurfaces is certainly nice to have, I am of the impression that NeurIPS is not the appropriate venue for it.  Instead, I would have loved to see a short version of [21], with experiments or a case study highlighting the importance of the problem for the machine learning and data science community, and comparing with the state-of-the-art homotopy continuation methods for the same problem.

Bibliographic remark: I would like to bring to the authors’ attention the following papers and citations therein, regarding the problem of projecting onto hypersurfaces and varieties more generally:
1. Draisma, Horobet, Ottaviani, Sturmfels, Thomas. “The Euclidean distance degree of an algebraic variety”. Foundations of Computational Mathematics.
2. Breiding, Sottile, Woodcock. “Euclidean distance degree and mixed volume”. Foundations of Computational Mathematics.


questions: 1. What is the highest ambient dimension that the package can handle? Could the authors please report some indicative running times?

2. How does this package compare to generic state-of-the-art homotopy continuation methods applied to the same problem?
limitations: Yes.
review_title: null

final_score: rating: 8: Strong Accept: Technically strong paper, with novel ideas, excellent impact on at least one area, or high-to-excellent impact on multiple areas, with excellent evaluation, resources, and reproducibility, and no unaddressed ethical considerations.
review_content: summary: Presents a library for computing projections onto a range of surfaces defined by Quadrics.
strengths_and_weaknesses: This paper does a good job of describing the problem it solves and illustrating examples of how the library can be used to solve instances of problems within the class of projection problems it considers. I am supportive of papers on software libraries, they are explicitly within the scope of NeurIPS and contribute directly to the ML community. I don't have any larger critiques, the examples are easy to understand and the visuals are simple and clear.
questions: N/A
limitations: This paper addresses a very narrow problem, and does not illustrate any concrete applications. I would have liked to see some demonstration of applications of the library.
review_title: null

Meta-review: metareview: The paper presents a software package to do projections on the non-cylindrical central quadratic hypersurfaces. While the problem is certainly interesting (all the reviewers agree), its motivation in the context of machine learning seems to be lacking in the paper. This is missing in the paper currently and is the main source of confusion in the reviewers' and the AC's minds. After discussions among the reviewers, I believe, the paper has much scope for improvements notwithstanding the merits. Please look at the suggestions carefully. Also, the paper, as it is, seems to better fit the scope of the MLOSS journal rather than the NeurIPS conference, just a thought from the AC. Having said that, I would encourage the authors to continue the development of this package. 
confidence: Certain
Decision: Reject