On 17.11.2016 07:02, Peter Straka wrote:
> Hello,
>
> I am trying to add a more detailed level at the bottom of a nested
> blockmodel. Given a graph g, I run
>
> c = gt.is_bipartite(g, True)[1]
> state = gt.minimize_nested_blockmodel_dl(g, deg_corr=True, layers=True,
> state_args=dict(ec=g.ep.visits, layers=False, pclabel=c),
> verbose=True)
>
> to find a nestedBlockState 'state'. Then I run
>
> state.duplicate_level(0)
> bstate = state.find_new_level(0, bisection_args={'verbose': True})
>
> This seems to correctly invoke the bisection_minimize() method and runs for
> a while, then raises a ValueError: provided clabel is inconsistent with node
> partition.
>
> The output is below. Where exactly is the inconsistency coming from?
It is totally wrong to do it like this. You are using low-level functions
from NestedBlockState which are meant to be used in a very particular way
from inside the minimize_nested_blockmodel_dl().
I don't think it is a good idea to modify an inference algorithm in
arbitrary ways just to force it to give a specific result.
--
Tiago de Paula Peixoto <[email protected]>
_______________________________________________
graph-tool mailing list
[email protected]
https://lists.skewed.de/mailman/listinfo/graph-tool