Skip to content

Commit 2fc9985

Browse files
tools(ra1n): add guarded margin value setter
1 parent 9814407 commit 2fc9985

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

tools/set_ra1n_margin_values.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/usr/bin/env python3
2+
import argparse
3+
import json
4+
import math
5+
from pathlib import Path
6+
7+
p = Path("artifacts/ra1n_margin/ra1n_margin_certificate.json")
8+
data = json.loads(p.read_text(encoding="utf-8"))
9+
10+
ap = argparse.ArgumentParser()
11+
ap.add_argument("--M-phi", type=float, required=True)
12+
ap.add_argument("--m-phi", type=float, required=True)
13+
ap.add_argument("--c-fin", type=float, required=True)
14+
ap.add_argument("--epsilon", type=float, required=True)
15+
ap.add_argument("--eta-supp", type=float, required=True)
16+
ap.add_argument("--eta-err", type=float, required=True)
17+
args = ap.parse_args()
18+
19+
delta = math.sqrt(1.0 - args.eta_supp) * args.epsilon - args.eta_err
20+
21+
if not args.m_phi > 0:
22+
raise SystemExit("m_phi must be positive")
23+
if not args.c_fin > 0:
24+
raise SystemExit("c_fin must be positive")
25+
if not args.epsilon > 0:
26+
raise SystemExit("epsilon must be positive")
27+
if not (0 <= args.eta_supp < 1):
28+
raise SystemExit("eta_supp must lie in [0,1)")
29+
if not args.eta_err >= 0:
30+
raise SystemExit("eta_err must be nonnegative")
31+
if not delta > 0:
32+
raise SystemExit(f"Delta_RA1n is not positive: {delta}")
33+
34+
data["status"] = "CERTIFIED_RA1N_MARGIN_POSITIVE"
35+
36+
data["cutoff_certificate"]["M_phi"] = args.M_phi
37+
data["cutoff_certificate"]["m_phi_lower_bound"] = args.m_phi
38+
data["cutoff_certificate"]["verified"] = True
39+
40+
data["finite_projection_certificate"]["c_fin"] = args.c_fin
41+
data["finite_projection_certificate"]["verified"] = True
42+
43+
data["angle_gap_certificate"]["epsilon"] = args.epsilon
44+
data["angle_gap_certificate"]["verified"] = True
45+
46+
data["support_overlap_certificate"]["eta_supp"] = args.eta_supp
47+
data["support_overlap_certificate"]["verified"] = True
48+
49+
data["error_certificate"]["eta_err"] = args.eta_err
50+
data["error_certificate"]["verified"] = True
51+
52+
data["unified_margin"]["Delta_RA1n"] = delta
53+
data["unified_margin"]["verified_positive"] = True
54+
55+
p.write_text(json.dumps(data, indent=2) + "\n", encoding="utf-8")
56+
print(f"RA1n certified margin set: Delta_RA1n={delta}")

0 commit comments

Comments
 (0)