Lumaktaw sa pangunahing nilalaman

Operator backpropagation (OBP)

Ang operator backpropagation (OBP) ay isang teknik para mabawasan ang lalim ng Circuit sa pamamagitan ng pag-aalis ng mga operasyon mula sa dulo nito, ngunit kapalit nito ay mas maraming operator measurements. Maraming paraan para isagawa ang operator backpropagation, at gumagamit ang package na ito ng pamamaraang batay sa Clifford perturbation theory [1].

Habang nagpapalawig ng operator nang mas malayo sa loob ng isang Circuit, lumalaki nang exponential ang sukat ng observable na kailangang sukatin. Nagdudulot ito ng overhead sa parehong klasikal at quantum na resources. Gayunpaman, para sa ilang Circuit, ang nagresultang distribusyon ng mga karagdagang Pauli observable ay mas nakakonsentrate kaysa sa pinakamasahang kaso ng exponential scaling. Ibig sabihin, ang ilang termino sa isang observable na may maliliit na coefficient ay maaaring putulin para mabawasan ang quantum overhead. Maaaring kontrolin ang error na dulot nito para mahanap ang angkop na balanse sa pagitan ng katumpakan at kahusayan.

Pag-install​

Maaari mong i-install ang OBP package sa dalawang paraan: sa pamamagitan ng PyPI o sa pamamagitan ng pagbuo mula sa source. Isaalang-alang ang pag-install ng mga package na ito sa isang virtual environment para masiguro ang paghihiwalay ng mga package dependency.

I-install mula sa PyPI​

Ang pinakamadaling paraan para i-install ang qiskit-addon-obp package ay sa pamamagitan ng PyPI.

pip install qiskit-addon-obp

Buuin mula sa source​

Ang mga user na gustong mag-ambag sa package na ito o gustong i-install ito nang manu-mano ay maaaring gawin ito sa pamamagitan ng pag-clone muna ng repository:

git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_

at i-install ang package sa pamamagitan ng `pip`. Naglalaman din ang repository ng mga halimbawang notebook. Kung plano mong mag-develop sa repository, i-install ang mga `dev` dependency.

Ayusin ang mga opsyon ayon sa iyong pangangailangan:

