Application of gt.mcmc_equilibrate

Hi Tiago,

I hope all is well for you.

When I am using the gt.mcmc_equilibrate(), for example:

gt.mcmc_equilibrate(state, force_niter=10000, mcmc_args=dict(niter=10)

After 10000 iterations, the mcmc process will stop.

My puzzle is whether the state itself is changed compared to the beginning? Namely, the state variable is changing after each iteration, right?

What would be the purpose of this function if didn’t, in general, change the state?

From the documentation:

This function calls state.mcmc_sweep (or state.gibbs_sweep) at each
iteration (e.g. graph_tool.inference.BlockState.mcmc_sweep and
graph_tool.inference.BlockState.gibbs_sweep), and keeps track of
the value of state.entropy(**args) with args corresponding to
mcmc_args["entropy_args"].