passagemath-graphs 10.5.10__cp39-cp39-macosx_14_0_arm64.whl → 10.5.43__cp39-cp39-macosx_14_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. {passagemath_graphs-10.5.10.dist-info → passagemath_graphs-10.5.43.dist-info}/METADATA +126 -30
  2. passagemath_graphs-10.5.43.dist-info/RECORD +256 -0
  3. {passagemath_graphs-10.5.10.dist-info → passagemath_graphs-10.5.43.dist-info}/WHEEL +2 -1
  4. passagemath_graphs.dylibs/libgmp.10.dylib +0 -0
  5. sage/all__sagemath_graphs.py +5 -0
  6. sage/combinat/abstract_tree.py +1 -1
  7. sage/combinat/binary_tree.py +1 -1
  8. sage/combinat/cluster_algebra_quiver/all.py +1 -1
  9. sage/combinat/cluster_algebra_quiver/cluster_seed.py +28 -24
  10. sage/combinat/cluster_algebra_quiver/interact.py +4 -0
  11. sage/combinat/designs/MOLS_handbook_data.py +5 -5
  12. sage/combinat/designs/bibd.py +10 -9
  13. sage/combinat/designs/covering_array.py +3 -3
  14. sage/combinat/designs/covering_design.py +2 -1
  15. sage/combinat/designs/database.py +11 -10
  16. sage/combinat/designs/designs_pyx.cpython-39-darwin.so +0 -0
  17. sage/combinat/designs/designs_pyx.pyx +13 -45
  18. sage/combinat/designs/difference_family.py +6 -6
  19. sage/combinat/designs/difference_matrices.py +1 -1
  20. sage/combinat/designs/evenly_distributed_sets.cpython-39-darwin.so +0 -0
  21. sage/combinat/designs/evenly_distributed_sets.pyx +15 -22
  22. sage/combinat/designs/ext_rep.py +9 -14
  23. sage/combinat/designs/gen_quadrangles_with_spread.cpython-39-darwin.so +0 -0
  24. sage/combinat/designs/gen_quadrangles_with_spread.pyx +1 -1
  25. sage/combinat/designs/group_divisible_designs.py +1 -1
  26. sage/combinat/designs/incidence_structures.py +8 -8
  27. sage/combinat/designs/latin_squares.py +1 -1
  28. sage/combinat/designs/orthogonal_arrays_build_recursive.py +8 -7
  29. sage/combinat/designs/orthogonal_arrays_find_recursive.cpython-39-darwin.so +0 -0
  30. sage/combinat/designs/resolvable_bibd.py +1 -1
  31. sage/combinat/designs/steiner_quadruple_systems.py +1 -1
  32. sage/combinat/designs/subhypergraph_search.cpython-39-darwin.so +0 -0
  33. sage/combinat/designs/subhypergraph_search.pyx +9 -9
  34. sage/combinat/finite_state_machine_generators.py +2 -2
  35. sage/combinat/graph_path.py +3 -3
  36. sage/combinat/interval_posets.py +10 -10
  37. sage/combinat/ordered_tree.py +1 -1
  38. sage/combinat/posets/cartesian_product.py +1 -1
  39. sage/combinat/posets/d_complete.py +1 -1
  40. sage/combinat/posets/forest.py +1 -1
  41. sage/combinat/posets/hasse_cython.cpython-39-darwin.so +0 -0
  42. sage/combinat/posets/hasse_diagram.py +8 -6
  43. sage/combinat/posets/incidence_algebras.py +8 -8
  44. sage/combinat/posets/lattices.py +28 -4
  45. sage/combinat/posets/linear_extension_iterator.cpython-39-darwin.so +0 -0
  46. sage/combinat/posets/linear_extension_iterator.pyx +2 -0
  47. sage/combinat/posets/linear_extensions.py +7 -16
  48. sage/combinat/posets/moebius_algebra.py +1 -1
  49. sage/combinat/posets/poset_examples.py +1 -1
  50. sage/combinat/posets/posets.py +54 -56
  51. sage/combinat/rooted_tree.py +3 -3
  52. sage/combinat/tamari_lattices.py +1 -1
  53. sage/ext_data/kenzo/CP2.txt +45 -0
  54. sage/ext_data/kenzo/CP3.txt +349 -0
  55. sage/ext_data/kenzo/CP4.txt +4774 -0
  56. sage/ext_data/kenzo/README.txt +49 -0
  57. sage/ext_data/kenzo/S4.txt +20 -0
  58. sage/graphs/asteroidal_triples.cpython-39-darwin.so +0 -0
  59. sage/graphs/base/boost_graph.cpython-39-darwin.so +0 -0
  60. sage/graphs/base/boost_graph.pxd +1 -1
  61. sage/graphs/base/boost_graph.pyx +1 -1
  62. sage/graphs/base/c_graph.cpython-39-darwin.so +0 -0
  63. sage/graphs/base/c_graph.pxd +4 -4
  64. sage/graphs/base/c_graph.pyx +270 -184
  65. sage/graphs/base/dense_graph.cpython-39-darwin.so +0 -0
  66. sage/graphs/base/graph_backends.cpython-39-darwin.so +0 -0
  67. sage/graphs/base/sparse_graph.cpython-39-darwin.so +0 -0
  68. sage/graphs/base/static_dense_graph.cpython-39-darwin.so +0 -0
  69. sage/graphs/base/static_sparse_backend.cpython-39-darwin.so +0 -0
  70. sage/graphs/base/static_sparse_backend.pyx +93 -6
  71. sage/graphs/base/static_sparse_graph.cpython-39-darwin.so +0 -0
  72. sage/graphs/base/static_sparse_graph.pyx +1 -1
  73. sage/graphs/bipartite_graph.py +0 -1
  74. sage/graphs/centrality.cpython-39-darwin.so +0 -0
  75. sage/graphs/centrality.pyx +0 -0
  76. sage/graphs/comparability.cpython-39-darwin.so +0 -0
  77. sage/graphs/comparability.pyx +172 -138
  78. sage/graphs/connectivity.cpython-39-darwin.so +0 -0
  79. sage/graphs/connectivity.pyx +194 -18
  80. sage/graphs/convexity_properties.cpython-39-darwin.so +0 -0
  81. sage/graphs/digraph_generators.py +118 -74
  82. sage/graphs/distances_all_pairs.cpython-39-darwin.so +0 -0
  83. sage/graphs/distances_all_pairs.pyx +145 -27
  84. sage/graphs/edge_connectivity.cpython-39-darwin.so +0 -0
  85. sage/graphs/generators/basic.py +471 -130
  86. sage/graphs/generators/distance_regular.cpython-39-darwin.so +0 -0
  87. sage/graphs/generators/distance_regular.pyx +12 -12
  88. sage/graphs/generators/families.py +2 -2
  89. sage/graphs/generators/random.py +8 -13
  90. sage/graphs/generators/smallgraphs.py +12 -11
  91. sage/graphs/generic_graph.py +687 -265
  92. sage/graphs/generic_graph_pyx.cpython-39-darwin.so +0 -0
  93. sage/graphs/genus.cpython-39-darwin.so +0 -0
  94. sage/graphs/graph.py +12 -46
  95. sage/graphs/graph_coloring.cpython-39-darwin.so +0 -0
  96. sage/graphs/graph_database.py +1 -1
  97. sage/graphs/graph_decompositions/bandwidth.cpython-39-darwin.so +0 -0
  98. sage/graphs/graph_decompositions/clique_separators.cpython-39-darwin.so +0 -0
  99. sage/graphs/graph_decompositions/cutwidth.cpython-39-darwin.so +0 -0
  100. sage/graphs/graph_decompositions/fast_digraph.cpython-39-darwin.so +0 -0
  101. sage/graphs/graph_decompositions/graph_products.cpython-39-darwin.so +0 -0
  102. sage/graphs/graph_decompositions/modular_decomposition.cpython-39-darwin.so +0 -0
  103. sage/graphs/graph_decompositions/slice_decomposition.cpython-39-darwin.so +0 -0
  104. sage/graphs/graph_decompositions/tree_decomposition.cpython-39-darwin.so +0 -0
  105. sage/graphs/graph_decompositions/vertex_separation.cpython-39-darwin.so +0 -0
  106. sage/graphs/graph_generators.py +110 -55
  107. sage/graphs/graph_generators_pyx.cpython-39-darwin.so +0 -0
  108. sage/graphs/graph_latex.py +1 -1
  109. sage/graphs/graph_list.py +2 -3
  110. sage/graphs/graph_plot.py +225 -30
  111. sage/graphs/hyperbolicity.cpython-39-darwin.so +0 -0
  112. sage/graphs/independent_sets.cpython-39-darwin.so +0 -0
  113. sage/graphs/isgci.py +3 -8
  114. sage/graphs/isoperimetric_inequalities.cpython-39-darwin.so +0 -0
  115. sage/graphs/line_graph.cpython-39-darwin.so +0 -0
  116. sage/graphs/matching.py +14 -25
  117. sage/graphs/matching_covered_graph.py +871 -60
  118. sage/graphs/orientations.py +190 -134
  119. sage/graphs/path_enumeration.cpython-39-darwin.so +0 -0
  120. sage/graphs/path_enumeration.pyx +25 -25
  121. sage/graphs/spanning_tree.cpython-39-darwin.so +0 -0
  122. sage/graphs/strongly_regular_db.cpython-39-darwin.so +0 -0
  123. sage/graphs/strongly_regular_db.pyx +54 -52
  124. sage/graphs/traversals.cpython-39-darwin.so +0 -0
  125. sage/graphs/traversals.pyx +114 -46
  126. sage/graphs/trees.cpython-39-darwin.so +0 -0
  127. sage/graphs/views.cpython-39-darwin.so +0 -0
  128. sage/graphs/weakly_chordal.cpython-39-darwin.so +0 -0
  129. sage/groups/perm_gps/partn_ref/refinement_graphs.cpython-39-darwin.so +0 -0
  130. sage/knots/free_knotinfo_monoid.py +2 -3
  131. sage/knots/knot.py +1 -1
  132. sage/knots/knotinfo.py +4 -4
  133. sage/knots/link.py +58 -57
  134. sage/sandpiles/sandpile.py +2 -3
  135. sage/topology/cell_complex.py +1 -1
  136. sage/topology/cubical_complex.py +7 -7
  137. sage/topology/delta_complex.py +4 -4
  138. sage/topology/simplicial_complex.py +7 -22
  139. passagemath_graphs-10.5.10.dist-info/RECORD +0 -251
  140. {passagemath_graphs-10.5.10.dist-info → passagemath_graphs-10.5.43.dist-info}/top_level.txt +0 -0
