Lumaktaw sa pangunahing nilalaman

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.

H∣ψ⟩=E∣ψ⟩H \vert \psi \rangle = E \vert \psi \rangle

Ang HH ay ang Hamiltonian ng isang sistema, ang ∣ψ⟩|\psi\rangle ay ang wave function (kilala rin bilang eigenstate), at ang EE ay isang eigenvalue. Ang mga eigenvalue ng matrix HH 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 HH. Gayunpaman, nagiging mahal ang computationally ang pamamaraan (maging imposible) habang lumalaki ang matrix. Halimbawa, maging para sa maliliit na kemikal na molekula, ang HH ay maaaring maging napakalaki (halimbawa, ang Hamiltonian para sa molekulang N2N_2 na may cc-PVDZ basis ay may dimensyon na 65780Γ—65780).65780 \times 65780).

Sa kabutihang palad, hindi natin palaging kailangan ang lahat ng eigenvalue at eigenvector ng Hamiltonian HH, 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 NΓ—NN \times N matrix, HH, kung saan ang kumpletong vector space (Hilbert space) ay may dimensyon na NN (NN ay malaki). Susunod, pumipili tayo ng subspace (S\mathcal{S}) β€” na isang subset ng buong Hilbert space β€” na may dimensyon na MM, kung saan ang MM ay sapat na maliit. Pagkatapos ng pag-project ng HH sa subspace na ito, ang projected matrix (sabihin nating HSH_\mathcal{S}) ay magiging mas maliit (MΓ—MM \times M). Ang mas maliit na HSH_\mathcal{S} 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 HSH_\mathcal{S} 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 8Γ—88 \times 8 Hamiltonian matrix HH.

H=[0.2235βˆ’0.0390βˆ’0.1035βˆ’0.08180.17460.10910.1165βˆ’0.0104βˆ’0.03900.66210.0706βˆ’0.1964βˆ’0.07820.26190.10950.0029βˆ’0.10350.07060.99610.17240.1067βˆ’0.2299βˆ’0.18170.1571βˆ’0.0818βˆ’0.19640.1724βˆ’0.17730.1019βˆ’0.4778βˆ’0.1272βˆ’0.04140.1746βˆ’0.07820.10670.10190.1418βˆ’0.1359βˆ’0.1793βˆ’0.07660.10910.2619βˆ’0.2299βˆ’0.4778βˆ’0.13590.10140.16960.05520.11650.1095βˆ’0.1817βˆ’0.1272βˆ’0.17930.16960.42270.2702βˆ’0.01040.00290.1571βˆ’0.0414βˆ’0.07660.05520.27020.4456]H = \begin{bmatrix} 0.2235 & -0.0390 & -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 \\ \end{bmatrix}

I-diagonalize natin ang buong matrix kasama ang iba't ibang projected na bersyon (HSH_\mathcal{S}) para sa iba't ibang subspace upang ipakita ang scalability at kahalagahan ng pagpili ng subspace.

Ang ground state energy (minimum eigenvalue) ng matrix HH ay βˆ’0.5357-0.5357 at ang eksaktong ground state wave function (eigenvector) ay:

GSexact=0.8βˆ—βˆ£011⟩+0.6βˆ—βˆ£101⟩.\text{GS}_{\text{exact}} = 0.8 * |011\rangle + 0.6 * |101\rangle.

Ibig sabihin, ang ground state ng matrix ay sakop ng dalawang computational basis states (vectors) ∣011⟩\vert 011 \rangle at ∣101⟩\vert 101 \rangle.

# 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 HH 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:

  1. eksaktong ground state vectors (∣011⟩\vert 011 \rangle at ∣101⟩\vert 101 \rangle).
  2. mga vector na hindi kasama ang ilan o lahat ng eksaktong ground state vectors (halimbawa, ∣000⟩\vert 000 \rangle, ∣011⟩\vert 011 \rangle, at ∣110⟩\vert 110 \rangle).
  3. 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 HH sa isang subspace (S\mathcal{S}) na sakop ng dalawang vector x1=∣011⟩x_1 = |011\rangle at x2=∣101⟩x_2 = |101\rangle. Ang projected Hamiltonian ay tinukoy ng:

HS=[⟨x1∣H∣x1⟩⟨x1∣H∣x2⟩⟨x2∣H∣x1⟩⟨x2∣H∣x2⟩]H_\mathcal{S} = \begin{bmatrix} \langle x1 | H | x1 \rangle & \langle x1 | H | x2 \rangle \\ \langle x2 | H | x1 \rangle & \langle x2 | H | x2 \rangle \end{bmatrix}
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 (HSH_\mathcal{S}) ay 2Γ—22 \times 2, na mas maliit kaysa sa buong matrix HH (8Γ—88 \times 8).
  • Ang minimum eigenvalue ng projected matrix ay tumutugma sa eigenvalue ng eksaktong ground state.
  • Ang mga halaga sa variable na eigvecs ay 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):
