Ang variational quantum eigensolver (VQE)
Ipapakilala ng araling ito ang variational quantum eigensolver, ipapaliwanag ang kahalagahan nito bilang isang pundasyon na algorithm sa quantum computing, at tatalakayin din ang mga kalakasan at kahinaan nito. Ang VQE sa sarili nito, nang walang mga karagdagang pamamaraan, ay malamang na hindi sapat para sa modernong utility-scale na quantum computations. Mahalaga pa rin ito bilang isang arketipong classical-quantum hybrid na pamamaraan, at ito ay isang mahalagang pundasyon kung saan maraming mas advanced na mga algorithm ang itinayo.
Ang video na ito ay nagbibigay ng pangkalahatang-ideya ng VQE at ng mga salik na nakakaapekto sa kahusayan nito. Ang teksto sa ibaba ay nagdaragdag ng mas maraming detalye at nagpapatupad ng VQE gamit ang Qiskit.
1. Ano ang VQE?
Ang variational quantum eigensolver ay isang algorithm na gumagamit ng classical at quantum computing nang magkasama upang makamit ang isang gawain. May apat na pangunahing bahagi ang isang VQE na kalkulasyon:
- Isang operator: Kadalasan ay isang Hamiltonian, na tatawagin nating , na naglalarawan ng isang katangian ng iyong sistema na nais mong i-optimize. Isa pang paraan ng pagsasabi nito ay naghahanap ka ng eigenvector ng operator na ito na tumutugma sa pinakamababang eigenvalue. Madalas nating tinatawag ang eigenvector na iyon na "ground state".
- Isang "ansatz" (isang salitang Aleman na nangangahulugang "pamamaraan"): ito ay isang quantum circuit na naghahanda ng isang quantum state na nagtatantya sa eigenvector na hinahanap mo. Talaga, ang ansatz ay isang pamilya ng mga quantum circuit, dahil ang ilan sa mga Gate sa ansatz ay may mga parameter, ibig sabihin, binibigyan sila ng isang parameter na maaari nating baguhin. Ang pamilyang ito ng mga quantum circuit ay maaaring maghanda ng isang pamilya ng mga quantum state na nagtatantya sa ground state.
- Isang Estimator: isang paraan ng pagtatantya ng expectation value ng operator na sa kasalukuyang variational quantum state. Minsan ang talagang pinahahalagahan natin ay ang expectation value na ito lamang, na tinatawag nating isang cost function. Minsan, pinapahalagahan natin ang isang mas kumplikadong function na maaari pa ring isulat mula sa isa o higit pang mga expectation value.
- Isang classical optimizer: isang algorithm na nagbabago ng mga parameter upang subukang i-minimize ang cost function.
Tingnan natin ang bawat isa sa mga bahaging ito nang mas malalim.
1.1 Ang operator (Hamiltonian)
Sa kaibuturan ng isang VQE na problema ay isang operator na naglalarawan ng isang sistema ng interes. Ipagpalagay natin dito na ang pinakamababang eigenvalue at ang kaukulang eigenvector ng operator na ito ay kapaki-pakinabang para sa ilang siyentipiko o pang-negosyong layunin. Ang mga halimbawa ay maaaring kabilang ang isang chemical Hamiltonian na naglalarawan ng isang molekula, tulad na ang pinakamababang eigenvalue ng operator ay tumutugma sa ground state energy ng molekula, at ang kaukulang eigenstate ay naglalarawan ng geometry o electron configuration ng molekula. O ang operator ay maaaring naglalarawan ng gastos ng isang tiyak na proseso na ia-optimize, at ang mga eigenstate ay maaaring tumutugma sa mga ruta o gawi. Sa ilang larangan, tulad ng pisika, ang "Hamiltonian" ay halos palaging tumutukoy sa isang operator na naglalarawan ng enerhiya ng isang pisikal na sistema. Ngunit sa quantum computing, karaniwan na makita ang mga quantum operator na naglalarawan ng isang negosyo o logistikal na problema na tinutukoy din bilang "Hamiltonian". Gagamitin natin ang kombensyong iyon dito.
Ang pag-map ng isang pisikal o optimization na problema sa mga Qubit ay karaniwang hindi trivial na gawain, ngunit ang mga detalyeng iyon ay hindi ang pokus ng kursong ito. Ang isang pangkalahatang talakayan ng pag-map ng isang problema sa isang quantum operator ay makikita sa Quantum computing in practice. Ang isang mas detalyadong pagtingin sa pag-map ng mga problema sa chemistry sa mga quantum operator ay makikita sa Quantum Chemistry with VQE.
Para sa layunin ng kursong ito, ipagpalagay natin na kilala ang anyo ng Hamiltonian. Halimbawa, ang isang Hamiltonian para sa isang simpleng hydrogen na molekula (sa ilalim ng ilang active space na pagpapalagay, at gamit ang Jordan-Wigner mapper) ay:
# Added by doQumentation — required packages for this notebook
!pip install -q matplotlib numpy qiskit qiskit-ibm-runtime scipy
from qiskit.quantum_info import SparsePauliOp
hamiltonian = SparsePauliOp(
[
"IIII",
"IIIZ",
"IZII",
"IIZI",
"ZIII",
"IZIZ",
"IIZZ",
"ZIIZ",
"IZZI",
"ZZII",
"ZIZI",
"YYYY",
"XXYY",
"YYXX",
"XXXX",
],
coeffs=[
-0.09820182 + 0.0j,
-0.1740751 + 0.0j,
-0.1740751 + 0.0j,
0.2242933 + 0.0j,
0.2242933 + 0.0j,
0.16891402 + 0.0j,
0.1210099 + 0.0j,
0.16631441 + 0.0j,
0.16631441 + 0.0j,
0.1210099 + 0.0j,
0.17504456 + 0.0j,
0.04530451 + 0.0j,
0.04530451 + 0.0j,
0.04530451 + 0.0j,
0.04530451 + 0.0j,
],
)
Pansinin na sa Hamiltonian sa itaas, may mga termino tulad ng ZZII at YYYY na hindi nagko-commute sa isa't isa. Ibig sabihin, upang masuri ang ZZII, kailangan nating sukatin ang Pauli Z operator sa Qubit 3 (bukod sa iba pang mga pagsukat). Ngunit upang masuri ang YYYY, kailangan nating sukatin ang Pauli Y operator sa parehong Qubit, Qubit 3. May uncertainty relation sa pagitan ng Y at Z na mga operator sa parehong Qubit; hindi natin maaaring sukatin ang parehong mga operator nang sabay-sabay. Babalik tayo sa puntong ito sa ibaba, at sa katunayan sa buong kurso.
Ang Hamiltonian sa itaas ay isang na matrix operator. Ang pag-diagonalize ng operator upang mahanap ang pinakamababang energy eigenvalue nito ay hindi mahirap.
import numpy as np
A = np.array(hamiltonian)
eigenvalues, eigenvectors = np.linalg.eigh(A)
print("The ground state energy is ", min(eigenvalues), "hartrees")
The ground state energy is -1.1459778447627311 hartrees
Ang mga brute-force classical eigensolver ay hindi maaaring mag-scale upang ilarawan ang mga enerhiya o geometry ng napakalaking mga sistema ng mga atom, tulad ng mga gamot o protina. Ang VQE ay isa sa mga maagang pagtatangkang gamitin ang quantum computing sa problemang ito.
Makakatagpo tayo ng mga Hamiltonian sa araling ito na mas malaki kaysa sa nasa itaas. Ngunit magiging pag-aaksaya ang pagtutulak ng mga limitasyon ng magagawa ng VQE, bago pa man ipakilala natin ang ilan sa mga mas advanced na tool na maaaring dagdagan o palitan ang VQE, sa susunod na bahagi ng kursong ito.
1.2 Ansatz
Ang salitang "ansatz" ay Aleman para sa "pamamaraan". Ang tamang plural sa Aleman ay "ansätze", bagaman madalas nakikita ang "ansatzes" o "ansatze". Sa konteksto ng VQE, ang ansatz ay ang quantum circuit na ginagamit mo upang lumikha ng isang multi-qubit na wave function na pinakamalapit na nagtatantya sa ground state ng sistemang pinag-aaralan mo, at na nagbubunga ng pinakamababang expectation value ng iyong operator. Ang quantum circuit na ito ay maglalaman ng mga variational parameter (kadalasan ay pinagsama-sama sa vector ng mga variable na ).
Isang paunang hanay ng mga halaga na ng mga variational parameter ang pinipili. Tatawagin natin ang unitary na operasyon ng ansatz sa Circuit na . Bilang default, lahat ng Qubit sa mga quantum computer ng IBM® ay ini-initialize sa na estado. Kapag pinatakbo ang Circuit, ang estado ng mga Qubit ay magiging
Kung kailangan natin lamang ang pinakamababang enerhiya (gamit ang wika ng mga pisikal na sistema), maaari nating tantiyahin ito sa pamamagitan ng simpleng pagsukat ng enerhiya nang maraming beses at pagkuha ng pinakamababa. Ngunit kadalasan gusto rin natin ang configuration na nagbubunga ng pinakamababang enerhiya o eigenvalue na iyon. Kaya ang susunod na hakbang ay ang pagtatantya ng expectation value ng Hamiltonian, na natatamo sa pamamagitan ng mga quantum na pagsukat. Maraming bagay ang pumapasok doon. Ngunit maaari nating maunawaan ang prosesong ito nang qualitative sa pamamagitan ng pagpuna na ang probabilidad na ng pagsukat ng isang enerhiyang (muli gamit ang wika ng mga pisikal na sistema) ay may kaugnayan sa expectation value sa pamamagitan ng:
Ang probabilidad na ay may kaugnayan din sa overlap sa pagitan ng eigenstate na at ng kasalukuyang estado ng sistema na :
Kaya sa pamamagitan ng paggawa ng maraming pagsukat ng mga Pauli operator na bumubuo ng ating Hamiltonian, maaari nating tantiyahin ang expectation value ng Hamiltonian sa kasalukuyang estado ng sistema na . Ang susunod na hakbang ay ang pagbabago ng mga parameter na at pagsubok na mas malapit na lumapit sa pinakamababang-enerhiya (ground) na estado ng sistema. Dahil sa mga variational parameter sa ansatz, minsan naririnig itong tinutukoy bilang variational form.
Bago tayo lumipat sa variational na proseso, pansinin na kadalasang kapaki-pakinabang na simulan ang iyong estado mula sa isang "mabuting hula" na estado. Maaaring alam mo ang sapat tungkol sa iyong sistema upang makagawa ng mas mabuting paunang hula kaysa sa . Halimbawa, karaniwan na ini-initialize ang mga Qubit sa Hartree-Fock na estado sa mga chemical na aplikasyon. Ang paunang hulang ito na hindi naglalaman ng anumang variational parameter ay tinatawag na reference state. Tatawagin natin ang quantum circuit na ginagamit upang lumikha ng reference state na . Tuwing nagiging mahalaga ang pagtukoy sa reference state mula sa natitirang bahagi ng ansatz, gamitin ang: Katumbas nito
1.3 Estimator
Kailangan natin ng paraan upang matantya ang expectation value ng ating Hamiltonian sa isang partikular na variational state na . Kung maaari tayong direktang sukatin ang buong operator na , ito ay magiging kasing simple ng paggawa ng maraming (sabihing ) na pagsukat at pag-average ng mga nasukat na halaga:
Dito, ang simbolong ay nagpapaalala sa atin na ang expectation value na ito ay tumpak lamang sa limitasyon habang . Ngunit sa libu-libong pagsukat na ginagawa sa isang Circuit, ang sampling error ng expectation value ay medyo mababa. May iba pang mga konsiderasyon tulad ng ingay na nagiging isyu para sa mga napaka-tumpak na kalkulasyon.
Gayunpaman, sa pangkalahatan ay hindi posible na sukatin ang nang sabay-sabay. Ang ay maaaring maglaman ng maraming non-commuting na Pauli X, Y, at Z operator. Kaya ang Hamiltonian ay dapat hatiin sa mga grupo ng mga operator na maaaring sabay na sukatin, at ang bawat ganitong grupo ay dapat tantiyahin nang hiwalay, at ang mga resulta ay pinagsama upang makakuha ng isang expectation value. Babalik tayo rito nang mas detalyado sa susunod na aralin, kapag tinatalakay natin ang scaling ng mga classical at quantum na pamamaraan. Ang kumplikasyon sa pagsukat na ito ay isa sa mga dahilan kaya kailangan natin ng napaka-episyenteng code para sa pagsasagawa ng ganitong pagtatantya. Sa araling ito at higit pa, gagamitin natin ang Qiskit Runtime primitive Estimator para sa layuning ito.
1.4 Mga classical optimizer
Ang isang classical optimizer ay anumang classical algorithm na idinisenyo upang mahanap ang mga extrema ng isang target na function (karaniwang isang minimum). Naghahanap sila sa espasyo ng mga posibleng parameter upang mahanap ang isang hanay na nagmi-minimize ng ilang function ng interes. Maaari silang malawak na ikategorya sa mga gradient-based na pamamaraan, na gumagamit ng impormasyon ng gradient, at mga gradient-free na pamamaraan, na gumagana bilang mga black-box optimizer. Ang pagpili ng classical optimizer ay maaaring malaki ang epekto sa pagganap ng isang algorithm, lalo na sa presensya ng ingay sa quantum hardware. Ang mga sikat na optimizer sa larangang ito ay kinabibilangan ng Adam, AMSGrad, at SPSA, na nagpakita ng magagandang resulta sa mga maingay na kapaligiran. Ang mga mas tradisyonal na optimizer ay kinabibilangan ng COBYLA at SLSQP.
Isang karaniwang workflow (ipinakita sa Seksyon 3.3) ay ang paggamit ng isa sa mga algorithm na ito bilang paraan sa loob ng isang minimizer tulad ng minimize function ng scipy. Ito ay tumatanggap ng mga sumusunod na argumento:
- Ilang function na ie-minimize. Ito ay kadalasang ang energy expectation value. Ngunit ang mga ito ay karaniwang tinutukoy bilang "cost functions".
- Isang hanay ng mga parameter kung saan sisimulan ang paghahanap. Kadalasan ay tinatawag na o .
- Mga argumento, kasama ang mga argumento ng cost function. Sa quantum computing gamit ang Qiskit, ang mga argumentong ito ay magsasama ng ansatz, ang Hamiltonian, at ang Estimator primitive, na tinatalakay nang higit pa sa susunod na subseksyon.
- Isang 'method' ng minimization. Tumutukoy ito sa partikular na algorithm na ginagamit upang hanapin ang espasyo ng parameter. Dito natin tutukuyin, halimbawa, ang COBYLA o SLSQP.
- Mga opsyon. Ang mga opsyong available ay maaaring magkaiba ayon sa paraan. Ngunit isang halimbawa na halos lahat ng pamamaraan ay maglalaman ay ang maximum na bilang ng mga iteration ng optimizer bago tapusin ang paghahanap: 'maxiter'.
Sa bawat iterative na hakbang, ang expectation value ng Hamiltonian ay tinantya sa pamamagitan ng paggawa ng maraming pagsukat. Ang tinantiyang enerhiyang ito ay ibinalik ng cost function, at ina-update ng minimizer ang impormasyon nito tungkol sa landscape ng enerhiya. Kung ano mismo ang ginagawa ng optimizer upang pumili ng susunod na hakbang ay nag-iiba mula sa pamamaraan patungo sa pamamaraan. Ang ilan ay gumagamit ng mga gradient at pinipili ang direksyon ng pinaka-matarik na pagbaba. Ang iba ay maaaring isaalang-alang ang ingay at maaaring kailanganin na bumaba nang malaki ang gastos bago tanggapin na talagang bumababa ang tunay na enerhiya sa direksyong iyon.
# Example syntax for minimization
# from scipy.optimize import minimize
# res = minimize(cost_func, x0, args=(ansatz, hamiltonian, estimator), method="cobyla", options={'maxiter': 200})
1.5 Ang variational principle
Sa kontekstong ito ang variational principle ay napakahalaga; isinasaad nito na walang variational wave function ang maaaring magbigay ng isang energy (o cost) expectation value na mas mababa kaysa sa ibinibigay ng ground state wave function. Mathematically,
Ito ay madaling i-verify kung mapapansin natin na ang hanay ng lahat ng eigenstate na ng ay bumubuo ng isang kumpletong basis para sa Hilbert space. Sa madaling salita, anumang estado at partikular ang ay maaaring isulat bilang isang weighted (normalized) na kabuuan ng mga eigenstates ng :
kung saan ang ay mga constant na tutukuyin, at . Iniiwan natin ito bilang isang ehersisyo para sa mambabasa. Ngunit pansinin ang implikasyon: ang variational state na nagbubunga ng pinakamababang-enerhiya na expectation value ay ang pinakamahusay na tantya ng tunay na ground state.
Suriin ang iyong pag-unawa
I-verify sa mathematical na para sa anumang variational state na .
Answer
Gamit ang ibinigay na expansion ng variational state sa mga tuntunin ng mga energy eigenstate,
maaari nating isulat ang variational energy expectation value bilang