Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
#34519 update doc on msolve
Browse files Browse the repository at this point in the history
  • Loading branch information
mezzarobba committed Sep 16, 2022
1 parent e43bc6e commit b5adcc9
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ are implemented using the PolyBoRi library (cf. :mod:`sage.rings.polynomial.pbor
sage/rings/polynomial/multi_polynomial_libsingular
sage/rings/polynomial/multi_polynomial_ideal_libsingular

sage/rings/polynomial/msolve

sage/rings/polynomial/polydict
sage/rings/polynomial/hilbert

Expand Down
8 changes: 5 additions & 3 deletions src/sage/features/msolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@
r"""
Feature for testing the presence of msolve
`msolve <https://msolve.lip6.fr/>`_ is a multivariate polynomial system solver
developed mainly by Jérémy Berthomieu (Sorbonne University), Christian Eder
(TU Kaiserslautern), and Mohab Safey El Din (Sorbonne University).
`msolve <https://msolve.lip6.fr/>`_ is a multivariate polynomial system solver.
.. SEEALSO::
- :mod:`sage.rings.polynomial.msolve`
"""

import subprocess
Expand Down
22 changes: 16 additions & 6 deletions src/sage/rings/polynomial/msolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,17 @@
Solution of polynomial systems using msolve
`msolve <https://msolve.lip6.fr/>`_ is a multivariate polynomial system solver
developed mainly by Jérémy Berthomieu (Sorbonne University), Christian Eder
(TU Kaiserslautern), and Mohab Safey El Din (Sorbonne University).
based on Gröbner bases.
This module provide implementations of some operations on polynomial ideals
based on msolve. Currently the only supported operation is the computation of
the variety of zero-dimensional ideal over the rationals.
based on msolve.
Note that msolve must be installed separately.
.. SEEALSO::
- :mod:`sage.features.msolve`
- :mod:`sage.rings.polynomial.multi_polynomial_ideal`
- :mod:`sage.features.msolve`
- :mod:`sage.rings.polynomial.multi_polynomial_ideal`
"""

import os
Expand Down Expand Up @@ -121,6 +119,18 @@ def variety(ideal, ring, *, proof=True):
Part of the initial implementation was loosely based on the example
interfaces available as part of msolve, with the authors' permission.
EXAMPLES::
sage: from sage.rings.polynomial.msolve import variety
sage: p = 536870909
sage: R.<x, y> = PolynomialRing(GF(p), 2, order='lex')
sage: I = Ideal([ x*y - 1, (x-2)^2 + (y-1)^2 - 1])
sage: sorted(variety(I, GF(p^2), proof=False), key=str) # optional - msolve
[{x: 1, y: 1},
{x: 254228855*z2 + 114981228, y: 232449571*z2 + 402714189},
{x: 267525699, y: 473946006},
{x: 282642054*z2 + 154363985, y: 304421338*z2 + 197081624}]
TESTS::
sage: p = 536870909
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/polynomial/multi_polynomial_ideal.py
Original file line number Diff line number Diff line change
Expand Up @@ -4285,8 +4285,8 @@ def groebner_basis(self, algorithm='', deg_bound=None, mult_bound=None, prot=Fal
ALGORITHM:
Uses Singular, Magma (if available), Macaulay2 (if available),
Giac (if available), or a toy implementation.
Uses Singular, one of the other systems listed above (if available),
or a toy implementation.
TESTS:
Expand Down

0 comments on commit b5adcc9

Please sign in to comment.