Langkau ke kandungan utama

Formula berbilang hasil darab (MPF)

Versi pakej

Kod pada halaman ini dibangunkan menggunakan keperluan berikut. Kami mengesyorkan menggunakan versi ini atau yang lebih baharu.

Formula berbilang hasil darab (MPF) boleh digunakan untuk mensimulasikan dinamik sistem kuantum dengan lebih tepat, dengan kos pelaksanaan Circuit yang bertambah. Ini adalah teknik pasca-pemprosesan yang mengurangkan ralat nilai jangkaan untuk keadaan yang berevolusi masa.

Pengkomputeran klasik digunakan untuk menyelesaikan sistem persamaan linear yang menyediakan pekali kepada gabungan berwajaran beberapa pelaksanaan Circuit. Menggunakan gabungan berwajaran ini boleh mengurangkan ralat yang berkaitan dengan mensimulasikan evolusi masa, diberikan pemilihan langkah Trotter yang baik. Alat MPF akan menerima pilihan data — termasuk bilangan langkah Trotter dan peringkat penghampiran Trotter — untuk menyediakan dan menyelesaikan (atau menganggarkan penyelesaian) sistem persamaan linear yang berkaitan, yang kemudiannya boleh anda gunakan untuk pasca-proses pengukuran nilai jangkaan bagi keadaan yang berevolusi masa.

Pasang pakej MPF

Terdapat dua cara untuk memasang pakej MPF: melalui PyPI dan membina dari sumber. Adalah disyorkan untuk memasang dalam persekitaran maya untuk memastikan pemisahan antara kebergantungan pakej.

Pasang dari PyPI

Cara paling mudah untuk memasang pakej qiskit-addon-mpf adalah melalui PyPI.

pip install qiskit-addon-mpf

Bina dari sumber

Pengguna yang ingin membangunkan dalam repositori atau yang ingin memasangnya secara manual boleh berbuat demikian dengan terlebih dahulu mengklon repositori:

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

dan pasang pakej melalui pip. Repositori juga mengandungi beberapa kebergantungan pilihan yang membolehkan ciri-ciri tertentu.

Laraskan pilihan mengikut keperluan anda.

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

Latar belakang teori

MPF boleh mengurangkan ralat penghampiran Trotter yang berkaitan dengan mensimulasikan dinamik sistem kuantum melalui gabungan berwajaran beberapa pelaksanaan Circuit. Jumlah berwajaran ini ditakrifkan 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 pekali pemberat, ρjkj\rho_j^{k_j} adalah matriks ketumpatan yang bersesuaian dengan keadaan tulen yang diperoleh dengan mengevolusi keadaan awal melalui formula hasil darab SkjS^{k_j} yang menghampiri operator evolusi masa menggunakan kjk_j langkah Trotter, dan jj mengindeks setiap formula hasil darab yang digunakan dalam jumlah.

Beberapa Circuit dengan bilangan langkah Trotter yang berbeza-beza digunakan untuk mengira observable sasaran

Secara amnya, walau bagaimanapun, matlamat mensimulasikan dinamik kuantum adalah untuk mengukur beberapa observable O(t)\mathcal{O}(t), yang merupakan fungsi masa. Apabila menggunakan MPF, beberapa Circuit — setiap satu menggunakan kjk_j langkah Trotter — dilaksanakan untuk mendapatkan beberapa pengukuran observable sasaran Okj(t)\mathcal{O}_{k_j}(t). Pengukuran observable sasaran kemudiannya diperoleh dengan mengira:

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

Pada dasarnya, anda boleh mengurangkan jumlah ralat Trotter dengan menghampiri operator evolusi masa menggunakan beberapa formula hasil darab dengan bilangan langkah Trotter yang berubah-ubah dan bukannya satu formula hasil darab. Anda membina Circuit untuk setiap sebutan dalam jumlah berwajaran, yang mengevolusi sistem mengikut setiap bilangan langkah Trotter kjk_j. Setiap Circuit kemudiannya dilaksanakan secara berasingan pada QPU untuk merekonstruksi keputusan dalam langkah pasca-pemprosesan. Kegunaan teknik ini boleh dilihat dari dua perspektif:

  1. Untuk bilangan langkah Trotter yang tetap yang anda laksanakan, anda boleh mendapatkan keputusan dengan ralat Trotter yang lebih kecil secara keseluruhan.
  2. Untuk bilangan langkah Trotter yang menghasilkan Circuit yang dalam, anda boleh menggunakan MPF untuk mencari beberapa Circuit dengan kedalaman yang lebih pendek untuk dijalankan, yang menghasilkan ralat penghampiran Trotter yang serupa.

Tentukan pekali MPF

Fungsi teras pakej qiskit-addon-mpf terletak pada penentuan pekali MPF xj(t)x_j(t) (yang mungkin bergantung masa). Proses untuk mendapatkan setiap xj(t)x_j(t) melibatkan penyelesaian sistem persamaan linear Ax=bAx=b di mana xx adalah vektor pekali yang hendak ditentukan, AA adalah matriks yang bergantung kepada setiap kjk_j dan formula hasil darab yang digunakan SS (iaitu, peringkat penghampiran dan bilangan langkah Trotter), dan bb adalah vektor kekangan. Sistem persamaan ini boleh diselesaikan sama ada secara tepat atau dengan model anggaran yang meminimumkan norma-1 pekali. Selain itu, pilihan untuk setiap kjk_j adalah proses heuristik, tetapi boleh dibatasi oleh kekangan berikut:

  1. Nilai kjk_j terbesar dibatasi oleh kedalaman Circuit tertinggi yang boleh dilaksanakan dengan boleh dipercayai
  2. kjk_j terkecil perlu memenuhi dt=t/kj<1dt = t/k_j < 1 kerana di situlah ralat Trotter berkelakuan paling baik
  3. Tiada satu pun pekali xjx_j yang sepatutnya hampir kepada 00 kerana ini bermakna mereka tidak menyumbang banyak kepada MPF
  4. Begitu juga, pekali yang berkaitan dengan nilai kjk_j terbesar tidak sepatutnya mendominasi, kerana ini bermakna anda menggunakan satu formula hasil darab
  5. Akhir sekali, norma pekali xjx_j yang diperoleh sepatutnya kecil, kerana ini menunjukkan MPF yang terkondisi dengan baik 1

Langkah seterusnya

Cadangan

Rujukan

  1. A. Carrera Vazquez, D. J. Egger, D. Ochsner, and S. Wörner, "Well-conditioned multi-product formulas for hardware-friendly Hamiltonian simulation", Quantum 7, 1067 (2023).
  2. S. Zhuk, N. Robertson, and S. Bravyi, "Trotter error bounds and dynamic multi-product formulas for Hamiltonian simulation", Phys. Rev. Research 6, 033309 (2024).
  3. N. Robertson, et al. "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 Mac 2026