Hi Atahan,
I don't think that there has been any work on Groebner bases in SymPy
in the last year.
I just looked at the Groebner bases project idea. I guess you mean this one:
https://github.com/sympy/sympy/wiki/GSoC-Ideas#efficient-groebner-bases-and-their-applications
I would say that there are several things that would improve the
performance of SymPy's Groebner basis calculations in this respect:
1. Make use of python_flint to speed up polynomial arithmetic.
2. Improve linear algebra for FGLM and F4 algorithms (the idea
suggests this is needed first for F4).
3. Improve polynomial gcd:
https://github.com/sympy/sympy/wiki/GSoC-Ideas#polynomial-gcd
On the linear algebra side see (plenty of work can be done to improve this):
https://docs.sympy.org/latest/modules/polys/domainmatrix.html
https://docs.sympy.org/latest/modules/polys/domainsintro.html
Also we have the f5b algorithm but it is not used by default even
though it seems to be always faster than buchberger as far as I can
tell. Likewise for zero-dimensional bases it is usually faster to
compute a grevlex basis and convert to lex with fglm. The nonlinsolve
code does this but solve does not. Ideally that would be a simple
option with the groebner function.
Another thing that could be worked on is supporting different
orderings such as elimination ordering. The current code is sort of
there to handle this but doesn't fully work and could certainly be
made easier. With an elimination ordering we could using some
combination of that and resultants as a way to implement an eliminate
function which would be useful:
https://reference.wolfram.com/language/ref/Eliminate.html
The other aspect though is making better use of Groebner bases within
SymPy. Both solve and nonlinsolve use Groebner bases but the code
using them can be improved to give better representations of
positive-dimensional solutions to polynomial systems of equations. I'm
not sure that either makes proper use of factorisation of the
polynomials in the basis to bring everything down to reduced bases for
example.
It would be useful to have a convenient way to compute a factorisation
of a Greobner basis into bases for irreducible components.
Another useful thing would be a way to generate a rational univariate
representation along with some way to represent that for the benefit
of users who are trying to solve systems polynomial equations.
--
Oscar
> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
sympy+un...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/5462c493-2044-4928-8c5c-2566b9f7e255n%40googlegroups.com.