-
-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Macaulay matrix for Sequence Multivariate Polynomials #39511
base: develop
Are you sure you want to change the base?
Conversation
Documentation preview for this PR (built with commit a2ac5ac; changes) is ready! 🎉 |
Thanks for this nice addition! I will review soon. A first (too long) note on a non-programming-related point, but following our discussion concerning what reference to show for Macaulay matrices. The Macaulay 1902 paper that you refer to in your method's documentation may look like a sufficient reference by itself. Another reference, similar but maybe more to the point concerning the construction of the matrices, could be the chapter I of the book with SageMath reference [Mac1916] (F.S. Macaulay, The algebraic theory of modular systems, 1916, chapter I available here). As we discussed, picking a more recent presentation of these matrices could have some advantage, for example one that would also cover non-homogeneous polynomials... but finding "the right" reference is tricky (among others, because putting a 21th century reference for something already described more than 100 years before seems somewhat odd). The reference you introduced (Bardet & Faugère & Salvy, 2015) in fact refers directly to Macaulay's 1902 paper you listed: It is classical that the computation of Gröbner bases can be performed by linear algebra on a large matrix that has been described precisely by Macaulay (1902). A suggestion could be Lazard's 1983 paper "Gröbner bases, Gaussian elimination and resolution of systems of algebraic equations", which defines the Macaulay matrix for non-homogeneous polynomials in section 2; another suggestion (my preference, I think) could be to put no reference other than Macaulay 1902/1916. |
@@ -420,6 +420,10 @@ REFERENCES: | |||
.. [Baer2020] Christian Bär. *The Faddeev-LeVerrier algorithm and the Pfaffian*. | |||
:arxiv:`2008.04247`, 2020. | |||
|
|||
.. [BFS2015] M. Bardet, J-C. Faugère, B. Salvy. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Depending on the decision for the suggestion about references, this might have to be removed for the moment (to avoid a reference that is currently not being referred to in Sage).
Mentioning this to @robinkouba who might have some comments since he recently dealt with Macaulay matrices in SageMath. |
add reference for macaulay matrix Co-authored-by: Vincent Neiger <[email protected]>
when ``False``, only return the Macaulay matrix | ||
when ``True``, return the Macaulay matrix and two list, | ||
the first one is the list of monomials corresponding | ||
to the lines of the matrix, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to the lines of the matrix, | |
to the rows of the matrix, |
the second one is a list of tuples, each tuple is the | ||
data of a monomial and a polynomial of the system. | ||
the product of the elements of a given tuple is the equation | ||
describing each line of the matrix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
describing each line of the matrix | |
describing each row of the matrix |
I think it would be great to add an option for ordering the columns and rows. For the columns, this is straightforward: one can simply provide a monomial order as input, possibly along with a choice between increasing or decreasing order. For the rows, the situation is more complex since they are indexed by elements of the form (m,i), where m is a monomial and i indexes the polynomials in the input. This indexing corresponds to monomials in a free K[x1,…,xn]-module, so perhaps an ordering could also be provided as input, but I think sagemath currently does not have monomial orderings for modules. At least, providing the choice between position over term and term over position could be easy to implement (the current ordering seems to correspond to position over term). |
We implemented the Macaulay matrix for Sequence of multivariate polynomials
📝 Checklist