@@ -1202,10 +1202,10 @@ def is_from_GQ_spread(list arr):
1202
1202
 
1203
1203
  sage: from sage.graphs.generators.distance_regular import \
1204
1204
  ....: is_from_GQ_spread, graph_from_GQ_spread
1205
- sage: is_from_GQ_spread([125, 120, 1, 1, 24, 125]) # needs sage.libs.pari
1205
+ sage: is_from_GQ_spread([125, 120, 1, 1, 24, 125]) # needs sage.libs.flint sage.libs.pari
1206
1206
  (5, 25)
1207
- sage: G = graph_from_GQ_spread(5, 25) # needs sage.libs.pari
1208
- sage: G.is_distance_regular(True) # needs sage.libs.pari
1207
+ sage: G = graph_from_GQ_spread(5, 25) # needs sage.libs.flint sage.libs.pari
1208
+ sage: G.is_distance_regular(True) # needs sage.libs.flint sage.libs.pari
1209
1209
  ([125, 120, 1, None], [None, 1, 24, 125])
1210
1210
 
1211
1211
  REFERENCES:
@@ -1217,9 +1217,9 @@ def is_from_GQ_spread(list arr):
1217
1217
 
1218
1218
  sage: from sage.graphs.generators.distance_regular import \
1219
1219
  ....: is_from_GQ_spread
