passagemath-graphs 10.5.43__cp312-cp312-macosx_14_0_arm64.whl → 10.6.1rc2__cp312-cp312-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 (132) hide show
  1. {passagemath_graphs-10.5.43.dist-info → passagemath_graphs-10.6.1rc2.dist-info}/METADATA +5 -6
  2. {passagemath_graphs-10.5.43.dist-info → passagemath_graphs-10.6.1rc2.dist-info}/RECORD +132 -130
  3. sage/combinat/abstract_tree.py +188 -17
  4. sage/combinat/cluster_algebra_quiver/interact.py +1 -2
  5. sage/combinat/cluster_algebra_quiver/mutation_type.py +518 -519
  6. sage/combinat/cluster_algebra_quiver/quiver.py +233 -205
  7. sage/combinat/designs/covering_design.py +2 -6
  8. sage/combinat/designs/database.py +11 -10
  9. sage/combinat/designs/designs_pyx.cpython-312-darwin.so +0 -0
  10. sage/combinat/designs/designs_pyx.pyx +2 -2
  11. sage/combinat/designs/evenly_distributed_sets.cpython-312-darwin.so +0 -0
  12. sage/combinat/designs/evenly_distributed_sets.pyx +4 -4
  13. sage/combinat/designs/gen_quadrangles_with_spread.cpython-312-darwin.so +0 -0
  14. sage/combinat/designs/latin_squares.py +53 -20
  15. sage/combinat/designs/orthogonal_arrays.py +2 -1
  16. sage/combinat/designs/orthogonal_arrays_find_recursive.cpython-312-darwin.so +0 -0
  17. sage/combinat/designs/orthogonal_arrays_find_recursive.pyx +22 -21
  18. sage/combinat/designs/resolvable_bibd.py +191 -157
  19. sage/combinat/designs/subhypergraph_search.cpython-312-darwin.so +0 -0
  20. sage/combinat/designs/subhypergraph_search.pyx +4 -4
  21. sage/combinat/designs/twographs.py +2 -2
  22. sage/combinat/finite_state_machine.py +6 -6
  23. sage/combinat/posets/bubble_shuffle.py +247 -0
  24. sage/combinat/posets/d_complete.py +3 -3
  25. sage/combinat/posets/elements.py +3 -3
  26. sage/combinat/posets/hasse_cython.cpython-312-darwin.so +0 -0
  27. sage/combinat/posets/hasse_cython.pyx +1 -1
  28. sage/combinat/posets/hasse_diagram.py +16 -22
  29. sage/combinat/posets/hochschild_lattice.py +158 -0
  30. sage/combinat/posets/incidence_algebras.py +14 -16
  31. sage/combinat/posets/lattices.py +51 -53
  32. sage/combinat/posets/linear_extension_iterator.cpython-312-darwin.so +0 -0
  33. sage/combinat/posets/linear_extensions.py +10 -12
  34. sage/combinat/posets/moebius_algebra.py +4 -4
  35. sage/combinat/posets/poset_examples.py +70 -23
  36. sage/combinat/posets/posets.py +294 -103
  37. sage/databases/knotinfo_db.py +2 -1
  38. sage/graphs/asteroidal_triples.cpython-312-darwin.so +0 -0
  39. sage/graphs/asteroidal_triples.pyx +24 -3
  40. sage/graphs/base/boost_graph.cpython-312-darwin.so +0 -0
  41. sage/graphs/base/boost_graph.pxd +3 -3
  42. sage/graphs/base/c_graph.cpython-312-darwin.so +0 -0
  43. sage/graphs/base/c_graph.pyx +1 -1
  44. sage/graphs/base/dense_graph.cpython-312-darwin.so +0 -0
  45. sage/graphs/base/dense_graph.pxd +5 -3
  46. sage/graphs/base/dense_graph.pyx +44 -0
  47. sage/graphs/base/graph_backends.cpython-312-darwin.so +0 -0
  48. sage/graphs/base/sparse_graph.cpython-312-darwin.so +0 -0
  49. sage/graphs/base/static_dense_graph.cpython-312-darwin.so +0 -0
  50. sage/graphs/base/static_sparse_backend.cpython-312-darwin.so +0 -0
  51. sage/graphs/base/static_sparse_backend.pyx +8 -5
  52. sage/graphs/base/static_sparse_graph.cpython-312-darwin.so +0 -0
  53. sage/graphs/base/static_sparse_graph.pyx +86 -15
  54. sage/graphs/bipartite_graph.py +59 -36
  55. sage/graphs/centrality.cpython-312-darwin.so +0 -0
  56. sage/graphs/centrality.pyx +82 -9
  57. sage/graphs/cographs.py +1 -1
  58. sage/graphs/comparability.cpython-312-darwin.so +0 -0
  59. sage/graphs/comparability.pyx +64 -26
  60. sage/graphs/connectivity.cpython-312-darwin.so +0 -0
  61. sage/graphs/convexity_properties.cpython-312-darwin.so +0 -0
  62. sage/graphs/convexity_properties.pyx +52 -9
  63. sage/graphs/digraph.py +439 -95
  64. sage/graphs/digraph_generators.py +174 -102
  65. sage/graphs/distances_all_pairs.cpython-312-darwin.so +0 -0
  66. sage/graphs/dot2tex_utils.py +1 -1
  67. sage/graphs/edge_connectivity.cpython-312-darwin.so +0 -0
  68. sage/graphs/generators/basic.py +1 -1
  69. sage/graphs/generators/distance_regular.cpython-312-darwin.so +0 -0
  70. sage/graphs/generators/distance_regular.pyx +1 -1
  71. sage/graphs/generators/families.py +37 -27
  72. sage/graphs/generators/random.py +2 -2
  73. sage/graphs/generators/smallgraphs.py +3 -3
  74. sage/graphs/generic_graph.py +558 -86
  75. sage/graphs/generic_graph_pyx.cpython-312-darwin.so +0 -0
  76. sage/graphs/generic_graph_pyx.pyx +58 -11
  77. sage/graphs/genus.cpython-312-darwin.so +0 -0
  78. sage/graphs/genus.pyx +3 -4
  79. sage/graphs/graph.py +291 -8
  80. sage/graphs/graph_coloring.cpython-312-darwin.so +0 -0
  81. sage/graphs/graph_database.py +67 -12
  82. sage/graphs/graph_decompositions/bandwidth.cpython-312-darwin.so +0 -0
  83. sage/graphs/graph_decompositions/clique_separators.cpython-312-darwin.so +0 -0
  84. sage/graphs/graph_decompositions/clique_separators.pyx +24 -3
  85. sage/graphs/graph_decompositions/cutwidth.cpython-312-darwin.so +0 -0
  86. sage/graphs/graph_decompositions/fast_digraph.cpython-312-darwin.so +0 -0
  87. sage/graphs/graph_decompositions/fast_digraph.pyx +1 -1
  88. sage/graphs/graph_decompositions/graph_products.cpython-312-darwin.so +0 -0
  89. sage/graphs/graph_decompositions/graph_products.pyx +67 -21
  90. sage/graphs/graph_decompositions/modular_decomposition.cpython-312-darwin.so +0 -0
  91. sage/graphs/graph_decompositions/slice_decomposition.cpython-312-darwin.so +0 -0
  92. sage/graphs/graph_decompositions/slice_decomposition.pyx +34 -8
  93. sage/graphs/graph_decompositions/tree_decomposition.cpython-312-darwin.so +0 -0
  94. sage/graphs/graph_decompositions/vertex_separation.cpython-312-darwin.so +0 -0
  95. sage/graphs/graph_generators.py +45 -32
  96. sage/graphs/graph_generators_pyx.cpython-312-darwin.so +0 -0
  97. sage/graphs/graph_generators_pyx.pyx +15 -15
  98. sage/graphs/graph_latex.py +1 -1
  99. sage/graphs/graph_list.py +52 -9
  100. sage/graphs/graph_plot.py +7 -0
  101. sage/graphs/hyperbolicity.cpython-312-darwin.so +0 -0
  102. sage/graphs/hyperbolicity.pyx +2 -0
  103. sage/graphs/independent_sets.cpython-312-darwin.so +0 -0
  104. sage/graphs/isoperimetric_inequalities.cpython-312-darwin.so +0 -0
  105. sage/graphs/isoperimetric_inequalities.pyx +42 -6
  106. sage/graphs/line_graph.cpython-312-darwin.so +0 -0
  107. sage/graphs/line_graph.pyx +153 -37
  108. sage/graphs/matching_covered_graph.py +84 -60
  109. sage/graphs/orientations.py +3 -18
  110. sage/graphs/path_enumeration.cpython-312-darwin.so +0 -0
  111. sage/graphs/path_enumeration.pyx +2 -2
  112. sage/graphs/spanning_tree.cpython-312-darwin.so +0 -0
  113. sage/graphs/strongly_regular_db.cpython-312-darwin.so +0 -0
  114. sage/graphs/strongly_regular_db.pyx +15 -15
  115. sage/graphs/traversals.cpython-312-darwin.so +0 -0
  116. sage/graphs/traversals.pyx +13 -12
  117. sage/graphs/trees.cpython-312-darwin.so +0 -0
  118. sage/graphs/tutte_polynomial.py +1 -1
  119. sage/graphs/views.cpython-312-darwin.so +0 -0
  120. sage/graphs/weakly_chordal.cpython-312-darwin.so +0 -0
  121. sage/graphs/weakly_chordal.pyx +50 -8
  122. sage/groups/perm_gps/partn_ref/refinement_graphs.cpython-312-darwin.so +0 -0
  123. sage/knots/free_knotinfo_monoid.py +3 -3
  124. sage/knots/knotinfo.py +102 -82
  125. sage/knots/link.py +72 -39
  126. sage/topology/cubical_complex.py +4 -5
  127. sage/topology/delta_complex.py +4 -4
  128. sage/topology/simplicial_complex.py +0 -1
  129. sage/topology/simplicial_complex_catalog.py +6 -0
  130. sage/topology/simplicial_complex_examples.py +4 -16
  131. {passagemath_graphs-10.5.43.dist-info → passagemath_graphs-10.6.1rc2.dist-info}/WHEEL +0 -0
  132. {passagemath_graphs-10.5.43.dist-info → passagemath_graphs-10.6.1rc2.dist-info}/top_level.txt +0 -0
