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 On Sat, 4 Mar 2023 at 07:01, Atahan Haznedar <[email protected]> wrote: > > Hello everyone, I am Atahan Haznedar from Turkey. Even though Turkish is my > native language, I am fluent with English. I am a third year Mathematics > undergraduate in Bogazici University in Istanbul. I have been using Linux for > 2 years to understand what really open source is, and I have always wanted to > be a part of a group to help develop an open source software. I am hoping > that GSoC will help me achieve to be part of a group to develop open source > project. I started coding with Python 3 years ago, and I have been using it > since then for academic purposes and I feel confident about it. I have basic > coding experience with C++ (Mostly scripting and optimization purposes) and > Octave (Machine Learning course on Coursera by Andrew NG) as well, however I > am more familiar with Python. I am studying with 2 different professors at > the same time. With one of them we started to learn Gröebner Bases with the > book "Ideals, Varieties, and Algorithms by Cox". With the other professor we > have read some chapters on "Undergraduate Convexity by Niel Lauritzen" and > "Lectures in Geometric Combinatorics By Rekha R. Thomas". At the moment we > are implementing an algorithm that uses cones and linear programming > optimization for a linearly constrained linear extension problem. I have > taken 2 semester Abstract Algebra course that includes Groups, Rings, Fields, > and Galois Theory from the book "A First Course in Abstract Algebra by > Fraleigh". My main expertise and area of interest is actually Mathematical > Logic and Geometry. At the moment I am willing to help contributing to > Gröebner Bases algorithm however if someone thinks that my help will be > better on different topic its not a problem for me. As for the Gröebner Bases > algorithm I can see that the documentation in the sympy is not that heavy at > the moment so I can easily start. I am open to any recommendation of books or > lectures to this topic since I am flexible as a student. > > 1. Should I check the book "Groebner Bases: A Computational Approach to > Commutative Algebra" before starting? > 2. Apart from the articles that are referenced do you recommend anything else > to start with? > 2. Apart from the articles that are referenced do you recommend anything else > to start with? > 3. Couldn't find the link for old GSoC22' to see what has been done in the > last year for the gröebner bases. Can you link me to it if there is a summary > for it? > > Thanks in advance. > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/5462c493-2044-4928-8c5c-2566b9f7e255n%40googlegroups.com. -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAHVvXxQ%3DY1R%2B01q7BA6LQrfmiHmacA5DFawPJBT8kzVW%2BmSdpg%40mail.gmail.com.
