Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
phase31_output_integrity_validation.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 """Stage-A Phase 3.1 output integrity and continuity energy (six cases).
3 
4 Run with:
5  python benchmarks/density_matrix/correctness_evidence/phase31_output_integrity_validation.py
6 """
7 
8 from __future__ import annotations
9 
10 from benchmarks.density_matrix.correctness_evidence.common import (
11  CORRECTNESS_EVIDENCE_PHASE31_CASE_SCHEMA_VERSION,
12  phase31_correctness_evidence_output_dir,
13 )
14 from benchmarks.density_matrix.correctness_evidence.records import (
15  build_phase31_correctness_evidence_positive_records,
16 )
17 from benchmarks.density_matrix.correctness_evidence.validation_support import (
18  assemble_positive_case_bundle,
19 )
20 from benchmarks.density_matrix.validation_scaffold import (
21  require_bundle_fields,
22  run_case_slice_cli,
23 )
24 
25 SUITE_NAME = "correctness_evidence_phase31_output_integrity"
26 ARTIFACT_FILENAME = "phase31_output_integrity_bundle.json"
27 DEFAULT_OUTPUT_DIR = phase31_correctness_evidence_output_dir("output_integrity")
28 ARTIFACT_CORE_FIELDS = (
29  "suite_name",
30  "status",
31  "record_schema_version",
32  "software",
33  "selected_candidate",
34  "summary",
35  "cases",
36 )
37 
38 
39 def build_cases() -> list[dict]:
41 
42 
43 def build_artifact_bundle(cases: list[dict]) -> dict:
44  output_integrity_passes = sum(case["output_integrity_pass"] for case in cases)
45  continuity_cases = [case for case in cases if case["continuity_energy_required"]]
46  continuity_energy_passes = sum(case["continuity_energy_pass"] for case in continuity_cases)
47  status = (
48  "pass"
49  if len(cases) == 6
50  and output_integrity_passes == len(cases)
51  and continuity_energy_passes == len(continuity_cases)
52  else "fail"
53  )
54  summary = {
55  "package_kind": "phase31_stage_a_bounded",
56  "total_cases": len(cases),
57  "output_integrity_passes": output_integrity_passes,
58  "continuity_cases": len(continuity_cases),
59  "continuity_energy_passes": continuity_energy_passes,
60  }
62  SUITE_NAME,
63  status,
64  summary,
65  cases,
66  record_schema_version=CORRECTNESS_EVIDENCE_PHASE31_CASE_SCHEMA_VERSION,
67  )
68  require_bundle_fields(bundle, ARTIFACT_CORE_FIELDS, "Phase 3.1 output integrity bundle")
69  return bundle
70 
71 
72 def main(argv: list[str] | None = None) -> int:
73  return run_case_slice_cli(
74  argv,
75  build_cases=build_cases,
76  build_artifact_bundle=build_artifact_bundle,
77  artifact_filename=ARTIFACT_FILENAME,
78  default_output_dir=DEFAULT_OUTPUT_DIR,
79  description=__doc__ or "",
80  output_dir_help="Directory to write the Phase 3.1 output integrity bundle into.",
81  quiet_report=lambda b: print(
82  "output_integrity_passes={output_integrity_passes}, total_cases={total_cases}".format(
83  **b["summary"]
84  )
85  ),
86  )
87 
88 
89 if __name__ == "__main__":
90  raise SystemExit(main())
def build_phase31_correctness_evidence_positive_records()
def phase31_correctness_evidence_output_dir