On 03/25/2011 08:38 PM, Aaron S. Meurer wrote: > What Mateusz said is correct (by the way, he wrote the polys module, so he is > the expert). Right now, Groebner bases are used for our systems of > polynomial equations solver, but they have many more potential applications, > as you probably know. The paper "Groebner Bases: A Short Introduction for > Systems Theorists" by B. Buchberger has a good list of potential applications > (see the Wikipedia article for Groebner Bases for a link to a pdf).
Thanks for the paper. Unfortunately, I know hardly any of the applications mentioned in the first list. I used Gröbner bases mostly for comparing ideals and computing minimal polynomials (which has been done already in SymPy). > By the way, as far as applications to integration go, one of the simples ones > is the Czichowski algorithm for computing the logarithmic part of the > integral of a rational function. In fact, this algorithm is so easy to > implement that I did it myself a long time ago to see how it would work. See > the top two commits at https://github.com/asmeurer/sympy/commits/czichowski. > Unfortunately, it soon became clear that at least the current implementation > of the Groebner basis algorithm was too slow for this to work. Actually, it > is still not clear to me if this algorithm is ever practically useful, or if > it is just of theoretical interest. > > One thing that I do know is practically useful is the heuristic for computing > the logarithmic part of algebraic functions described in the paper > "Integration of Algebraic Functions: A Simple Heuristic for Finding the > Logarithmic Part" by Manuel Kauers (you should be able to find a pdf online). > See also these slides (algo.inria.fr/seminars/sem08-09/kauers-slides.pdf). > But you should not worry about this particular application, since it requires > us to have a bit more implemented in terms of integration of algebraic > functions than we do now (i.e., right now we have nothing implemented). But > whenever we (i.e., I) get around to doing that, it would definitely be nice > to have a fast implementation of Groebner bases to work with. I'm not sure if I'm comfortable with using them for integration. The algorithm you implemented doesn't look particularly hard but I don't have any knowledge of differential algebra and my calculus education didn't involve relevant facts. I'm not sure if I'm up for it... But of course, writing a fast implementation of F5 is what I want to do! > Aaron Meurer Kind regards, Jeremias -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.