sage/knots/link.py CHANGED
@@ -1778,7 +1778,7 @@ class Link(SageObject):
1778
1778
  G.add_edge(c[3], c[1])
1779
1779
  return G.connected_components_number()
1780
1780
 
1781
- def is_knot(self):
1781
+ def is_knot(self) -> bool:
1782
1782
  r"""
1783
1783
  Return ``True`` if ``self`` is a knot.
1784
1784
 
@@ -2051,7 +2051,7 @@ class Link(SageObject):
2051
2051
  conway += coeff * t_poly**M
2052
2052
  return conway
2053
2053
 
2054
- def khovanov_polynomial(self, var1='q', var2='t', base_ring=ZZ):
2054
+ def khovanov_polynomial(self, var1='q', var2='t', torsion='T', ring=ZZ, base_ring=None):
2055
2055
  r"""
2056
2056
  Return the Khovanov polynomial of ``self``.
2057
2057
 
@@ -2060,32 +2060,43 @@ class Link(SageObject):
2060
2060
  INPUT:
2061
2061
 
2062
2062
  - ``var1`` -- (default: ``'q'``) the first variable. Its exponents
2063
- give the (torsion free) rank of the height of Khovanov homology
2063
+ correspond to the height of Khovanov homology
2064
2064
  - ``var2`` -- (default: ``'t'``) the second variable. Its exponents
