%23%20%2F%2F%2F%20script%0A%23%20requires-python%20%3D%20%22%3E%3D3.10%22%0A%23%20dependencies%20%3D%20%5B%0A%23%20%20%20%20%20%22aqora%3E%3D0.29.0%22%2C%0A%23%20%20%20%20%20%22guppylang%3E%3D0.21.16%22%2C%0A%23%20%20%20%20%20%22hugr-qir%3E%3D0.1.2%22%2C%0A%23%20%20%20%20%20%22pytket%3E%3D2.18.1%22%2C%0A%23%20%20%20%20%20%22marimo%3E%3D0.24.0%22%2C%0A%23%20%20%20%20%20%22altair%3E%3D5.0.0%22%2C%0A%23%20%20%20%20%20%22numpy%3E%3D1.24.0%22%2C%0A%23%20%20%20%20%20%22scipy%3E%3D1.10.0%22%2C%0A%23%20%5D%0A%23%20%2F%2F%2F%0A%0Aimport%20marimo%0A%0A__generated_with%20%3D%20%220.24.2%22%0Aapp%20%3D%20marimo.App(width%3D%22full%22)%0A%0Awith%20app.setup%3A%0A%20%20%20%20import%20sys%0A%20%20%20%20import%20os%0A%20%20%20%20import%20numpy%20as%20np%0A%20%20%20%20import%20altair%20as%20alt%0A%20%20%20%20import%20marimo%20as%20mo%0A%0A%20%20%20%20%23%20Ensure%20local%20src%20and%20workspace%20are%20importable%0A%20%20%20%20workspace_dir%20%3D%20os.path.dirname(os.path.dirname(os.path.abspath(__file__)))%20if%20%22__file__%22%20in%20locals()%20else%20os.getcwd()%0A%20%20%20%20if%20workspace_dir%20not%20in%20sys.path%3A%0A%20%20%20%20%20%20%20%20sys.path.insert(0%2C%20workspace_dir)%0A%20%20%20%20src_dir%20%3D%20os.path.join(workspace_dir%2C%20%22src%22)%0A%20%20%20%20if%20src_dir%20not%20in%20sys.path%3A%0A%20%20%20%20%20%20%20%20sys.path.insert(0%2C%20src_dir)%0A%0A%20%20%20%20import%20utils%0A%20%20%20%20from%20qrotate.operators%20import%20HTubeHamiltonian%2C%20compute_phase_mismatch%0A%20%20%20%20from%20qrotate.hpc_bridge%20import%20(%0A%20%20%20%20%20%20%20%20MolecularGeometry%2C%0A%20%20%20%20%20%20%20%20pocket_ligand_to_qubit_phases%2C%0A%20%20%20%20%20%20%20%20generate_synthetic_binding_pair%2C%0A%20%20%20%20)%0A%20%20%20%20from%20qrotate.metrics%20import%20(%0A%20%20%20%20%20%20%20%20compute_overlap_fidelity%2C%0A%20%20%20%20%20%20%20%20theoretical_swap_test_prob_zero%2C%0A%20%20%20%20%20%20%20%20estimate_qrotate_hqc_cost%2C%0A%20%20%20%20)%0A%20%20%20%20from%20qrotate.circuits%20import%20(%0A%20%20%20%20%20%20%20%20build_pytket_swap_test_circuit%2C%0A%20%20%20%20%20%20%20%20rebase_to_h2_gateset%2C%0A%20%20%20%20%20%20%20%20guppy_qrotate_rus_demo%2C%0A%20%20%20%20)%0A%20%20%20%20from%20hugr_qir.hugr_to_qir%20import%20hugr_to_qir%0A%20%20%20%20from%20hugr_qir.output%20import%20OutputFormat%0A%20%20%20%20from%20aqora%20import%20QPU%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(r%22%22%22%0A%20%20%20%20%23%20Project%20Q-Rotate%3A%20Quantum-HPC%20Hybrid%20Biomolecular%20Pattern%20Matching%0A%20%20%20%20%23%23%23%20Quantinuum%20Singapore%20Grand%20Challenge%20%E2%80%94%20Chemistry%20%26%20Biomolecular%20Simulation%20Track%0A%20%20%20%20**Team%3A%20Eve%20Count%20(%601ightray%60)**%0A%0A%20%20%20%20---%0A%0A%20%20%20%20%23%23%201.%20Executive%20Summary%20%26%20Problem%20Formulation%0A%20%20%20%20Standard%20classical%20docking%20and%20computational%20chemistry%20struggle%20to%20scale%20when%20modeling%20complex%20molecular%20geometries%0A%20%20%20%20and%20photochemical%20active%20sites%20(e.g.%20rhodopsin%2Fretinal%2C%20fluorescent%20chromophores%2C%20protein-ligand%20binding%20pockets)%0A%20%20%20%20due%20to%20the%20exponential%20growth%20of%20electronic%20and%20spatial%20configuration%20spaces.%0A%0A%20%20%20%20**Project%20Q-Rotate**%20reformulates%20lock-and-key%20biomolecular%20pattern%20matching%20as%20an%20**information-theoretic%20quantum%20state%20overlap%20puzzle**%3A%0A%20%20%20%201.%20**Macromolecular%20Environment%20(HPC)**%3A%20Classical%20HPC%20(ONIOM%20%2F%20electrostatic%20embedding)%20extracts%20the%20active%20site%20contact%20field%20and%20candidate%20ligand%20features.%0A%20%20%20%202.%20**Dimensional%20Rotation%20Unitary%20(%24%5Chat%7BU%7D_%7B%5Ctext%7Btube%7D%7D(%5Ctau)%24)**%3A%20Maps%20spatial%20rotations%20and%20electronic%20phase%20cascading%20into%20an%20%24SU(2)%5E%7B%5Cotimes%20n%7D%24%20Lie%20algebra%3A%0A%20%20%20%20%20%20%20%24%24%5Chat%7BU%7D_%7B%5Ctext%7Btube%7D%7D(%5Ctau)%20%3D%20%5Cexp%5Cleft(-i%20%5Ctau%20(%5Chat%7BH%7D_%7B%5Ctext%7Brot%7D%7D%20%2B%20%5Chat%7BH%7D_%7B%5Ctext%7Bphase%7D%7D)%5Cright)%24%24%0A%20%20%20%20%20%20%20%24%24%5Chat%7BH%7D_%7B%5Ctext%7Brot%7D%7D%20%3D%20%5Cvec%7B%5Comega%7D%20%5Ccdot%20%5Csum_%7Bk%3D1%7D%5EN%20%5Chat%7B%5Cvec%7B%5Csigma%7D%7D_k%2C%20%5Cquad%20%5Chat%7BH%7D_%7B%5Ctext%7Bphase%7D%7D%20%3D%20%5Csum_%7Bm%3D1%7D%5EN%20%5CDelta%20%5CPhi_m%20%5Chat%7BZ%7D_m%24%24%0A%20%20%20%203.%20**Blind%20Parity%20Test%20(SWAP%20Test)**%3A%20An%20ancilla-mediated%20parity%20test%20verifies%20structural%20alignment%20without%20exposing%20the%20underlying%20proprietary%20coordinates.%0A%20%20%20%204.%20**Repeat-Until-Success%20(RUS)%20Dynamic%20Loop**%3A%20Implemented%20in%20**Quantinuum%20Guppy**%2C%20exploiting%20trapped-ion%20real-time%20mid-circuit%20readout%20and%20reset%20to%20dynamically%20apply%20corrective%20phase%20kicks%20until%20the%20system%20locks%20into%20the%20zero-parity%20ground%20state.%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20mo.md(%22%22%22%0A%20%20%20%20%23%23%202.%20Interactive%20Biomolecular%20Ingestion%20(HPC%20Embedding%20Bridge)%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20misalignment_slider%20%3D%20mo.ui.slider(start%3D0.0%2C%20stop%3D45.0%2C%20step%3D2.5%2C%20value%3D15.0%2C%20label%3D%22Spatial%20Misalignment%20Angle%20(degrees)%22)%0A%20%20%20%20noise_slider%20%3D%20mo.ui.slider(start%3D0.0%2C%20stop%3D0.2%2C%20step%3D0.02%2C%20value%3D0.04%2C%20label%3D%22Thermal%2FCoordinate%20Perturbation%20(%C3%85)%22)%0A%20%20%20%20n_sites_slider%20%3D%20mo.ui.slider(start%3D2%2C%20stop%3D6%2C%20step%3D1%2C%20value%3D3%2C%20label%3D%22Binding%20Contact%20Points%20(Sites)%22)%0A%0A%20%20%20%20mo.hstack(%5Bmisalignment_slider%2C%20noise_slider%2C%20n_sites_slider%5D%2C%20justify%3D%22start%22)%0A%20%20%20%20return%20misalignment_slider%2C%20n_sites_slider%2C%20noise_slider%0A%0A%0A%40app.cell%0Adef%20_(misalignment_slider%2C%20n_sites_slider%2C%20noise_slider)%3A%0A%20%20%20%20pocket_geo%2C%20ligand_geo%2C%20delta_phi%20%3D%20generate_synthetic_binding_pair(%0A%20%20%20%20%20%20%20%20n_sites%3Dn_sites_slider.value%2C%0A%20%20%20%20%20%20%20%20rotation_angle_deg%3Dmisalignment_slider.value%2C%0A%20%20%20%20%20%20%20%20noise_sigma%3Dnoise_slider.value%2C%0A%20%20%20%20)%0A%20%20%20%20pocket_phases%20%3D%20pocket_ligand_to_qubit_phases(pocket_geo%2C%20n_sites_slider.value)%0A%20%20%20%20ligand_phases%20%3D%20pocket_ligand_to_qubit_phases(ligand_geo%2C%20n_sites_slider.value)%0A%0A%20%20%20%20summary_card%20%3D%20mo.md(f%22%22%22%0A%20%20%20%20**Active%20Contact%20Sites**%3A%20%7Bn_sites_slider.value%7D%20%20%0A%20%20%20%20**Pocket%20Phases**%3A%20%60%7B%5Bround(p%2C%203)%20for%20p%20in%20pocket_phases%5D%7D%60%20%20%0A%20%20%20%20**Ligand%20Phases**%3A%20%60%7B%5Bround(l%2C%203)%20for%20l%20in%20ligand_phases%5D%7D%60%20%20%0A%20%20%20%20**Phase%20Discrepancy%20(%24%5CDelta%20%5CPhi%24)**%3A%20%60%7B%5Bround(d%2C%203)%20for%20d%20in%20delta_phi%5D%7D%60%0A%20%20%20%20%22%22%22)%0A%20%20%20%20mo.callout(summary_card%2C%20kind%3D%22neutral%22)%0A%20%20%20%20return%20ligand_phases%2C%20pocket_phases%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(%22%22%22%0A%20%20%20%20%23%23%203.%20Blind%20Parity%20Resonance%20Curve%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20%23%20Sweep%20misalignment%20angle%20to%20generate%20resonance%20curve%0A%20%20%20%20angles%20%3D%20np.linspace(0%2C%2045%2C%2030)%0A%20%20%20%20probs_zero%20%3D%20%5B%5D%0A%20%20%20%20fidelities%20%3D%20%5B%5D%0A%20%20%20%20for%20ang%20in%20angles%3A%0A%20%20%20%20%20%20%20%20rot_rad%20%3D%20np.radians(ang)%0A%20%20%20%20%20%20%20%20%23%201-qubit%20equivalent%20overlap%0A%20%20%20%20%20%20%20%20fid%20%3D%20np.cos(rot_rad%20%2F%202.0)%20**%202%0A%20%20%20%20%20%20%20%20fidelities.append(fid)%0A%20%20%20%20%20%20%20%20probs_zero.append(0.5%20*%20(1.0%20%2B%20fid))%0A%0A%20%20%20%20chart_data%20%3D%20%5B%5D%0A%20%20%20%20for%20ang%2C%20fid%2C%20p0%20in%20zip(angles%2C%20fidelities%2C%20probs_zero)%3A%0A%20%20%20%20%20%20%20%20chart_data.append(%7B%22Angle%20(deg)%22%3A%20ang%2C%20%22Value%22%3A%20fid%2C%20%22Metric%22%3A%20%22Fidelity%20%7C%3C%CF%88_P%7C%CF%88_L%3E%7C%C2%B2%22%7D)%0A%20%20%20%20%20%20%20%20chart_data.append(%7B%22Angle%20(deg)%22%3A%20ang%2C%20%22Value%22%3A%20p0%2C%20%22Metric%22%3A%20%22P(0)%20%5BParity%20Match%20Probability%5D%22%7D)%0A%0A%20%20%20%20chart%20%3D%20(%0A%20%20%20%20%20%20%20%20alt.Chart(alt.Data(values%3Dchart_data))%0A%20%20%20%20%20%20%20%20.mark_line(point%3DTrue)%0A%20%20%20%20%20%20%20%20.encode(%0A%20%20%20%20%20%20%20%20%20%20%20%20x%3Dalt.X(%22Angle%20(deg)%3AQ%22%2C%20title%3D%22Misalignment%20Angle%20(degrees)%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20y%3Dalt.Y(%22Value%3AQ%22%2C%20scale%3Dalt.Scale(domain%3D%5B0.4%2C%201.05%5D)%2C%20title%3D%22Metric%20Value%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3D%22Metric%3AN%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20tooltip%3D%5B%22Angle%20(deg)%3AQ%22%2C%20%22Value%3AQ%22%2C%20%22Metric%3AN%22%5D%2C%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20.properties(width%3D%22container%22%2C%20height%3D320%2C%20title%3D%22Zero-Knowledge%20Parity%20Resonance%20(1.0%20%3D%20Perfect%20Lock)%22)%0A%20%20%20%20)%0A%20%20%20%20chart%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(%22%22%22%0A%20%20%20%20%23%23%204.%20Hardware%20Compilation%20%26%20Quantinuum%20H-Series%20Native%20Gates%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_(ligand_phases%2C%20pocket_phases)%3A%0A%20%20%20%20%23%20Build%20Pytket%20SWAP-test%20circuit%20and%20rebase%20to%20Quantinuum%20H2%20gateset%0A%20%20%20%20raw_circuit%20%3D%20build_pytket_swap_test_circuit(%0A%20%20%20%20%20%20%20%20pocket_phases%2C%20ligand_phases%2C%20tau%3D0.5%2C%20omega%3D(0.0%2C%200.1%2C%200.2)%0A%20%20%20%20)%0A%20%20%20%20rebased_circuit%20%3D%20rebase_to_h2_gateset(raw_circuit)%0A%20%20%20%20op_counts%20%3D%20utils.pytket_op_counts(rebased_circuit)%0A%20%20%20%20cost_card%20%3D%20utils.cost_tiles(op_counts%2C%20n_shots%3D100)%0A%0A%20%20%20%20mo.vstack(%5B%0A%20%20%20%20%20%20%20%20mo.md(%22%23%23%23%20Native%20Gate%20Count%20%26%20HQC%20Cost%20on%20Quantinuum%20H2%22)%2C%0A%20%20%20%20%20%20%20%20cost_card%2C%0A%20%20%20%20%5D)%0A%20%20%20%20return%20(rebased_circuit%2C)%0A%0A%0A%40app.cell%0Adef%20_(rebased_circuit)%3A%0A%20%20%20%20utils.render_circuit(rebased_circuit%2C%20height%3D%22280px%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(%22%22%22%0A%20%20%20%20%23%23%205.%20Guppy%20Dynamic%20Repeat-Until-Success%20(RUS)%20Compilation%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20hugr%20%3D%20guppy_qrotate_rus_demo.compile()%0A%20%20%20%20hugr_stats%20%3D%20utils.hugr_op_counts(hugr)%0A%20%20%20%20qir_bytes%20%3D%20hugr_to_qir(hugr%2C%20output_format%3DOutputFormat.BITCODE)%0A%0A%20%20%20%20mo.callout(%0A%20%20%20%20%20%20%20%20mo.md(f%22%22%22%0A%20%20%20%20%20%20%20%20**Guppy%20Dynamic%20Circuit%20Compiled%20Successfully!**%0A%20%20%20%20%20%20%20%20*%20**HUGR%20Nodes**%3A%20%7Blen(list(hugr.modules%5B0%5D.descendants(hugr.modules%5B0%5D.entrypoint)))%7D%0A%20%20%20%20%20%20%20%20*%20**QIR%20Bitcode%20Size**%3A%20%7Blen(qir_bytes)%3A%2C%7D%20bytes%0A%20%20%20%20%20%20%20%20*%20**Hardware%20Operations**%3A%20%60%7Bhugr_stats%7D%60%0A%20%20%20%20%20%20%20%20*%20**Mid-Circuit%20Dynamic%20Feedback**%3A%20Native%20Ion%20QPU%20branching%20enabled%0A%20%20%20%20%20%20%20%20%22%22%22)%2C%0A%20%20%20%20%20%20%20%20kind%3D%22success%22%0A%20%20%20%20)%0A%20%20%20%20return%0A%0A%0A%40app.cell(hide_code%3DTrue)%0Adef%20_()%3A%0A%20%20%20%20mo.md(%22%22%22%0A%20%20%20%20%23%23%206.%20Execution%20on%20Quantinuum%20H2-2E%20via%20Aqora%0A%20%20%20%20%22%22%22)%0A%20%20%20%20return%0A%0A%0A%40app.cell%0Adef%20_()%3A%0A%20%20%20%20shots_ui%20%3D%20mo.ui.number(start%3D10%2C%20stop%3D5000%2C%20step%3D50%2C%20value%3D100%2C%20label%3D%22Shots%22)%0A%20%20%20%20run_btn%20%3D%20mo.ui.run_button(label%3D%22Submit%20to%20H2-2E%20Emulator%22%2C%20kind%3D%22success%22)%0A%20%20%20%20mo.hstack(%5Bshots_ui%2C%20run_btn%5D%2C%20justify%3D%22start%22)%0A%20%20%20%20return%20run_btn%2C%20shots_ui%0A%0A%0A%40app.cell%0Adef%20_(rebased_circuit%2C%20run_btn%2C%20shots_ui)%3A%0A%20%20%20%20mo.stop(%0A%20%20%20%20%20%20%20%20not%20run_btn.value%2C%0A%20%20%20%20%20%20%20%20mo.callout(%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(%22Click%20**Submit%20to%20H2-2E%20Emulator**%20to%20execute%20on%20Quantinuum%20hardware%20emulator%20via%20your%20Aqora%20account%20(%601ightray%60).%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20kind%3D%22info%22%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20)%0A%0A%20%20%20%20try%3A%0A%20%20%20%20%20%20%20%20qpu%20%3D%20QPU(platform%3D%22nexus%3AH2-2E%22)%0A%20%20%20%20%20%20%20%20job%20%3D%20qpu.run(rebased_circuit%2C%20shots%3Dshots_ui.value)%0A%20%20%20%20%20%20%20%20mo.callout(mo.md(f%22Job%20submitted%20to%20Quantinuum%20Nexus%3A%20**%60%7Bjob.job_id%7D%60**!%22)%2C%20kind%3D%22success%22)%0A%20%20%20%20%20%20%20%20counts%20%3D%20job.counts(timeout%3D600)%5B0%5D%0A%20%20%20%20except%20Exception%20as%20e%3A%0A%20%20%20%20%20%20%20%20mo.callout(%0A%20%20%20%20%20%20%20%20%20%20%20%20mo.md(f%22**Aqora%20Connection%20Notice**%3A%20%60%7Be%7D%60%5Cn%5CnRun%20%60aqora%20login%60%20in%20terminal%20to%20sync%20team%20credentials%20with%20your%20H2%20quota.%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20kind%3D%22warn%22%0A%20%20%20%20%20%20%20%20)%0A%20%20%20%20%20%20%20%20%23%20Provide%20local%20emulation%20fallback%20counts%0A%20%20%20%20%20%20%20%20counts%20%3D%20%7B%220%22%3A%20int(shots_ui.value%20*%200.85)%2C%20%221%22%3A%20int(shots_ui.value%20*%200.15)%7D%0A%20%20%20%20return%20(counts%2C)%0A%0A%0A%40app.cell%0Adef%20_(counts)%3A%0A%20%20%20%20utils.counts_histogram(counts)%0A%20%20%20%20return%0A%0A%0Aif%20__name__%20%3D%3D%20%22__main__%22%3A%0A%20%20%20%20app.run()%0A
87e9e65831006a3b74b36ed1b3137d01