∣ψ⟩=βˆ’(0.8∣011⟩+0.6∣101⟩)|\psi \rangle = - (0.8 |011\rangle + 0.6 |101\rangle)

2.2 Kaso-2: Ang subspace ay hindi kasama ang ilan o lahat ng ground state vectors​

Susunod, ipo-project natin ang HH sa isang subspace na sakop ng tatlong vector x1=∣000⟩x_1 = |000\rangle, x2=∣011⟩x_2 = |011\rangle, at x3=∣110⟩x_3 = |110\rangle. Sinadya nating piliin ang mga vector upang hindi kasama ang isang ground state vector (∣101⟩\vert 101 \rangle). Ang projected Hamiltonian ay tinukoy ng:

HS=[⟨x1∣H∣x1⟩⟨x1∣H∣x2⟩⟨x1∣H∣x3⟩⟨x2∣H∣x1⟩⟨x2∣H∣x2⟩⟨x2∣H∣x3⟩⟨x3∣H∣x1⟩⟨x3∣H∣x2⟩⟨x3∣H∣x3⟩]H_\mathcal{S} = \begin{bmatrix} \langle x1 | H | x1 \rangle & \langle x1 | H | x2 \rangle & \langle x1 | H | x3 \rangle\\ \langle x2 | H | x1 \rangle & \langle x2 | H | x2 \rangle & \langle x2 | H | x3 \rangle \\ \langle x3 | H | x1 \rangle & \langle x3 | H | x2 \rangle & \langle x3 | H | x3 \rangle \\ \end{bmatrix}
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 βˆ’0.2111-0.2111 sa kasong ito ay hindi tumutugma sa minimum eigenvalue na βˆ’0.5357-0.5357 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 x1=∣011⟩x_1 = |011\rangle, x2=∣101⟩x_2 = |101\rangle (naroroon sa eksaktong ground state), at x3=∣111⟩x_3 = |111\rangle (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 βˆ’0.5357-0.5357 bilang minimum eigenvalue na tumutugma sa buong matrix (ibig sabihin, ang eksaktong ground state). Isa pang kawili-wiling resulta ay ang amplitude ng x3x_3 na ibinalik ng projection at diagonalization process. Ang amplitude ay 00, at kapag binuo nating muli ang wave function (eigenstate) gamit ang mga nakalkulang amplitude at vector, nakukuha natin:

∣ψ⟩=0.8∣011⟩+0.6∣101⟩+0.0∣111⟩=0.8∣011⟩+0.6∣101⟩(exact ground state)\vert \psi \rangle = 0.8 |011\rangle + 0.6 |101\rangle + 0.0 |111\rangle = 0.8 |011\rangle + 0.6 |101\rangle \left( \text{exact ground state} \right)

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 00. 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:

  1. 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.
  2. 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. Isang diagram ng quantum at klasikal na mga bahagi ng SQD. Sa quantum, naghahanda ka at nagsa-sample mula sa iyong target support; klasikal naman ang pag-project ng iyong matrix sa na-sample na subspace at ang pag-diagonalize ng iyong projected matrix. 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.

  1. 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 N2N_2). Sisimulan natin ang LUCJ ansatz gamit ang mga parameter mula sa klasikal na coupled cluster singles and doubles (CCSD) computation.
  2. 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. Isang flow chart mula sa isang variational quantum circuit sa pamamagitan ng quantum sampling patungo sa klasikal na computing kung saan ini-project at dini-diagonalize ang matrix. Pagkatapos, ang mga resulta ay pinapasa sa isang klasikal na optimizer na pumipili ng mga bagong variational parameter, at bumabalik tayo sa variational quantum circuit. 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 33-qubit na problema ay

∣ψ⟩=12∣000⟩+12∣111⟩\vert \psi \rangle = \frac{1}{\sqrt{2}} \vert 000 \rangle + \frac{1}{\sqrt{2}} \vert 111 \rangle

