Hi
New to the graph-tool. Build it from src on Fedora 16 (64) . Built with
cairomm enabled . Try to run as per the quick start , however when
executing
graph_draw(g, vertex_text=g.vertex_index, vertex_font_size=18,
... output_size=(200, 200), output="two-nodes.pdf")
i get undefined symbol
_ZN5Cairo7ContextC1EP6_cairob
However the symbol above is defined in : libcairomm-1.0.so see below nm
command results
nm /usr/local/lib/libcairomm-1.0.so | grep -i _ZN5Cairo7ContextC1EP6_cairob
0000000000014b90 T _ZN5Cairo7ContextC1EP6_cairob
Interestingly the library libgraph_tool_draw.so has indeed have the
undefined symbol
U _ZN5Cairo7ContextC1EP6_cairob
but does not depend on the cairomm libarary - see the ldd output . unless
the library is dynamically load i do not understand why
Any advise appreciated-
regards Sasho
ldd
/usr/local/lib/python2.7/site-packages/graph_tool/draw/libgraph_tool_draw.so
linux-vdso.so.1 => (0x00007fffc46da000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f99fd6cd000)
libpython2.7.so.1.0 => /usr/lib64/libpython2.7.so.1.0 (0x00007f99fd30e000)
libboost_iostreams.so.1.49.0 => /usr/local/lib/libboost_iostreams.so.1.49.0
(0x00007f99fd0f6000)
libboost_python.so.1.49.0 => /usr/local/lib/libboost_python.so.1.49.0
(0x00007f99fceaa000)
libboost_regex.so.1.49.0 => /usr/local/lib/libboost_regex.so.1.49.0
(0x00007f99fcbc8000)
libCGAL.so.9 => /usr/local/lib/libCGAL.so.9 (0x00007f99fc9a5000)
libexpat.so.0 => /usr/local/lib/libexpat.so.0 (0x00007f99fc77c000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f99fc54d000)
libm.so.6 => /lib64/libm.so.6 (0x00007f99fc2c9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f99fbf11000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f99fbcfb000)
/lib64/ld-linux-x86-64.so.2 (0x00000030cea00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f99fbadf000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f99fb8db000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007f99fb6d7000)
libz.so.1 => /lib64/libz.so.1 (0x00007f99fb4c0000)
librt.so.1 => /lib64/librt.so.1 (0x00007f99fb2b8000)
libgmpxx.so.4 => /usr/lib64/libgmpxx.so.4 (0x00007f99fb0b3000)
libboost_thread.so.1.49.0 => /usr/local/lib/libboost_thread.so.1.49.0
(0x00007f99fae98000)
libgmp.so.3 => /usr/lib64/libgmp.so.3 (0x00007f99fac41000)
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hey,
I'm a researcher without much experience in creating good graph algorithm
implementations.
I'm blown away with how much faster some algorithms are in C++ (for instance
Dijkstra's shortest path) when compared to the implementation in python or
matlab.
Is there any chance you could create a tutorial of how you made the python
interface to C++ code?
Also as far as I can tell this is the best graph library out there, but it's
relatively hard to install. As a result people like me are using inferior
libraries for algorithms and visualization. Do you think you could work on
making your library easier to install, or at least providing more
instructions? I work with both Windows and Mac OS X, and I wasn't able to
install your library on either.
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
I'm packaging graph-tool for RHEL. I'd like to contribute the spec for
distribution so that your users can easily build packages on Red Hat
systems, and you can offer them for distribution if you choose to do so.
I did notice a couple of problems while packaging.
First, your build scripts appear to install into the general library
path(distutils.sysconfig.get_python_lib()) when it should install to the
platform-dependent library path
(distutils.sysconfig.get_python_lib(1)). According to the manual, I
believe you should be using pyexecdir rather than pythondir.
http://www.gnu.org/software/automake/manual/html_node/Python.html
Second, numpy headers appear to be included incorrectly.
>>> print numpy.get_include.__doc__
Return the directory that contains the NumPy \*.h header files.
Extension modules that need to compile against NumPy should use
this
function to locate the appropriate include directory.
$ python -c 'import numpy; print "-I" + numpy.get_include()'
-I/usr/lib64/python2.7/site-packages/numpy/core/include
However, arrayobject.h is included directly where the correct path
should be numpy/arrayobject.h. Because the headers don't include that
prefix, the spec file includes a static path for the headers.
Similarly, the cairomm headers are included without a prefix.
# pkg-config --cflags cairomm-1.0
-I/usr/include/cairomm-1.0 -I/usr/include/cairo
-I/usr/include/sigc++-2.0 -I/usr/lib64/sigc++-2.0/include
-I/usr/include/pixman-1 -I/usr/include/freetype2
-I/usr/include/libpng12
cairommconfig.h is included, when the correct path is
cairomm/cairommconfig.h.
Hi, I'm working on graph mining, so I'm trying to find the best library to do
that.
I read in http://graph-tool.skewed.de/performance that "graph-tool" is
faster, so I tried the same program who count the duplicated graphs (I call
them frequent in the program) in networkx and graph-tool.
graph are in this .txt file ==> http://pastebin.com/u5BUxx2p
networkx program ==> http://pastebin.com/FPRy7Ywv
graph-tool program ==> http://pastebin.com/dK93x6tf
there are the results:
* Networkx:
RUNNING TIME: 0.00204300880432s
Reading from file: 0.000211000442505s
Algo: 0.00186109542847s
*************
graph-tool:
RUNNING TIME: 0.0780489444733s
Reading from file: 0.00203204154968s
Algo: 0.0760469436646s*
___________________________
I 'm not sure if my graph-tool program need amelioration or that is the best
performance ?
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi there,
After trying four other force-directed graph layout implementations, I was
very happy to find graph-tool's sfdp_layout, which easily handles graphs
with O(10^6) nodes while still offering a number of layout customizations.
I'd like to better understand the intended effects of some of the
sfdp_layout parameters. I've included below a script featuring a toy graph
that I've been experimenting with. It seems that increasing C -- the
relative strength of repulsive force -- doesn't have any effect on the
layout. Meanwhile, increasing mu -- the strength of the attractive force --
seems to /reduce/ vertex clustering.
Any insight into this behavior? Am I misunderstanding the documentation?
Thanks,
Pete
-------------------------
import graph_tool.all as gt
# specify graph as a sparse matrix
garray = [(0, 1, 0.9),
(0, 2, 0.9),
(0, 4, 0.8),
(0, 5, 0.8),
(1, 2, 0.9),
(2, 3, 0.6),
(3, 6, 0.6),
(4, 7, 0.8),
(4, 8, 0.8),
(4, 9, 0.8),
(4, 10, 0.8),
(5, 6, 0.7),
(7, 8, 0.8),
(7, 9, 0.8),
(7, 10, 0.8),
(8, 9, 0.8),
(8, 10, 0.8),
(9, 10, 0.8)]
# get number of vertices
N = max(line[1] for line in garray) + 1
# initialize graph and vertices
g = gt.Graph(directed = False)
g.add_vertex(N)
# initialize edge property for weights
weights = g.new_edge_property('double')
# construct edges
for line in garray:
edge = g.add_edge( g.vertex(line[0]), g.vertex(line[1]) )
weights[edge] = line[2]
# compute vertex positions
# eweight = None edge weights
# C = 0.2 relative strength of repulsive forces
# K = None optimal edge length
# p = 2 repulsive force exponent
# gamma = 1.0 strength of attractive force between connected
components, or group assignments
# mu = 0.0 strength of attractive force between vertices of the
same connected component, or group assignment
# mu_p = 1.0 scaling exponent of attractive force between
vertices of the same connected component, or group assignment
pos = gt.sfdp_layout(g, eweight = weights, C = 0.2, K = None, p = 2, gamma =
1.0, mu = 0.0, mu_p = 1.0)
# generate figure
gt.graph_draw(g, pos, vertex_text = g.vertex_index, output_size = (200,
200), output = 'graph.png')
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi, I'm trying to install "graph-tool" in UBUNTU 12.04 LTS 32 bits and
windows7 but I have some problems.
I cant find the method for windows7
and for ubuntu when I make:
apt-get install python-graph-tool
I get something like:
Les paquets suivants contiennent des dépendances non satisfaites :
python-graph-tool : Dépend: libboost-graph1.54.0 mais il n'est pas
installable
Dépend: libcgal10 mais il n'est pas installable
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode
« garder en l'état ».
How to solve this please!
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
I wanted to make a snippet, that does the following:
It shows a BFS tree of length 1 and when you click on a node it shows the
BFS of the clicked node. Is there a simple way to do it by using the
graph_draw method?
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.
Hi Tiago,
I'm using graph-tool 2.2.36 with boost 1.57.0. I just found out that
in_neighbours() for undirected graphs are always empty. Is this intended or
a bug? Here's what I tried:
Thank you!
James
--
View this message in context: http://main-discussion-list-for-the-graph-tool-project.982480.n3.nabble.com…
Sent from the Main discussion list for the graph-tool project mailing list archive at Nabble.com.