Lewati ke konten utama

Formula multi-produk (MPF)

Versi paket

Kode di halaman ini dikembangkan menggunakan persyaratan berikut. Kami merekomendasikan menggunakan versi ini atau yang lebih baru.

Formula multi-produk (MPF) bisa digunakan untuk mensimulasikan dinamika sistem kuantum dengan lebih akurat, dengan biaya eksekusi Circuit yang lebih banyak. Ini adalah teknik pasca-pemrosesan yang mengurangi error nilai ekspektasi untuk state yang berevolusi dalam waktu.

Komputasi klasik digunakan untuk menyelesaikan sistem persamaan linear yang memberikan koefisien untuk kombinasi berbobot dari beberapa eksekusi Circuit. Menggunakan kombinasi berbobot ini bisa mengurangi error yang terkait dengan simulasi evolusi waktu, dengan pemilihan langkah Trotter yang tepat. Alat MPF akan menerima sejumlah data --- termasuk jumlah langkah Trotter dan orde aproksimasi Trotter --- untuk menyiapkan dan menyelesaikan (atau mengaproksimasi solusi dari) sistem persamaan linear yang terkait, yang kemudian bisa kamu gunakan untuk pasca-pemrosesan pengukuran nilai ekspektasi dari state yang berevolusi dalam waktu.

Instal paket MPF

Ada dua cara untuk menginstal paket MPF: melalui PyPI dan membangun dari sumber. Disarankan untuk menginstal di virtual environment untuk memastikan pemisahan antar dependensi paket.

Instal dari PyPI

Cara paling mudah untuk menginstal paket qiskit-addon-mpf adalah melalui PyPI.

pip install qiskit-addon-mpf

Bangun dari sumber

Pengguna yang ingin mengembangkan di repositori atau yang ingin menginstalnya secara manual bisa melakukannya dengan terlebih dahulu meng-clone repositori:

git clone git@github.com:Qiskit/qiskit-addon-mpf.git

dan instal paket melalui pip. Repositori juga berisi sejumlah dependensi opsional yang mengaktifkan fitur-fitur tertentu.

Sesuaikan opsi sesuai kebutuhanmu.

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

Latar belakang teoritis

MPF bisa mengurangi error aproksimasi Trotter yang terkait dengan simulasi dinamika sistem kuantum melalui kombinasi berbobot dari beberapa eksekusi Circuit. Jumlah berbobot ini didefinisikan sebagai:

μ(t)=jxjρjkj(tkj)+some remaining Trotter error,\mu(t) = \sum_j x_j\rho_j^{k_j}\left(\frac{t}{k_j}\right) + \text{some remaining Trotter error},

di mana xjx_j adalah koefisien pembobotan, ρjkj\rho_j^{k_j} adalah matriks densitas yang bersesuaian dengan state murni yang diperoleh dengan mengevolusi state awal melalui formula produk SkjS^{k_j} yang mengaproksimasi operator evolusi waktu menggunakan kjk_j langkah Trotter, dan jj mengindeks setiap formula produk yang digunakan dalam jumlahan.

Beberapa Circuit dengan jumlah langkah Trotter yang bervariasi digunakan untuk menghitung observable target

Namun secara umum, tujuan dari simulasi dinamika kuantum adalah untuk mengukur observable O(t)\mathcal{O}(t) tertentu, yang merupakan fungsi waktu. Saat menggunakan MPF, beberapa Circuit --- masing-masing menggunakan kjk_j langkah Trotter --- dieksekusi untuk memperoleh beberapa pengukuran observable target Okj(t)\mathcal{O}_{k_j}(t). Pengukuran observable target kemudian diperoleh dengan menghitung:

O(t)=jxj(t)Okj(t).\langle \mathcal{O}(t) \rangle = \sum_j x_j(t) \langle \mathcal{O}_{k_j}(t) \rangle.

Pada intinya, kamu bisa mengurangi error Trotter keseluruhan dengan mengaproksimasi operator evolusi waktu menggunakan beberapa formula produk dengan jumlah langkah Trotter yang bervariasi daripada satu formula produk tunggal. Kamu membangun sebuah Circuit untuk setiap suku dalam jumlahan berbobot, yang mengevolusi sistem sesuai dengan masing-masing kjk_j jumlah langkah Trotter. Setiap Circuit kemudian dieksekusi secara terpisah pada QPU untuk merekonstruksi hasilnya dalam langkah pasca-pemrosesan. Kegunaan teknik ini bisa dilihat dari dua perspektif:

  1. Untuk jumlah langkah Trotter tertentu yang kamu eksekusi, kamu bisa mendapatkan hasil dengan error Trotter yang lebih kecil secara total.
  2. Untuk jumlah langkah Trotter yang menghasilkan Circuit yang dalam, kamu bisa menggunakan MPF untuk menemukan beberapa Circuit dengan kedalaman lebih pendek untuk dijalankan, yang menghasilkan error aproksimasi Trotter yang serupa.

Tentukan koefisien MPF

Fungsionalitas inti dari paket qiskit-addon-mpf terletak pada penentuan koefisien MPF xj(t)x_j(t) (yang mungkin bergantung waktu). Proses untuk mendapatkan setiap xj(t)x_j(t) melibatkan penyelesaian sistem persamaan linear Ax=bAx=b di mana xx adalah vektor koefisien yang akan ditentukan, AA adalah matriks yang bergantung pada masing-masing kjk_j dan formula produk yang digunakan SS (yaitu, orde aproksimasi dan jumlah langkah Trotter), dan bb adalah vektor kendala. Sistem persamaan ini bisa diselesaikan secara eksak atau dengan model aproksimasi yang meminimalkan norma-1 dari koefisien. Selain itu, pilihan untuk setiap kjk_j adalah proses heuristik, tetapi bisa dibatasi oleh kendala berikut:

  1. Nilai kjk_j terbesar dibatasi oleh kedalaman Circuit tertinggi yang bisa dieksekusi secara andal
  2. kjk_j terkecil harus memenuhi dt=t/kj<1dt = t/k_j < 1 karena di situlah error Trotter paling berperilaku baik
  3. Tidak ada koefisien xjx_j yang seharusnya mendekati 00 karena ini mengimplikasikan mereka tidak banyak berkontribusi pada MPF
  4. Demikian pula, koefisien yang terkait dengan nilai kjk_j terbesar tidak boleh mendominasi, karena ini mengimplikasikan bahwa kamu menggunakan formula produk tunggal
  5. Terakhir, norma koefisien xjx_j yang diperoleh harus kecil, karena ini menunjukkan MPF yang terkondisi dengan baik 1

Langkah selanjutnya

Rekomendasi

Referensi

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, dan S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, dan S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, dkk. "Tensor Network enhanced Dynamic Multiproduct Formulas", arXiv:2407.17405v2 [quant-ph].
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