in submix.py [0:0]
def _account_leakage(self, centroid, P, lamb, lambda_LOOs):
eps_per_shard = []
l = int(self.num_shards/2) #num logical shards
for i in range(l):
j,jj = self.pairing[i]
P_prime = 0.5*(P[j] + P[jj])
centroid_LOO = centroid*l/(l-1) - P_prime/(l-1)
#print(len(lambda_LOOs))
#print(i)
lamb_prime = lambda_LOOs[i]
eps = self._get_eps(centroid, centroid_LOO, P[0], lamb, lamb_prime)
if self.symmetrize:
_eps = self._get_eps(centroid_LOO, centroid, P[0], lamb_prime, lamb)
eps = max(eps, _eps)
eps_per_shard.append(eps)
self.eps_remaining[i-1] -= eps
return eps_per_shard