@@ -6786,13 +6786,21 @@ def cliques_number_of(self, vertices=None, cliques=None):
67866786 {(0, 0): 2, (0, 1): 3, (0, 2): 2, (1, 0): 2, (1, 1): 3, (1, 2): 2}
67876787 sage: F.cliques_number_of(vertices=[(0, 1), (1, 2)])
67886788 {(0, 1): 3, (1, 2): 2}
6789+ sage: F.cliques_number_of(vertices=(0, 1))
6790+ 3
67896791 sage: G = Graph({0:[1,2,3], 1:[2], 3:[0,1]})
67906792 sage: G.show(figsize=[2,2])
67916793 sage: G.cliques_number_of()
67926794 {0: 2, 1: 2, 2: 1, 3: 1}
67936795 """
6794- import networkx
6795- return networkx .number_of_cliques (self .networkx_graph (), vertices , cliques )
6796+ if cliques is None :
6797+ cliques = self .cliques_maximal ()
6798+
6799+ if vertices in self : # single vertex
6800+ return sum (1 for c in cliques if vertices in c )
6801+ else :
6802+ return { v : sum (1 for c in cliques if v in c )
6803+ for v in vertices or self }
67966804
67976805 @doc_index ("Clique-related methods" )
67986806 def cliques_get_max_clique_graph (self ):
@@ -7493,17 +7501,32 @@ def cliques_containing_vertex(self, vertices=None, cliques=None):
74937501
74947502 sage: C = Graph('DJ{')
74957503 sage: C.cliques_containing_vertex()
7496- {0: [[4, 0]], 1: [[4, 1, 2, 3]], 2: [[4, 1, 2, 3]], 3: [[4, 1, 2, 3]], 4: [[4, 0], [4, 1, 2, 3]]}
7504+ {0: [[0, 4]],
7505+ 1: [[1, 2, 3, 4]],
7506+ 2: [[1, 2, 3, 4]],
7507+ 3: [[1, 2, 3, 4]],
7508+ 4: [[0, 4], [1, 2, 3, 4]]}
7509+ sage: C.cliques_containing_vertex(4)
7510+ [[0, 4], [1, 2, 3, 4]]
7511+ sage: C.cliques_containing_vertex([0, 1])
7512+ {0: [[0, 4]], 1: [[1, 2, 3, 4]]}
74977513 sage: E = C.cliques_maximal()
74987514 sage: E
74997515 [[0, 4], [1, 2, 3, 4]]
75007516 sage: C.cliques_containing_vertex(cliques=E)
7501- {0: [[0, 4]], 1: [[1, 2, 3, 4]], 2: [[1, 2, 3, 4]], 3: [[1, 2, 3, 4]], 4: [[0, 4], [1, 2, 3, 4]]}
7517+ {0: [[0, 4]],
7518+ 1: [[1, 2, 3, 4]],
7519+ 2: [[1, 2, 3, 4]],
7520+ 3: [[1, 2, 3, 4]],
7521+ 4: [[0, 4], [1, 2, 3, 4]]}
75027522
75037523 sage: G = Graph({0:[1,2,3], 1:[2], 3:[0,1]})
75047524 sage: G.show(figsize=[2,2])
75057525 sage: G.cliques_containing_vertex()
7506- {0: [[0, 1, 2], [0, 1, 3]], 1: [[0, 1, 2], [0, 1, 3]], 2: [[0, 1, 2]], 3: [[0, 1, 3]]}
7526+ {0: [[0, 1, 2], [0, 1, 3]],
7527+ 1: [[0, 1, 2], [0, 1, 3]],
7528+ 2: [[0, 1, 2]],
7529+ 3: [[0, 1, 3]]}
75077530
75087531 Since each clique of a 2 dimensional grid corresponds to an edge, the
75097532 number of cliques in which a vertex is involved equals its degree::
@@ -7518,8 +7541,14 @@ def cliques_containing_vertex(self, vertices=None, cliques=None):
75187541 sage: sorted(sorted(x for x in L) for L in d[(0, 1)])
75197542 [[(0, 0), (0, 1)], [(0, 1), (0, 2)], [(0, 1), (1, 1)]]
75207543 """
7521- import networkx
7522- return networkx .cliques_containing_node (self .networkx_graph (), vertices , cliques )
7544+ if cliques is None :
7545+ cliques = self .cliques_maximal ()
7546+
7547+ if vertices in self : # single vertex
7548+ return [c for c in cliques if vertices in c ]
7549+ else :
7550+ return { v : [c for c in cliques if v in c ]
7551+ for v in vertices or self }
75237552
75247553 @doc_index ("Clique-related methods" )
75257554 def clique_complex (self ):
0 commit comments