I would guess that the difference has to do with networkx's normalization of between values, but I couldn't say for certain. It might also be that networkx is following undirected edges twice, resulting in twice the value. That would definitely be worth looking into.

I turned off networkx's normalization - so that is not it. The boost code explicitly divides by 2 for undirected at the end.

I'll try calculating one by hand and see which code comes up with what I think is Brandes metric.

I did not catch that... I have absolutely no idea what the rationale for this is. I might guess that the author's intent was to normalize (kind of) w.r.t. degree. You know, degree of a vertex in an undirected graph is twice that of the same directed graph... That probably isn't the right thing to do in this case.

If you're by-hand computation matches network-x, then file a ticket on it and I'll patch it up tomorrow or Friday.

Andrew Sutton
andrew.n.sutton@gmail.com