1220
- sage: is_from_GQ_spread([343, 336, 1, 1, 48, 343]) # needs sage.libs.pari
1220
+ sage: is_from_GQ_spread([343, 336, 1, 1, 48, 343]) # needs sage.libs.flint sage.libs.pari
1221
1221
  (7, 49)
1222
- sage: is_from_GQ_spread([343, 336, 1, 2, 48, 343]) # needs sage.libs.pari
1222
+ sage: is_from_GQ_spread([343, 336, 1, 2, 48, 343]) # needs sage.libs.flint sage.libs.pari
1223
1223
  False
1224
1224
 
1225
1225
  Check that we don't get ``True`` for inexisting GQs::
@@ -1230,7 +1230,7 @@ def is_from_GQ_spread(list arr):
1230
1230
  sage: t = 6
1231
1231
  sage: [s * t, s * (t-1), 1, 1, t - 1, s * t]
1232
1232
  [30, 25, 1, 1, 5, 30]
1233
- sage: is_from_GQ_spread([30, 25, 1, 1, 5, 30]) # needs sage.libs.pari
1233
+ sage: is_from_GQ_spread([30, 25, 1, 1, 5, 30]) # needs sage.libs.flint sage.libs.pari
1234
1234
  False
1235
1235
  """
1236
1236
  from sage.combinat.designs import design_catalog as designs
@@ -1273,8 +1273,8 @@ def graph_from_GQ_spread(const int s, const int t):
1273
1273
 
1274
1274
  sage: from sage.graphs.generators.distance_regular import \
1275
1275
  ....: graph_from_GQ_spread
1276
- sage: G = graph_from_GQ_spread(4, 16) # needs sage.libs.pari
1277
- sage: G.is_distance_regular(True) # needs sage.libs.pari
1276
+ sage: G = graph_from_GQ_spread(4, 16) # needs sage.libs.flint sage.libs.pari
1277
+ sage: G.is_distance_regular(True) # needs sage.libs.flint sage.libs.pari
1278
1278
  ([64, 60, 1, None], [None, 1, 15, 64])
1279
1279
 
1280
1280
  REFERENCES:
@@ -1285,11 +1285,11 @@ def graph_from_GQ_spread(const int s, const int t):
1285
1285
 
1286
1286
  sage: from sage.graphs.generators.distance_regular import \
1287
1287
  ....: graph_from_GQ_spread, is_from_GQ_spread
1288
- sage: is_from_GQ_spread([64, 60, 1, 1, 15, 64]) # needs sage.libs.pari
1288
+ sage: is_from_GQ_spread([64, 60, 1, 1, 15, 64]) # needs sage.libs.flint sage.libs.pari
1289
1289
  (4, 16)
1290
- sage: graph_from_GQ_spread(*is_from_GQ_spread([27, 24, 1, 1, 8, 27])) # needs sage.libs.pari
1290
+ sage: graph_from_GQ_spread(*is_from_GQ_spread([27, 24, 1, 1, 8, 27])) # needs sage.libs.flint sage.libs.pari
1291
1291
  Graph on 112 vertices
1292
- sage: _.is_distance_regular(True) # needs sage.libs.pari
1292
+ sage: _.is_distance_regular(True) # needs sage.libs.flint sage.libs.pari
1293
1293
  ([27, 24, 1, None], [None, 1, 8, 27])
1294
1294
  """
