Lewati ke konten utama

Operator backpropagation (OBP)

Operator backpropagation (OBP) adalah teknik untuk mengurangi kedalaman Circuit dengan memangkas operasi dari bagian akhirnya, dengan kompensasi lebih banyak pengukuran operator. Ada beberapa cara untuk melakukan operator backpropagation, dan paket ini menggunakan metode berbasis teori perturbasi Clifford [1].

Saat kita mempropagasi operator lebih jauh melalui sebuah Circuit, ukuran observable yang perlu diukur tumbuh secara eksponensial. Ini menghasilkan overhead sumber daya klasik maupun kuantum. Namun, untuk beberapa Circuit, distribusi Pauli observable tambahan yang dihasilkan lebih terkonsentrasi dibanding skala eksponensial kasus terburuk. Ini berarti beberapa suku dalam observable dengan koefisien kecil bisa dipangkas untuk mengurangi overhead kuantum. Error yang ditimbulkan bisa dikendalikan untuk menemukan keseimbangan yang tepat antara presisi dan efisiensi.

Instalasi​

Kamu bisa menginstal paket OBP dengan dua cara: lewat PyPI atau membangun dari sumber. Pertimbangkan untuk menginstal paket-paket ini dalam virtual environment agar dependensi paket tetap terpisah.

Instal dari PyPI​

Cara paling mudah untuk menginstal paket qiskit-addon-obp adalah lewat PyPI.

pip install qiskit-addon-obp

Bangun dari sumber​

Pengguna yang ingin berkontribusi ke paket ini atau yang ingin menginstalnya secara manual bisa melakukannya dengan terlebih dahulu meng-clone repositori:

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

lalu instal paket lewat `pip`. Repositori juga berisi notebook contoh. Kalau kamu berencana untuk mengembangkan di repositori, instal dependensi `dev`.

Sesuaikan opsi sesuai kebutuhanmu:

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

Latar belakang teori​

Prosedur OBP yang diimplementasikan dalam paket ini dijelaskan secara detail di [1]. Saat menggunakan primitif Estimator, output dari beban kerja kuantum adalah estimasi satu atau lebih nilai ekspektasi ⟨O⟩\langle O \rangle terhadap suatu state yang disiapkan menggunakan QPU. Bagian ini merangkum prosedurnya.

Pertama, mulai dengan menuliskan pengukuran nilai ekspektasi dari observable OO dalam bentuk state awal ∣ψ⟩|\psi\rangle dan Circuit kuantum UQU_Q:

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

Untuk mendistribusikan masalah ini ke sumber daya klasik dan kuantum, bagi Circuit UU menjadi dua sub-Circuit, UCU_C dan UQU_Q, simulasikan Circuit UCU_C secara klasik, lalu jalankan Circuit UQU_Q di perangkat keras kuantum dan gunakan hasil simulasi klasik untuk merekonstruksi pengukuran observable OO.

Diagram OBP yang menggambarkan pembagian Circuit menjadi dua sub-Circuit, komputasi klasik salah satunya, lalu pengukuran Circuit lainnya menggunakan perangkat keras kuantum

Sub-Circuit UCU_C harus dipilih agar bisa disimulasikan secara klasik dan akan menghitung nilai ekspektasi

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

yang merupakan versi operator awal OO yang telah berevolusi melalui Circuit UCU_C. Setelah Oβ€²O' ditentukan, beban kerja kuantum disiapkan di mana state ∣ψ⟩|\psi\rangle diinisiasi, Circuit UQU_Q diterapkan padanya, lalu mengukur nilai ekspektasi Oβ€²O'. Kamu bisa menunjukkan bahwa ini setara dengan mengukur ⟨O⟩\langle O \rangle dengan menuliskan:

⟨ψ∣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}

Terakhir, agar bisa mengukur nilai ekspektasi ⟨Oβ€²βŸ©\langle O' \rangle, kita harus memastikan bahwa itu bisa didekomposisi menjadi jumlah string Pauli

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

di mana cPc_P adalah koefisien real dari dekomposisi dan PP adalah string Pauli yang tersusun dari operator II, XX, YY, dan ZZ. Ini memastikan kamu bisa merekonstruksi nilai ekspektasi OO dengan

⟨ψ∣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.

Memangkas suku​

Skema ini menawarkan keseimbangan antara kedalaman Circuit UQU_Q yang dibutuhkan, jumlah eksekusi Circuit di perangkat keras kuantum, dan jumlah sumber daya komputasi klasik yang diperlukan untuk menghitung Oβ€²O'. Secara umum, semakin jauh kamu memilih untuk membackpropagate melalui Circuit, semakin banyak string Pauli yang perlu diukur serta overhead mitigasi error yang keduanya tumbuh secara eksponensial (bersamaan dengan sumber daya klasik yang dibutuhkan untuk mensimulasikan UCU_C).

Untungnya, dekomposisi Oβ€²O' seringkali bisa mengandung koefisien yang sangat kecil dan bisa dipangkas dari pengukuran akhir yang digunakan untuk merekonstruksi OO tanpa menimbulkan banyak error. Paket qiskit-addon-obp memiliki fungsionalitas untuk menentukan anggaran error, yang secara otomatis bisa mencari suku-suku yang bisa dipangkas, dalam batas toleransi error tertentu.

Teori perturbasi Clifford​

Terakhir, paket qiskit-addon-obp mendekati operator backpropagation berdasarkan teori perturbasi Clifford. Metode ini memiliki keuntungan bahwa overhead yang ditimbulkan oleh backpropagation berbagai Gate berskala dengan non-Cliffordness dari UCU_C (yaitu seberapa banyak UCU_C terdiri dari instruksi non-Clifford).

Pendekatan OBP ini dimulai dengan membagi Circuit yang disimulasikan, UCU_C, menjadi slice:

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

di mana SS merepresentasikan jumlah total slice dan Us\mathcal{U}_s menunjukkan satu slice dari Circuit UCU_C. Setiap slice ini kemudian diterapkan secara analitik secara berurutan untuk mengukur operator yang telah dipropagasi balik Oβ€²O' dan mungkin atau tidak berkontribusi pada ukuran keseluruhan jumlah, tergantung apakah slice tersebut merupakan operasi Clifford atau non-Clifford. Jika anggaran error dialokasikan, pemangkasan kemudian akan terjadi di antara penerapan setiap slice.

Langkah selanjutnya​

Rekomendasi

Referensi​

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

Source: IBM Quantum docs β€” updated 13 Feb 2026
English version on doQumentation β€” updated 7 Mei 2026
This translation based on the English version of 11 Mar 2026