This repository was archived by the owner on Jan 30, 2023. It is now read-only.
File tree 1 file changed +10
-2
lines changed
src/sage/rings/polynomial
1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -293,6 +293,13 @@ cdef class SkewPolynomial_finite_order_dense(SkewPolynomial_generic_dense):
293
293
sage: a. reduced_norm( ) * b. reduced_norm( ) == ( a* b) . reduced_norm( )
294
294
True
295
295
296
+ We check that the reduced norm is correctly computed for a
297
+ constant polynomial::
298
+
299
+ sage: c = k. random_element( )
300
+ sage: S( c) . reduced_norm( ) == c. norm( )
301
+ True
302
+
296
303
ALGORITHM:
297
304
298
305
If `r` ( = the order of the twist map) is small compared
@@ -306,7 +313,6 @@ cdef class SkewPolynomial_finite_order_dense(SkewPolynomial_generic_dense):
306
313
polynomial of the left multiplication by `X` on the quotient
307
314
`K[X, \s igma ] / K[X, \s igma ] P` ( which is a `K`-vector space
308
315
of dimension `d`) .
309
-
310
316
"""
311
317
if self ._norm is None :
312
318
if self .is_zero():
@@ -317,7 +323,9 @@ cdef class SkewPolynomial_finite_order_dense(SkewPolynomial_generic_dense):
317
323
exp = (parent.base_ring().cardinality() - 1 ) / (parent._constants.cardinality() - 1 )
318
324
order = self .parent()._order
319
325
lc = section(self .leading_coefficient()** exp)
320
- if order < self .degree():
326
+ if self .degree() == 0 :
327
+ self ._norm = [ lc ]
328
+ elif order < self .degree():
321
329
M = self ._matmul_c()
322
330
self ._norm = [ lc* section(x) for x in M.determinant().monic().list() ]
323
331
else :
You can’t perform that action at this time.
0 commit comments