2065
- give the (torsion free) rank of the degree of Khovanov homology
2066
- - ``base_ring`` -- (default: ``ZZ``) the ring of the polynomial's
2067
- coefficients
2065
+ correspond to the degree of Khovanov homology
2066
+ - ``torsion`` -- (default: ``'T'``) additional variable to indicate
2067
+ the torsion of the integral homology group corresponding to the
2068
+ monomial; monomials without it correspond to torsion free ``ring``
2069
+ modules; if it appears its exponents stands for the modulus of
2070
+ the torsion
2071
+ - ``ring`` -- (default: ``ZZ``) the ring of the homology. This will
2072
+ be transferred to :meth:`khovanov_homology`
2073
+
2074
+ Here we follow the conventions used in
2075
+ `KnotInfo <https://knotinfo.math.indiana.edu/descriptions/khovanov_unreduced_integral_polynomial.html>`__
2068
2076
 
2069
2077
  OUTPUT:
2070
2078
 
2071
- A two variate Laurent Polynomial over the ``base_ring``, more precisely an
2072
- instance of :class:`~sage.rings.polynomial.laurent_polynomial.LaurentPolynomial`.
2079
+ A two or three (for integral homology) variate Laurent polynomial over
2080
+ ``ZZ``, more precisely an instance of
2081
+ :class:`~sage.rings.polynomial.laurent_polynomial.LaurentPolynomial_mpair`.
2073
2082
 
