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

Commit

Permalink
Merge branch 'u/caruso/skew_polynomial_finite_field_rebased' of git:/…
Browse files Browse the repository at this point in the history
…/trac.sagemath.org/sage into skew_polynomial_finite_field_rc1
  • Loading branch information
xcaruso committed Apr 24, 2020
2 parents 249fc90 + 05c6bdf commit 99b4ee7
Show file tree
Hide file tree
Showing 7 changed files with 1,677 additions and 147 deletions.
4 changes: 4 additions & 0 deletions src/doc/en/reference/references/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1390,6 +1390,10 @@ REFERENCES:
Ann. Combinatorics (6), 2002 pp. 125-145.
:doi:`10.1007/PL00012580`.
.. [CL2017] Xavier Caruso and Jérémy Le Borgne,
*A new faster algorithm for factoring skew polynomials over finite fields*
J. Symbolic Comput. 79 (2017), 411-443.
.. [CL2013] Maria Chlouveraki and Sofia Lambropoulou. *The
Yokonuma-Hecke algebras and the HOMFLYPT
polynomial*. (2015) :arxiv:`1204.1871v4`.
Expand Down
3 changes: 3 additions & 0 deletions src/module_list.py
Original file line number Diff line number Diff line change
Expand Up @@ -1531,6 +1531,9 @@ def uname_specific(name, value, alternative):
Extension('sage.rings.polynomial.skew_polynomial_finite_order',
sources = ['sage/rings/polynomial/skew_polynomial_finite_order.pyx']),

Extension('sage.rings.polynomial.skew_polynomial_finite_field',
sources = ['sage/rings/polynomial/skew_polynomial_finite_field.pyx']),

# Note that weil_polynomials includes distutils directives in order to support
# conditional OpenMP compilation (by uncommenting lines)
Extension('sage.rings.polynomial.weil.weil_polynomials',
Expand Down
14 changes: 10 additions & 4 deletions src/sage/rings/polynomial/skew_polynomial_element.pxd
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,29 @@ cdef class SkewPolynomial(AlgebraElement):
cdef _is_gen

cdef long _hash_c(self)
cdef SkewPolynomial _new_c(self,list coeffs,Parent P,char check=*)
cpdef SkewPolynomial _new_constant_poly(self,RingElement a,Parent P,char check=*)
cdef SkewPolynomial _new_c(self, list coeffs, Parent P, char check=*)
cpdef SkewPolynomial _new_constant_poly(self, RingElement a, Parent P, char check=*)
cpdef _neg_(self)
cpdef _floordiv_(self, right)
cpdef _mod_(self, right)

cpdef bint is_zero(self)
cpdef bint is_one(self)

cpdef operator_eval(self, eval_pt)

cdef _left_quo_rem(self, SkewPolynomial other)
cdef _right_quo_rem(self, SkewPolynomial other)
cdef SkewPolynomial _left_lcm_cofactor(self, SkewPolynomial other)
cdef SkewPolynomial _right_lcm_cofactor(self, SkewPolynomial other)

# Abstract methods
cdef void _inplace_rmul(self, SkewPolynomial_generic_dense right)
cdef void _inplace_pow(self, Py_ssize_t n)
cpdef int degree(self)
cpdef list coefficients(self, sparse=*)


cdef class SkewPolynomial_generic_dense(SkewPolynomial):
cdef list _coeffs

Expand All @@ -38,7 +44,7 @@ cdef class SkewPolynomial_generic_dense(SkewPolynomial):
cpdef right_power_mod(self, exp, modulus)
cpdef left_power_mod(self, exp, modulus)


cdef class SkewPolynomialBaseringInjection(Morphism):
cdef RingElement _an_element
cdef object _new_constant_poly_

Loading

0 comments on commit 99b4ee7

Please sign in to comment.