Thanks Tiago for a quick reply. I think I will write the generation part in C++/Fortran and save the graph-data, say in the form of an edge list, in a file which can then be processed using graph-tool. However, I really appreciate your idea of writing a documentation for explaining the writings of extensions for graph-tool. On a side note, since your generalized communities model also needs different probability value for each pair, I would guess that for generation of such graphs, you have written a code in C++ and that has not been included in graph-tool. Is there a plan to include the same in the graph-tool sometime in near future? Thanks Snehal On Tue, Jan 24, 2017 at 3:37 PM, Tiago de Paula Peixoto <tiago@skewed.de> wrote:
On 24.01.2017 08:59, Snehal Shekatkar wrote:
Hello all,
I am working on the generation of some random graph model in which probability of having an edge between two given vertices is some complicated function. Hence I cannot use in-built models to generate this graph. Thus, I am using nested for loops to generate it. However, this makes the code extremely slow. Is it possible to iterate over all the pairs of vertices efficiently in graph-tool so that there would be sufficient increase in the speed?
There is no magic bullet. If you have to iterate using Python, it will be slow.
I will be writing some documentation explaining how to write C++ extensions for graph-tool.
In the mean time, depending on your algorithm, you may be able to increase speed by representing your graph as a sparse matrix (using adjacency()). You may also try numba, but it will not speedup the interaction with graph-tool.
Best, Tiago
-- Tiago de Paula Peixoto <tiago@skewed.de>
_______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool
-- Snehal Madhukar Shekatkar Pune India