in submix.py [0:0]
def _lambda_solver_bisection(self, p, p_prime, p0):
def f(lamb):
mix_star = self.mix((p + p_prime)/2, p0, lamb=lamb)
p_mix = self.mix(p, p0, lamb=lamb)
p_prime_mix = self.mix(p_prime, p0, lamb=lamb)
eps = max(self.renyi_dp(mix_star,p_mix, alpha=self.alpha),
self.renyi_dp(mix_star,p_prime_mix, alpha=self.alpha))
return eps - self.target_consumption
lamb = 1.0 if f(1) <= 0.0 else bisect(f, 0, 1)
return self.mix((p + p_prime)/2, p0, lamb=lamb), lamb