Project

General

Profile

Feature #1770

Evaluate polynomial function/class

Added by John Abbott 5 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
New Function
Target version:
Start date:
21 Nov 2023
Due date:
% Done:

100%

Estimated time:
3.11 h
Spent time:

Description

Create a class(?) to make it easier to evaluate polynomials.
A first prototype is in SparsePolyOps-cyclotomic (historical quirk).
It is called EvalUPoly, and is usefully faster than using a RingHom.

Improve the design, and make it a proper new feature of CoCoALib


Related issues

Related to CoCoALib - Slug #1769: FixedDivisor is sometimes surprisingly slowClosed2023-11-20

History

#1 Updated by John Abbott 5 months ago

  • Related to Slug #1769: FixedDivisor is sometimes surprisingly slow added

#2 Updated by John Abbott 5 months ago

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

I made a quick prototype, and used it in a revised version of FixedDivisor (in PolyRing.C).
It made the code about 20 times faster (on a nasty example).

Must think about the interface, and possible generalizations.

NOTE: also move it out of SparsePolyOps-cyclotomic... but to where?

#3 Updated by John Abbott 5 months ago

  • Status changed from In Progress to Resolved
  • Assignee set to John Abbott
  • % Done changed from 10 to 80

I have separated the evaluation code from the cyclotomic code, and put it in a new file.
Must still document the new code: the interface is reasonable (but might be migliorabile).

#4 Updated by John Abbott about 2 months ago

  • Status changed from Resolved to Feedback
  • % Done changed from 80 to 90

The new code is in SparsePolyOps-eval

The current impl is rather restricted: the polynomial has to be over ZZ, and the evaluation point must be INT/RAT.

I suggest making this "incomplete" implementation available; we can later make it more complete -- not especially hard, but will take some time.

#5 Updated by John Abbott about 1 month ago

  • Status changed from Feedback to Closed
  • % Done changed from 90 to 100
  • Estimated time set to 3.11 h

Also available in: Atom PDF