Sir,
I have three doubts to clarify which I list here
1.) I am trying to use the following function for my graph:
*class graph_tool.inference.nested_blockmodel.NestedBlockState(g, bs,
base_type=<class 'graph_tool.inference.blockmodel.BlockState'>,
state_args={}, hstate_args={}, hentropy_args={}, sampling=False, **kwargs)*
I am not able to understand what do I need to provide for *'bs'* values in
the arguments.
The tutorial mentions that it is a *Property Map Hierarchical node
partition*.
What I understand it is asking for a prior hierarchical information about
the nodes which can be done using hierarchical clustering. If this is the
case then how does hierarchical partition help me ? because it is mentioned
in the tutorial that to overcome the limit of BlockState function to
identify smaller communities in very large graph this function was
implemented. My graph is very large and I didn't keep any hierarchical
information along with it.
If not then what do I need to pass to the argument 'bs' in this function ?
2.) Suppose I have a network myG with N nodes and E edges , undirected and
no value specifically assigned in the edge, vertex or graph property map.
I want to do the nested block model partition with mcmc equilibrate to get
the best partition. Then are these steps to do so correct.
a) Import graph_tool.inference and graph_tool.all
b) define your graph myG as *"NestedBlockState"*
c) minimize your NestedBlockState using the
*minimize_nested_blockmodel_dl(myG)* function
d) run mcmc_equilibrate function on minimized nested block state to find the
best partitions in n iterations.
3.) While using LayeredBlockState function, you mentioned in one of your
mailing list reply, one should collapse the graph as a single graph with
multiple edges.
What I understood by trying some random code is that i can add multiple
edges between two nodes but pass a different property map for each edge
defining the corresponding layer. Finally use this Property Map in
LayeredBlockState function by passing it to 'ec' parameter. Am I right on
this ?
4.) Which draw/plot function should be used to plot very large graphs. My
graph has 6500 nodes and 95000 edges. The calling of function draw() gives
memory error (for SVG format), PDF format fails to load for a very long time
and PNG format is of very low resolution. GraphViz doesn't work due to error
related to libv which I saw is a bug in the mailing list due to the libv
library.