Skip to content

Commit fbd5cda

Browse files
author
Release Manager
committed
sagemathgh-40943: provide alias number_of_connected_components fix sagemath#40935 for `connected_components` as with sagemath#40939: we have to decide whether this does not pollute the name space too much. URL: sagemath#40943 Reported by: Martin Rubey Reviewer(s): David Coudert
2 parents fb6ecfe + d65857a commit fbd5cda

File tree

11 files changed

+34
-27
lines changed

11 files changed

+34
-27
lines changed

src/sage/algebras/fusion_rings/f_matrix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1717,7 +1717,7 @@ def _partition_eqns(self, eqns=None, verbose=True):
17171717
for eq_tup in eqns:
17181718
partition[tuple(graph.connected_component_containing_vertex(variables(eq_tup)[0], sort=True))].append(eq_tup)
17191719
if verbose:
1720-
print("Partitioned {} equations into {} components of size:".format(len(eqns), graph.connected_components_number()))
1720+
print("Partitioned {} equations into {} components of size:".format(len(eqns), graph.number_of_connected_components()))
17211721
print(graph.connected_components_sizes())
17221722
return partition
17231723

src/sage/combinat/root_system/cartan_matrix.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -934,7 +934,7 @@ def is_indecomposable(self):
934934
sage: M.is_indecomposable()
935935
False
936936
"""
937-
comp_num = self.dynkin_diagram().connected_components_number()
937+
comp_num = self.dynkin_diagram().number_of_connected_components()
938938
# consider the empty matrix to be indecomposable
939939
return comp_num <= 1
940940

src/sage/combinat/root_system/dynkin_diagram.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,7 @@ def is_irreducible(self) -> bool:
681681
"""
682682
if self._cartan_type is not None:
683683
return self._cartan_type.is_irreducible()
684-
return self.connected_components_number() == 1
684+
return self.number_of_connected_components() == 1
685685

686686
def is_crystallographic(self) -> bool:
687687
"""

src/sage/combinat/root_system/pieri_factors.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -888,7 +888,9 @@ def stanley_symm_poly_weight(self, w):
888888
# The algorithm="delete" is a workaround when the set of
889889
# vertices is empty, in which case subgraph tries another
890890
# method which turns out to currently fail with Dynkin diagrams
891-
return DiGraph(DynkinDiagram(w.parent().cartan_type())).subgraph(set(w.reduced_word()), algorithm='delete').connected_components_number()
891+
D = DiGraph(DynkinDiagram(w.parent().cartan_type()))
892+
return D.subgraph(set(w.reduced_word()),
893+
algorithm='delete').number_of_connected_components()
892894

893895

894896
class PieriFactors_type_B_affine(PieriFactors_affine_type):
@@ -997,7 +999,8 @@ def stanley_symm_poly_weight(self, w):
997999
support_complement = set(ct.index_set()).difference(support).difference(set([0, 1]))
9981000
else:
9991001
support_complement = set(ct.index_set()).difference(support).difference(set([0]))
1000-
return DiGraph(DynkinDiagram(ct)).subgraph(support_complement, algorithm='delete').connected_components_number() - 1
1002+
D = DiGraph(DynkinDiagram(ct))
1003+
return D.subgraph(support_complement, algorithm='delete').number_of_connected_components() - 1
10011004

10021005

10031006
class PieriFactors_type_D_affine(PieriFactors_affine_type):
@@ -1120,7 +1123,8 @@ def stanley_symm_poly_weight(self, w):
11201123
if n in support or n - 1 in support:
11211124
support = support.union(set([n - 2])).difference(set([n - 1]))
11221125
support_complement = set(range(1, n - 1)).difference(support)
1123-
return DiGraph(DynkinDiagram(ct)).subgraph(support_complement).connected_components_number() - 1
1126+
D = DiGraph(DynkinDiagram(ct))
1127+
return D.subgraph(support_complement).number_of_connected_components() - 1
11241128

11251129

11261130
# Inserts those classes in CartanTypes

src/sage/graphs/connectivity.pyx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Here is what the module can do:
1616
1717
:meth:`is_connected` | Check whether the (di)graph is connected.
1818
:meth:`connected_components` | Return the list of connected components
19-
:meth:`connected_components_number` | Return the number of connected components.
19+
:meth:`number_of_connected_components` | Return the number of connected components.
2020
:meth:`connected_components_subgraphs` | Return a list of connected components as graph objects.
2121
:meth:`connected_component_containing_vertex` | Return a list of the vertices connected to vertex.
2222
:meth:`connected_components_sizes` | Return the sizes of the connected components as a list.
@@ -238,7 +238,7 @@ def connected_components(G, sort=False, key=None, forbidden_vertices=None):
238238
return components
239239

240240

241-
def connected_components_number(G, forbidden_vertices=None):
241+
def number_of_connected_components(G, forbidden_vertices=None):
242242
"""
243243
Return the number of connected components.
244244
@@ -251,31 +251,33 @@ def connected_components_number(G, forbidden_vertices=None):
251251
252252
EXAMPLES::
253253
254-
sage: from sage.graphs.connectivity import connected_components_number
254+
sage: from sage.graphs.connectivity import number_of_connected_components
255255
sage: G = Graph({0: [1, 3], 1: [2], 2: [3], 4: [5, 6], 5: [6]})
256-
sage: connected_components_number(G)
256+
sage: number_of_connected_components(G)
257257
2
258-
sage: G.connected_components_number()
258+
sage: G.number_of_connected_components()
259259
2
260260
sage: D = DiGraph({0: [1, 3], 1: [2], 2: [3], 4: [5, 6], 5: [6]})
261-
sage: connected_components_number(D)
261+
sage: number_of_connected_components(D)
262262
2
263-
sage: connected_components_number(D, forbidden_vertices=[1, 3])
263+
sage: number_of_connected_components(D, forbidden_vertices=[1, 3])
264264
3
265265
266266
TESTS:
267267
268268
If ``G`` is not a Sage graph, an error is raised::
269269
270-
sage: from sage.graphs.connectivity import connected_components_number
271-
sage: connected_components_number('I am not a graph')
270+
sage: from sage.graphs.connectivity import number_of_connected_components
271+
sage: number_of_connected_components('I am not a graph')
272272
Traceback (most recent call last):
273273
...
274274
TypeError: the input must be a Sage graph
275275
"""
276276
return len(connected_components(G, sort=False,
277277
forbidden_vertices=forbidden_vertices))
278278

279+
connected_components_number = number_of_connected_components
280+
279281

280282
def connected_components_subgraphs(G, forbidden_vertices=None):
281283
"""

