Lewati ke konten utama
Proyek ini masih dalam tahap beta. Menemukan bug? Buat isu GitHub. Punya pertanyaan atau ide? Tanya di Discussions — kami sangat menghargai masukan kamu!
Bagaimana kualitas terjemahan di halaman ini?

Pauli propagation

Paket pauli-prop menyediakan antarmuka Python yang dipercepat dengan Rust untuk melakukan Pauli propagation.

Pauli propagation adalah kerangka kerja untuk mengaproksimasi evolusi operator dalam basis Pauli di bawah aksi operator lain, seperti gate circuit kuantum dan noise channel. Pendekatan ini bisa efektif ketika operator yang terlibat diperkirakan tetap sparse dalam basis Pauli.

Subrutin di paket ini bisa dipakai untuk mengimplementasikan teknik error mitigation seperti lightcone shading [6] dan propagated noise absorption [7], operator backpropagation [8] untuk mengurangi kedalaman circuit, serta simulasi klasik nilai ekspektasi [1-5].

Mulai​

Panduan sederhana untuk membantu kamu mulai dengan cepat memakai paket ini tersedia di panduan quickstart.

Contoh kasus penggunaan​

Pauli propagation bisa dipakai sebagai mesin tingkat rendah untuk mengimplementasikan berbagai teknik. Beberapa contoh penggunaannya adalah:

  • Lightcone shading untuk mengurangi overhead sampling dari probabilistic error cancellation (PEC) dalam memitigasi nilai ekspektasi pada model Ising medan transversal 1D dan 2D [6] [qiskit-addon-slc docs]

  • Menyerap informasi noise model ke dalam observable target untuk memitigasi nilai ekspektasi pada model Ising medan transversal 2D [7] [qiskit-addon-pna docs]

  • Memangkas gate di bagian ujung untuk menghasilkan circuit Trotter berkedalaman lebih rendah bagi evolusi waktu model spin 2D [8] [qiskit-addon-obp docs]

Pembahasan teknis​

Detail perangkat lunak​

  • Antarmuka Python yang dipercepat dengan Rust

  • Dukungan untuk simulasi noisy [panduan]

  • Kemampuan memotong suku selama evolusi berdasarkan toleransi koefisien absolut, jumlah suku tetap pada operator yang berevolusi, atau kombinasi keduanya

  • Kemampuan melakukan Pauli propagation baik dalam kerangka Schrödinger maupun Heisenberg

  • Teknik baru untuk mengaproksimasi konjugasi operator jumlah-Pauli oleh operator Pauli lain. Implementasi heuristik ini secara greedy menghasilkan kontribusi pada hasil kali yang diperkirakan paling signifikan. Lihat Appendix B dari [7] untuk informasi lebih lanjut.

  • Berutas tunggal

Kebutuhan komputasi​

Baik biaya memori maupun waktu untuk rutin Pauli propagation umumnya berskala dengan ukuran yang boleh dicapai operator yang berevolusi.

propagate_through_rotation_gates(): Saat operator Pauli dipropagasikan dalam basis Pauli di bawah aksi urutan NN gate rotasi Pauli dari circuit MM-qubit, jumlah suku akan tumbuh sebesar O(2N)\mathcal{O}(2^N) menuju maksimum 4M4^M komponen Pauli yang unik. Untuk mengendalikan pemakaian memori, operator dipotong setelah penerapan tiap gate, yang menimbulkan sedikit error sebanding dengan besar koefisien suku yang dipotong. Kebutuhan memorinya linear terhadap ukuran operator yang berevolusi, dan waktu eksekusinya berskala linear terhadap ukuran operator maupun jumlah gate.

propagate_through_operator(): Mengonjugasikan satu operator dalam basis Pauli dengan operator lain dengan mengakumulasi suku-suku secara greedy dalam jumlah, ∑i,j,kGi†OjGk\sum_{i,j,k}G^{\dagger}_iO_jG_k, dengan i,j,ki,j,k adalah indeks sparse atas basis Pauli. Implementasi ini mengurutkan koefisien di tiap operator berdasarkan besar secara menurun lalu mencari di ruang indeks 3D suku-suku dengan koefisien terbesar, dimulai dari titik asal (0,0,0)(0,0,0), dan mengakumulasi triplet (i,j,k)(i,j,k) sampai batas tertentu. Waktu yang dipakai untuk pencarian sering bisa dibuat dapat diabaikan dengan memperbesar ukuran langkah pencarian di ruang (i,j,k)(i,j,k), yang memberi percepatan kubik untuk subrutin ini. Dalam profiling kami, waktu yang cukup besar bisa terpakai untuk mengurutkan operator dan melakukan perkalian Pauli guna menghasilkan suku-suku di operator baru.

Berkontribusi​

Kode sumbernya tersedia di GitHub.

Panduan developer ada di CONTRIBUTING.md di root repositori proyek ini. Dengan berpartisipasi, kamu diharapkan menjunjung kode etik Qiskit.

Kami memakai GitHub issues untuk melacak permintaan dan bug.

Mengutip paket ini​

Kalau kamu memakai paket ini dalam penelitianmu, pakai file CITATION.bib di repositori proyek ini untuk mengutip referensi yang sesuai.

Lisensi​

Apache License 2.0

Kebijakan Deprecation​

Kami mengikuti semantic versioning. Sesekali kami mungkin membuat perubahan yang merusak (breaking changes) demi memperbaiki pengalaman pengguna. Bila memungkinkan, kami akan mempertahankan antarmuka lama dan menandainya sebagai deprecated, selama masih bisa berdampingan dengan yang baru. Setiap peningkatan substansial, breaking change, atau deprecation akan didokumentasikan di release notes.

Referensi​

  1. [Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, Fast and converged classical simulations of evidence for the utility of quantum computing before fault tolerance, arXiv:2308.05077 [quant-ph].

  2. Nicolas Loizeau, et al., Quantum many-body simulations with PauliStrings.jl, arXiv:2410.09654 [quant-ph].

  3. Manuel S. Rudolph, et al., Pauli Propagation: A Computational Framework for Simulating Quantum Systems, arXiv:2505.21606 [quant-ph].

  4. Hrant Gharibyan, et al., A Practical Guide to using Pauli Path Simulators for Utility-Scale Quantum Experiments, arXiv:2507.10771 [quant-ph].

  5. Lukas Broers, et al., Scalable Simulation of Quantum Many-Body Dynamics with Or-Represented Quantum Algebra, arXiv:2506.13241 [quant-ph].

  6. Andrew Eddins, Minh C. Tran, Patrick Rall, Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401 [quant-ph].

  7. Andrew Eddins, et al., Computing noise-canceling observables via Pauli propagation, arXiv:2606.20441 [quant-ph].

8 Bryce Fuller, et al., Improved Quantum Computation using Operator Backpropagation, arXiv:2502.01897 [quant-ph].