2074
2083
  EXAMPLES::
2075
2084
 
2076
2085
  sage: K = Link([[[1, -2, 3, -1, 2, -3]],[-1, -1, -1]])
2077
2086
  sage: K.khovanov_polynomial() # needs sage.modules
2078
- q^-1 + q^-3 + q^-5*t^-2 + q^-9*t^-3
2079
- sage: K.khovanov_polynomial(base_ring=GF(2)) # needs sage.modules
2080
- q^-1 + q^-3 + q^-5*t^-2 + q^-7*t^-2 + q^-9*t^-3
2087
+ q^-1 + q^-3 + q^-5*t^-2 + q^-7*t^-2*T^2 + q^-9*t^-3
2088
+ sage: K.khovanov_polynomial(ring=GF(2)) # needs sage.modules
2089
+ q^-1 + q^-3 + q^-5*t^-2 + q^-7*t^-2 + q^-7*t^-3 + q^-9*t^-3
2081
2090
 
2082
2091
  The figure eight knot::
2083
2092
 
2084
2093
  sage: L = Link([[1, 6, 2, 7], [5, 2, 6, 3], [3, 1, 4, 8], [7, 5, 8, 4]])
2085
2094
  sage: L.khovanov_polynomial(var1='p') # needs sage.modules
2086
- p^5*t^2 + p*t + p + p^-1 + p^-1*t^-1 + p^-5*t^-2
2087
- sage: L.khovanov_polynomial(var1='p', var2='s', base_ring=GF(4)) # needs sage.modules sage.rings.finite_rings
2088
- p^5*s^2 + p^3*s^2 + p*s + p + p^-1 + p^-1*s^-1 + p^-3*s^-1 + p^-5*s^-2
2095
+ p^5*t^2 + p^3*t^2*T^2 + p*t + p + p^-1 + p^-1*t^-1
2096
+ + p^-3*t^-1*T^2 + p^-5*t^-2
2097
+ sage: L.khovanov_polynomial(var1='p', var2='s', ring=GF(4)) # needs sage.modules sage.rings.finite_rings
2098
+ p^5*s^2 + p^3*s^2 + p^3*s + p*s + p + p^-1 + p^-1*s^-1
2099
+ + p^-3*s^-1 + p^-3*s^-2 + p^-5*s^-2
2089
2100
 
2090
2101
  The Hopf link::
2091
2102
 
@@ -2097,18 +2108,39 @@ class Link(SageObject):
2097
2108
 
