Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
test_planner_calibration.py
Go to the documentation of this file.
1 from pathlib import Path
2 import sys
3 
4 import pytest
5 
6 REPO_ROOT = Path(__file__).resolve().parents[3]
7 if str(REPO_ROOT) not in sys.path:
8  sys.path.insert(0, str(REPO_ROOT))
9 
10 from benchmarks.density_matrix.planner_calibration.common import (
11  PLANNER_CALIBRATION_CANDIDATE_SCHEMA_VERSION,
12  PLANNER_CALIBRATION_PLANNER_FAMILY_SPAN_BUDGET,
13  build_planner_calibration_planner_candidates,
14 )
15 from benchmarks.density_matrix.planner_calibration.planner_candidate_audit_validation import (
16  build_artifact_bundle as build_planner_candidate_audit_bundle,
17 )
18 from benchmarks.density_matrix.planner_calibration.planner_candidate_audit_validation import (
19  build_cases as build_planner_candidate_audit_cases,
20 )
21 from benchmarks.density_matrix.planner_calibration.calibration_workload_matrix_validation import (
22  build_artifact_bundle as build_calibration_workload_matrix_bundle,
23 )
24 from benchmarks.density_matrix.planner_calibration.calibration_workload_matrix_validation import (
25  build_cases as build_calibration_workload_matrix_cases,
26 )
27 from benchmarks.density_matrix.planner_calibration.density_signal_validation import (
28  build_artifact_bundle as build_density_signal_bundle,
29 )
30 from benchmarks.density_matrix.planner_calibration.density_signal_validation import (
31  build_cases as build_density_signal_cases,
32 )
33 from benchmarks.density_matrix.planner_calibration.calibration_correctness_validation import (
34  build_artifact_bundle as build_calibration_correctness_bundle,
35 )
36 from benchmarks.density_matrix.planner_calibration.calibration_correctness_validation import (
37  build_cases as build_calibration_correctness_cases,
38 )
39 from benchmarks.density_matrix.planner_calibration.claim_selection import (
40  PLANNER_CALIBRATION_CLAIM_STATUS_COMPARISON,
41  PLANNER_CALIBRATION_CLAIM_STATUS_SUPPORTED,
42  build_planner_calibration_claim_selection_payload,
43 )
44 from benchmarks.density_matrix.planner_calibration.calibrated_claim_selection_validation import (
45  build_artifact_bundle as build_calibrated_claim_selection_bundle,
46 )
47 from benchmarks.density_matrix.planner_calibration.bundle import (
48  build_planner_calibration_calibration_bundle_payload,
49 )
50 from benchmarks.density_matrix.planner_calibration.calibration_bundle_validation import (
51  build_artifact_bundle as build_integrated_calibration_bundle,
52 )
53 from benchmarks.density_matrix.planner_calibration.boundary import (
54  build_planner_calibration_boundary_payload,
55 )
56 from benchmarks.density_matrix.planner_calibration.calibration_boundary_validation import (
57  build_artifact_bundle as build_claim_boundary_bundle,
58 )
59 
60 
63  assert [candidate.candidate_id for candidate in candidates] == [
64  "span_budget_q2",
65  "span_budget_q3",
66  "span_budget_q4",
67  ]
68  assert [candidate.max_partition_qubits for candidate in candidates] == [2, 3, 4]
69  assert {candidate.schema_version for candidate in candidates} == {
70  PLANNER_CALIBRATION_CANDIDATE_SCHEMA_VERSION
71  }
72  assert {candidate.planner_family for candidate in candidates} == {
73  PLANNER_CALIBRATION_PLANNER_FAMILY_SPAN_BUDGET
74  }
75 
76 
78  cases = build_planner_candidate_audit_cases()
79  assert [case["candidate_id"] for case in cases] == [
80  "span_budget_q2",
81  "span_budget_q3",
82  "span_budget_q4",
83  ]
84  for case in cases:
85  assert case["candidate_surface_pass"] is True
86  assert case["supported_case_kinds"] == [
87  "continuity",
88  "microcase",
89  "structured_family",
90  ]
91  assert len(case["representative_workload_ids"]) == 3
92  assert len(case["representative_cases"]) == 3
93  assert all(
94  representative["max_partition_qubits"] == case["max_partition_qubits"]
95  for representative in case["representative_cases"]
96  )
97 
98 
100  bundle = build_planner_candidate_audit_bundle(build_planner_candidate_audit_cases())
101  assert bundle["status"] == "pass"
102  assert bundle["candidate_schema_version"] == PLANNER_CALIBRATION_CANDIDATE_SCHEMA_VERSION
103  assert bundle["summary"]["total_candidates"] == 3
104  assert bundle["summary"]["representative_case_kinds"] == [
105  "continuity",
106  "microcase",
107  "structured_family",
108  ]
109 
110 
112  cases = build_calibration_workload_matrix_cases()
113  assert len(cases) == 75
114  assert {case["candidate_id"] for case in cases} == {
115  "span_budget_q2",
116  "span_budget_q3",
117  "span_budget_q4",
118  }
119  assert {case["case_kind"] for case in cases} == {
120  "continuity",
121  "microcase",
122  "structured_family",
123  }
124  assert {case["qbit_num"] for case in cases if case["case_kind"] == "continuity"} == {
125  4,
126  6,
127  8,
128  10,
129  }
130  assert all(case["workload_matrix_pass"] is True for case in cases)
131 
132 
134  bundle = build_calibration_workload_matrix_bundle(build_calibration_workload_matrix_cases())
135  assert bundle["status"] == "pass"
136  assert bundle["candidate_schema_version"] == PLANNER_CALIBRATION_CANDIDATE_SCHEMA_VERSION
137  assert bundle["summary"]["continuity_cases"] == 12
138  assert bundle["summary"]["microcases"] == 9
139  assert bundle["summary"]["structured_cases"] == 54
140 
141 
143  cases = build_density_signal_cases()
144  assert len(cases) == 12
145  assert all(case["density_signal_pass"] is True for case in cases)
146  assert {case["candidate_id"] for case in cases} == {
147  "span_budget_q2",
148  "span_budget_q3",
149  "span_budget_q4",
150  }
151  assert all(case["density_aware_rank"] in {1, 2, 3} for case in cases)
152  assert all(case["state_vector_proxy_rank"] in {1, 2, 3} for case in cases)
153 
154 
156  cases = build_density_signal_cases()
157  layered_by_candidate = {}
158  for case in cases:
159  if (
160  case["case_kind"] == "structured_family"
161  and case["family_name"] == "layered_nearest_neighbor"
162  and case["qbit_num"] == 8
163  ):
164  layered_by_candidate.setdefault(case["candidate_id"], {})[
165  case["noise_pattern"]
166  ] = case["density_aware_score"]
167 
168  assert set(layered_by_candidate) == {
169  "span_budget_q2",
170  "span_budget_q3",
171  "span_budget_q4",
172  }
173  for scores in layered_by_candidate.values():
174  assert set(scores) == {"sparse", "dense"}
175  assert scores["dense"] != scores["sparse"]
176 
177 
179  bundle = build_density_signal_bundle(build_density_signal_cases())
180  assert bundle["status"] == "pass"
181  assert bundle["signal_schema_version"] == "phase3_planner_calibration_density_signal_v1"
182  assert bundle["summary"]["total_cases"] == 12
183  assert bundle["summary"]["noise_sensitive_slices"] >= 1
184 
185 
186 @pytest.fixture(scope="module")
188  return build_calibration_correctness_cases()
189 
190 
192  calibration_correctness_cases,
193 ):
194  assert len(calibration_correctness_cases) == 75
195  assert all(case["internal_correctness_pass"] is True for case in calibration_correctness_cases)
196  assert all(case["counted_calibration_case"] is True for case in calibration_correctness_cases)
197  assert sum(case["external_reference_required"] for case in calibration_correctness_cases) == 12
198  assert all(
199  (not case["external_reference_required"]) or case["external_reference_pass"]
200  for case in calibration_correctness_cases
201  )
202 
203 
205  bundle = build_calibration_correctness_bundle(calibration_correctness_cases)
206  assert bundle["status"] == "pass"
207  assert bundle["record_schema_version"] == "phase3_planner_calibration_record_v1"
208  assert bundle["summary"]["total_cases"] == 75
209  assert bundle["summary"]["external_reference_cases"] == 12
210 
211 
212 @pytest.fixture(scope="module")
215 
216 
218  claim_selection_payload,
219 ):
220  assert claim_selection_payload["selected_candidate"]["candidate_id"] in {
221  "span_budget_q2",
222  "span_budget_q3",
223  "span_budget_q4",
224  }
225  assert {summary["candidate_id"] for summary in claim_selection_payload["candidate_summaries"]} == {
226  "span_budget_q2",
227  "span_budget_q3",
228  "span_budget_q4",
229  }
230  assert {case["claim_status"] for case in claim_selection_payload["cases"]} == {
231  PLANNER_CALIBRATION_CLAIM_STATUS_SUPPORTED,
232  PLANNER_CALIBRATION_CLAIM_STATUS_COMPARISON,
233  }
234 
235 
237  bundle = build_calibrated_claim_selection_bundle()
238  assert bundle["status"] == "pass"
239  assert bundle["claim_selection_schema_version"] == "phase3_planner_calibration_claim_selection_v1"
240  assert bundle["summary"]["selected_candidate_id"] in {
241  "span_budget_q2",
242  "span_budget_q3",
243  "span_budget_q4",
244  }
245 
246 
249  assert payload["selected_candidate"]["candidate_id"] in {
250  "span_budget_q2",
251  "span_budget_q3",
252  "span_budget_q4",
253  }
254  assert payload["summary"]["total_cases"] == 75
255  assert payload["summary"]["supported_claim_cases"] == 25
256  assert payload["summary"]["comparison_cases"] == 50
257 
258 
260  bundle = build_integrated_calibration_bundle()
261  assert bundle["status"] == "pass"
262  assert bundle["calibration_bundle_schema_version"] == "phase3_planner_calibration_bundle_v1"
263  assert bundle["summary"]["total_cases"] == 75
264 
265 
268  assert payload["supported_claim"]["candidate_id"] in {
269  "span_budget_q2",
270  "span_budget_q3",
271  "span_budget_q4",
272  }
273  assert payload["summary"]["comparison_baseline_case_count"] == 50
274  assert payload["summary"]["approximation_area_count"] == 4
275  assert payload["summary"]["deferred_follow_on_branch_count"] == 4
276 
277 
279  bundle = build_claim_boundary_bundle()
280  assert bundle["status"] == "pass"
281  assert bundle["boundary_schema_version"] == "phase3_planner_calibration_claim_boundary_v1"
282  assert bundle["summary"]["selected_candidate_id"] in {
283  "span_budget_q2",
284  "span_budget_q3",
285  "span_budget_q4",
286  }
def build_planner_calibration_calibration_bundle_payload()
def test_planner_calibration_claim_selection_marks_supported_and_comparison_cases(claim_selection_payload)
def test_planner_calibration_correctness_bundle_core_fields_are_stable(calibration_correctness_cases)
def build_planner_calibration_claim_selection_payload()
def build_planner_calibration_planner_candidates
def build_planner_calibration_boundary_payload()
Definition: boundary.py:84
def test_phase3_planner_calibration_correctness_gate_marks_full_matrix_counted(calibration_correctness_cases)