1295
1295
  from sage.combinat.designs import design_catalog as designs
@@ -2746,7 +2746,7 @@ def distance_regular_graph(list arr, existence=False, check=True):
2746
2746
  Graph on 1024 vertices
2747
2747
  sage: graphs.distance_regular_graph([6,5,5,5,1,1,1,6]) # optional - database_graphs
2748
2748
  Generalised octagon of order (1, 5): Graph on 312 vertices
2749
- sage: graphs.distance_regular_graph([64, 60, 1, 1, 15, 64], check=True)
2749
+ sage: graphs.distance_regular_graph([64, 60, 1, 1, 15, 64], check=True) # needs sage.libs.gap
2750
2750
  Graph on 325 vertices
2751
2751
  """
2752
2752
  from sage.misc.unknown import Unknown
@@ -3919,9 +3919,9 @@ def MathonPseudocyclicStronglyRegularGraph(t, G=None, L=None):
3919
3919
  Using default ``G`` and ``L``. ::
3920
3920
 
3921
3921
  sage: from sage.graphs.generators.families import MathonPseudocyclicStronglyRegularGraph
3922
- sage: G = MathonPseudocyclicStronglyRegularGraph(1); G # needs sage.modules sage.rings.finite_rings
3922
+ sage: G = MathonPseudocyclicStronglyRegularGraph(1); G # needs database_graphs sage.modules sage.rings.finite_rings
3923
3923
  Mathon's PC SRG on 45 vertices: Graph on 45 vertices
3924
- sage: G.is_strongly_regular(parameters=True) # needs sage.modules sage.rings.finite_rings
3924
+ sage: G.is_strongly_regular(parameters=True) # needs database_graphs sage.modules sage.rings.finite_rings
3925
3925
  (45, 22, 10, 11)
3926
3926
 
3927
3927
  Supplying ``G`` and ``L`` (constructed from the automorphism group
@@ -1710,7 +1710,7 @@ def RandomKTree(n, k, seed=None):
1710
1710
 
1711
1711
  # A graph with treewidth 0 has no edges
1712
1712
  if k == 0:
1713
- g = Graph(n, name=f"Random 0-tree")
1713
+ g = Graph(n, name="Random 0-tree")
1714
1714
  return g
1715
1715
 
1716
1716
  if n < k + 1:
@@ -1804,7 +1804,7 @@ def RandomPartialKTree(n, k, x, seed=None):
1804
1804
 
1805
1805
  # A graph with treewidth 0 has no edges
1806
1806
  if k == 0:
1807
- g = Graph(n, name=f"Random partial 0-tree")
1807
+ g = Graph(n, name="Random partial 0-tree")
1808
1808
  return g
1809
1809
 
1810
1810
  if n < k + 1:
@@ -2322,21 +2322,16 @@ def RandomTriangulation(n, set_position=False, k=3, seed=None):
2322
2322
 
2323
2323
  pattern = ['in', 'in', 'in', 'lf', 'in'] # 'partial closures'
2324
2324
 
2325
- def rotate_word_to_next_occurrence(word):
2326
- """
2327
- Rotate ``word`` so that the given pattern occurs at the beginning.
2328
-
2329
- If the given pattern is not found, return the empty list.
2330
- """
2325
+ # We greedily perform the replacements 'in1,in2,in3,lf,in3'->'in1,in3'.
2326
+ while True:
2327
+ # first we rotate the word to it starts with pattern
2328
+ word2 = []
2331
2329
  N = len(word)
2332
2330
  for i in range(N):
2333
2331
  if all(word[(i + j) % N][0] == pattern[j] for j in range(5)):
2334
- return word[i:] + word[:i]
2335
- return []
2332
+ word2 = word[i:] + word[:i]
2333
+ break
2336
2334
 
2337
- # We greedily perform the replacements 'in1,in2,in3,lf,in3'->'in1,in3'.
2338
- while True:
2339
- word2 = rotate_word_to_next_occurrence(word)
2340
2335
  if len(word2) >= 5:
2341
2336
  word = [word2[0]] + word2[4:]
2342
2337
  in1, in2, in3 = (u[1] for u in word2[:3])
@@ -1376,7 +1376,7 @@ def BrouwerHaemersGraph():
1376
1376
 
1377
1377
  Its has as eigenvalues `20,2` and `-7`::
1378
1378
 
1379
- sage: set(g.spectrum()) == {20,2,-7} # needs sage.modules sage.rings.finite_rings
1379
+ sage: set(g.spectrum()) == {20,2,-7} # needs sage.modules sage.rings.finite_rings sage.rings.number_field
1380
1380
  True
1381
1381
  """
