Project

General

Profile

Feature #1667

GBasis over ZZ: port to CoCoALib

Added by John Abbott over 2 years ago. Updated 13 days ago.

Status:
In Progress
Priority:
Urgent
Assignee:
-
Category:
Improving
Target version:
Start date:
16 Feb 2022
Due date:
% Done:

10%

Estimated time:
Spent time:

Description

Port the GBasis over ZZ code (prototype in a CoCoA-5 package) into C++.

Also make several algorithmic improvements.
Maybe Florian can indicate some useful texts (at least one by Christian Eder).


Related issues

Related to CoCoA-5 - Feature #1272: Groebner Bases over ZZClosed2019-04-18

Related to CoCoA-5 - Support #242: CoCoA-5 Projects for students (e.g. crediti F and tesi)In Progress2012-09-28

Related to CoCoALib - Feature #1001: CoCoALib: ideas for student projectsIn Progress2017-01-19

Related to CoCoALib - Feature #1381: Type ideal for ZZ[x[1..n]]In Progress2020-01-06

History

#1 Updated by John Abbott over 2 years ago

#2 Updated by John Abbott over 2 years ago

  • Related to Support #242: CoCoA-5 Projects for students (e.g. crediti F and tesi) added

#3 Updated by John Abbott about 2 years ago

  • Related to Feature #1001: CoCoALib: ideas for student projects added

#4 Updated by John Abbott almost 2 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

A student (Khalil Loukhnati) worked on this last semester. He has produced working code.
It still needs considerable polishing.

Performance is disappointing (but the profiler reported that 50% CPU time was spent doing downcasting!!)

#5 Updated by Anna Maria Bigatti over 1 year ago

This student translated the code in CoCoA prototype-GBZZ.cpkg5 into cocoalib.
And also added some changed found in a paper by Christian Eder (arxiv:1811.05736 warning contains several typos)

Elisa and Michele: want to run some tests and contribute to make it usable?

John Abbott wrote:

A student (Khalil Loukhnati) worked on this last semester. He has produced working code.
It still needs considerable polishing.

Performance is disappointing (but the profiler reported that 50% CPU time was spent doing downcasting!!)

#6 Updated by John Abbott 5 months ago

  • Target version changed from CoCoALib-0.99850 to CoCoALib-0.99880

#7 Updated by John Abbott 3 months ago

  • Priority changed from Normal to Urgent

Michele Toriell is asking for this. There was C++ from when i was in Passau: dig it out, and blow the dust off.

#8 Updated by John Abbott 2 months ago

It seems that we have several implementations: some in C++, and some in CoCoA-5.
The C++ versions ought to be quicker (but perhaps not by much if arithmetic costs dominate).
I would like to compare Loukhnati's impl with that by the student Anna mentioned in comment 5.

One important point is that if a constant element of the ideal is found, it can be used to reduce all coeffs of all other polys (might need to be careful if the LC reduces to zero?). Loukhnati's code produced over 700 constants in one ideal: the smallest was only 5 digits, while other had many thousands of digits...

#9 Updated by John Abbott about 2 months ago

The CoCoA-5 version is in *prototype-GBZZ.cpkg5*.
I tried just one test, and the CoCoA-5 code was noticeably faster (maybe 100x). Must investigate!

#10 Updated by John Abbott about 1 month ago

#11 Updated by Anna Maria Bigatti about 1 month ago

John Abbott wrote:

The CoCoA-5 version is in *prototype-GBZZ.cpkg5*.
I tried just one test, and the CoCoA-5 code was noticeably faster (maybe 100x). Must investigate!

Elisa, Michele: are you going to write a paper for JSAG?

After that, or with that, we could write a proper translation in CoCoALib.

#12 Updated by Elisa Palezzato about 1 month ago

That is the idea. We just have to understand who will be the authors and what should be done before submitting. I believe the interested people are me, Michele, John and Florian (who is in contact with John).

#13 Updated by John Abbott 22 days ago

Florian will finish his PhD this summer, and then start a real job. He says he does not need to be named as a co-author.
He is also willing to answer questions.

#14 Updated by Anna Maria Bigatti 21 days ago

John Abbott wrote:

Florian will finish his PhD this summer, and then start a real job. He says he does not need to be named as a co-author.
He is also willing to answer questions.

Thanks, Florian!

#15 Updated by John Abbott 13 days ago

I am not sure exatly how the algorithm works, but do believe that it is important to handle monomial reducers specially. In particular, if we have an element which is an integer then it can be used to reduce all coefficients. We may get a succession of ever smaller integers, so there may be several such reductions.

Also available in: Atom PDF