mixture = beta.ExpFamilyMixture(T, weights, options.K, exp_family, -np.ones(2), 1., options=options)
eta_0 = np.array([ 0.17656734,  0.16734223])
epsilon = 1e-1 * np.ones(2)
mixture.q_eta.eta[0] = eta_0 + epsilon
mixture.q_eta.eta[1] = eta_0 - epsilon

for _i in xrange(options.max_iter):
    mixture.update()
    bound = mixture.variational_bound()
    logging.info(
        'Iteration %3d: Variational bound = %e; eta distance = %e', 
        _i+1, bound, np.sqrt((mixture.q_eta.eta[0]-mixture.q_eta.eta[1])**2).sum()
    )

from cookbook.pylab_utils import set_rcParams_for_latex, get_fig_size_for_latex
set_rcParams_for_latex()
fig_size = get_fig_size_for_latex(1000)
pl.rcParams['figure.figsize'] = fig_size    
pl.figure()
mixture_x, density = mixture.plot(legend=True)
pl.savefig('mixture-fixed-point')
pl.close()

pl.rcParams['figure.figsize'] = fig_size    
pl.figure()
mixture_x, density = mixture.plot(legend=True, scale=False)
pl.savefig('mixture-fixed-point-unscaled')
pl.close()

#beta.plot_density_with_R(x, weights, 'mixture-fixed-point-R', mixture_x, density)