Sample-based Quantum Diagonalization (SQD)
Pinagsasama ng sample-based quantum diagonalization (SQD) ang klasikal na linear algebra at ang kapangyarihan ng quantum computing para i-diagonalize ang isang Hamiltonian (matrix) at makuha ang mga eigenvalue at eigenvector nito. Ang diagonalization ng matrix ay isang mahalagang operasyong matematikal dahil maraming problema sa agham, kompyutasyon, at optimisasyon ang gumagamit ng pamamaraang ito.
Ang video sa ibaba ay nagbibigay ng pangkalahatang-ideya ng SQD, kung ano ang nagtatakda ng pagiging kapaki-pakinabang nito, at kung bakit ito mas mabilis kaysa sa maraming ibang paraan. Ang kasunod na teksto ay nagbibigay ng mas detalyadong impormasyon.
1. Panimula at motibasyonβ
Bilang halimbawa, isaalang-alang ang energy eigenvalue equation na ginawang sikat ni SchrΓΆdinger.
Ang ay ang Hamiltonian ng isang sistema, ang ay ang wave function (kilala rin bilang eigenstate), at ang ay isang eigenvalue. Ang mga eigenvalue ng matrix ay kumakatawan sa mga antas ng enerhiya ng sistema. Halimbawa, kung ang sistema ay isang molekula, ang pinakamababang eigenvalue ay kumakatawan sa ground state energy ng molekula. Sa maraming problema, interesado tayo sa pagtatantya ng ground state energy.
Sa pamamagitan ng paglalapat ng eksaktong diagonalization techniques mula sa linear algebra, maaari nating i-diagonalize ang buong matrix . Gayunpaman, nagiging mahal ang computationally ang pamamaraan (maging imposible) habang lumalaki ang matrix. Halimbawa, maging para sa maliliit na kemikal na molekula, ang ay maaaring maging napakalaki (halimbawa, ang Hamiltonian para sa molekulang na may cc-PVDZ basis ay may dimensyon na
Sa kabutihang palad, hindi natin palaging kailangan ang lahat ng eigenvalue at eigenvector ng Hamiltonian , kaya sa maraming praktikal na kaso, hindi na kailangang i-diagonalize ang buong matrix. Halimbawa, para sa ground state estimation, interesado tayo sa pinakamababang eigenvalue at sa kaukulang eigenvector. Nagbibigay-daan ito sa atin na gamitin ang konsepto ng projection sa isang (kapaki-pakinabang na) subspace.
Isaalang-alang ang isang matrix, , kung saan ang kumpletong vector space (Hilbert space) ay may dimensyon na ( ay malaki). Susunod, pumipili tayo ng subspace () β na isang subset ng buong Hilbert space β na may dimensyon na , kung saan ang ay sapat na maliit. Pagkatapos ng pag-project ng sa subspace na ito, ang projected matrix (sabihin nating ) ay magiging mas maliit (). Ang mas maliit na ay maaaring i-diagonalize gamit ang isang angkop na klasikal na numerical method, at makabuo ng mga eigenvalue at eigenvector para sa subspace na iyon.
Tandaan na ang subspace ay dapat nasa support ng ating target (halimbawa, ground) eigenstate. Sa ibang salita, ang projected Hamiltonian ay dapat nasa subspace na kinabibilangan ng pinakamababang eigenvalue.
2. Projection at Diagonalizationβ
Ipagpalagay na gusto nating hanapin ang pinakamababang eigenvalue at ang kaukulang eigenvector para sa sumusunod na Hamiltonian matrix .
I-diagonalize natin ang buong matrix kasama ang iba't ibang projected na bersyon () para sa iba't ibang subspace upang ipakita ang scalability at kahalagahan ng pagpili ng subspace.
Ang ground state energy (minimum eigenvalue) ng matrix ay at ang eksaktong ground state wave function (eigenvector) ay:
Ibig sabihin, ang ground state ng matrix ay sakop ng dalawang computational basis states (vectors) at .
# Added by doQumentation β required packages for this notebook
!pip install -q numpy scipy
import numpy as np
from scipy.linalg import eigh
np.set_printoptions(precision=4, sign="-", suppress=True, linewidth=100)
H = np.array(
[
[0.2235, -0.039, -0.1035, -0.0818, 0.1746, 0.1091, 0.1165, -0.0104],
[-0.0390, 0.6621, 0.0706, -0.1964, -0.0782, 0.2619, 0.1095, 0.0029],
[-0.1035, 0.0706, 0.9961, 0.1724, 0.1067, -0.2299, -0.1817, 0.1571],
[-0.0818, -0.1964, 0.1724, -0.1773, 0.1019, -0.4778, -0.1272, -0.0414],
[0.1746, -0.0782, 0.1067, 0.1019, 0.1418, -0.1359, -0.1793, -0.0766],
[0.1091, 0.2619, -0.2299, -0.4778, -0.1359, 0.1014, 0.1696, 0.0552],
[0.1165, 0.1095, -0.1817, -0.1272, -0.1793, 0.1696, 0.4227, 0.2702],
[-0.0104, 0.0029, 0.1571, -0.0414, -0.0766, 0.0552, 0.2702, 0.4456],
]
)
eigvals, eigvecs = eigh(H)
print("Eigenvalues:")
print(eigvals)
print(f"Minimum eigenvalue: {eigvals.min()}")
print("\nEigenvectors (columns represent vectors):")
print(eigvecs)
print("\nEigenvector for the minimum eigenvalue (ground state)")
print(eigvecs[:, np.argmin(eigvals)])
Eigenvalues:
[-0.5357 -0.1321 0.1049 0.1258 0.3616 0.6405 0.947 1.3039]
Minimum eigenvalue: -0.5356560029438817
Eigenvectors (columns represent vectors):
[[-0. -0.5612 0.098 -0.0024 0.8051 -0.0806 0.0643 0.1288]
[-0. -0.1403 -0.1985 -0.4249 -0.0092 0.585 -0.5952 0.2526]
[ 0. 0.0416 0.3041 0.2122 0.1509 -0.0139 -0.5794 -0.7086]
[ 0.8 -0.1936 -0.0127 -0.4376 -0.1081 -0.0838 0.1557 -0.2966]
[ 0. 0.6716 -0.3535 -0.2552 0.5395 0.0954 0.1449 -0.1941]
[ 0.6 0.258 0.017 0.5834 0.1441 0.1118 -0.2076 0.3954]
[ 0. 0.3088 0.5504 -0.4197 0.0626 -0.468 -0.2625 0.3657]
[-0. -0.1146 -0.6559 0.0356 -0.0394 -0.6352 -0.3856 0.0418]]
Eigenvector for the minimum eigenvalue (ground state)
[-0. -0. 0. 0.8 0. 0.6 0. -0. ]
Susunod, ipo-project natin ang matrix sa iba't ibang subspace at titingnan kung makuha natin ang eksaktong ground state. Sa partikular, ipo-project natin ang matrix sa isang subspace na sakop ng:
- eksaktong ground state vectors ( at ).
- mga vector na hindi kasama ang ilan o lahat ng eksaktong ground state vectors (halimbawa, , , at ).
- mga vector na kinabibilangan ng parehong eksaktong ground state at hindi ground state (ngunit hindi lahat ng posibleng vector sa Hilbert space).
2.1 Kaso-1: Ang subspace ay kinabibilangan ng ground stateβ
Ipagpalagay na gusto nating i-project ang sa isang subspace () na sakop ng dalawang vector at . Ang projected Hamiltonian ay tinukoy ng:
x1 = np.zeros(8)
x1[3] = 1 # binary 011 is 3 in decimal. |011> = |3> = [0,0,0,1,0,0,0,0]
x2 = np.zeros(8)
x2[5] = 1 # binary 101 is 5 in decimal
Hs = np.array([[x1 @ H @ x1.T, x1 @ H @ x2.T], [x2 @ H @ x1.T, x2 @ H @ x2.T]])
print(Hs)
[[-0.1773 -0.4778]
[-0.4778 0.1014]]
eigvals, eigvecs = eigh(Hs)
print(f"Minimum eigenvalue: {eigvals.min()}")
print(f"Eigenvector for minimum eigenvalue: {eigvecs[:,np.argmin(eigvals)]}")
Minimum eigenvalue: -0.535656000064295
Eigenvector for minimum eigenvalue: [-0.8 -0.6]
Maaari tayong gumawa ng ilang mahahalagang obserbasyon dito.
- Dahil binuo natin ang subspace ng dalawang vector, ang dimensyon ng projected matrix () ay , na mas maliit kaysa sa buong matrix ().
- Ang minimum eigenvalue ng projected matrix ay tumutugma sa eigenvalue ng eksaktong ground state.
- Ang mga halaga sa variable na
eigvecsay nagpapakita ng amplitude ng mga vector na bumubuo sa subspace, at gamit ang mga ito ay maaari nating buuin muli ang eigenstate (ground state). Sa kasong ito, nakukuha natin ang eksaktong ground state (hanggang sa isang global phase):
2.2 Kaso-2: Ang subspace ay hindi kasama ang ilan o lahat ng ground state vectorsβ
Susunod, ipo-project natin ang sa isang subspace na sakop ng tatlong vector , , at . Sinadya nating piliin ang mga vector upang hindi kasama ang isang ground state vector (). Ang projected Hamiltonian ay tinukoy ng:
x1 = np.zeros(8)
x1[0] = 1
x2 = np.zeros(8)
x2[3] = 1
x3 = np.zeros(8)
x3[6] = 1
Hs = np.array(
[
[x1 @ H @ x1.T, x1 @ H @ x2.T, x1 @ H @ x3.T],
[x2 @ H @ x1.T, x2 @ H @ x2.T, x2 @ H @ x3.T],
[x3 @ H @ x1.T, x3 @ H @ x2.T, x3 @ H @ x3.T],
]
)
print(Hs)
[[ 0.2235 -0.0818 0.1165]
[-0.0818 -0.1773 -0.1272]
[ 0.1165 -0.1272 0.4227]]
eigvals, eigvecs = eigh(Hs)
print(f"Minimum eigenvalue: {eigvals.min()}")
Minimum eigenvalue: -0.21108858736702252
Ang eigenvalue na sa kasong ito ay hindi tumutugma sa minimum eigenvalue na ng buong Hamiltonian. Ang pangunahing obserbasyon dito ay: kung mag-project tayo sa isang subspace na hindi kasama ang mga basis state sa ating target (ground) state β bahagi man o buo β ang tinantyang ground state ay magiging iba sa eksaktong halaga.
2.3 Kaso-3: Ang subspace ay kinabibilangan ng parehong ground state at hindi ground state vectorsβ
Susunod, ipinakita natin ang isang kaso kung saan ang subspace ay binuo ng mga vector na kinabibilangan ng eksaktong ground state vectors kasama ang mga hindi gustong vector. Ipagpalagay na ang ating subspace ay binuo ng , (naroroon sa eksaktong ground state), at (wala sa eksaktong ground state).
x1 = np.zeros(8)
x1[3] = 1
x2 = np.zeros(8)
x2[5] = 1
x3 = np.zeros(8)
x3[7] = 1
Hs = np.array(
[
[x1 @ H @ x1.T, x1 @ H @ x2.T, x1 @ H @ x3.T],
[x2 @ H @ x1.T, x2 @ H @ x2.T, x2 @ H @ x3.T],
[x3 @ H @ x1.T, x3 @ H @ x2.T, x3 @ H @ x3.T],
]
)
print(Hs)
[[-0.1773 -0.4778 -0.0414]
[-0.4778 0.1014 0.0552]
[-0.0414 0.0552 0.4456]]
eigvals, eigvecs = eigh(Hs)
print(f"Minimum eigenvalue: {eigvals.min()}")
print(f"Eigenvector for minimum eigenvalue: {eigvecs[:,np.argmin(eigvals)]}")
Minimum eigenvalue: -0.53565600006461
Eigenvector for minimum eigenvalue: [ 0.8 0.6 -0. ]
Sa kasong ito, nakakuha muli tayo ng bilang minimum eigenvalue na tumutugma sa buong matrix (ibig sabihin, ang eksaktong ground state). Isa pang kawili-wiling resulta ay ang amplitude ng na ibinalik ng projection at diagonalization process. Ang amplitude ay , at kapag binuo nating muli ang wave function (eigenstate) gamit ang mga nakalkulang amplitude at vector, nakukuha natin:
Kaya, kahit ang ating subspace ay naglalaman ng ilang hindi target na vector (kasabay ng buong hanay ng target na vector), maaari tayong makakuha ng tamang eigenvalue at eigenstate dahil ang projection at diagonalization process ay nag-aalis ng hindi target na vector sa pamamagitan ng pagtatakda ng kanilang mga amplitude sa . Ang katangiang ito ng SQD ay nagbibigay ng likas na toleransya sa ingay.
3. Papel ng quantum sa SQDβ
Itinatag ng mga pagsusuri sa itaas ang kahalagahan ng mga vector na bumubuo ng subspace, na dapat nasa support ng target state. Nagdudulot ito ng isang mahalagang tanong: Paano natin pipiliin ang mga vector na may target state support para sa pagbuo ng subspace?
Dito pumapasok ang mga quantum computer. Ang quantum-classical synergy ay gumagana tulad ng sumusunod sa SQD paradigm:
- Gamit ang angkop na quantum circuit, sumusubok tayong maghanda ng isang estado sa isang quantum computer na makakabuo ng mga basis state kung saan ang target wave function (halimbawa, ground state) ay may malaking support. Ang mga na-sample na basis state (bitstrings) ay sasalukin ang subspace para sa Hamiltonian projection.
- Ang isang klasikal na computer ay nagpo-project ng Hamiltonian sa subspace (sakop ng mga sample/vector mula sa quantum computer) at dini-diagonalize ito upang makalkula ang mga eigenvalue at eigenvector gamit ang mga angkop na numerical method.
Maaaring mayroong ilang paraan upang maghanda ng ganitong quantum state, at maaaring variational o hindi variational depende sa problema.
Sa susunod na dalawang aralin, magpapakita tayo ng dalawang tiyak na halimbawa ng paghahanda ng mga estado at pag-sample mula sa mga ito.
- Sa Aralin 4, gagamit tayo ng isang parameterized local unitary coupled Jastrow (LUCJ) ansatz upang makabuo ng mga sample para sa isang problemang pang-chemistry (ground state energy estimation ng molekulang ). Sisimulan natin ang LUCJ ansatz gamit ang mga parameter mula sa klasikal na coupled cluster singles and doubles (CCSD) computation.
- Sa Aralin 5, mag-sa-sample tayo mula sa Krylov basis states upang masalukin ang subspace para sa isang condensed matter physics problem. Ang pamamaraang ito ay hindi variational ang kalikasan.
Bukod sa mga problem-specific na pamamaraan sa itaas, ang isang generic na pamamaraan para sa state preparation ay kinabibilangan ng isang variational ansatz, kung saan paulit-ulit na ia-update ang mga ansatz parameter gamit ang isang klasikal na optimizer.
Ang mga sample mula sa pre-fault tolerant quantum computers ay maaaring may ingay. Gumagamit ang SQD ng isang self-consistent configuration recovery process upang itama ang mga maingay na sample [1]. Tatalakayin natin ang configuration recovery process nang mas detalyado at ilalapat ito para sa paulit-ulit na pagwawasto ng mga maingay na sample upang mapahusay ang ground state energy estimation para sa isang chemistry problem sa Aralin 4.
3.1 Mga tala sa ground state supportβ
Ipaliwanag natin ang konsepto ng ground state support nang higit pa. Ang ground state support ay maaaring tukuyin bilang ang hanay ng mga basis state kung saan ang ground state ay may hindi zero na amplitude (hanggang sa isang cutoff threshold).
Ipagpalagay na ang eksaktong ground state ng isang -qubit na problema ay
Kung isa-sample natin ang estado sa itaas, dapat nating makuha ang isang hanay ng mga computational basis state , (ang ibang computational basis state ay may zero amplitude sa ground state, kaya sa perpektong sitwasyon ay hindi sila lalabas sa panahon ng sampling).
Sa perpektong sitwasyon, ang hanay ng mga basis vector para sa estadong ito ay binubuo ng (sa ibang salita, ang subspace ng estadong ito ay sakop ng dalawang basis vector na ito).
Sa katotohanan, hindi natin kailangang ihanda ang eksaktong ground state dahil ang pag-sample ng maraming ibang estado ay maaaring magbigay sa atin ng parehong hanay ng mga vector. Halimbawa:
Ang paghahanda at pag-sample mula sa alinman sa mga estado sa itaas ay makakabuo ng mga vector na may hindi zero na amplitude sa ground state, at lahat sila ay kwalipikado na nagtataglay ng ground state support. Tandaan na ang pag-sample ng ay nagsasama ng isang karagdagang vector na may na amplitude sa eksaktong ground state. Gayunpaman, ipinakita na natin kanina na ang pagsama ng mga ganitong vector sa subspace ay hindi problema dahil ang projection at diagonalization operation ay nagtatakda ng amplitude ng hindi gustong mga vector sa , at makukuha natin ang inaasahang eigenvalue at mabubuo muli ang tamang eigenstate.
Kaya, hindi kinakailangan ang paghahanda at pag-sample mula sa eksaktong ground state. Sa katunayan, ang paggawa nito ay maaaring maging mahirap dahil hindi alam ang eksaktong ground state a priori, at madalas na mas kapaki-pakinabang na huwag ihanda at mag-sample mula sa eksaktong ground state, lalo na kung ang wave function (estado) ay skewed na may ilang basis state na may napakataas na probabilidad. Isaalang-alang ang sumusunod na wave function:
Ito ay isang skewed na wave function kung saan ang mga basis state at ay may mas malaking amplitude kumpara sa at . Kapag na-sample, mas madalas nating makukuha ang at ( para sa at bawat isa, para sa , at para sa ). Sa limitadong sampling budget (shots), malamang na ang ating na-sample na hanay ay naglalaman lamang ng at . Tulad ng ipinakita natin kanina, kung susalukin natin ang subspace gamit ang ganitong hanay na kulang ng mga vector, hindi natin mahahanap ang tunay na minimum eigenvalue. Kaya, magiging kapaki-pakinabang (at kinakailangan) ang pag-sample mula sa isang estado na may ground state support.
3.2 Isang argumento laban sa uniform samplingβ
Maaaring matukso tayong mag-draw ng mga sample mula sa isang uniform distribution upang mabuo ang subspace. Bagama't maaaring gumana ito para sa maliliit na problema, magsisimula itong mabigo para sa mas malalaki at mas praktikal na mga problema. Para sa malalaking problema na may maraming qubit, ang Hilbert space ay maaaring maging napakalaki. Halimbawa, ang isang 32-qubit Hilbert space ay may mahigit bilyong posibleng basis vector (). Kung mag-uniform sample tayo mula sa espasyong iyon na may limitadong sample budget (sabihin nating na vector upang manatiling feasible ang diagonalization process), ang subspace ay maaaring mas madalas na hindi kasama ang mga vector na may ground state support dahil magiging random ang proseso. Kaya, kailangan natin ng sistematikong paraan para mag-sample mula sa ground state support gamit ang mga quantum circuit.
4. SQD at Sparsity ng wave functionβ
Ang agwat sa pagitan ng buong Hilbert space at mga feasible na dimensyon ng subspace ay nagdudulot ng isa pang mahalagang aspeto ng SQD, at iyon ay ang sparsity ng wave function. Ang SQD approach ay gumagana nang maayos para sa mga sparse o concentrated na wave function kung saan ang isang maliit na bahagi ng mga basis state ay may hindi-negligible na amplitude. Mayroong dalawang dahilan para dito:
- Kung ang wave function ay malawak (ibig sabihin, maraming basis state ang may hindi-negligible na amplitude), at hindi natin kasama ang mga vector na may target state support sa subspace, maaaring makakuha tayo ng maling mga eigenvalue at eigenvector.
- Upang maiwasan ang isyung ito, kailangan nating isama ang maraming vector sa subspace. Gayunpaman, ang dimensyon ng projected Hamiltonian ay direktang nauugnay sa dimensyon ng subspace. Ang mas malaking subspace ay nangangahulugang mas malaking Hamiltonian, na maaaring maging imposibleng i-diagonalize.
Ipinakita natin ang isyu gamit ang sumusunod na matrix (). Ang pinakamababang eigenvalue ng ay , at ang kaukulang wave function (eigenstate) ay malawak:
H_new = np.array(
[
[-0.958, 0.1853, -0.2663, -0.3875, -0.0524, -0.3779, -0.0145, -0.3369],
[0.1853, -0.4081, -0.8549, -0.2312, 0.0615, -0.2493, -0.3804, -0.3312],
[-0.2663, -0.8549, -0.6929, -0.0063, -0.0478, -0.0236, -0.2494, -0.0669],
[-0.3875, -0.2312, -0.0063, -0.4468, -0.6301, -0.4627, -0.1188, 0.0753],
[-0.0524, 0.0615, -0.0478, -0.6301, -0.6664, -0.1514, -0.3571, -0.3644],
[-0.3779, -0.2493, -0.0236, -0.4627, -0.1514, -0.9605, 0.0137, 0.0035],
[-0.0145, -0.3804, -0.2494, -0.1188, -0.3571, 0.0137, -1.1449, 0.0433],
[-0.3369, -0.3312, -0.0669, 0.0753, -0.3644, 0.0035, 0.0433, -1.2307],
]
)
eigvals, eigvecs = eigh(H_new)
print(f"Minimum eigenvalue: {eigvals.min()}")
print(f"Eigenvector for minimum eigenvalue: {eigvecs[:,np.argmin(eigvals)]}")
Minimum eigenvalue: -2.208137504726661
Eigenvector for minimum eigenvalue: [0.3536 0.3536 0.3536 0.3536 0.3535 0.3536 0.3535 0.3535]
Ipagpalagay na ipo-project natin ang sa isang subspace na sakop ng apat na vector: , , , at at kalkulahin ang eigenvalue.
x1 = np.zeros(8)
x1[0] = 1
x2 = np.zeros(8)
x2[2] = 1
x3 = np.zeros(8)
x3[5] = 1
x4 = np.zeros(8)
x4[6] = 1
H_new_s = np.array(
[
[x1 @ H_new @ x1.T, x1 @ H_new @ x2.T, x1 @ H_new @ x3.T, x1 @ H_new @ x4.T],
[x2 @ H_new @ x1.T, x2 @ H_new @ x2.T, x2 @ H_new @ x3.T, x2 @ H_new @ x4.T],
[x3 @ H_new @ x1.T, x3 @ H_new @ x2.T, x3 @ H_new @ x3.T, x3 @ H_new @ x4.T],
[x4 @ H_new @ x1.T, x4 @ H_new @ x2.T, x4 @ H_new @ x3.T, x4 @ H_new @ x4.T],
]
)
print(H_new_s)
[[-0.958 -0.2663 -0.3779 -0.0145]
[-0.2663 -0.6929 -0.0236 -0.2494]
[-0.3779 -0.0236 -0.9605 0.0137]
[-0.0145 -0.2494 0.0137 -1.1449]]
eigvals, eigvecs = eigh(H_new_s)
print(f"Minimum eigenvalue: {eigvals.min()}")
Minimum eigenvalue: -1.4266552340586673
Ipinapakita ng halimbawa sa itaas na kapag ang wave function ay malawak, at hindi natin kasama ang mga basis state sa subspace, ang pagkalkula ng eigenvalue ay nagiging mali.
5. SQD kumpara sa VQEβ
Tulad ng nabanggit kanina, maaaring kailanganin ng SQD ng isang variational quantum circuit at paulit-ulit na pag-update ng parameter upang maghanda at mag-sample mula sa ground state support. Dahil ang paulit-ulit na pag-update ng parameter na ito ay katulad ng VQE, maaaring itanong ng isa kung paano naiiba ang mga pamamaraang ito, at ano ang mga kalamangan ng SQD sa VQE? Sa seksyong ito, inihambing natin ang mga pamamaraan at tinalakay ang mga kalamangan ng SQD gamit ang molekulang na inilarawan gamit ang minimal basis set (sto-3g) bilang halimbawa.
| Β | VQE | SQD |
|---|---|---|
| Overhead sa pagsukat | Maraming Pauli terms, maraming measurement circuits: Ang Hamiltonian para sa molekula ay may natatanging Pauli terms. Dahil ang mga Pauli term ay maaaring maglaman ng at na terms, at ang karaniwang quantum measurements ay ginagawa sa -basis, kailangan natin ng pagbabago ng measurement basis upang suriin ang mga term na iyon. Kapag na-optimize para sa mga pagsukat, ang na terms ay maaaring ipangkat sa na grupo, kung saan ang bawat grupo ay maaaring suriin gamit ang isang circuit. Kaya, kailangan natin ng hindi bababa sa na natatanging circuit upang masuri ang lahat ng Pauli terms. Maraming shots bawat circuit para sa mas mataas na katumpakan. Muli, ang nasukat na inaasahang halaga ng bawat Pauli term ay may kalakip na variance na nakasalalay sa inverse ng . Kaya, upang tumpak na matantya ang bawat term, kailangan nating maglaan ng maraming shots bawat circuit. Halimbawa, upang makamit ang chemical accuracy ( kcal/mol), karaniwan ay kailangan ng shots sa order na - bawat circuit. Kaya, ang VQE ay nangangailangan ng maraming measurement circuit at bawat circuit ay may tiyak na bilang ng shots. Para sa mga praktikal na kaso, ang measurement overhead na ito ay maaaring maging limitasyon. | Sa SQD, hindi natin kailangan ng iba't ibang measurement circuit para sa bawat grupong Pauli terms. Karaniwan, sinusukat natin ang isang circuit para sa isang nakapirming bilang ng shots. Bagama't maaaring itakda natin ang bilang ng shots sa isang malaking halaga depende sa problema, ang overhead ay nananatiling mas maliit kaysa sa VQE. Gayundin, ang mga energy estimation gamit ang diagonalization process ay eksaktong, ibig sabihin ang mga nakalkulang eigenvalue ay eksaktong sa subspace na iyon at walang variance na kalakip tulad ng VQE. (Sa kaso ng Krylov basis state sampling (Aralin 5), kailangan nating sukatin ang maraming circuit, ngunit ang bilang ng circuit ay nananatiling mas maliit kaysa sa VQE). |
| Tinantyang hangganan ng enerhiya | Sa VQE, ang mga energy estimation ay hindi nakahangganan at maaaring mas mababa kaysa sa tunay na minimum na halaga dahil sa ingay. | Ang proseso ng energy estimation sa SQD ay palaging nagbubunga ng upper bound sa ground state energy at ang tinantyang enerhiya ay hindi kailanman magiging mas mababa kaysa sa tunay na ground state energy. |
| Toleransya sa ingay | Ang VQE energy estimation ay madaling maapektuhan ng ingay mula sa pre-fault-tolerant quantum computers. | Ang SQD ay may likas na toleransya sa ingay. Ang mga pre-fault-tolerant quantum computer ay maaaring makabuo ng maingay na mga sample. Kahit isama natin ang mga sample na iyon sa subspace, ang kasunod na diagonalization ay maaaring supilin ang mga sample na iyon sa pamamagitan ng pagtatakda ng kanilang mga amplitude sa zero. Gayundin, tatalakayin natin ang isang pamamaraan na tinatawag na configuration recovery na may kaugnayan sa SQD na higit pang nagpapahusay ng toleransya ng SQD sa ingay. |
6. Buodβ
- Sa SQD, ang isang quantum computer ay nakakabuo ng mga sample at ang isang klasikal na computer ay nagpo-project ng Hamiltonian sa isang subspace na sakop ng mga sample at dini-diagonalize ito upang makalkula ang mga eigenvalue at eigenvector.
- Ang mga nabuong sample ay dapat mula sa target (ground) state support.
- Depende sa problema, ang quantum state preparation at sample generation flow ay maaaring paulit-ulit o hindi paulit-ulit.
- Gumagana nang pinakamahusay ang SQD para sa mga sparse na wave function. Ang isang malawak na wave function ay mangangailangan ng malaking subspace para sa mga tumpak na solusyon, na nagpapamahal sa klasikal na projection at diagonalization operation.
- Ang SQD ay may ilang kalamanan sa VQE tulad ng mas mababang measurement overhead at upper bound sa tinantyang ground state energy, na ginagawa itong mas scalable.
Mga Sanggunianβ
[1] J. Robledo-Moreno et al., "Chemistry Beyond Exact Solutions on a Quantum-Centric Supercomputer" (2024). arXiv:quant-ph/2405.05068.