Opened 7 months ago
Last modified 3 months ago
#21262 needs_work enhancement
Center related classes and methods in Skew Polynomials
Reported by:  arpitdm  Owned by:  

Priority:  major  Milestone:  sage7.4 
Component:  algebra  Keywords:  
Cc:  tscrim, caruso, jsrn, dlucas  Merged in:  
Authors:  Xavier Caruso  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  u/caruso/centering_methods_skew_polynomials (Commits)  Commit:  35f44cbe04b0e3b9def006660283aea5b93ee28e 
Dependencies:  #13215  Stopgaps: 
Description (last modified by )
We propose the addition of the following methods and classes to skew polynomials:
 class CenterSkewPolynomial_generic_dense
 class SectionSkewPolynomialCenterInjection?
 class SkewPolynomialCenterInjection?
 class CenterSkewPolynomialRing?
 def center in
class SkewPolynomialRing_general
In addition, we designed a special class SkewPolynomial_finite_order_dense
for dense skew polynomial over fields when the twisting endomorphism has finite order (in which case the centre has finite index). It include the following methods:
 reduced_trace
 reduced_norm
 is_central
 bound
 optimal_bound
Note: The original ticket #13215 first introduced this functionality (only for finite fields). That was subsequently modified to support the basic implementation of skew polynomials and the center based methods from that ticket that were removed are being reintroduced here.
Change History (7)
comment:1 Changed 7 months ago by
 Branch set to u/arpitdm/centering_methods_skew_polynomials
comment:2 Changed 7 months ago by
 Commit set to 3d7cd832b429c370bc95ffeb798821c07efbe5ba
comment:3 Changed 7 months ago by
The methods is_central
and optimal_bound
make sense for skew polynomials over any ring, right? So it is a bit weird (according to me) to define them only in the class SkewPolynomial_finite_field_dense
(through *I* very probably do this first).
Similarly the reduced norm makes sense as soon as the twist map has finite order (and in addition I am very interested in using it over a finite extension of Qp). So, I would suggest to move it to the class SkewPolynomial_generic_dense
and to raise ValueError
or TypeError
when the twist map has not finite order.
comment:4 Changed 7 months ago by
comment:5 Changed 7 months ago by
 Branch changed from u/arpitdm/centering_methods_skew_polynomials to u/caruso/centering_methods_skew_polynomials
comment:6 Changed 7 months ago by
 Commit changed from 3d7cd832b429c370bc95ffeb798821c07efbe5ba to 35f44cbe04b0e3b9def006660283aea5b93ee28e
 Dependencies changed from #13215, #21088, #21259 to #13215
 Description modified (diff)
 Status changed from new to needs_review
As I said before, the features provided by this ticket do not only make sense for finite fields but more generally for fields on which the twisting endomorphism has finite order. I then renamed the class SkewPolynomial_finite_field_dense
and called it SkewPolynomial_finite_order_dense
.
Moreover, I polished the code and made all methods work (e.g. some imports were missing).
Ticket ready for review.
New commits:
891ccfa  Merge branch 't/21262/centering_methods_skew_polynomials' into integration

dd53bd1  Remove inplace methods and Karatsuba

a29393a  Replace "finite fields" by "fields with automorphism of finite order"

35f44cb  Added a method reduced_trace

comment:7 Changed 3 months ago by
 Status changed from needs_review to needs_work
branch does not merge.
Please also note that the current code is more or less just what was in the original patch for #13215 related to Center related methods and classes. No effort has e.g. been made yet to accommodate for changes in #13215 since this addition was factored out.
Last 10 new commits:
merged changes from Tickets 13215 and 21088
integrated skew polynomial finite field into sage. removed some compile and doctest errors.
removed leftpow and rightpow methods from SkewPolynomial_finite_field_dense class because they require the 'bound' method which in turn requires 'center'. this will be added in another separate ticket with the rest of the center stuff.
added SEEALSO and TODO blocks and made small polishes to the documentation.
improved documentation for skew_polynomials_finite_field.pyx file
documentation builds successfully.
merging updates
removed unused imports, signal statements. small fixes to documentation.
added karatsuba based methods as is, from the original #13215 ticket
added centering based methods and classes as is, from the original #13215 ticket