@@ -1067,17 +1067,15 @@ def moebius_function_matrix(self, algorithm='cython'):
1067
1067
[ 0 0 0 0 0 0 0 1]
1068
1068
1069
1069
TESTS::
1070
-
1071
- sage: H.moebius_function_matrix().is_immutable() # optional - sage.libs.flint sage.modules
1070
+ sage: # needs sage.modules
1071
+ sage: H.moebius_function_matrix().is_immutable() # optional - sage.libs.flint
1072
1072
True
1073
- sage: hasattr(H,'_moebius_function_matrix') # optional - sage.libs.flint sage.modules
1073
+ sage: hasattr(H,'_moebius_function_matrix') # optional - sage.libs.flint
1074
1074
True
1075
-
1076
- sage: H.moebius_function == H._moebius_function_from_matrix # optional - sage.libs.flint sage.modules
1075
+ sage: H.moebius_function == H._moebius_function_from_matrix # optional - sage.libs.flint
1077
1076
True
1078
-
1079
1077
sage: H = posets.TamariLattice(3)._hasse_diagram
1080
- sage: M = H.moebius_function_matrix('matrix'); M # optional - sage.modules
1078
+ sage: M = H.moebius_function_matrix('matrix'); M
1081
1079
[ 1 -1 -1 0 1]
1082
1080
[ 0 1 0 0 -1]
1083
1081
[ 0 0 1 -1 0]
@@ -1160,25 +1158,29 @@ def coxeter_transformation(self, algorithm='cython'):
1160
1158
1161
1159
EXAMPLES::
1162
1160
1163
- sage: P = posets.PentagonPoset()._hasse_diagram # optional - sage.modules
1164
- sage: M = P.coxeter_transformation(); M # optional - sage.libs.flint sage.modules
1161
+ sage: # needs sage.modules
1162
+ sage: # needs sage.libs.flint sage.modules
1163
+ sage: P = posets.PentagonPoset()._hasse_diagram
1164
+ sage: M = P.coxeter_transformation(); M
1165
1165
[ 0 0 0 0 -1]
1166
1166
[ 0 0 0 1 -1]
1167
1167
[ 0 1 0 0 -1]
1168
1168
[-1 1 1 0 -1]
1169
1169
[-1 1 0 1 -1]
1170
- sage: P.__dict__['coxeter_transformation'].clear_cache() # optional - sage.libs.flint sage.modules
1171
- sage: P.coxeter_transformation(algorithm="matrix") == M # optional - sage.libs.flint sage.modules
1170
+ sage: P.__dict__['coxeter_transformation'].clear_cache()
1171
+ sage: P.coxeter_transformation(algorithm="matrix") == M
1172
1172
True
1173
1173
1174
1174
TESTS::
1175
1175
1176
- sage: P = posets.PentagonPoset()._hasse_diagram # optional - sage.modules
1177
- sage: M = P.coxeter_transformation() # optional - sage.libs.flint sage.modules
1178
- sage: M**8 == 1 # optional - sage.libs.flint sage.modules
1176
+ sage: # needs sage.modules
1177
+ sage: # needs sage.libs.flint sage.modules
1178
+ sage: P = posets.PentagonPoset()._hasse_diagram
1179
+ sage: M = P.coxeter_transformation()
1180
+ sage: M**8 == 1
1179
1181
True
1180
- sage: P.__dict__['coxeter_transformation'].clear_cache() # optional - sage.libs.flint sage.modules
1181
- sage: P.coxeter_transformation(algorithm="banana") # optional - sage.libs.flint sage.modules
1182
+ sage: P.__dict__['coxeter_transformation'].clear_cache()
1183
+ sage: P.coxeter_transformation(algorithm="banana")
1182
1184
Traceback (most recent call last):
1183
1185
...
1184
1186
ValueError: unknown algorithm
@@ -2222,24 +2224,22 @@ def antichains_iterator(self):
2222
2224
2223
2225
EXAMPLES::
2224
2226
2225
- sage: P = posets.PentagonPoset() # optional - sage.modules
2226
- sage: H = P._hasse_diagram # optional - sage.modules
2227
- sage: H.antichains_iterator() # optional - sage.modules
2227
+ sage: # needs sage.modules
2228
+ sage: P = posets.PentagonPoset()
2229
+ sage: H = P._hasse_diagram
2230
+ sage: H.antichains_iterator()
2228
2231
<generator object ...antichains_iterator at ...>
2229
- sage: list(H.antichains_iterator()) # optional - sage.modules
2232
+ sage: list(H.antichains_iterator())
2230
2233
[[], [4], [3], [2], [1], [1, 3], [1, 2], [0]]
2231
-
2232
2234
sage: from sage.combinat.posets.hasse_diagram import HasseDiagram
2233
2235
sage: H = HasseDiagram({0:[1,2],1:[4],2:[3],3:[4]})
2234
- sage: list(H.antichains_iterator()) # optional - sage.modules
2236
+ sage: list(H.antichains_iterator())
2235
2237
[[], [4], [3], [2], [1], [1, 3], [1, 2], [0]]
2236
-
2237
2238
sage: H = HasseDiagram({0:[],1:[],2:[]})
2238
- sage: list(H.antichains_iterator()) # optional - sage.modules
2239
+ sage: list(H.antichains_iterator())
2239
2240
[[], [2], [1], [1, 2], [0], [0, 2], [0, 1], [0, 1, 2]]
2240
-
2241
2241
sage: H = HasseDiagram({0:[1],1:[2],2:[3],3:[4]})
2242
- sage: list(H.antichains_iterator()) # optional - sage.modules
2242
+ sage: list(H.antichains_iterator())
2243
2243
[[], [4], [3], [2], [1], [0]]
2244
2244
2245
2245
TESTS::
@@ -2279,12 +2279,13 @@ def are_incomparable(self, i, j):
2279
2279
2280
2280
EXAMPLES::
2281
2281
2282
- sage: P = posets.PentagonPoset() # optional - sage.modules
2283
- sage: H = P._hasse_diagram # optional - sage.modules
2284
- sage: H.are_incomparable(1,2) # optional - sage.modules
2282
+ sage: # needs sage.modules
2283
+ sage: P = posets.PentagonPoset()
2284
+ sage: H = P._hasse_diagram
2285
+ sage: H.are_incomparable(1,2)
2285
2286
True
2286
- sage: V = H.vertices(sort=True) # optional - sage.modules
2287
- sage: [ (i,j) for i in V for j in V if H.are_incomparable(i,j)] # optional - sage.modules
2287
+ sage: V = H.vertices(sort=True)
2288
+ sage: [ (i,j) for i in V for j in V if H.are_incomparable(i,j)]
2288
2289
[(1, 2), (1, 3), (2, 1), (3, 1)]
2289
2290
"""
2290
2291
if i == j :
@@ -2304,12 +2305,13 @@ def are_comparable(self, i, j):
2304
2305
2305
2306
EXAMPLES::
2306
2307
2307
- sage: P = posets.PentagonPoset() # optional - sage.modules
2308
- sage: H = P._hasse_diagram # optional - sage.modules
2309
- sage: H.are_comparable(1,2) # optional - sage.modules
2308
+ sage: # needs sage.modules
2309
+ sage: P = posets.PentagonPoset()
2310
+ sage: H = P._hasse_diagram
2311
+ sage: H.are_comparable(1,2)
2310
2312
False
2311
- sage: V = H.vertices(sort=True) # optional - sage.modules
2312
- sage: [ (i,j) for i in V for j in V if H.are_comparable(i,j)] # optional - sage.modules
2313
+ sage: V = H.vertices(sort=True)
2314
+ sage: [ (i,j) for i in V for j in V if H.are_comparable(i,j)]
2313
2315
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 4),
2314
2316
(2, 0), (2, 2), (2, 3), (2, 4), (3, 0), (3, 2), (3, 3), (3, 4),
2315
2317
(4, 0), (4, 1), (4, 2), (4, 3), (4, 4)]
@@ -2331,26 +2333,27 @@ def antichains(self, element_class=list):
2331
2333
2332
2334
EXAMPLES::
2333
2335
2334
- sage: P = posets.PentagonPoset() # optional - sage.modules
2335
- sage: H = P._hasse_diagram # optional - sage.modules
2336
- sage: A = H.antichains() # optional - sage.modules
2337
- sage: list(A) # optional - sage.modules
2336
+ sage: # needs sage.modules
2337
+ sage: P = posets.PentagonPoset()
2338
+ sage: H = P._hasse_diagram
2339
+ sage: A = H.antichains()
2340
+ sage: list(A)
2338
2341
[[], [0], [1], [1, 2], [1, 3], [2], [3], [4]]
2339
- sage: A.cardinality() # optional - sage.modules
2342
+ sage: A.cardinality()
2340
2343
8
2341
- sage: [1,3] in A # optional - sage.modules
2344
+ sage: [1,3] in A
2342
2345
True
2343
- sage: [1,4] in A # optional - sage.modules
2346
+ sage: [1,4] in A
2344
2347
False
2345
2348
2346
2349
TESTS::
2347
2350
2348
- sage: TestSuite(A).run() # optional - sage.modules
2349
-
2350
- sage: A = Poset()._hasse_diagram.antichains() # optional - sage.modules
2351
- sage: list(A) # optional - sage.modules
2351
+ sage: # needs sage.modules
2352
+ sage: TestSuite(A).run()
2353
+ sage: A = Poset()._hasse_diagram.antichains()
2354
+ sage: list(A)
2352
2355
[[]]
2353
- sage: TestSuite(A).run() # optional - sage.modules
2356
+ sage: TestSuite(A).run()
2354
2357
"""
2355
2358
from sage .combinat .subsets_pairwise import PairwiseCompatibleSubsets
2356
2359
return PairwiseCompatibleSubsets (self .vertices (sort = True ),
@@ -2382,23 +2385,25 @@ def chains(self, element_class=list, exclude=None, conversion=None):
2382
2385
2383
2386
EXAMPLES::
2384
2387
2385
- sage: P = posets.PentagonPoset() # optional - sage.modules
2386
- sage: H = P._hasse_diagram # optional - sage.modules
2387
- sage: A = H.chains() # optional - sage.modules
2388
- sage: list(A) # optional - sage.modules
2388
+ sage: # needs sage.modules
2389
+ sage: P = posets.PentagonPoset()
2390
+ sage: H = P._hasse_diagram
2391
+ sage: A = H.chains()
2392
+ sage: list(A)
2389
2393
[[], [0], [0, 1], [0, 1, 4], [0, 2], [0, 2, 3], [0, 2, 3, 4], [0, 2, 4],
2390
2394
[0, 3], [0, 3, 4], [0, 4], [1], [1, 4], [2], [2, 3], [2, 3, 4], [2, 4],
2391
2395
[3], [3, 4], [4]]
2392
- sage: A.cardinality() # optional - sage.modules
2396
+ sage: A.cardinality()
2393
2397
20
2394
- sage: [1,3] in A # optional - sage.modules
2398
+ sage: [1,3] in A
2395
2399
False
2396
- sage: [1,4] in A # optional - sage.modules
2400
+ sage: [1,4] in A
2397
2401
True
2398
2402
2399
2403
One can exclude some vertices::
2400
2404
2401
- sage: list(H.chains(exclude=[4, 3])) # optional - sage.modules
2405
+ sage: # needs sage.modules
2406
+ sage: list(H.chains(exclude=[4, 3]))
2402
2407
[[], [0], [0, 1], [0, 2], [1], [2]]
2403
2408
2404
2409
The ``element_class`` keyword determines how the chains are
@@ -2426,16 +2431,16 @@ def is_linear_interval(self, t_min, t_max) -> bool:
2426
2431
This means that this interval is a total order.
2427
2432
2428
2433
EXAMPLES::
2429
-
2430
- sage: P = posets.PentagonPoset() # optional - sage.modules
2431
- sage: H = P._hasse_diagram # optional - sage.modules
2432
- sage: H.is_linear_interval(0, 4) # optional - sage.modules
2434
+ sage: # needs sage.modules
2435
+ sage: P = posets.PentagonPoset()
2436
+ sage: H = P._hasse_diagram
2437
+ sage: H.is_linear_interval(0, 4)
2433
2438
False
2434
- sage: H.is_linear_interval(0, 3) # optional - sage.modules
2439
+ sage: H.is_linear_interval(0, 3)
2435
2440
True
2436
- sage: H.is_linear_interval(1, 3) # optional - sage.modules
2441
+ sage: H.is_linear_interval(1, 3)
2437
2442
False
2438
- sage: H.is_linear_interval(1, 1) # optional - sage.modules
2443
+ sage: H.is_linear_interval(1, 1)
2439
2444
True
2440
2445
2441
2446
TESTS::
0 commit comments