@@ -434,7 +434,7 @@ def Poset(data=None, element_labels=None, cover_relations=False, linear_extensio
434
434
With a function that identifies the cover relations: the set
435
435
partitions of `\{1, 2, 3\}` ordered by refinement::
436
436
437
- sage: # optional - sage.combinat
437
+ sage: # needs sage.combinat
438
438
sage: elms = SetPartitions(3)
439
439
sage: def fcn(A, B):
440
440
....: if len(A) != len(B)+1:
@@ -1933,14 +1933,14 @@ def plot(self, label_elements=True, element_labels=None,
1933
1933
1934
1934
This function can be used without any parameters::
1935
1935
1936
- sage: # optional - sage.plot
1936
+ sage: # needs sage.plot
1937
1937
sage: D12 = posets.DivisorLattice(12)
1938
1938
sage: D12.plot()
1939
1939
Graphics object consisting of 14 graphics primitives
1940
1940
1941
1941
Just the abstract form of the poset; examples of relabeling::
1942
1942
1943
- sage: # optional - sage.plot
1943
+ sage: # needs sage.plot
1944
1944
sage: D12.plot(label_elements=False)
1945
1945
Graphics object consisting of 8 graphics primitives
1946
1946
sage: d = {1: 0, 2: 'a', 3: 'b', 4: 'c', 6: 'd', 12: 1}
@@ -1952,14 +1952,14 @@ def plot(self, label_elements=True, element_labels=None,
1952
1952
1953
1953
Some settings for coverings::
1954
1954
1955
- sage: # optional - sage.plot
1955
+ sage: # needs sage.plot
1956
1956
sage: d = {(a, b): b/a for a, b in D12.cover_relations()}
1957
1957
sage: D12.plot(cover_labels=d, cover_color='gray', cover_style='dotted')
1958
1958
Graphics object consisting of 21 graphics primitives
1959
1959
1960
1960
To emphasize some elements and show some options::
1961
1961
1962
- sage: # optional - sage.plot
1962
+ sage: # needs sage.plot
1963
1963
sage: L = LatticePoset({0: [1, 2, 3, 4], 1: [12], 2: [6, 7],
1964
1964
....: 3: [5, 9], 4: [5, 6, 10, 11], 5: [13],
1965
1965
....: 6: [12], 7: [12, 8, 9], 8: [13], 9: [13],
@@ -1978,7 +1978,7 @@ def plot(self, label_elements=True, element_labels=None,
1978
1978
1979
1979
We check that ``label_elements`` and ``element_labels`` are honored::
1980
1980
1981
- sage: # optional - sage.plot
1981
+ sage: # needs sage.plot
1982
1982
sage: def get_plot_labels(P):
1983
1983
....: return sorted(t.string for t in P
1984
1984
....: if isinstance(t, sage.plot.text.Text))
@@ -1996,7 +1996,7 @@ def plot(self, label_elements=True, element_labels=None,
1996
1996
1997
1997
The following checks that :trac:`18936` has been fixed and labels still work::
1998
1998
1999
- sage: # optional - sage.plot
1999
+ sage: # needs sage.plot
2000
2000
sage: P = Poset({0: [1,2], 1:[3]})
2001
2001
sage: heights = {1 : [0], 2 : [1], 3 : [2,3]}
2002
2002
sage: P.plot(heights=heights)
@@ -2007,7 +2007,7 @@ def plot(self, label_elements=True, element_labels=None,
2007
2007
2008
2008
The following checks that equal labels are allowed (:trac:`15206`)::
2009
2009
2010
- sage: # optional - sage.plot
2010
+ sage: # needs sage.plot
2011
2011
sage: P = Poset({1: [2,3]})
2012
2012
sage: labs = {i: P.rank(i) for i in range(1, 4)}; labs
2013
2013
{1: 0, 2: 1, 3: 1}
@@ -2016,7 +2016,7 @@ def plot(self, label_elements=True, element_labels=None,
2016
2016
2017
2017
The following checks that non-hashable labels are allowed (:trac:`15206`)::
2018
2018
2019
- sage: # optional - sage.plot
2019
+ sage: # needs sage.plot
2020
2020
sage: P = Poset({1: [2,3]})
2021
2021
sage: labs = {1: [2, 3], 2: [], 3: []}; labs
2022
2022
{1: [2, 3], 2: [], 3: []}
@@ -2025,7 +2025,7 @@ def plot(self, label_elements=True, element_labels=None,
2025
2025
2026
2026
Plot of the empty poset::
2027
2027
2028
- sage: # optional - sage.plot
2028
+ sage: # needs sage.plot
2029
2029
sage: P = Poset({})
2030
2030
sage: P.plot()
2031
2031
Graphics object consisting of 0 graphics primitives
@@ -2113,7 +2113,7 @@ def show(self, label_elements=True, element_labels=None,
2113
2113
2114
2114
EXAMPLES::
2115
2115
2116
- sage: # optional - sage.plot
2116
+ sage: # needs sage.plot
2117
2117
sage: D = Poset({ 0:[1,2], 1:[3], 2:[3,4] })
2118
2118
sage: D.plot(label_elements=False)
2119
2119
Graphics object consisting of 6 graphics primitives
@@ -2123,7 +2123,7 @@ def show(self, label_elements=True, element_labels=None,
2123
2123
2124
2124
One more example with cover labels::
2125
2125
2126
- sage: # optional - sage.plot
2126
+ sage: # needs sage.plot
2127
2127
sage: P = posets.PentagonPoset()
2128
2128
sage: P.show(cover_labels=lambda a, b: a - b)
2129
2129
"""
@@ -3716,37 +3716,39 @@ def magnitude(self) -> Integer:
3716
3716
3717
3717
EXAMPLES::
3718
3718
3719
+ sage: needs sage.groups sage.libs.flint
3719
3720
sage: P = posets.PentagonPoset()
3720
- sage: P.magnitude() # needs sage.libs.flint
3721
+ sage: P.magnitude()
3721
3722
1
3722
3723
3723
- sage: W = SymmetricGroup(4) # needs sage.groups
3724
- sage: P = W.noncrossing_partition_lattice().without_bounds() # needs sage.groups
3725
- sage: P.magnitude() # needs sage.groups sage.libs.flint
3724
+ sage: W = SymmetricGroup(4)
3725
+ sage: P = W.noncrossing_partition_lattice().without_bounds()
3726
+ sage: P.magnitude()
3726
3727
-4
3727
3728
3728
3729
sage: P = posets.TamariLattice(4).without_bounds()
3729
- sage: P.magnitude() # needs sage.libs.flint
3730
+ sage: P.magnitude()
3730
3731
0
3731
3732
3732
3733
.. SEEALSO:: :meth:`order_complex`
3733
3734
3734
3735
TESTS::
3735
3736
3737
+ sage: needs sage.groups sage.libs.flint
3736
3738
sage: P1 = posets.RandomPoset(20, 0.05)
3737
3739
sage: P2 = posets.RandomPoset(20, 0.05)
3738
- sage: m1 = P1.magnitude() # needs sage.libs.flint
3739
- sage: m2 = P2.magnitude() # needs sage.libs.flint
3740
+ sage: m1 = P1.magnitude()
3741
+ sage: m2 = P2.magnitude()
3740
3742
sage: U = P1.disjoint_union(P2)
3741
3743
sage: P = P1.product(P2)
3742
- sage: U.magnitude() == m1 + m2 # needs sage.libs.flint
3744
+ sage: U.magnitude() == m1 + m2
3743
3745
True
3744
- sage: P.magnitude() == m1*m2 # needs sage.libs.flint
3746
+ sage: P.magnitude() == m1*m2
3745
3747
True
3746
3748
3747
- sage: Poset({}).magnitude() # needs sage.libs.flint
3749
+ sage: Poset({}).magnitude()
3748
3750
0
3749
- sage: Poset({1:[]}).magnitude() # needs sage.libs.flint
3751
+ sage: Poset({1:[]}).magnitude()
3750
3752
1
3751
3753
"""
3752
3754
H = self ._hasse_diagram
@@ -6721,14 +6723,14 @@ def order_ideal_plot(self, elements):
6721
6723
6722
6724
EXAMPLES::
6723
6725
6724
- sage: # optional - sage.plot
6726
+ sage: # needs sage.plot
6725
6727
sage: P = Poset((divisors(1000), attrcall("divides")))
6726
6728
sage: P.order_ideal_plot([20, 25])
6727
6729
Graphics object consisting of 41 graphics primitives
6728
6730
6729
6731
TESTS::
6730
6732
6731
- sage: # optional - sage.plot
6733
+ sage: # needs sage.plot
6732
6734
sage: P = Poset() # Test empty poset
6733
6735
sage: P.order_ideal_plot([])
6734
6736
Graphics object consisting of 0 graphics primitives
@@ -8389,34 +8391,35 @@ def greene_shape(self):
8389
8391
8390
8392
EXAMPLES::
8391
8393
8394
+ sage: # needs sage.combinat
8392
8395
sage: P = Poset([[3,2,1], [[3,1],[2,1]]])
8393
- sage: P.greene_shape() # needs sage.combinat
8396
+ sage: P.greene_shape()
8394
8397
[2, 1]
8395
8398
sage: P = Poset([[1,2,3,4], [[1,4],[2,4],[4,3]]])
8396
- sage: P.greene_shape() # needs sage.combinat
8399
+ sage: P.greene_shape()
8397
8400
[3, 1]
8398
8401
sage: P = Poset([[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],
8399
8402
....: [[1,4],[2,4],[4,3]]])
8400
- sage: P.greene_shape() # needs sage.combinat
8403
+ sage: P.greene_shape()
8401
8404
[3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
8402
8405
sage: P = Poset([[],[]])
8403
- sage: P.greene_shape() # needs sage.combinat
8406
+ sage: P.greene_shape()
8404
8407
[]
8405
8408
8406
8409
AUTHOR:
8407
8410
8408
8411
- Darij Grinberg (2013-05-09)
8409
8412
"""
8410
8413
from sage .combinat .partition import Partition
8411
- ( G , a ) = self .frank_network ()
8414
+ G , a = self .frank_network ()
8412
8415
n = len (self )
8413
8416
chron = _ford_fulkerson_chronicle (G , (- 1 , 0 ), (2 , 0 ), a )
8414
8417
size = 0
8415
8418
ps = []
8416
8419
part = 0
8417
- ( pold , vold ) = (0 , 0 )
8420
+ pold , vold = (0 , 0 )
8418
8421
while size != n :
8419
- ( p , v ) = next (chron )
8422
+ p , v = next (chron )
8420
8423
if v > vold :
8421
8424
size += p
8422
8425
if part > 0 :
0 commit comments