@@ -720,7 +720,7 @@ def size(self) -> Integer:
720720 sage: Permutation([3,4,1,2,5]).size()
721721 5
722722 """
723- return len (self )
723+ return Integer ( len (self ) )
724724
725725 grade = size # for the category SetsWithGrading()
726726
@@ -1167,7 +1167,7 @@ def signature(self) -> Integer:
11671167 sage: Permutation([]).sign()
11681168 1
11691169 """
1170- return ( - 1 )** (len (self )- len (self .to_cycles ()))
1170+ return Integer (( - 1 )** (len (self )- len (self .to_cycles () )))
11711171
11721172 #one can also use sign as an alias for signature
11731173 sign = signature
@@ -1476,21 +1476,23 @@ def to_inversion_vector(self):
14761476 l = len (p )
14771477 # lightning fast if the length is less than 3
14781478 # (is it really useful?)
1479+ zero = Integer (0 )
1480+ one = Integer (1 )
14791481 if l < 4 :
14801482 if l == 0 :
14811483 return []
14821484 if l == 1 :
1483- return [0 ]
1485+ return [zero ]
14841486 if l == 2 :
1485- return [p [0 ] - 1 , 0 ]
1487+ return [Integer ( p [0 ] - 1 ), zero ]
14861488 if l == 3 :
14871489 if p [0 ] == 1 :
1488- return [0 , p [1 ] - 2 , 0 ]
1490+ return [zero , Integer ( p [1 ] - 2 ), zero ]
14891491 if p [0 ] == 2 :
14901492 if p [1 ] == 1 :
1491- return [1 , 0 , 0 ]
1492- return [2 , 0 , 0 ]
1493- return [p [1 ], 1 , 0 ]
1493+ return [one , zero , zero ]
1494+ return [Integer ( 2 ), zero , zero ]
1495+ return [Integer ( p [1 ]), one , zero ]
14941496 # choose the best one
14951497 if l < 411 :
14961498 return self ._to_inversion_vector_small ()
@@ -1548,7 +1550,7 @@ def _to_inversion_vector_small(self):
15481550 for pi in reversed (p ):
15491551 checked [pi ] = 0
15501552 iv [pi ] = sum (checked [pi :])
1551- return iv [1 :]
1553+ return [ Integer ( a ) for a in iv [1 :] ]
15521554
15531555 def _to_inversion_vector_divide_and_conquer (self ):
15541556 r"""
@@ -1614,7 +1616,7 @@ def sort_and_countv(L):
16141616 return merge_and_countv (sort_and_countv (L [:l ]),
16151617 sort_and_countv (L [l :]))
16161618
1617- return sort_and_countv (self ._list )[0 ]
1619+ return [ Integer ( a ) for a in sort_and_countv (self ._list )[0 ] ]
16181620
16191621 def inversions (self ) -> list :
16201622 r"""
@@ -1883,8 +1885,8 @@ def number_of_noninversions(self, k) -> Integer:
18831885 """
18841886 if k > len (self ):
18851887 return 0
1886- return sum (1 for pos in itertools .combinations (self , k )
1887- if all (pos [i ] < pos [i + 1 ] for i in range (k - 1 )))
1888+ return Integer ( sum (1 for pos in itertools .combinations (self , k )
1889+ if all (pos [i ] < pos [i + 1 ] for i in range (k - 1 ) )))
18881890
18891891 def length (self ) -> Integer :
18901892 r"""
@@ -1934,7 +1936,7 @@ def inverse(self) -> Permutation:
19341936 """
19351937 w = list (range (len (self )))
19361938 for i , j in enumerate (self ):
1937- w [j - 1 ] = i + 1
1939+ w [j - 1 ] = Integer ( i + 1 )
19381940 return Permutations ()(w )
19391941
19401942 __invert__ = inverse
@@ -2239,7 +2241,7 @@ def longest_increasing_subsequence_length(self) -> Integer:
22392241 else :
22402242 # We replace y by x
22412243 r [idx ] = x
2242- return len (r )
2244+ return Integer ( len (r ) )
22432245
22442246 def longest_increasing_subsequences (self ):
22452247 r"""
@@ -3082,8 +3084,7 @@ def number_of_fixed_points(self) -> Integer:
30823084 sage: Permutation([1,2,3,4]).number_of_fixed_points()
30833085 4
30843086 """
3085-
3086- return len (self .fixed_points ())
3087+ return Integer (len (self .fixed_points ()))
30873088
30883089 def is_derangement (self ) -> bool :
30893090 r"""
@@ -3209,7 +3210,7 @@ def number_of_recoils(self) -> Integer:
32093210 sage: Permutation([1,4,3,2]).number_of_recoils()
32103211 2
32113212 """
3212- return len (self .recoils ())
3213+ return Integer ( len (self .recoils () ))
32133214
32143215 def recoils_composition (self ) -> Composition :
32153216 r"""
@@ -3382,7 +3383,7 @@ def number_of_descents(self, final_descent=False) -> Integer:
33823383 sage: Permutation([1,4,3,2]).number_of_descents(final_descent=True)
33833384 3
33843385 """
3385- return len (self .descents (final_descent ))
3386+ return Integer ( len (self .descents (final_descent ) ))
33863387
33873388 def number_of_idescents (self , final_descent = False ) -> Integer :
33883389 r"""
@@ -3400,7 +3401,7 @@ def number_of_idescents(self, final_descent=False) -> Integer:
34003401 sage: Permutation([1,4,3,2]).number_of_idescents(final_descent=True)
34013402 3
34023403 """
3403- return len (self .idescents (final_descent ))
3404+ return Integer ( len (self .idescents (final_descent ) ))
34043405
34053406 @combinatorial_map (name = 'descent composition' )
34063407 def descents_composition (self ) -> Composition :
@@ -3497,7 +3498,7 @@ def major_index(self, final_descent=False) -> Integer:
34973498 6
34983499 """
34993500 descents = self .descents (final_descent )
3500- return sum (descents )
3501+ return Integer ( sum (descents ) )
35013502
35023503 def multi_major_index (self , composition ):
35033504 r"""
@@ -3566,7 +3567,7 @@ def imajor_index(self, final_descent=False) -> Integer:
35663567 sage: Permutation([4,3,2,1]).imajor_index()
35673568 6
35683569 """
3569- return sum (self .idescents (final_descent ))
3570+ return Integer ( sum (self .idescents (final_descent ) ))
35703571
35713572 def to_major_code (self , final_descent = False ):
35723573 r"""
@@ -3655,7 +3656,7 @@ def number_of_peaks(self) -> Integer:
36553656 sage: Permutation([4,1,3,2,6,5]).number_of_peaks()
36563657 2
36573658 """
3658- return len (self .peaks ())
3659+ return Integer ( len (self .peaks () ))
36593660
36603661 #############
36613662 # Saliances #
@@ -3701,7 +3702,7 @@ def number_of_saliances(self) -> Integer:
37013702 sage: Permutation([5,4,3,2,1]).number_of_saliances()
37023703 5
37033704 """
3704- return len (self .saliances ())
3705+ return Integer ( len (self .saliances () ))
37053706
37063707 ################
37073708 # Bruhat Order #
0 commit comments