#13215: Skew polynomials
------------------------------------+---------------------------------------
Reporter: caruso | Owner: tbd
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-5.4
Component: algebra | Resolution:
Keywords: skew polynomials | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Xavier Caruso | Merged in:
Dependencies: #13214, #13303 | Stopgaps:
------------------------------------+---------------------------------------
Old description:
> If R is a ring equipped with an endomorphism sigma, the ring of skew
> polynomials over (R,sigma) is the ring of usual polynomials over R with
> the modified multiplication given by the rule X*a = sigma(a)*X.
>
> Skew polynomials play an important role in several domains like coding
> theory or Galois representations theory in positive characteristic.
>
> The attached patch provides:
>
> 1. a basic implementation of skew polynomials over any commutative ring
> (including addition, multiplication, euclidean division, gcd...)
> 1. a more complete implementation of skew polynomials over finite fields
> (including factoring)
>
> NB: This ticket depends on tickets #13214 (which implements Frobenius
> endomorphisms over finite fields) and #13303 (which fixes a bug in
> quotient_polynomial_ring_element.pyx). For convenience, I reattach the
> corresponding patches here (you need to apply these two patches first).
New description:
If R is a ring equipped with an endomorphism sigma, the ring of skew
polynomials over (R,sigma) is the ring of usual polynomials over R with
the modified multiplication given by the rule X*a = sigma(a)*X.
Skew polynomials play an important role in several domains like coding
theory or Galois representations theory in positive characteristic.
The attached patch provides:
1. a basic implementation of skew polynomials over any commutative ring
(including addition, multiplication, euclidean division, gcd...)
1. a more complete implementation of skew polynomials over finite fields
(including factoring)
NB: This ticket depends on tickets #13214 (which implements Frobenius
endomorphisms over finite fields) and #13303 (which fixes a bug in
quotient_polynomial_ring_element.pyx). For convenience, I reattach the
corresponding patches here (you need to apply these two patches first).
Apply: attachment:trac_13215_skew_polynomials.patch
--
Comment (by burcin):
Replying to [comment:17 caruso]:
> I had a quick look at the documentation of Plural but I didn't find how
to create a skew polynomial ring (i.e. I don't know how to represent a
skew polynomial ring as a G-algebra). Could you please learn me this?
For example, QQ[n, S:n->n+1] :
{{{
sage: A.<n, S> = FreeAlgebra(QQ, 2)
sage: R.<n, S> = A.g_algebra({S*n: n*S + 1})
sage: R
Noncommutative Multivariate Polynomial Ring in n, S over Rational Field,
nc-relations: {S*n: n*S + 1}
sage: S*n
n*S + 1
sage: S^2*n
n*S^2 + 2*S
}}}
After applying the patches on this ticket and its dependencies, I get the
following error:
{{{
sage: R.<t> = ZZ[]
sage: sigma = R.hom([t+1])
sage: S.<x> = R['x',sigma]; S
Skew Polynomial Ring in x over Univariate Polynomial Ring in t over
Integer Ring twisted by t |--> t + 1
sage: x*t
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call
last)
...
sage: %debug
>
/home/burcin/sage/sage-5.2/skewpolynomial_element.pyx(347)sage.rings.polynomial.skewpolynomial_element.SkewPolynomial._list_c
(sage/rings/polynomial/skewpolynomial_element.c:4716)()
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13215#comment:18>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.