Design #1642
interreduce: make monic if over finite field?
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
History
#1 Updated by John Abbott over 2 years ago
- Related to Feature #1488: BuiltIn Interreduce-Function added
#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 isZZ
?
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?