@@ -292,7 +292,7 @@ def rotate_ccw(self):
292
292
li .reverse ()
293
293
return AlternatingSignMatrix (li )
294
294
295
- def inversion_number (self ):
295
+ def number_of_inversions (self ):
296
296
r"""
297
297
Return the inversion number of ``self``.
298
298
@@ -306,16 +306,17 @@ def inversion_number(self):
306
306
EXAMPLES::
307
307
308
308
sage: A = AlternatingSignMatrices(3)
309
- sage: A([[1, 0, 0],[0, 1, 0],[0, 0, 1]]).inversion_number ()
309
+ sage: A([[1, 0, 0],[0, 1, 0],[0, 0, 1]]).number_of_inversions ()
310
310
0
311
311
sage: asm = A([[0, 0, 1],[1, 0, 0],[0, 1, 0]])
312
- sage: asm.inversion_number ()
312
+ sage: asm.number_of_inversions ()
313
313
2
314
314
sage: asm = A([[0, 1, 0],[1, -1, 1],[0, 1, 0]])
315
- sage: asm.inversion_number ()
315
+ sage: asm.number_of_inversions ()
316
316
2
317
317
sage: P = Permutations(5)
318
- sage: all(p.number_of_inversions()==AlternatingSignMatrix(p.to_matrix()).inversion_number() for p in P)
318
+ sage: A = AlternatingSignMatrix
319
+ sage: all(p.number_of_inversions() == A(p.to_matrix()).number_of_inversions() for p in P)
319
320
True
320
321
"""
321
322
inversion_num = 0
@@ -327,6 +328,8 @@ def inversion_number(self):
327
328
inversion_num += asm_matrix [i ][j ] * asm_matrix [k ][l ]
328
329
return inversion_num
329
330
331
+ inversion_number = number_of_inversions
332
+
330
333
@combinatorial_map (name = 'rotate clockwise' )
331
334
def rotate_cw (self ):
332
335
r"""
@@ -870,23 +873,25 @@ def to_dyck_word(self, algorithm):
870
873
871
874
raise ValueError ("unknown algorithm '%s'" % algorithm )
872
875
873
- def number_negative_ones (self ):
876
+ def number_of_negative_ones (self ):
874
877
"""
875
878
Return the number of entries in ``self`` equal to -1.
876
879
877
880
EXAMPLES::
878
881
879
882
sage: A = AlternatingSignMatrices(3)
880
883
sage: asm = A([[0,1,0],[1,0,0],[0,0,1]])
881
- sage: asm.number_negative_ones ()
884
+ sage: asm.number_of_negative_ones ()
882
885
0
883
886
sage: asm = A([[0,1,0],[1,-1,1],[0,1,0]])
884
- sage: asm.number_negative_ones ()
887
+ sage: asm.number_of_negative_ones ()
885
888
1
886
889
"""
887
890
a = self ._matrix
888
891
return ZZ ((len (a .nonzero_positions ()) - a .nrows ()) // 2 )
889
892
893
+ number_negative_ones = number_of_negative_ones
894
+
890
895
def is_permutation (self ):
891
896
"""
892
897
Return ``True`` if ``self`` is a permutation matrix
@@ -902,7 +907,7 @@ def is_permutation(self):
902
907
sage: asm.is_permutation()
903
908
False
904
909
"""
905
- return self .number_negative_ones () == 0
910
+ return self .number_of_negative_ones () == 0
906
911
907
912
def to_permutation (self ):
908
913
"""
@@ -1241,7 +1246,7 @@ def random_element(self):
1241
1246
[ 0 0 0 1 0 0 0]
1242
1247
[ 0 1 0 0 0 0 0]
1243
1248
sage: a = AlternatingSignMatrices(5).random_element()
1244
- sage: bool(a.number_negative_ones ()) or a.is_permutation()
1249
+ sage: bool(a.number_of_negative_ones ()) or a.is_permutation()
1245
1250
True
1246
1251
1247
1252
This is done using a modified version of Propp and Wilson's "coupling
0 commit comments