in utils_data.py [0:0]
def DP_to_GDP(epsilon, delta):
"""
Given a target (epsilon-delta), returns mu such that a mu-GDP algorithm is (eps,delta)-DP
"""
if epsilon <= 0: # No finite mu value is possible
return math.inf
lower = 10 ** -6
upper = 50.0
mid = (lower + upper) / 2
while (
abs(GDP_to_DP(mu=mid, delta=delta) - epsilon) >= (epsilon * 10 ** -2)
and mid > 0
):
target_mu = GDP_to_DP(mu=mid, delta=delta)
if target_mu < epsilon:
lower = mid
else:
upper = mid
mid = (lower + upper) / 2
print("Mu-GDP value", mid)
return mid