passagemath-graphs 10.5.48__cp310-cp310-musllinux_1_2_aarch64.whl → 10.6.1__cp310-cp310-musllinux_1_2_aarch64.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.48.dist-info → passagemath_graphs-10.6.1.dist-info}/METADATA +27 -17
- passagemath_graphs-10.6.1.dist-info/METADATA.bak +304 -0
- {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/RECORD +145 -138
- passagemath_graphs.libs/{libgcc_s-69c45f16.so.1 → libgcc_s-2d945d6c.so.1} +0 -0
- passagemath_graphs.libs/{libgmp-8e78bd9b.so.10.5.0 → libgmp-28992bcb.so.10.5.0} +0 -0
- passagemath_graphs.libs/{libstdc++-1f1a71be.so.6.0.33 → libstdc++-85f2cd6d.so.6.0.33} +0 -0
- sage/all__sagemath_graphs.py +3 -2
- sage/combinat/abstract_tree.py +188 -17
- sage/combinat/cluster_algebra_quiver/interact.py +1 -2
- sage/combinat/cluster_algebra_quiver/mutation_type.py +518 -519
- sage/combinat/cluster_algebra_quiver/quiver.py +233 -205
- sage/combinat/designs/covering_design.py +2 -6
- sage/combinat/designs/database.py +11 -10
- sage/combinat/designs/designs_pyx.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/designs/designs_pyx.pyx +2 -2
- sage/combinat/designs/evenly_distributed_sets.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/designs/evenly_distributed_sets.pyx +4 -4
- sage/combinat/designs/gen_quadrangles_with_spread.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/designs/incidence_structures.py +2 -2
- sage/combinat/designs/latin_squares.py +53 -20
- sage/combinat/designs/orthogonal_arrays.py +2 -1
- sage/combinat/designs/orthogonal_arrays_find_recursive.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/designs/orthogonal_arrays_find_recursive.pyx +22 -21
- sage/combinat/designs/resolvable_bibd.py +191 -157
- sage/combinat/designs/subhypergraph_search.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/designs/subhypergraph_search.pyx +4 -4
- sage/combinat/designs/twographs.py +2 -2
- sage/combinat/finite_state_machine.py +6 -6
- sage/combinat/nu_tamari_lattice.py +1 -1
- sage/combinat/posets/bubble_shuffle.py +247 -0
- sage/combinat/posets/d_complete.py +3 -3
- sage/combinat/posets/elements.py +3 -3
- sage/combinat/posets/hasse_cython.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/posets/hasse_cython.pyx +1 -1
- sage/combinat/posets/hasse_diagram.py +16 -22
- sage/combinat/posets/hochschild_lattice.py +158 -0
- sage/combinat/posets/incidence_algebras.py +14 -16
- sage/combinat/posets/lattices.py +51 -53
- sage/combinat/posets/linear_extension_iterator.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/combinat/posets/linear_extensions.py +12 -13
- sage/combinat/posets/moebius_algebra.py +4 -4
- sage/combinat/posets/poset_examples.py +73 -23
- sage/combinat/posets/posets.py +294 -103
- sage/databases/knotinfo_db.py +2 -1
- sage/graphs/asteroidal_triples.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/asteroidal_triples.pyx +24 -3
- sage/graphs/base/boost_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/boost_graph.pxd +3 -3
- sage/graphs/base/c_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/c_graph.pyx +1 -1
- sage/graphs/base/dense_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/dense_graph.pxd +5 -3
- sage/graphs/base/dense_graph.pyx +44 -0
- sage/graphs/base/graph_backends.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/sparse_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/static_dense_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/static_sparse_backend.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/static_sparse_backend.pyx +8 -5
- sage/graphs/base/static_sparse_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/base/static_sparse_graph.pyx +86 -15
- sage/graphs/bipartite_graph.py +59 -36
- sage/graphs/centrality.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/centrality.pyx +82 -9
- sage/graphs/cographs.py +1 -1
- sage/graphs/comparability.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/comparability.pyx +64 -26
- sage/graphs/connectivity.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/convexity_properties.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/convexity_properties.pyx +52 -9
- sage/graphs/digraph.py +439 -95
- sage/graphs/digraph_generators.py +176 -104
- sage/graphs/distances_all_pairs.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/dot2tex_utils.py +1 -1
- sage/graphs/edge_connectivity.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/generators/basic.py +1 -1
- sage/graphs/generators/distance_regular.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/generators/distance_regular.pyx +2 -2
- sage/graphs/generators/families.py +40 -30
- sage/graphs/generators/random.py +2 -2
- sage/graphs/generators/smallgraphs.py +3 -3
- sage/graphs/generic_graph.py +559 -86
- sage/graphs/generic_graph_pyx.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/generic_graph_pyx.pyx +58 -11
- sage/graphs/genus.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/genus.pyx +3 -4
- sage/graphs/graph.py +291 -8
- sage/graphs/graph_coloring.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_coloring.pyx +2 -2
- sage/graphs/graph_database.py +67 -12
- sage/graphs/graph_decompositions/bandwidth.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/clique_separators.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/clique_separators.pyx +24 -3
- sage/graphs/graph_decompositions/cutwidth.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/fast_digraph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/fast_digraph.pyx +1 -1
- sage/graphs/graph_decompositions/graph_products.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/graph_products.pyx +67 -21
- sage/graphs/graph_decompositions/modular_decomposition.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/slice_decomposition.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/slice_decomposition.pyx +34 -8
- sage/graphs/graph_decompositions/tree_decomposition.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_decompositions/vertex_separation.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_generators.py +45 -32
- sage/graphs/graph_generators_pyx.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/graph_generators_pyx.pyx +15 -15
- sage/graphs/graph_latex.py +1 -1
- sage/graphs/graph_list.py +52 -9
- sage/graphs/graph_plot.py +7 -0
- sage/graphs/hyperbolicity.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/hyperbolicity.pyx +5 -3
- sage/graphs/independent_sets.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/isoperimetric_inequalities.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/isoperimetric_inequalities.pyx +42 -6
- sage/graphs/line_graph.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/line_graph.pyx +153 -37
- sage/graphs/matching_covered_graph.py +87 -62
- sage/graphs/orientations.py +3 -18
- sage/graphs/path_enumeration.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/path_enumeration.pyx +2 -2
- sage/graphs/spanning_tree.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/strongly_regular_db.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/strongly_regular_db.pyx +34 -34
- sage/graphs/traversals.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/traversals.pyx +13 -12
- sage/graphs/trees.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/tutte_polynomial.py +1 -1
- sage/graphs/views.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/views.pyx +1 -1
- sage/graphs/weakly_chordal.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/graphs/weakly_chordal.pyx +50 -8
- sage/groups/perm_gps/partn_ref/refinement_graphs.cpython-310-aarch64-linux-gnu.so +0 -0
- sage/knots/free_knotinfo_monoid.py +3 -3
- sage/knots/knotinfo.py +102 -82
- sage/knots/link.py +72 -39
- sage/topology/cubical_complex.py +4 -5
- sage/topology/delta_complex.py +4 -4
- sage/topology/simplicial_complex.py +0 -1
- sage/topology/simplicial_complex_catalog.py +6 -0
- sage/topology/simplicial_complex_examples.py +4 -16
- sage_wheels/share/graphs/brouwer_srg_database.json +1 -0
- sage_wheels/share/graphs/graphs.db +0 -0
- sage_wheels/share/graphs/isgci_sage.xml +11116 -0
- sage_wheels/share/graphs/smallgraphs.txt +565 -0
- {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/WHEEL +0 -0
- {passagemath_graphs-10.5.48.dist-info → passagemath_graphs-10.6.1.dist-info}/top_level.txt +0 -0
sage/graphs/traversals.pyx
CHANGED
@@ -63,7 +63,6 @@ Methods
|
|
63
63
|
|
64
64
|
from collections import deque
|
65
65
|
|
66
|
-
from libc.string cimport memset
|
67
66
|
from libc.stdint cimport uint32_t
|
68
67
|
from libcpp.vector cimport vector
|
69
68
|
from cysignals.signals cimport sig_on, sig_off
|
@@ -75,7 +74,6 @@ from sage.graphs.base.static_sparse_backend cimport StaticSparseCGraph
|
|
75
74
|
from sage.graphs.base.static_sparse_backend cimport StaticSparseBackend
|
76
75
|
from sage.graphs.base.static_sparse_graph cimport init_short_digraph
|
77
76
|
from sage.graphs.base.static_sparse_graph cimport free_short_digraph
|
78
|
-
from sage.graphs.base.static_sparse_graph cimport out_degree
|
79
77
|
from sage.graphs.graph_decompositions.slice_decomposition cimport \
|
80
78
|
extended_lex_BFS
|
81
79
|
|
@@ -465,6 +463,14 @@ def lex_BFS(G, reverse=False, tree=False, initial_vertex=None, algorithm="fast")
|
|
465
463
|
Traceback (most recent call last):
|
466
464
|
...
|
467
465
|
ValueError: 'foo' is not a graph vertex
|
466
|
+
|
467
|
+
Check that :issue:`39934` is fixed::
|
468
|
+
|
469
|
+
sage: G = Graph(1, immutable=True)
|
470
|
+
sage: G.lex_BFS(algorithm='slow')
|
471
|
+
[0]
|
472
|
+
sage: G.lex_BFS(algorithm='fast')
|
473
|
+
[0]
|
468
474
|
"""
|
469
475
|
if initial_vertex is not None and initial_vertex not in G:
|
470
476
|
raise ValueError(f"'{initial_vertex}' is not a graph vertex")
|
@@ -475,22 +481,15 @@ def lex_BFS(G, reverse=False, tree=False, initial_vertex=None, algorithm="fast")
|
|
475
481
|
if algorithm != "fast":
|
476
482
|
raise ValueError(f"unknown algorithm '{algorithm}'")
|
477
483
|
|
478
|
-
cdef size_t n = G.order()
|
479
|
-
|
480
484
|
# For algorithm "fast" we need to convert G to an undirected graph
|
481
485
|
if G.is_directed():
|
482
486
|
G = G.to_undirected()
|
483
487
|
|
484
|
-
# Initialize variables needed by the fast
|
488
|
+
# Initialize variables needed by the fast algorithm
|
485
489
|
cdef CGraphBackend Gbackend = <CGraphBackend> G._backend
|
486
490
|
cdef CGraph cg = Gbackend.cg()
|
487
|
-
cdef list sigma = []
|
488
|
-
cdef dict predecessor = {}
|
489
|
-
# Initialize variables needed by the fast algorithm
|
490
491
|
cdef vector[int] sigma_int
|
491
492
|
cdef vector[int] pred
|
492
|
-
# Initialize variables needed by the slow algorithm
|
493
|
-
cdef dict lexicographic_label
|
494
493
|
# Temporary variables
|
495
494
|
cdef int vi, i, initial_v_int
|
496
495
|
|
@@ -500,9 +499,11 @@ def lex_BFS(G, reverse=False, tree=False, initial_vertex=None, algorithm="fast")
|
|
500
499
|
initial_v_int = Gbackend.get_vertex(initial_vertex)
|
501
500
|
else:
|
502
501
|
initial_v_int = -1
|
502
|
+
sig_on()
|
503
503
|
extended_lex_BFS(cg, sigma_int, NULL, initial_v_int, &pred, NULL, NULL)
|
504
|
-
|
505
|
-
|
504
|
+
sig_off()
|
505
|
+
cdef list sigma = [Gbackend.vertex_label(vi) for vi in sigma_int]
|
506
|
+
cdef dict predecessor = {u: sigma[i] for u, i in zip(sigma, pred) if i != -1}
|
506
507
|
|
507
508
|
if reverse:
|
508
509
|
sigma.reverse()
|
Binary file
|
sage/graphs/tutte_polynomial.py
CHANGED
@@ -663,7 +663,7 @@ def _tutte_polynomial_internal(G, x, y, edge_selector, cache=None):
|
|
663
663
|
##################################
|
664
664
|
|
665
665
|
# Theorem 4: from Haggard, Pearce, and Royle Note that the formula
|
666
|
-
# at http://homepages.ecs.vuw.ac.nz/~djp/files/TOMS10.pdf is
|
666
|
+
# at https://web.archive.org/web/20110401195911/http://homepages.ecs.vuw.ac.nz/~djp/files/TOMS10.pdf is
|
667
667
|
# slightly incorrect. The initial sum should only go to n-2
|
668
668
|
# instead of n (allowing for the last part of the recursion).
|
669
669
|
# Additionally, the first operand of the final product should be
|
Binary file
|
sage/graphs/views.pyx
CHANGED
@@ -786,7 +786,7 @@ cdef class EdgesView:
|
|
786
786
|
sage: E * 1.5
|
787
787
|
Traceback (most recent call last):
|
788
788
|
...
|
789
|
-
TypeError: can...t multiply sequence by non-int of type 'sage.rings.
|
789
|
+
TypeError: can...t multiply sequence by non-int of type 'sage.rings.real...'
|
790
790
|
"""
|
791
791
|
if isinstance(left, EdgesView):
|
792
792
|
return list(left) * right
|
Binary file
|
sage/graphs/weakly_chordal.pyx
CHANGED
@@ -38,6 +38,8 @@ Methods
|
|
38
38
|
|
39
39
|
from memory_allocator cimport MemoryAllocator
|
40
40
|
from sage.data_structures.bitset_base cimport *
|
41
|
+
from sage.graphs.base.static_sparse_backend cimport StaticSparseCGraph
|
42
|
+
from sage.graphs.base.static_sparse_backend cimport StaticSparseBackend
|
41
43
|
from sage.graphs.base.static_sparse_graph cimport short_digraph
|
42
44
|
from sage.graphs.base.static_sparse_graph cimport init_short_digraph
|
43
45
|
from sage.graphs.base.static_sparse_graph cimport free_short_digraph
|
@@ -200,6 +202,17 @@ def is_long_hole_free(g, certificate=False):
|
|
200
202
|
|
201
203
|
sage: graphs.EmptyGraph().is_long_hole_free()
|
202
204
|
True
|
205
|
+
|
206
|
+
Immutable graphs::
|
207
|
+
|
208
|
+
sage: G = graphs.RandomGNP(10, .7)
|
209
|
+
sage: G._backend
|
210
|
+
<sage.graphs.base.sparse_graph.SparseGraphBackend ...>
|
211
|
+
sage: H = Graph(G, immutable=True)
|
212
|
+
sage: H._backend
|
213
|
+
<sage.graphs.base.static_sparse_backend.StaticSparseBackend ...>
|
214
|
+
sage: G.is_long_hole_free() == H.is_long_hole_free()
|
215
|
+
True
|
203
216
|
"""
|
204
217
|
g._scream_if_not_simple()
|
205
218
|
|
@@ -212,9 +225,16 @@ def is_long_hole_free(g, certificate=False):
|
|
212
225
|
# documented in the module sage.graphs.base.static_sparse_graph.
|
213
226
|
# Vertices are relabeled in 0..n-1
|
214
227
|
cdef int n = g.order()
|
215
|
-
cdef list id_label
|
228
|
+
cdef list id_label
|
229
|
+
cdef StaticSparseCGraph cg
|
216
230
|
cdef short_digraph sd
|
217
|
-
|
231
|
+
if isinstance(g, StaticSparseBackend):
|
232
|
+
cg = <StaticSparseCGraph> g._cg
|
233
|
+
sd = <short_digraph> cg.g
|
234
|
+
id_label = cg._vertex_to_labels
|
235
|
+
else:
|
236
|
+
id_label = list(g)
|
237
|
+
init_short_digraph(sd, g, edge_labelled=False, vertex_list=id_label)
|
218
238
|
|
219
239
|
# Make a dense copy of the graph for quick adjacency tests
|
220
240
|
cdef bitset_t dense_graph
|
@@ -258,7 +278,8 @@ def is_long_hole_free(g, certificate=False):
|
|
258
278
|
|
259
279
|
if not res:
|
260
280
|
# We release memory before returning the result
|
261
|
-
|
281
|
+
if not isinstance(g, StaticSparseBackend):
|
282
|
+
free_short_digraph(sd)
|
262
283
|
bitset_free(dense_graph)
|
263
284
|
|
264
285
|
if certificate:
|
@@ -269,7 +290,8 @@ def is_long_hole_free(g, certificate=False):
|
|
269
290
|
InPath[u] = -1
|
270
291
|
|
271
292
|
# Release memory
|
272
|
-
|
293
|
+
if not isinstance(g, StaticSparseBackend):
|
294
|
+
free_short_digraph(sd)
|
273
295
|
bitset_free(dense_graph)
|
274
296
|
|
275
297
|
if certificate:
|
@@ -428,6 +450,17 @@ def is_long_antihole_free(g, certificate=False):
|
|
428
450
|
|
429
451
|
sage: graphs.EmptyGraph().is_long_hole_free()
|
430
452
|
True
|
453
|
+
|
454
|
+
Immutable graphs::
|
455
|
+
|
456
|
+
sage: G = graphs.RandomGNP(10, .7)
|
457
|
+
sage: G._backend
|
458
|
+
<sage.graphs.base.sparse_graph.SparseGraphBackend ...>
|
459
|
+
sage: H = Graph(G, immutable=True)
|
460
|
+
sage: H._backend
|
461
|
+
<sage.graphs.base.static_sparse_backend.StaticSparseBackend ...>
|
462
|
+
sage: G.is_long_antihole_free() == H.is_long_antihole_free()
|
463
|
+
True
|
431
464
|
"""
|
432
465
|
g._scream_if_not_simple()
|
433
466
|
|
@@ -440,9 +473,16 @@ def is_long_antihole_free(g, certificate=False):
|
|
440
473
|
# documented in the module sage.graphs.base.static_sparse_graph.
|
441
474
|
# Vertices are relabeled in 0..n-1
|
442
475
|
cdef int n = g.order()
|
443
|
-
cdef list id_label
|
476
|
+
cdef list id_label
|
477
|
+
cdef StaticSparseCGraph cg
|
444
478
|
cdef short_digraph sd
|
445
|
-
|
479
|
+
if isinstance(g, StaticSparseBackend):
|
480
|
+
cg = <StaticSparseCGraph> g._cg
|
481
|
+
sd = <short_digraph> cg.g
|
482
|
+
id_label = cg._vertex_to_labels
|
483
|
+
else:
|
484
|
+
id_label = list(g)
|
485
|
+
init_short_digraph(sd, g, edge_labelled=False, vertex_list=id_label)
|
446
486
|
|
447
487
|
# Make a dense copy of the graph for quick adjacency tests
|
448
488
|
cdef bitset_t dense_graph
|
@@ -487,7 +527,8 @@ def is_long_antihole_free(g, certificate=False):
|
|
487
527
|
|
488
528
|
if not res:
|
489
529
|
# We release memory before returning the result
|
490
|
-
|
530
|
+
if not isinstance(g, StaticSparseBackend):
|
531
|
+
free_short_digraph(sd)
|
491
532
|
bitset_free(dense_graph)
|
492
533
|
|
493
534
|
if certificate:
|
@@ -498,7 +539,8 @@ def is_long_antihole_free(g, certificate=False):
|
|
498
539
|
InPath[u] = -1
|
499
540
|
|
500
541
|
# Release memory
|
501
|
-
|
542
|
+
if not isinstance(g, StaticSparseBackend):
|
543
|
+
free_short_digraph(sd)
|
502
544
|
bitset_free(dense_graph)
|
503
545
|
|
504
546
|
if certificate:
|
Binary file
|
@@ -16,15 +16,15 @@ AUTHORS:
|
|
16
16
|
- Sebastian Oehms June 2024: initial version
|
17
17
|
"""
|
18
18
|
|
19
|
-
|
19
|
+
# ############################################################################
|
20
20
|
# Copyright (C) 2024 Sebastian Oehms <seb.oehms@gmail.com>
|
21
21
|
#
|
22
22
|
# This program is free software: you can redistribute it and/or modify
|
23
23
|
# it under the terms of the GNU General Public License as published by
|
24
24
|
# the Free Software Foundation, either version 2 of the License, or
|
25
25
|
# (at your option) any later version.
|
26
|
-
#
|
27
|
-
|
26
|
+
# https://www.gnu.org/licenses/
|
27
|
+
# ############################################################################
|
28
28
|
|
29
29
|
from sage.knots.knotinfo import SymmetryMutant
|
30
30
|
from sage.monoids.indexed_free_monoid import (IndexedFreeAbelianMonoid,
|