ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Sun, 14 Apr 2019 01:37:28 +0200Find copy of subgraph and check if graph induced by neighborhood of particular vertex is bipartitehttps://ask.sagemath.org/question/46149/find-copy-of-subgraph-and-check-if-graph-induced-by-neighborhood-of-particular-vertex-is-bipartite/I asked Sage to generate all graphs on 7 vertices and 12 edges with clique number 4 using the command
g7_4=[g for g in graphs.nauty_geng('7 12') if g.clique_number()==4]
Next I defined a graph H as follows:
H=graphs.CompleteGraph(4)
H.add_edges([(4,0), (4,1), (4,5)])
For every induced isomorphic copy H' of H in each graph g in g7_4 I want Sage to find out if the subgraph induced by the neighborhood of the isomorphic copy in H' of the vertex labeled 4 in H is bipartite or not.
The issue here is that I want to target the vertex in H' that plays the role of 4 in H, but I can't figure out how to do that.
Here is my feeble attempt:
for g in g7_4:
for p in g.subgraph_search_iterator(H,induced=True): #for each induced isomorphic copy of H in g
N=p.subgraph(Set(H.neighbors(4))) #let N be subgraph induced by neighborhood of 4 (vertex from H)
if not N.is_bipartite():
print(g7_4.index(g), 'bipartite')
else:
print(g7_4.index(g), 'not bipartite')
Please help me with my code! I am still new to Sage. Thank you!merluzaSun, 14 Apr 2019 01:37:28 +0200https://ask.sagemath.org/question/46149/How can I search and count all induced subgraphs in a directed graph with edge labels?https://ask.sagemath.org/question/26630/how-can-i-search-and-count-all-induced-subgraphs-in-a-directed-graph-with-edge-labels/Hello all,
I can extract all induced subgraphs and count them in a graph. My question is how I can search and count all induced subgraphs in a labeled graph (a graph with edge labels)? In documentation of g.subgraph() and g.subgraph_search_count() is mentioned that these functions should work on labeled graphs as well. but it does not work. Here is an example:
sage: g=DiGraph()
sage: g.add_vertex(0)
sage: g.add_vertex(1)
sage: g.add_vertex(2)
sage: g.add_edge(0,1,label="a")
sage: g.add_edge(1,2,label="b")
sage: g.plot(color_by_label="true")
sage: g.plot(color_by_label=true)
sage: s=DiGraph()
sage: s.add_vertex(0)
sage: s.add_vertex(1)
sage: s.add_edge(0,1,label="a")
sage: s.plot(color_by_label=true)
sage: g.subgraph_search_count(s)
2
While it should return 1 not 2.
bsstenissThu, 23 Apr 2015 12:29:44 +0200https://ask.sagemath.org/question/26630/