Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit e435f56

Browse files
committed
Merge branch 'u/arpitdm/mvp_mpe' of git://trac.sagemath.org/sage into mvp_mpe
2 parents a2c4f06 + b523806 commit e435f56

File tree

3 files changed

+292
-46
lines changed

3 files changed

+292
-46
lines changed

src/module_list.py

+3
Original file line numberDiff line numberDiff line change
@@ -1668,6 +1668,9 @@ def uname_specific(name, value, alternative):
16681668
sources = ['sage/rings/polynomial/skew_polynomial_finite_field.pyx']),
16691669

16701670

1671+
Extension('sage.rings.polynomial.skew_polynomial_finite_field',
1672+
sources = ['sage/rings/polynomial/skew_polynomial_finite_field.pyx']),
1673+
16711674

16721675
################################
16731676
##

src/sage/rings/polynomial/skew_polynomial_element.pyx

+31
Original file line numberDiff line numberDiff line change
@@ -2540,6 +2540,37 @@ cdef class SkewPolynomial(AlgebraElement):
25402540
"""
25412541
return self.parent().variable_name()
25422542

2543+
def multi_point_evaluation(self, eval_pts):
2544+
"""
2545+
Evaluate skew polynomial at multiple evaluation points.
2546+
2547+
INPUT:
2548+
2549+
- ``eval_pts`` -- list of points at which ``self`` is to be evaluated
2550+
2551+
OUTPUT:
2552+
2553+
List of values of ``self`` at the `eval_pts`.
2554+
2555+
.. TODO::
2556+
2557+
This method currently trivially calls the evaluation function
2558+
repeatedly and should be updated to the recursive algorithm
2559+
from the paper "Fast Operations on Linearized Polynomials
2560+
and their Applications in Coding Theory" by Puchinger, et al.
2561+
2562+
EXAMPLES:
2563+
2564+
sage: k.<t> = GF(5^3)
2565+
sage: Frob = k.frobenius_endomorphism()
2566+
sage: S.<x> = k['x',Frob]
2567+
sage: a = x + t
2568+
sage: eval_pts = [1, t, t^2]
2569+
sage: c = a.multi_point_evaluation(eval_pts); c
2570+
[t + 1, 3*t^2 + 4*t + 4, 4*t]
2571+
"""
2572+
return [ self(e) for e in eval_pts ]
2573+
25432574

25442575
cdef class SkewPolynomial_generic_dense(SkewPolynomial):
25452576
"""

0 commit comments

Comments
 (0)