[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: [igraph] Weighted graphs in Python interface

**From**: |
Tamas Nepusz |

**Subject**: |
Re: [igraph] Weighted graphs in Python interface |

**Date**: |
Mon, 2 Jun 2008 13:33:25 +0200 |

Hi,

`1. Working with the Python interface, I would like to generate a
``directed weighted graph (without multiple edges and self-loops) from
``an adjacency matrix, where the elements of the matrix store the
``weight if an edge exists and are otherwise zero. The matrix is a
``numpy array or list of lists. How can this be achieved in a most
``direct way?
`

`I already submitted a patch to the igraph 0.6 dev tree that
``accomplishes this goal (the new graph constructor will be called
``Graph.Weighted_Adjacency). If you are willing to hack around with the
``igraph source and then recompile igraph, I can send you a patch.
``Otherwise, try this simple solution:
`
edges, weights, vcount = [], [], 0
for v1, line in enumerate(file("adjacency-matrix.dat")):
vcount += 1
parts = map(float, line.strip().split())
for v2, weight in parts:
if v2 > 0:
edges.append((v1,v2))
weights.append(weight)
g = Graph(vcount, edges, directed=True)
g.es["weight"] = weights

`I hope this helps. I haven't tried it, but the basic idea should be
``correct.
`

`The weights are all positive in my application. Is this implemented
``yet in iGraph?
`

`Weighted shortest path lengths will be implemented in igraph 0.6.
``Weighted closeness centrality is not implemented directly in the dev
``tree yet, but I think it's not too difficult to calculate using the
``matrix returned by the weighted shortest path calculations. Weighted
``betweenness centrality seems more complicated - I'm not familiar with
``the implementation details of igraph_betweenness, maybe Gabor can
``comment on it.
`

`If not, do you have suggestions for other fast libraries
``implementing these features?
`

`I think the Boost Graph Library implements weighted betweenness
``centrality:
`http://www.boost.org/doc/libs/1_35_0/libs/graph/doc/betweenness_centrality.html
--
Tamas