Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
fusion_case_selection.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 """Representative workload iterators for fused partitioned-runtime validation."""
3 
4 from __future__ import annotations
5 
6 import sys
7 from pathlib import Path
8 
9 REPO_ROOT = Path(__file__).resolve().parents[3]
10 if str(REPO_ROOT) not in sys.path:
11  sys.path.insert(0, str(REPO_ROOT))
12 
13 from benchmarks.density_matrix.partitioned_runtime.common import build_initial_parameters
14 from benchmarks.density_matrix.planner_surface.common import build_phase2_continuity_vqe
15 from benchmarks.density_matrix.planner_surface.workloads import (
16  iter_microcase_descriptor_sets,
17  iter_structured_descriptor_sets,
18 )
19 from squander.partitioning.noisy_planner import build_phase3_continuity_partition_descriptor_set
20 
21 CONTINUITY_QUBITS = (4, 6, 8, 10)
22 
23 
25  for qbit_num in CONTINUITY_QUBITS:
26  vqe, hamiltonian, topology = build_phase2_continuity_vqe(qbit_num)
28  parameters = build_initial_parameters(vqe.get_Parameter_Num())
29  metadata = {
30  "case_name": f"phase2_xxz_hea_q{qbit_num}_continuity",
31  "workload_id": f"phase2_xxz_hea_q{qbit_num}_continuity",
32  "case_kind": "continuity",
33  "qbit_num": qbit_num,
34  "topology": topology,
35  "continuity_energy_real": float(vqe.Optimization_Problem(parameters)),
36  }
37  yield metadata, descriptor_set, parameters, hamiltonian
38 
39 
41  for metadata, descriptor_set in iter_microcase_descriptor_sets():
42  case_metadata = dict(metadata)
43  case_metadata["workload_id"] = case_metadata.get("workload_id", case_metadata["case_name"])
44  case_metadata["case_kind"] = "microcase"
45  yield case_metadata, descriptor_set, build_initial_parameters(
46  descriptor_set.parameter_count
47  )
48 
49 
51  for metadata, descriptor_set in iter_structured_descriptor_sets():
52  case_metadata = dict(metadata)
53  case_metadata["case_kind"] = "structured_family"
54  yield case_metadata, descriptor_set, build_initial_parameters(
55  descriptor_set.parameter_count
56  )
def build_phase2_continuity_vqe
def build_phase3_continuity_partition_descriptor_set