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.
- {passagemath_graphs-10.5.10.dist-info → passagemath_graphs-10.5.43.dist-info}/METADATA +126 -30
- passagemath_graphs-10.5.43.dist-info/RECORD +256 -0
- {passagemath_graphs-10.5.10.dist-info → passagemath_graphs-10.5.43.dist-info}/WHEEL +2 -1
- passagemath_graphs.dylibs/libgmp.10.dylib +0 -0
- sage/all__sagemath_graphs.py +5 -0
- sage/combinat/abstract_tree.py +1 -1
- sage/combinat/binary_tree.py +1 -1
- sage/combinat/cluster_algebra_quiver/all.py +1 -1
- sage/combinat/cluster_algebra_quiver/cluster_seed.py +28 -24
- sage/combinat/cluster_algebra_quiver/interact.py +4 -0
- sage/combinat/designs/MOLS_handbook_data.py +5 -5
- sage/combinat/designs/bibd.py +10 -9
- sage/combinat/designs/covering_array.py +3 -3
- sage/combinat/designs/covering_design.py +2 -1
- sage/combinat/designs/database.py +11 -10
- sage/combinat/designs/designs_pyx.cpython-39-darwin.so +0 -0
- sage/combinat/designs/designs_pyx.pyx +13 -45
- sage/combinat/designs/difference_family.py +6 -6
- sage/combinat/designs/difference_matrices.py +1 -1
- sage/combinat/designs/evenly_distributed_sets.cpython-39-darwin.so +0 -0
- sage/combinat/designs/evenly_distributed_sets.pyx +15 -22
- sage/combinat/designs/ext_rep.py +9 -14
- sage/combinat/designs/gen_quadrangles_with_spread.cpython-39-darwin.so +0 -0
- sage/combinat/designs/gen_quadrangles_with_spread.pyx +1 -1
- sage/combinat/designs/group_divisible_designs.py +1 -1
- sage/combinat/designs/incidence_structures.py +8 -8
- sage/combinat/designs/latin_squares.py +1 -1
- sage/combinat/designs/orthogonal_arrays_build_recursive.py +8 -7
- sage/combinat/designs/orthogonal_arrays_find_recursive.cpython-39-darwin.so +0 -0
- sage/combinat/designs/resolvable_bibd.py +1 -1
- sage/combinat/designs/steiner_quadruple_systems.py +1 -1
- sage/combinat/designs/subhypergraph_search.cpython-39-darwin.so +0 -0
- sage/combinat/designs/subhypergraph_search.pyx +9 -9
- sage/combinat/finite_state_machine_generators.py +2 -2
- sage/combinat/graph_path.py +3 -3
- sage/combinat/interval_posets.py +10 -10
- sage/combinat/ordered_tree.py +1 -1
- sage/combinat/posets/cartesian_product.py +1 -1
- sage/combinat/posets/d_complete.py +1 -1
- sage/combinat/posets/forest.py +1 -1
- sage/combinat/posets/hasse_cython.cpython-39-darwin.so +0 -0
- sage/combinat/posets/hasse_diagram.py +8 -6
- sage/combinat/posets/incidence_algebras.py +8 -8
- sage/combinat/posets/lattices.py +28 -4
- sage/combinat/posets/linear_extension_iterator.cpython-39-darwin.so +0 -0
- sage/combinat/posets/linear_extension_iterator.pyx +2 -0
- sage/combinat/posets/linear_extensions.py +7 -16
- sage/combinat/posets/moebius_algebra.py +1 -1
- sage/combinat/posets/poset_examples.py +1 -1
- sage/combinat/posets/posets.py +54 -56
- sage/combinat/rooted_tree.py +3 -3
- sage/combinat/tamari_lattices.py +1 -1
- sage/ext_data/kenzo/CP2.txt +45 -0
- sage/ext_data/kenzo/CP3.txt +349 -0
- sage/ext_data/kenzo/CP4.txt +4774 -0
- sage/ext_data/kenzo/README.txt +49 -0
- sage/ext_data/kenzo/S4.txt +20 -0
- sage/graphs/asteroidal_triples.cpython-39-darwin.so +0 -0
- sage/graphs/base/boost_graph.cpython-39-darwin.so +0 -0
- sage/graphs/base/boost_graph.pxd +1 -1
- sage/graphs/base/boost_graph.pyx +1 -1
- sage/graphs/base/c_graph.cpython-39-darwin.so +0 -0
- sage/graphs/base/c_graph.pxd +4 -4
- sage/graphs/base/c_graph.pyx +270 -184
- sage/graphs/base/dense_graph.cpython-39-darwin.so +0 -0
- sage/graphs/base/graph_backends.cpython-39-darwin.so +0 -0
- sage/graphs/base/sparse_graph.cpython-39-darwin.so +0 -0
- sage/graphs/base/static_dense_graph.cpython-39-darwin.so +0 -0
- sage/graphs/base/static_sparse_backend.cpython-39-darwin.so +0 -0
- sage/graphs/base/static_sparse_backend.pyx +93 -6
- sage/graphs/base/static_sparse_graph.cpython-39-darwin.so +0 -0
- sage/graphs/base/static_sparse_graph.pyx +1 -1
- sage/graphs/bipartite_graph.py +0 -1
- sage/graphs/centrality.cpython-39-darwin.so +0 -0
- sage/graphs/centrality.pyx +0 -0
- sage/graphs/comparability.cpython-39-darwin.so +0 -0
- sage/graphs/comparability.pyx +172 -138
- sage/graphs/connectivity.cpython-39-darwin.so +0 -0
- sage/graphs/connectivity.pyx +194 -18
- sage/graphs/convexity_properties.cpython-39-darwin.so +0 -0
- sage/graphs/digraph_generators.py +118 -74
- sage/graphs/distances_all_pairs.cpython-39-darwin.so +0 -0
- sage/graphs/distances_all_pairs.pyx +145 -27
- sage/graphs/edge_connectivity.cpython-39-darwin.so +0 -0
- sage/graphs/generators/basic.py +471 -130
- sage/graphs/generators/distance_regular.cpython-39-darwin.so +0 -0
- sage/graphs/generators/distance_regular.pyx +12 -12
- sage/graphs/generators/families.py +2 -2
- sage/graphs/generators/random.py +8 -13
- sage/graphs/generators/smallgraphs.py +12 -11
- sage/graphs/generic_graph.py +687 -265
- sage/graphs/generic_graph_pyx.cpython-39-darwin.so +0 -0
- sage/graphs/genus.cpython-39-darwin.so +0 -0
- sage/graphs/graph.py +12 -46
- sage/graphs/graph_coloring.cpython-39-darwin.so +0 -0
- sage/graphs/graph_database.py +1 -1
- sage/graphs/graph_decompositions/bandwidth.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/clique_separators.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/cutwidth.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/fast_digraph.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/graph_products.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/modular_decomposition.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/slice_decomposition.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/tree_decomposition.cpython-39-darwin.so +0 -0
- sage/graphs/graph_decompositions/vertex_separation.cpython-39-darwin.so +0 -0
- sage/graphs/graph_generators.py +110 -55
- sage/graphs/graph_generators_pyx.cpython-39-darwin.so +0 -0
- sage/graphs/graph_latex.py +1 -1
- sage/graphs/graph_list.py +2 -3
- sage/graphs/graph_plot.py +225 -30
- sage/graphs/hyperbolicity.cpython-39-darwin.so +0 -0
- sage/graphs/independent_sets.cpython-39-darwin.so +0 -0
- sage/graphs/isgci.py +3 -8
- sage/graphs/isoperimetric_inequalities.cpython-39-darwin.so +0 -0
- sage/graphs/line_graph.cpython-39-darwin.so +0 -0
- sage/graphs/matching.py +14 -25
- sage/graphs/matching_covered_graph.py +871 -60
- sage/graphs/orientations.py +190 -134
- sage/graphs/path_enumeration.cpython-39-darwin.so +0 -0
- sage/graphs/path_enumeration.pyx +25 -25
- sage/graphs/spanning_tree.cpython-39-darwin.so +0 -0
- sage/graphs/strongly_regular_db.cpython-39-darwin.so +0 -0
- sage/graphs/strongly_regular_db.pyx +54 -52
- sage/graphs/traversals.cpython-39-darwin.so +0 -0
- sage/graphs/traversals.pyx +114 -46
- sage/graphs/trees.cpython-39-darwin.so +0 -0
- sage/graphs/views.cpython-39-darwin.so +0 -0
- sage/graphs/weakly_chordal.cpython-39-darwin.so +0 -0
- sage/groups/perm_gps/partn_ref/refinement_graphs.cpython-39-darwin.so +0 -0
- sage/knots/free_knotinfo_monoid.py +2 -3
- sage/knots/knot.py +1 -1
- sage/knots/knotinfo.py +4 -4
- sage/knots/link.py +58 -57
- sage/sandpiles/sandpile.py +2 -3
- sage/topology/cell_complex.py +1 -1
- sage/topology/cubical_complex.py +7 -7
- sage/topology/delta_complex.py +4 -4
- sage/topology/simplicial_complex.py +7 -22
- passagemath_graphs-10.5.10.dist-info/RECORD +0 -251
- {passagemath_graphs-10.5.10.dist-info → passagemath_graphs-10.5.43.dist-info}/top_level.txt +0 -0
Binary file
|
@@ -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
|
sage/graphs/generators/random.py
CHANGED
@@ -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=
|
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=
|
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
|
-
|
2326
|
-
|
2327
|
-
|
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
|
-
|
2335
|
-
|
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
|
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::
|