2098
2109
  .. SEEALSO:: :meth:`khovanov_homology`
2099
2110
  """
2100
- L = LaurentPolynomialRing(base_ring, [var1, var2])
2101
- ch = base_ring.characteristic()
2111
+ if base_ring:
2112
+ ring = base_ring
2113
+ from sage.misc.superseded import deprecation
2114
+ deprecation(40149, "base_ring is deprecated, use argument ring instead.")
2115
+
2116
+ ch = ring.characteristic()
2117
+ integral = False
2118
+ if ch == 0 and not ring.is_field():
2119
+ integral = True
2120
+ L = LaurentPolynomialRing(ZZ, [var1, var2, torsion])
2121
+ else:
2122
+ L = LaurentPolynomialRing(ZZ, [var1, var2])
2102
2123
  coeff = {}
2103
- kh = self.khovanov_homology()
2124
+ kh = self.khovanov_homology(ring=ring)
2104
2125
  from sage.rings.infinity import infinity
2105
2126
  for h in kh:
2106
2127
  for d in kh[h]:
2107
2128
  H = kh[h][d]
2108
- gens = [g for g in H.gens() if g.order() == infinity or ch.divides(g.order())]
2109
- l = len(gens)
2110
- if l:
2111
- coeff[(h, d)] = l
2129
+ gens = {g: g.order() for g in H.gens()}
2130
+ if integral:
2131
+ tor_count = {}
2132
+ for g, tor in gens.items():
2133
+ if tor in tor_count:
2134
+ tor_count[tor] += 1
2135
+ else:
2136
+ tor_count[tor] = 1
2137
+ for tor, ell in tor_count.items():
2138
+ if tor is infinity:
2139
+ coeff[(h, d, 0)] = ell
2140
+ else:
2141
+ coeff[(h, d, tor)] = ell
2142
+ else:
2143
+ coeff[(h, d)] = len(gens)
2112
2144
  return L(coeff)
2113
2145
 
2114
2146
  def determinant(self):
@@ -2148,7 +2180,7 @@ class Link(SageObject):
2148
2180
  m = V + V.transpose()
2149
2181
  return Integer(abs(m.det()))
2150
2182
 
2151
- def is_alternating(self):
2183
+ def is_alternating(self) -> bool:
2152
2184
  r"""
2153
2185
  Return whether the given knot diagram is alternating.
2154
2186
 
@@ -2462,9 +2494,9 @@ class Link(SageObject):
2462
2494
  if not new_pd:
2463
2495
  # trivial knot
2464
2496
  return type(self)([])
2465
- new_edges = flatten(new_pd)
2497
+ new_edges = {elt for cr in new_pd for elt in cr}
2466
2498
  for cr in loop_crossings:
2467
- rem = set([e for e in cr if e in new_edges])
2499
+ rem = {e for e in cr if e in new_edges}
2468
2500
  if len(rem) == 2:
2469
2501
  # put remaining edges together
2470
2502
  a, b = sorted(rem)
@@ -2871,8 +2903,8 @@ class Link(SageObject):
2871
2903
 
2872
2904
  cross = pd_code[0]
2873
2905
  rest = [list(vertex) for vertex in pd_code[1:]]
2874
- [a, b, c, d] = cross
2875
- if a == d and c == b and len(rest) > 0:
2906
+ a, b, c, d = cross
2907
+ if a == d and c == b and rest:
2876
2908
  return (~t + t**(-5)) * Link(rest)._bracket()
2877
2909
  elif a == b and c == d and len(rest) > 0:
2878
2910
  return (t + t**5) * Link(rest)._bracket()
@@ -3046,7 +3078,7 @@ class Link(SageObject):
3046
3078
  sage: # needs sage.libs.homfly
3047
3079
  sage: L = Link([[[1, -1], [2, -2]], [1, 1]])
3048
3080
  sage: L2 = Link([[1, 4, 2, 3], [2, 4, 1, 3]])
