#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.

Reply via email to