Am 07.07.19 um 15:33 schrieb [email protected]:
> Hi
> The min_spanning_tree function works only for connected graph. So in ordrer 
> to find a minimum spanning forest of a undirected weighted graph (say G), I 
> need to retrieve the connected components of G. I can do it with the 
> label_components function. The problem I have now is I don't know how to 
> build the subgraph induced by each connected component. Here is the piece of 
> code I am working from :
> 
> 
> 
> # ----------------------------
> import graph_tool as gt
> from graph_tool.topology import min_spanning_tree, label_components
> import numpy as np
> 
> wedges=[(1, 2, 3.), (0, 2, 6.), (3, 4, 1.)] 
> g= gt.Graph(directed=False)
> weight = g.new_edge_property("double")
> g.add_edge_list(np.array(wedges), eprops=[weight])
> u, v=label_components(g)
> print(u.a)
> # ----------------------------
> 
> outputting
> 
> 
> [0 0 0 1 1]
> 
> 
> Can somebody explain how to retrieve the subgraph of g induced by the 
> connected component labeled 0? 

The easiest is to create a graph view:

    sub = GraphView(g, vfilt=u.a == 0)   # sub contains only the vertices of
                                         # the component with label 0

Best,
Tiago


-- 
Tiago de Paula Peixoto <[email protected]>
_______________________________________________
graph-tool mailing list
[email protected]
https://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to