Skip to content

Commit 4277b93

Browse files
committed
use "needs ..." feature
1 parent 14b5fd3 commit 4277b93

File tree

1 file changed

+68
-63
lines changed

1 file changed

+68
-63
lines changed

src/sage/combinat/posets/hasse_diagram.py

Lines changed: 68 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,17 +1067,15 @@ def moebius_function_matrix(self, algorithm='cython'):
10671067
[ 0 0 0 0 0 0 0 1]
10681068
10691069
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
10721072
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
10741074
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
10771076
True
1078-
10791077
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
10811079
[ 1 -1 -1 0 1]
10821080
[ 0 1 0 0 -1]
10831081
[ 0 0 1 -1 0]
@@ -1160,25 +1158,29 @@ def coxeter_transformation(self, algorithm='cython'):
11601158
11611159
EXAMPLES::
11621160
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
11651165
[ 0 0 0 0 -1]
11661166
[ 0 0 0 1 -1]
11671167
[ 0 1 0 0 -1]
11681168
[-1 1 1 0 -1]
11691169
[-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
11721172
True
11731173
11741174
TESTS::
11751175
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
11791181
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")
11821184
Traceback (most recent call last):
11831185
...
11841186
ValueError: unknown algorithm
@@ -2222,24 +2224,22 @@ def antichains_iterator(self):
22222224
22232225
EXAMPLES::
22242226
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()
22282231
<generator object ...antichains_iterator at ...>
2229-
sage: list(H.antichains_iterator()) # optional - sage.modules
2232+
sage: list(H.antichains_iterator())
22302233
[[], [4], [3], [2], [1], [1, 3], [1, 2], [0]]
2231-
22322234
sage: from sage.combinat.posets.hasse_diagram import HasseDiagram
22332235
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())
22352237
[[], [4], [3], [2], [1], [1, 3], [1, 2], [0]]
2236-
22372238
sage: H = HasseDiagram({0:[],1:[],2:[]})
2238-
sage: list(H.antichains_iterator()) # optional - sage.modules
2239+
sage: list(H.antichains_iterator())
22392240
[[], [2], [1], [1, 2], [0], [0, 2], [0, 1], [0, 1, 2]]
2240-
22412241
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())
22432243
[[], [4], [3], [2], [1], [0]]
22442244
22452245
TESTS::
@@ -2279,12 +2279,13 @@ def are_incomparable(self, i, j):
22792279
22802280
EXAMPLES::
22812281
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)
22852286
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)]
22882289
[(1, 2), (1, 3), (2, 1), (3, 1)]
22892290
"""
22902291
if i == j:
@@ -2304,12 +2305,13 @@ def are_comparable(self, i, j):
23042305
23052306
EXAMPLES::
23062307
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)
23102312
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)]
23132315
[(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (1, 0), (1, 1), (1, 4),
23142316
(2, 0), (2, 2), (2, 3), (2, 4), (3, 0), (3, 2), (3, 3), (3, 4),
23152317
(4, 0), (4, 1), (4, 2), (4, 3), (4, 4)]
@@ -2331,26 +2333,27 @@ def antichains(self, element_class=list):
23312333
23322334
EXAMPLES::
23332335
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)
23382341
[[], [0], [1], [1, 2], [1, 3], [2], [3], [4]]
2339-
sage: A.cardinality() # optional - sage.modules
2342+
sage: A.cardinality()
23402343
8
2341-
sage: [1,3] in A # optional - sage.modules
2344+
sage: [1,3] in A
23422345
True
2343-
sage: [1,4] in A # optional - sage.modules
2346+
sage: [1,4] in A
23442347
False
23452348
23462349
TESTS::
23472350
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)
23522355
[[]]
2353-
sage: TestSuite(A).run() # optional - sage.modules
2356+
sage: TestSuite(A).run()
23542357
"""
23552358
from sage.combinat.subsets_pairwise import PairwiseCompatibleSubsets
23562359
return PairwiseCompatibleSubsets(self.vertices(sort=True),
@@ -2382,23 +2385,25 @@ def chains(self, element_class=list, exclude=None, conversion=None):
23822385
23832386
EXAMPLES::
23842387
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)
23892393
[[], [0], [0, 1], [0, 1, 4], [0, 2], [0, 2, 3], [0, 2, 3, 4], [0, 2, 4],
23902394
[0, 3], [0, 3, 4], [0, 4], [1], [1, 4], [2], [2, 3], [2, 3, 4], [2, 4],
23912395
[3], [3, 4], [4]]
2392-
sage: A.cardinality() # optional - sage.modules
2396+
sage: A.cardinality()
23932397
20
2394-
sage: [1,3] in A # optional - sage.modules
2398+
sage: [1,3] in A
23952399
False
2396-
sage: [1,4] in A # optional - sage.modules
2400+
sage: [1,4] in A
23972401
True
23982402
23992403
One can exclude some vertices::
24002404
2401-
sage: list(H.chains(exclude=[4, 3])) # optional - sage.modules
2405+
sage: # needs sage.modules
2406+
sage: list(H.chains(exclude=[4, 3]))
24022407
[[], [0], [0, 1], [0, 2], [1], [2]]
24032408
24042409
The ``element_class`` keyword determines how the chains are
@@ -2426,16 +2431,16 @@ def is_linear_interval(self, t_min, t_max) -> bool:
24262431
This means that this interval is a total order.
24272432
24282433
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)
24332438
False
2434-
sage: H.is_linear_interval(0, 3) # optional - sage.modules
2439+
sage: H.is_linear_interval(0, 3)
24352440
True
2436-
sage: H.is_linear_interval(1, 3) # optional - sage.modules
2441+
sage: H.is_linear_interval(1, 3)
24372442
False
2438-
sage: H.is_linear_interval(1, 1) # optional - sage.modules
2443+
sage: H.is_linear_interval(1, 1)
24392444
True
24402445
24412446
TESTS::

0 commit comments

Comments
 (0)