Ask Your Question
2

Is there any easy way to parallel gröbnerbasis computations in sage?

asked 2016-05-24 14:35:00 +0100

mathguy gravatar image

updated 2024-04-18 20:09:08 +0100

FrédéricC gravatar image

Hi, I have a problem I am currently working on where I wish to eliminate variables from a system of polynomials. I have managed to do it in several cases, but for large systems to check my hypothesis the memory usage becomes very large, and the computations take a long time. Therefore I wondered if there is any easy way to optimalize the gröbner basis computation in sage. I am currently using the .elimination_ideal([]) environment, but it turns out to be very ineffective in the examples I am computing. I figured out that one of the limitations is that the eliminate function runs on only one core of the computer. So I therefore thought that in order to speed up the computations, then one could parallelize the function. However, it turns out that all current environments on sage including @fork, @parallel and parallelism.set() does not help at all in this case, since the process still runs on only one core.

Any good ideas out there?

edit retag flag offensive close merge delete

Comments

Can you provide some explicit examples that other users can play with to investigate your question?

slelievre gravatar imageslelievre ( 2016-05-24 16:06:33 +0100 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2016-05-24 16:07:58 +0100

tmonteil gravatar image

updated 2016-05-24 16:09:49 +0100

There is no parallel computation of Groebner basis in Sage. However, .elimination_ideal([]) uses a algorithm provided by SIngular which is not the fastest available, and you can not change it in this method. You can specify which algorithm in the .groebner_basis() method.

A good candidate is the following:

Install giacpy from your terminal:

sage -i giacpy

Then, you can get the Groebner Basis from within Sage as follows:

sage: G = I.groebner_basis(algorithm='giac:gbasis')

You can get all possible algorithms by doing

sage: G = I.groebner_basis?

Please tell us if it was faster.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2016-05-24 14:26:36 +0100

Seen: 500 times

Last updated: May 24 '16