src/sage/graphs/generic_graph.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@
238238

239239
:meth:`~GenericGraph.is_connected` | Test whether the (di)graph is connected.
240240
:meth:`~GenericGraph.connected_components` | Return the list of connected components
241-
:meth:`~GenericGraph.connected_components_number` | Return the number of connected components.
241+
:meth:`~GenericGraph.number_of_connected_components` | Return the number of connected components.
242242
:meth:`~GenericGraph.connected_components_subgraphs` | Return a list of connected components as graph objects.
243243
:meth:`~GenericGraph.connected_component_containing_vertex` | Return a list of the vertices connected to vertex.
244244
:meth:`~GenericGraph.connected_components_sizes` | Return the sizes of the connected components as a list.
@@ -7078,7 +7078,7 @@ def n_faces(self, embedding=None):
70787078
if embedding is None:
70797079
if self.is_planar():
70807080
# We use Euler's formula: V-E+F-C=1
7081-
C = self.connected_components_number()
7081+
C = self.number_of_connected_components()
70827082
return self.size() - self.order() + C + 1
70837083
else:
70847084
raise ValueError("no embedding is provided and the graph is not planar")
@@ -26018,6 +26018,7 @@ def is_self_complementary(self):
2601826018
connected_component_containing_vertex,
2601926019
connected_components,
2602026020
connected_components_number,
26021+
number_of_connected_components,
2602126022
connected_components_sizes,
2602226023
connected_components_subgraphs,
2602326024
edge_connectivity,
@@ -26404,7 +26405,7 @@ def symmetric_edge_polytope(self, backend=None):
2640426405
sage: P = G.symmetric_edge_polytope() # needs networkx sage.geometry.polyhedron
2640526406
sage: P.ambient_dim() == n # needs networkx sage.geometry.polyhedron
2640626407
True
26407-
sage: P.dim() == n - G.connected_components_number() # needs networkx sage.geometry.polyhedron
26408+
sage: P.dim() == n - G.number_of_connected_components() # needs networkx sage.geometry.polyhedron
2640826409
True
2640926410

2641026411
The SEP of a graph is isomorphic to the subdirect sum of

src/sage/graphs/matching.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ def is_bicritical(G, matching=None, algorithm='Edmonds', coNP_certificate=False,
273273
274274
sage: G = graphs.CycleGraph(4)
275275
sage: G += graphs.CycleGraph(6)
276-
sage: G.connected_components_number()
276+
sage: G.number_of_connected_components()
277277
2
278278
sage: G.is_bicritical()
279279
False

src/sage/graphs/matching_covered_graph.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ class MatchingCoveredGraph(Graph):
388388
389389
sage: G = graphs.CycleGraph(4)
390390
sage: G += graphs.CycleGraph(6)
391-
sage: G.connected_components_number()
391+
sage: G.number_of_connected_components()
392392
2
393393
sage: H = MatchingCoveredGraph(G)
394394
Traceback (most recent call last):

src/sage/graphs/tutte_polynomial.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -648,12 +648,12 @@ def yy(start, end):
648648
if len(blocks) > 1:
649649
return prod([recursive_tp(G.subgraph(block)) for block in blocks])
650650

651-
components = G.connected_components_number()
651+
components = G.number_of_connected_components()
652652
edge = edge_selector(G)
653653
unlabeled_edge = edge[:2]
654654

655655
with removed_edge(G, edge):
656-
if G.connected_components_number() > components:
656+
if G.number_of_connected_components() > components:
657657
with contracted_edge(G, unlabeled_edge):
658658
return x*recursive_tp()
659659

src/sage/knots/link.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1921,7 +1921,7 @@ def number_of_components(self):
19211921
for c in pd:
19221922
G.add_edge(c[0], c[2])
19231923
G.add_edge(c[3], c[1])
1924-
return G.connected_components_number()
1924+
return G.number_of_connected_components()
19251925

19261926
def is_knot(self) -> bool:
19271927
r"""

0 commit comments

Comments
 (0)