1382
1382
  from sage.rings.finite_rings.finite_field_constructor import FiniteField
@@ -4038,14 +4038,14 @@ def MurtyGraph():
4038
4038
  - Janmenjaya Panda (2024-08-03)
4039
4039
  """
4040
4040
  pos_dict = {
4041
- 0: (-0.5, sqrt(3)/2),
4042
- 1: (0.5, sqrt(3)/2),
4043
- 2: (-1, 0),
4044
- 3: (0, 0),
4045
- 4: (1, 0),
4046
- 5: (-0.5, -1 - sqrt(3)/2),
4047
- 6: (0, -1),
4048
- 7: (0.5, -1 - sqrt(3)/2)
4041
+ 0: (-0.5, sqrt(3.0)/2.0),
4042
+ 1: (0.5, sqrt(3.0)/2.0),
4043
+ 2: (-1.0, 0.0),
4044
+ 3: (0.0, 0.0),
4045
+ 4: (1.0, 0.0),
4046
+ 5: (-0.5, -1.0 - sqrt(3.0)/2.0),
4047
+ 6: (0.0, -1.0),
4048
+ 7: (0.5, -1.0 - sqrt(3.0)/2.0)
4049
4049
  }
4050
4050
 
4051
4051
  G = Graph(8, pos=pos_dict, name="Murty Graph")
@@ -4624,7 +4624,7 @@ def TricornGraph():
4624
4624
 
4625
4625
  The Tricorn graph is obtained by splicing a complete graph `K_4` with the
4626
4626
  the triangular circular ladder graph `\overline{C_6}`. (Note that this
4627
- generates a unqiue graph as both of the graphs `K_4` and `\overline{C_6}`
4627
+ generates a unique graph as both of the graphs `K_4` and `\overline{C_6}`
4628
4628
  are vertex-transitive). It is a nonsolid brick. This matching covered graph
4629
4629
  is one of the ten extremal cubic bricks. (A matching covered graph `G` is
4630
4630
  *extremal* if `\Phi(G) = dim(\mathcal{Lin}(G))`, where `\Phi(G)` denotes
@@ -4664,6 +4664,7 @@ def TricornGraph():
4664
4664
  `(5, 6)` and `(8, 9)` are the only removable edges of the Tricorn
4665
4665
  graph::
4666
4666
 
4667
+ sage: # needs sage.symbolic
4667
4668
  sage: g = graphs.TricornGraph()
4668
4669
  sage: g.name()
4669
4670
  'Tricorn Graph'
@@ -5573,7 +5574,7 @@ def IoninKharaghani765Graph():
5573
5574
 
5574
5575
  TESTS::
5575
5576
 
5576
- sage: graphs.strongly_regular_graph(765, 192, 48, 48) # needs sage.modules sage.rings.finite_rings
5577
+ sage: graphs.strongly_regular_graph(765, 192, 48, 48) # needs database_graphs sage.modules sage.rings.finite_rings
5577
5578
  Ionin-Kharaghani: Graph on 765 vertices
5578
5579
 
5579
5580
  .. TODO::