Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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

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?

click to hide/show revision 2
retagged

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

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?