Hello Oscar, Sorry for the late reply, after seeing the post you have made, I can pretty much can say that I am really excited! There are lots of things on the polynomial side to be done as far as I can see. I am not that familiar with Sympy at the moment so probably I am just going to tinker and try to get used to using Sympy in my leisure time by implementing some examples and algorithms that I have studied so far. So probably I am not going to be able to make a contribution soon. Is this a problem for my submission on GSoC?
By the way although I have been studying Combinatorial Geometry for a year now this is my first time learning Gröbner Bases this semester. As I said before, we are studying from the book "Ideals Varieties and Algorithms" [1] and we are in chapter 2 at the moment. My plan until the end of semester is after learning the main concept of Gröbner Bases, I will read and understand the "Additional Gröbner Basis Algorithms" chapter which also includes the Faugère’s F_5 algorithm. After learning it I think it will be easier to understand and implement Tran (2000) and Fukuda et al. (2005). By the way if you recommend me using "Gröbner Bases A Computational Approach to Commutative Algebra" [2] compared to "Ideals Varieties and Algorithms" [1] we can easily change the textbook since we are studying with the professor on 1-1. I am looking forward to hear from you, Thanks in advance, Atahan --- [1] https://link.springer.com/book/10.1007/978-3-319-16721-3 [2] https://link.springer.com/book/10.1007/978-1-4612-0913-3 On Thursday, March 9, 2023 at 1:57:25 AM UTC+3 Oscar wrote: > 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/58c8ca18-7918-41d5-b3f7-ce801ee98d56n%40googlegroups.com.