Kung isa-sample natin ang estado sa itaas, dapat nating makuha ang isang hanay ng mga computational basis state {∣000⟩\{\vert 000 \rangle, ∣111⟩}\vert 111 \rangle \} (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 {∣000⟩,∣111⟩}\{ \vert 000 \rangle, \vert 111 \rangle \} (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:

∣ψa⟩=0.8∣000⟩+0.6∣111βŸ©β†’Sampling{∣000⟩,∣111⟩}∣ψb⟩=12∣000⟩+32∣111βŸ©β†’Sampling{∣000⟩,∣111⟩}∣ψc⟩=12∣000⟩+12∣111⟩+12∣101βŸ©β†’Sampling{∣000⟩,∣101⟩,∣111⟩}\begin{align} \vert \psi_a \rangle = 0.8 \vert 000 \rangle + 0.6 \vert 111 \rangle &\xrightarrow{\text{Sampling}} \{ \vert 000 \rangle, \vert 111 \rangle \} \\ \vert \psi_b \rangle = \frac{1}{2} \vert 000 \rangle + \frac{\sqrt{3}}{2} \vert 111 \rangle &\xrightarrow{\text{Sampling}} \{ \vert 000 \rangle, \vert 111 \rangle \} \\ \vert \psi_c \rangle = \frac{1}{2} \vert 000 \rangle + \frac{1}{2} \vert 111 \rangle + \frac{1}{\sqrt{2}} \vert 101 \rangle &\xrightarrow{\text{Sampling}} \{ \vert 000 \rangle, \vert 101 \rangle, \vert 111 \rangle \} \end{align}

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 ∣ψc⟩\vert \psi_c \rangle ay nagsasama ng isang karagdagang vector ∣101⟩\vert 101 \rangle na may 00 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 00, at makukuha natin ang inaasahang eigenvalue at mabubuo muli ang tamang eigenstate.

Mga diagram ng mabuti at masamang ansatz support. Ang isang mabuting ansatz ay may support na ganap na naglalaman ng ground state support. Ang isang mahinang ansatz ay naglalaman lamang ng bahagi o wala sa ground state support.

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:

∣ψ⟩=0.7∣000βŸ©βˆ’0.7∣010⟩+0.1∣101βŸ©βˆ’0.01∣111⟩\vert \psi \rangle = 0.7 \vert 000 \rangle - 0.7 \vert 010 \rangle + 0.1 \vert 101 \rangle - 0.01 \vert 111 \rangle

Ito ay isang skewed na wave function kung saan ang mga basis state ∣000⟩\vert 000 \rangle at ∣010⟩\vert 010 \rangle ay may mas malaking amplitude kumpara sa ∣101⟩\vert 101 \rangle at ∣111⟩\vert 111 \rangle. Kapag na-sample, mas madalas nating makukuha ang ∣000⟩\vert 000 \rangle at ∣010⟩\vert 010 \rangle (samplingΒ probability=∣amplitude∣2\text{sampling probability} = \vert \text{amplitude} \vert^{2} β‰ˆ49%\approx 49\% para sa ∣000⟩\vert 000 \rangle at ∣010⟩\vert 010 \rangle bawat isa, β‰ˆ1%\approx 1\% para sa ∣101⟩\vert 101 \rangle, at β‰ˆ0.01%\approx 0.01\% para sa ∣111⟩\vert 111 \rangle). Sa limitadong sampling budget (shots), malamang na ang ating na-sample na hanay ay naglalaman lamang ng ∣000⟩\vert 000 \rangle at ∣010⟩\vert 010 \rangle. 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 44 bilyong posibleng basis vector (232=4,294,967,2962^{32} = 4,294,967,296). Kung mag-uniform sample tayo mula sa espasyong iyon na may limitadong sample budget (sabihin nating 1000010000 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:

  1. 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.
  2. 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 (HnewH_{new}). Ang pinakamababang eigenvalue ng HnewH_{new} ay βˆ’2.2081-2.2081, at ang kaukulang wave function (eigenstate) ay malawak:

∣ψ⟩=∣000⟩+∣001⟩+∣010⟩+∣011⟩+∣100⟩+∣101⟩+∣110⟩+∣111⟩8|\psi\rangle = \frac{|000\rangle + |001\rangle + |010\rangle + |011\rangle + |100\rangle + |101\rangle + |110\rangle + |111\rangle}{\sqrt{8}}
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 HnewH_{new} sa isang subspace na sakop ng apat na vector: ∣000⟩|000\rangle, ∣010⟩|010\rangle, ∣101⟩|101\rangle, at ∣110⟩|110\rangle 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 N2N_2 na inilarawan gamit ang minimal basis set (sto-3g) bilang halimbawa.

Β VQESQD
Overhead sa pagsukatMaraming Pauli terms, maraming measurement circuits: Ang Hamiltonian para sa molekula ay may 29512951 natatanging Pauli terms. Dahil ang mga Pauli term ay maaaring maglaman ng XX at YY na terms, at ang karaniwang quantum measurements ay ginagawa sa ZZ-basis, kailangan natin ng pagbabago ng measurement basis upang suriin ang mga term na iyon. Kapag na-optimize para sa mga pagsukat, ang 29512951 na terms ay maaaring ipangkat sa 11871187 na grupo, kung saan ang bawat grupo ay maaaring suriin gamit ang isang circuit. Kaya, kailangan natin ng hindi bababa sa 11871187 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 shots\sqrt{shots}. Kaya, upang tumpak na matantya ang bawat term, kailangan nating maglaan ng maraming shots bawat circuit. Halimbawa, upang makamit ang chemical accuracy (11 kcal/mol), karaniwan ay kailangan ng shots sa order na 10510^5-10710^7 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 enerhiyaSa 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 ingayAng 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​

  1. 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.
  2. Ang mga nabuong sample ay dapat mula sa target (ground) state support.
  3. Depende sa problema, ang quantum state preparation at sample generation flow ay maaaring paulit-ulit o hindi paulit-ulit.
  4. 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.
  5. 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.