Mitigasi kesalahan tensor-network (TEM): Qiskit Function oleh Algorithmiq
Lihat referensi API
Qiskit Functions adalah fitur eksperimental yang hanya tersedia untuk pengguna IBM Quantum® Premium Plan, Flex Plan, dan On-Prem (via IBM Quantum Platform API) Plan. Fitur ini berada dalam status rilis pratinjau dan dapat berubah sewaktu-waktu.
Versi paket
Kode di halaman ini dikembangkan menggunakan persyaratan berikut. Kami merekomendasikan penggunaan versi ini atau yang lebih baru.
qiskit[all]~=2.4.0
Ikhtisar
Metode Tensor-network Error Mitigation (TEM) dari Algorithmiq adalah algoritma hybrid quantum-klasik yang dirancang untuk melakukan mitigasi noise sepenuhnya di tahap pasca-pemrosesan klasik. Dengan TEM, pengguna dapat menghitung nilai ekspektasi dari observable dengan memitigasi kesalahan akibat noise yang tak terhindarkan pada perangkat keras kuantum, dengan akurasi yang lebih tinggi dan efisiensi biaya yang lebih baik, menjadikannya pilihan yang sangat menarik bagi para peneliti kuantum maupun praktisi industri.
Metode ini terdiri dari membangun tensor network yang merepresentasikan invers dari kanal noise global yang memengaruhi keadaan prosesor kuantum, kemudian menerapkan peta tersebut pada hasil pengukuran yang informationally complete yang diperoleh dari keadaan bising untuk mendapatkan estimator yang tidak bias untuk observable.
Sebagai keunggulan, TEM memanfaatkan pengukuran yang informationally complete untuk memberikan akses ke sejumlah besar nilai ekspektasi observable yang telah dimitigasi, dan memiliki overhead sampling yang optimal pada perangkat keras kuantum, seperti yang dijelaskan dalam Filippov et al. (2023), arXiv:2307.11740, dan Filippov et al. (2024), arXiv:2403.13542. Overhead pengukuran mengacu pada jumlah pengukuran tambahan yang diperlukan untuk melakukan mitigasi kesalahan yang efisien, faktor kritis dalam kelayakan komputasi kuantum. Oleh karena itu, TEM berpotensi untuk memungkinkan keunggulan kuantum dalam skenario yang kompleks, seperti aplikasi di bidang quantum chaos, fisika many-body, dinamika Hubbard, dan simulasi kimia molekul kecil.
Fitur dan manfaat utama TEM dapat dirangkum sebagai berikut:
- Overhead pengukuran yang optimal: TEM optimal terhadap batas teoritis, yang berarti tidak ada metode lain yang dapat mencapai overhead pengukuran yang lebih kecil. Dengan kata lain, TEM membutuhkan jumlah pengukuran tambahan minimum untuk melakukan mitigasi kesalahan. Hal ini berarti TEM menggunakan runtime kuantum yang minimal.
- Efisiensi biaya: Karena TEM menangani mitigasi noise sepenuhnya di tahap pasca-pemrosesan, tidak perlu menambahkan Circuit tambahan ke komputer kuantum, yang tidak hanya membuat komputasi lebih murah tetapi juga mengurangi risiko munculnya kesalahan tambahan akibat ketidaksempurnaan perangkat kuantum.
- Estimasi beberapa observable: Berkat pengukuran yang informationally complete, TEM secara efisien mengestimasi beberapa observable dengan data pengukuran yang sama dari komputer kuantum.
- Mitigasi kesalahan pengukuran: Qiskit Function TEM juga mencakup metode mitigasi kesalahan pengukuran yang dipatenkan yang mampu secara signifikan mengurangi kesalahan readout setelah proses kalibrasi singkat.
- Akurasi: TEM secara signifikan meningkatkan akurasi dan keandalan
- Request access to Algorithmiq Tensor-network error mitigation. See the API reference simulasi kuantum digital, membuat algoritma kuantum lebih presisi dan dapat diandalkan.
Deskripsi
Fungsi TEM memungkinkan kamu mendapatkan nilai ekspektasi yang telah dimitigasi untuk beberapa observable pada Circuit kuantum dengan overhead sampling yang minimal. Circuit diukur dengan positive operator-valued measure (IC-POVM) yang informationally complete, dan hasil pengukuran yang dikumpulkan diproses pada komputer klasik. Pengukuran ini digunakan untuk menerapkan metode tensor network dan membangun peta inversi noise. Fungsi ini menerapkan peta yang sepenuhnya membalik seluruh Circuit bising menggunakan tensor network untuk merepresentasikan lapisan-lapisan bising.
Setelah Circuit dikirimkan ke fungsi, Circuit tersebut ditranspilasi dan dioptimalkan untuk meminimalkan jumlah lapisan dengan Gate dua-Qubit (Gate yang lebih bising pada perangkat kuantum). Noise yang memengaruhi lapisan-lapisan tersebut dipelajari melalui Qiskit Runtime menggunakan model noise sparse Pauli-Lindblad seperti yang dijelaskan dalam E. van den Berg, Z. Minev, A. Kandala, K. Temme, Nat. Phys. (2023). arXiv:2201.09866.
Model noise merupakan deskripsi yang akurat tentang noise pada perangkat yang mampu menangkap fitur-fitur halus, termasuk crosstalk antar qubit. Namun, noise pada perangkat dapat berfluktuasi dan bergeser, sehingga noise yang dipelajari mungkin tidak akurat pada saat estimasi dilakukan. Hal ini dapat mengakibatkan hasil yang tidak akurat.
Mulai
Autentikasi menggunakan kunci API IBM Quantum Platform kamu, dan pilih fungsi TEM sebagai berikut. (Cuplikan ini mengasumsikan kamu sudah menyimpan akun ke lingkungan lokal kamu.)
# Added by doQumentation — required packages for this notebook
!pip install -q qiskit qiskit-ibm-catalog
from qiskit_ibm_catalog import QiskitFunctionsCatalog
tem_function_name = "algorithmiq/tem"
catalog = QiskitFunctionsCatalog(channel="ibm_quantum_platform")
# Load your function
tem = catalog.load(tem_function_name)
Contoh
Cuplikan berikut menunjukkan contoh di mana TEM digunakan untuk menghitung nilai ekspektasi dari sebuah observable pada Circuit kuantum sederhana.
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
# Create a quantum circuit
qc = QuantumCircuit(3)
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
for _ in range(2):
qc.barrier()
qc.cx(0, 1)
qc.cx(2, 1)
qc.barrier()
qc.u(0.4, 0.9, -0.3, 0)
qc.u(-0.4, 0.2, 1.3, 1)
qc.u(-1.2, -1.2, 0.3, 2)
# Define the observables
observable = SparsePauliOp("IYX", 1.0)
# Define the execution options
pub = (qc, [observable])
options = {"default_precision": 0.02}
# Define backend to use. TEM will choose the least-busy device
# reported by IBM if not specified
backend_name = "ibm_marrakesh"
# Run the TEM function (uses around three minutes of QPU time)
job = tem.run(pubs=[pub], backend_name=backend_name, options=options)
Gunakan Qiskit Serverless APIs untuk memeriksa status workload Qiskit Function kamu:
print(job.status())
QUEUED
Kamu bisa mendapatkan hasilnya seperti berikut:
result = job.result()
evs = result[0].data.evs
print(evs[0])
0.02165380888171687
Nilai ekspektasi untuk Circuit tanpa noise untuk operator yang diberikan seharusnya sekitar 0.18409094298943401.
Dapatkan dukungan
Hubungi qiskit_ibm@algorithmiq.fi
Pastikan untuk menyertakan informasi berikut:
- ID Job Qiskit Function (
qiskit-ibm-catalog),job.job_id - Deskripsi terperinci tentang masalah
- Pesan atau kode kesalahan yang relevan
- Langkah-langkah untuk mereproduksi masalah
Langkah selanjutnya
- Minta akses ke Algorithmiq Tensor-network error mitigation.
- Kunjungi referensi API untuk Qiskit Function ini.