I just found out the following (using gt 2.29):

If I create a GraphView of g and store it in g,

    g = gt.extract_largest_component(g)

infer an SBM,

    state = gt.minimize_nested_blockmodel_dl(g)

and try to draw it,


then I get the "RuntimeError: Invalid hierarchical tree: No path from source to target."

But if I prune the graph,

     g = gt.extract_largest_component(g, prune=True)

then everything's fine.

Hope this documentation is helpful.


Von: graph-tool <graph-tool-bounces@skewed.de> im Auftrag von Tiago de Paula Peixoto <tiago@skewed.de>
Gesendet: Dienstag, 31. Oktober 2017 17:08:52
An: graph-tool@skewed.de
Betreff: Re: [graph-tool] Nested Block State hierarchy level after mcmc_equilibrate
On 31.10.2017 15:33, ilyco wrote:
> There are many empty branches and when I try to plot it with empty_branches
> = False, I get an error stating it is not a tree.
> RuntimeError: Invalid hierarchical tree: No path from source to target.

Which version are you using?

Please provide a minimal and self-contained example that shows the problem.


Tiago de Paula Peixoto <tiago@skewed.de>