Hi Philipp, Not with the sample you provided. Trying here, time decreases below that for the original graph. (I had to change the sample to increase n and sample size, otherwise it was just too fast to capture) In [1]: %paste import random import graph_tool.all as gt n=100000 g = gt.price_network(n,10,directed=False) %time gt.eigenvector(g) def node_sample(g, g_vertices, n_samples): return random.sample(g_vertices, n_samples) sample = node_sample(g, [x for x in g.vertices()], int(n/10)) vfilt = g.new_vertex_property('bool') for s in sample: vfilt[s] = True g_sample = gt.GraphView(g, vfilt=vfilt) %time gt.eigenvector(g_sample) u = gt.Graph(g_sample, prune=True) %time gt.eigenvector(u) ## -- End pasted text -- CPU times: user 747 ms, sys: 0 ns, total: 747 ms Wall time: 748 ms CPU times: user 12.2 s, sys: 0 ns, total: 12.2 s Wall time: 12.2 s CPU times: user 335 ms, sys: 0 ns, total: 335 ms Wall time: 335 ms Cheers .~´ On Wed, Jul 27, 2016 at 5:35 PM, Philipp Singer <killver@gmail.com> wrote:
Thanks for the hint, I tried that but it is the same runtime as on the filtered graph.
Best, Philipp On 27.07.2016 17:16, Tiago de Paula Peixoto wrote:
On 27.07.2016 17:06, Philipp Singer wrote:
g = gt.price_network(10000,10,directed=False) %time gt.eigenvector(g)
def node_sample(g, g_vertices, n_samples): return random.sample(g_vertices, n_samples) sample = node_sample(g, [x for x in g.vertices()], 1000)
vfilt = g.new_vertex_property('bool') for s in sample: vfilt[s] = True g_sample = gt.GraphView(g, vfilt=vfilt)
%time gt.eigenvector(g_sample)
If you want to check if the difference is due to graph filtering, you can compare with:
u = gt.Graph(g_sample, prune=True) gt.eigenvector(u)
Best, Tiago
_______________________________________________ graph-tool mailing listgraph-tool@skewed.dehttps://lists.skewed.de/mailman/listinfo/graph-tool
_______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool