More sugar for Buchberger's algorithm?

30 views
Skip to first unread message

will....@foundationdb.com

unread,
Sep 9, 2014, 9:54:01 PM9/9/14
to sy...@googlegroups.com
Hi All,

I've been using the polynomials module in SymPy, and it's great stuff. I noticed that your implementation of Buchberger's algorithm uses the normal selection strategy for choosing which pair to look at next. I was wondering if there would be any interest in a pull request that implements the "sugar" strategy outlined in Giovini & Mora (http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.1065)? I think it's supposed to be a little better when computing with lex orderings.

Also, does the SymPy community have a benchmark for efficiency of the groebner() implementations? If not, and if there's interest in one, I'd be happy to help with that too.

Thanks!
Will

Aaron Meurer

unread,
Sep 10, 2014, 12:37:04 AM9/10/14
to sy...@googlegroups.com
Yes, we would love to have improvements to the Groebner algorithms.

We have some benchmarks in
sympy/polys/benchmarks/bench_groebnertools.py. I haven't looked at
them closely, so I don't know if they are good enough or if we should
add some more.

Aaron Meurer
> --
> 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 post to this group, send email to sy...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/b37d3295-1f0a-42bc-adc1-bc9e66034c52%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Mateusz Paprocki

unread,
Sep 10, 2014, 4:08:29 AM9/10/14
to sympy
Hi,

On 10 September 2014 06:36, Aaron Meurer <asme...@gmail.com> wrote:
> Yes, we would love to have improvements to the Groebner algorithms.

According to `git log`, sympy implements sugar cube strategy since
ad2332f74cc474253d803388d2cf8a3c61d4c42d.

Mateusz
> To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6J8EVfkCM4nKVCT8y%2B_Y1yHJrtgN5bJRgcHNiBg4gPtMQ%40mail.gmail.com.

will....@foundationdb.com

unread,
Sep 10, 2014, 9:51:59 AM9/10/14
to sy...@googlegroups.com
Got it, I hadn't seen the version in distributedmodules.py . So it looks like sdm_groebner() implements sugar, but sdp_groebner() in groebnertools.py does not? Is that correct?
Reply all
Reply to author
Forward
0 new messages