Project

General

Profile

Design #1642

interreduce: make monic if over finite field?

Added by John Abbott over 2 years ago. Updated 2 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
Improving
Target version:
Start date:
21 Dec 2021
Due date:
% Done:

20%

Estimated time:
Spent time:

Description

While working on a Sudoku exercise I noticed that interreduced sometimes return non-monic polynomials: coeff field is ZZ/(19).
Does it make sense to make the polys monic?

Discuss; maybe implement!


Related issues

Related to CoCoALib - Feature #1488: BuiltIn Interreduce-FunctionClosed2020-09-15

History

#1 Updated by John Abbott over 2 years ago

#2 Updated by John Abbott 2 months ago

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

Would we also want to have interreduced work when the coeff ring is ZZ?
If so, we need to think about the semantics. If not, the code should give an error if the coeffs are not a field?

#3 Updated by Anna Maria Bigatti 2 months ago

John Abbott wrote:

Would we also want to have interreduced work when the coeff ring is ZZ?

Not until someone asks for it (and tells us the expected semantics)

#4 Updated by John Abbott 2 months ago

The source code seems to be in SparsePolyOps-vector.C around line 32.

#5 Updated by John Abbott 2 months ago

  • Status changed from New to In Progress
  • Assignee set to John Abbott
  • % Done changed from 0 to 20

I have made a first impl. Anna is sceptical, partly because the code behaves differently depending on the coefficient field (so computation modulo p is not simply reduction, but rescaled). She also thought that there would be no performance gain, and perhaps indeed a penalty from the cost of rescaling polynomials. She might be right...

Unhelpfully, I did not give an explicit test case. Maybe I can invent one?

Also available in: Atom PDF