```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'

Teoretikal na background​

Ang OBP na pamamaraan na ipinatupad sa package na ito ay detalyadong inilarawan sa [1]. Kapag gumagamit ng Estimator primitive, ang output ng isang quantum workload ay ang pagtatantya ng isa o higit pang expectation value na ⟨O⟩\langle O \rangle kaugnay ng ilang estado na inihanda gamit ang isang QPU. Ibinubuod ng seksyong ito ang pamamaraan.

Una, simulan sa pagsusulat ng expectation value measurement ng isang observable na OO sa mga tuntunin ng ilang paunang estado na ∣ψ⟩|\psi\rangle at isang quantum Circuit na UQU_Q:

⟨O⟩U∣ψ⟩=⟨ψ∣U†OU∣ψ⟩.\langle O \rangle_{U|\psi\rangle} = \langle\psi | U^\dagger O U |\psi \rangle.

Para ipamahagi ang problemang ito sa parehong klasikal at quantum na resources, hatiin ang Circuit na UU sa dalawang subcircuit, UCU_C at UQU_Q, klasikal na simulate ang Circuit na UCU_C, pagkatapos ay isagawa ang Circuit na UQU_Q sa quantum hardware at gamitin ang mga resulta ng klasikal na simulation para muling buuin ang sukat ng observable na OO.

Diagram ng OBP na nagpapakita ng paghahati ng Circuit sa dalawang subcircuit, klasikal na pagkalkula ng isa sa mga subcircuit, at pagkatapos ay pagsukΠ°Ρ‚ ng isa pang Circuit gamit ang quantum hardware

Ang subcircuit na UCU_C ay dapat mapili para maging klasikal na masimulate at kukalkula ng expectation value

⟨Oβ€²βŸ©β‰‘UC†OUC,\langle O' \rangle \equiv U_C^\dagger O U_C,

na siyang bersyon ng paunang operator na OO na na-evolve sa Circuit na UCU_C. Kapag natukoy na ang Oβ€²O', ihahanda ang quantum workload kung saan sisimulan ang estado na ∣ψ⟩|\psi\rangle, ilalapat ang Circuit na UQU_Q dito, at pagkatapos ay susukat ng expectation value na Oβ€²O'. Maaari mong ipakita na katumbas ito ng pagsukat ng ⟨O⟩\langle O \rangle sa pamamagitan ng pagsusulat ng:

⟨ψ∣UQ†Oβ€²UQψ⟩=⟨ψ∣UQ†UC†OUCUQψ⟩=⟨ψ∣U†OU∣ψ⟩=⟨O⟩U∣ψ⟩ \langle \psi | U_Q^\dagger O' U_Q \psi \rangle = \langle \psi | U_Q^\dagger U_C^\dagger O U_CU_Q \psi \rangle = \langle\psi | U^\dagger O U |\psi \rangle = \langle O \rangle_{U|\psi\rangle}

Sa huli, para masukat ang expectation value na ⟨Oβ€²βŸ©\langle O' \rangle, kailangan nating tiyakin na ito ay maaaring ma-decompose sa isang kabuuan ng mga Pauli string

Oβ€²=βˆ‘PcPP,O' = \sum_P c_P P,

kung saan ang cPc_P ay mga tunay na coefficient ng decomposition at ang PP ay isang Pauli string na binubuo ng mga operator na II, XX, YY, at ZZ. Tinitiyak nito na maaari mong muling buuin ang expectation value ng OO sa pamamagitan ng

⟨ψ∣UQ†Oβ€²βˆ£ΟˆβŸ©=βˆ‘PcP⟨ψ∣UQ†PUQ∣ψ⟩.\langle \psi | U_Q^\dagger O' |\psi \rangle = \sum_P c_P \langle \psi | U_Q^\dagger P U_Q | \psi \rangle.

Pagputol ng mga termino​

Nag-aalok ang pamamaraang ito ng balanse sa pagitan ng kinakailangang lalim ng Circuit ng UQU_Q, ang bilang ng mga pagpapatakbo ng Circuit sa quantum hardware, at ang dami ng klasikal na computing resources na kailangan para kalkulahin ang Oβ€²O'. Sa pangkalahatan, habang pipili kang mag-backpropagate nang mas malayo sa isang Circuit, ang bilang ng mga Pauli string na susukat pati na rin ang error-mitigation overhead ay parehong lumalaki nang exponential (kasabay ng mga klasikal na resources na kailangan para mag-simulate ng UCU_C).

Sa kabutihang-palad, ang decomposition ng Oβ€²O' ay madalas na naglalaman ng mga coefficient na medyo maliit at maaaring putulin mula sa mga panghuling sukat na ginagamit para muling buuin ang OO nang hindi nagdudulot ng malaking error. Ang qiskit-addon-obp package ay may kakayahang tumukoy ng error budget, na maaaring awtomatikong maghanap ng mga termino na maaaring putulin, sa loob ng ilang error tolerance.

Clifford perturbation theory​

Sa huli, ang qiskit-addon-obp package ay lumalabas sa operator backpropagation batay sa Clifford perturbation theory. Ang pamamaraang ito ay may kalamangan na ang overhead na dulot ng pag-backpropagate ng iba't ibang Gate ay sumusukat ayon sa non-Cliffordness ng UCU_C (ibig sabihin, gaano karami sa UCU_C ang binubuo ng mga non-Clifford instruction).

Ang pamamaraang ito sa OBP ay nagsisimula sa paghahati ng na-simulate na Circuit, UCU_C, sa mga slice:

UC=∏s=1SUs=US...U2U1,U_C = \prod_{s=1}^S \mathcal{U}_s = \mathcal{U}_S...\mathcal{U}_2\mathcal{U}_1,

kung saan ang SS ay kumakatawan sa kabuuang bilang ng mga slice at ang Us\mathcal{U}_s ay nagtatanda ng isang slice ng Circuit na UCU_C. Ang bawat isa sa mga slice na ito ay pagkatapos ay analitikong inilalapat nang sunud-sunod para masukat ang back propagated operator na Oβ€²O' at maaari o hindi maaaring mag-ambag sa kabuuang sukat ng kabuuan, depende kung ang slice ay isang Clifford o non-Clifford na operasyon. Kung may inilaan na error budget, ang truncation ay magaganap sa pagitan ng pagpapalagay ng bawat slice.

Mga susunod na hakbang​

Mga rekomendasyon

Mga sanggunian​

[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).