3049
- sage: L2.homfly_polynomial()
3081
+ sage: L2.homfly_polynomial() # not tested (:issue:`39544`)
3050
3082
  -L*M^-1 - L^-1*M^-1
3051
3083
  sage: L.homfly_polynomial()
3052
3084
  -L*M^-1 - L^-1*M^-1
@@ -3159,7 +3191,7 @@ class Link(SageObject):
3159
3191
 
3160
3192
  INPUT:
3161
3193
 
3162
- - ``n`` -- the number of colors to consider (if ommitted the
3194
+ - ``n`` -- the number of colors to consider (if omitted the
3163
3195
  value of the determinant of ``self`` will be taken)
3164
3196
 
3165
3197
  OUTPUT: a matrix over the residue class ring of integers modulo ``n``
@@ -3203,7 +3235,7 @@ class Link(SageObject):
3203
3235
  M[i, j] -= 1
3204
3236
  return M
3205
3237
 
3206
- def is_colorable(self, n=None):
3238
+ def is_colorable(self, n=None) -> bool:
3207
3239
  r"""
3208
3240
  Return whether the link is ``n``-colorable.
3209
3241
 
@@ -3214,7 +3246,7 @@ class Link(SageObject):
3214
3246
 
3215
3247
  INPUT:
3216
3248
 
3217
- - ``n`` -- the number of colors to consider (if ommitted the
3249
+ - ``n`` -- the number of colors to consider (if omitted the
3218
3250
  value of the determinant of ``self`` will be taken)
3219
3251
 
3220
3252
  EXAMPLES:
@@ -3267,7 +3299,7 @@ class Link(SageObject):
3267
3299
 
3268
3300
  INPUT:
3269
3301
 
3270
- - ``n`` -- the number of colors to consider (if ommitted the value
3302
+ - ``n`` -- the number of colors to consider (if omitted the value
3271
3303
  of the determinant of ``self`` will be taken). Note that there
3272
3304
  are no colorings if n is coprime to the determinant of ``self``
3273
3305
 
@@ -3327,13 +3359,14 @@ class Link(SageObject):
3327
3359
 
3328
3360
  def coloring_maps(self, n=None, finitely_presented=False):
3329
3361
  r"""
3330
- Return the `n`-coloring maps of ``self``. These are group
3331
- homomorphisms from the fundamental group of ``self`` to the
3332
- `n`-th dihedral group.
3362
+ Return the `n`-coloring maps of ``self``.
3363
+
3364
+ These are group homomorphisms from the fundamental group of
3365
+ ``self`` to the `n`-th dihedral group.
3333
3366
 
3334
3367
  INPUT:
3335
3368
 
3336
- - ``n`` -- the number of colors to consider (if ommitted the value
3369
+ - ``n`` -- the number of colors to consider (if omitted the value
3337
3370
  of the determinant of ``self`` will be taken). Note that there
3338
3371
  are no coloring maps if n is coprime to the determinant of ``self``
3339
3372
 
@@ -3953,7 +3986,7 @@ class Link(SageObject):
3953
3986
  return sb.is_conjugated(ob)
3954
3987
 
3955
3988
  if sb_ind > ob_ind:
3956
- # if the braid of self has more strands we have to perfom
3989
+ # if the braid of self has more strands we have to perform
3957
3990
  # Markov II moves
3958
3991
  B = sb.parent()
3959
3992
  g = B.gen(ob_ind-1)
@@ -4489,7 +4522,7 @@ class Link(SageObject):
4489
4522
  if proves[k]:
4490
4523
  l += match_lists[k]
4491
4524
  else:
4492
- # for multi-component links there could regularily be more than one
4525
+ # for multi-component links there could regularly be more than one
4493
4526
  # matching entry
4494
4527
  for k in match_lists.keys():
4495
4528
  l += match_lists[k]
@@ -4525,7 +4558,7 @@ class Link(SageObject):
4525
4558
 
4526
4559
  return answer_list(l)
4527
4560
 
4528
- def is_isotopic(self, other):
4561
+ def is_isotopic(self, other) -> bool:
4529
4562
  r"""
4530
4563
  Check whether ``self`` is isotopic to ``other``.
4531
4564
 
@@ -4645,7 +4678,7 @@ class Link(SageObject):
4645
4678
  verbose('identified by KnotInfo uniquely (%s, %s)' % (sl[0], k))
4646
4679
  return True
4647
4680
  elif not self.is_knot():
4648
- if len(set([l.series(oriented=True) for l in sl])) == 1:
4681
+ if len({l.series(oriented=True) for l in sl}) == 1:
4649
4682
  # all matches are orientation mutants of each other
4650
4683
  verbose('identified by KnotInfoSeries (%s, %s)' % (sl, k))
4651
4684
  return True
@@ -68,8 +68,9 @@ reflected in the fact that they have isomorphic homology groups.
68
68
  see the :mod:`Generic Cell Complex <sage.homology.cell_complex>`
69
69
  page instead.
70
70
  """
71
-
72
71
  from copy import copy
72
+ from functools import total_ordering
73
+
73
74
  from .cell_complex import GenericCellComplex
74
75
  from sage.structure.sage_object import SageObject
75
76
  from sage.rings.integer import Integer
@@ -78,8 +79,6 @@ from sage.rings.integer_ring import ZZ
78
79
  from sage.rings.rational_field import QQ
79
80
  from sage.misc.cachefunc import cached_method
80
81
  from sage.misc.lazy_import import lazy_import
81
- from sage.misc.superseded import deprecation
82
- from functools import total_ordering
83
82
 
84
83
  lazy_import('sage.matrix.constructor', 'matrix')
85
84
 
@@ -1272,11 +1271,11 @@ class CubicalComplex(GenericCellComplex):
1272
1271
  # nonzero via a dictionary.
1273
1272
  matrix_data = {}
1274
1273
  col = 0
1275
- if len(old) and len(current):
1274
+ if old and current:
1276
1275
  for cube in current:
1277
1276
  faces = cube.faces_as_pairs()
1278
1277
  sign = 1
1279
- for (upper, lower) in faces:
1278
+ for upper, lower in faces:
1280
1279
  # trac 32203: use two "try/except" loops
1281
1280
  # in case lower is in old but upper is not.
1282
1281
  try:
@@ -1010,10 +1010,10 @@ class DeltaComplex(GenericCellComplex):
1010
1010
  # Simplex, as well as the function
1011
1011
  # 'lattice_paths', in
1012
1012
  # simplicial_complex.py.)
1013
- for path in lattice_paths(list(range(k + 1)),
1014
- list(range(n + 1)),
1015
- length=d+1):
1016
- path = tuple(path)
1013
+ for _path in lattice_paths(list(range(k + 1)),
1014
+ list(range(n + 1)),
1015
+ length=d+1):
1016
+ path = tuple(_path)
1017
1017
  new[(k, k_idx, n, n_idx, path)] = len(simplices)
1018
1018
  bdry_list = []
1019
1019
  for i in range(d+1):
@@ -168,7 +168,6 @@ from sage.categories.fields import Fields
168
168
  from sage.misc.cachefunc import cached_method
169
169
  from sage.misc.latex import latex
170
170
  from sage.misc.lazy_import import lazy_import
171
- from sage.misc.superseded import deprecation
172
171
  from sage.rings.integer import Integer
173
172
  from sage.rings.integer_ring import ZZ
174
173
  from sage.rings.polynomial.polynomial_ring import polygens
@@ -29,10 +29,12 @@ All of these examples are accessible by typing
29
29
  - :meth:`~sage.topology.examples.DunceHat`
30
30
  - :meth:`~sage.topology.examples.FareyMap`
31
31
  - :meth:`~sage.topology.examples.GenusSix`
32
+ - :meth:`~sage.topology.examples.HochschildSphere`
32
33
  - :meth:`~sage.topology.examples.K3Surface`
33
34
  - :meth:`~sage.topology.examples.KleinBottle`
34
35
  - :meth:`~sage.topology.examples.MatchingComplex`
35
36
  - :meth:`~sage.topology.examples.MooreSpace`
37
+ - :meth:`~sage.topology.examples.NoncrossingBipartiteComplex`
36
38
  - :meth:`~sage.topology.examples.NotIConnectedGraphs`
37
39
  - :meth:`~sage.topology.examples.PoincareHomologyThreeSphere`
38
40
  - :meth:`~sage.topology.examples.QuaternionicProjectivePlane`
@@ -84,3 +86,7 @@ from sage.topology.simplicial_complex_examples import (Sphere, Simplex, Torus,
84
86
  SumComplex,
85
87
  RandomTwoSphere, ShiftedComplex,
86
88
  RudinBall, ZieglerBall, DunceHat)
89
+
90
+ from sage.combinat.posets.hochschild_lattice import hochschild_simplicial_complex as HochschildSphere
91
+
92
+ from sage.combinat.posets.bubble_shuffle import noncrossing_bipartite_complex as NoncrossingBipartiteComplex
@@ -64,15 +64,6 @@ EXAMPLES::
64
64
  {0: 0, 1: C4, 2: 0}
65
65
  sage: simplicial_complexes.MatchingComplex(6).homology() # needs sage.modules
66
66
  {0: 0, 1: Z^16, 2: 0}
67
-
68
- TESTS::
69
-
70
- sage: from sage.topology.simplicial_complex_examples import PseudoQuaternionicProjectivePlane
71
- sage: H = PseudoQuaternionicProjectivePlane() # needs sage.groups
72
- doctest:warning...:
73
- DeprecationWarning: PseudoQuaternionicProjectivePlane is deprecated.
74
- Please use sage.topology.simplicial_complex_examples.QuaternionicProjectivePlane instead.
75
- See https://github.com/sagemath/sage/issues/34568 for details.
76
67
  """
77
68
 
78
69
  from .simplicial_complex import SimplicialComplex
@@ -620,9 +611,6 @@ def QuaternionicProjectivePlane():
620
611
  for g in PermutationGroup([P, S])])
621
612
 
622
613
 
623
- PseudoQuaternionicProjectivePlane = deprecated_function_alias(34568, QuaternionicProjectivePlane)
624
-
625
-
626
614
  def PoincareHomologyThreeSphere():
627
615
  """
628
616
  A triangulation of the Poincaré homology 3-sphere.
@@ -1439,7 +1427,7 @@ def RandomTwoSphere(n):
1439
1427
  graph = RandomTriangulation(n)
1440
1428
 
1441
1429
  graph = graph.relabel(inplace=False)
1442
- triangles = [(u, v, w) for u, L in graph._embedding.items()
1430
+ triangles = [(u, v, w) for u, L in graph.get_embedding().items()
1443
1431
  for v, w in zip(L, L[1:] + [L[0]]) if u < v and u < w]
1444
1432
 
1445
1433
  return SimplicialComplex(triangles, maximality_check=False)
@@ -1484,10 +1472,10 @@ def ShiftedComplex(generators):
1484
1472
  """
1485
1473
  from sage.combinat.partition import Partitions
1486
1474
  Facets = []
1487
- for G in generators:
1488
- G = sorted(G, reverse=True)
1475
+ for _G in generators:
1476
+ G = sorted(_G, reverse=True)
1489
1477
  L = len(G)
1490
- for k in range(L * (L+1) // 2, sum(G) + 1):
1478
+ for k in range(L * (L + 1) // 2, sum(G) + 1):
1491
1479
  for P in Partitions(k, length=L, max_slope=-1, outer=G):
1492
1480
  Facets.append(list(reversed(P)))
1493
1481
  return SimplicialComplex(Facets)