Diagonalizzazione quantistica basata su campioni (SQD)
La diagonalizzazione quantistica basata su campioni (SQD) combina l'algebra lineare classica e la potenza del calcolo quantistico per diagonalizzare una matrice hamiltoniana e calcolarne gli autovalori e gli autovettori. La diagonalizzazione delle matrici è un'importante operazione matematica, poiché molti problemi scientifici, di calcolo e di ottimizzazione utilizzano questo metodo.
Il video che segue offre una panoramica dell'SQD, dei fattori che ne determinano l'utilità e che lo rendono più veloce di molti altri approcci. Il testo successivo fornisce maggiori dettagli.
1. Introduzione e motivazione
Consideriamo l'equazione degli autovalori dell'energia resa famosa da Schrödinger, come esempio.
è l'hamiltoniana di un sistema, è la funzione d'onda (nota anche come autostato) e è un autovalore. Gli autovalori della matrice rappresentano i livelli energetici del sistema. Ad esempio, se il sistema è una molecola, l'autovalore più basso rappresenta l'energia di stato fondamentale della molecola. In molti problemi, siamo interessati alla stima dell'energia dello stato fondamentale.
Applicando le tecniche di diagonalizzazione esatta dell'algebra lineare, è possibile diagonalizzare l'intera matrice . Tuttavia, l'approccio diventa computazionalmente costoso (o addirittura impossibile) quando la matrice diventa più grande. Ad esempio, anche per piccole molecole chimiche, può essere proibitivamente grande (ad esempio, l'hamiltoniana per la molecola con una base cc-PVDZ ha una dimensione di
Fortunatamente, non sempre abbiamo bisogno di tutti gli autovalori e gli autovettori di un'hamiltoniana , e quindi la diagonalizzazione dell'intera matrice non è necessaria in molti casi pratici. Ad esempio, nel caso della stima dello stato fondamentale, siamo interessati all'autovalore più basso e all'autovettore corrispondente. Questo ci permette di applicare il concetto di proiezione su un sottospazio (utile).
Si consideri una matrice , , dove lo spazio vettoriale completo (spazio di Hilbert) ha una dimensione di ( è grande). Quindi, selezioniamo un sottospazio ( ) - che è un sottoinsieme dell'intero spazio di Hilbert - di dimensione , dove è sufficientemente piccolo. Dopo aver proiettato su questo sottospazio, la matrice proiettata (ad esempio, ) sarà più piccola ( ). La matrice più piccola può essere diagonalizzata con un metodo numerico classico adeguato e generare autovalori e autovettori per quel sottospazio.
Si noti che il sottospazio deve essere a supporto del nostro autostato target (ad esempio, il terreno). In altre parole, l'hamiltoniana proiettata deve trovarsi in un sottospazio che include l'autovalore più basso.
2. Proiezione e diagonalizzazione
Consideriamo di voler trovare l'autovalore minimo e l'autovettore corrispondente per la seguente matrice hamiltoniana .
Verrà diagonalizzata la matrice completa insieme a diverse versioni proiettate ( ) per diversi sottospazi per dimostrare la scalabilità e l'importanza della scelta del sottospazio.
L'energia dello stato fondamentale (minimo autovalore) della matrice è e la funzione d'onda esatta dello stato fondamentale (autovettore) è:
cioè, lo stato fondamentale della matrice è compreso tra due stati base computazionali (vettori) e .
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)])Output:
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. ]
Successivamente, proietteremo la matrice su diversi sottospazi e verificheremo se è possibile ottenere lo stato fondamentale esatto. In particolare, proietteremo la matrice su un sottospazio compreso tra:
- vettori esatti dello stato fondamentale ( e ).
- che esclude alcuni o tutti i vettori esatti dello stato fondamentale (ad esempio, , e ).
- vettori che includono sia lo stato di terra esatto sia lo stato fuori terra (ma non tutti i vettori possibili nello spazio di Hilbert).
2.1 Case-1: Il sottospazio include lo stato fondamentale
Supponiamo di voler proiettare in un sottospazio ( ) spaziato da due vettori e . L'hamiltoniana proiettata è definita da:
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)Output:
[[-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)]}")Output:
Minimum eigenvalue: -0.535656000064295
Eigenvector for minimum eigenvalue: [-0.8 -0.6]
A questo proposito possiamo fare alcune osservazioni fondamentali.
- Poiché abbiamo spaziato il sottospazio con due vettori, la dimensione della matrice proiettata ( ) è , che è più piccola della matrice completa ( ).
- L'autovalore minimo della matrice proiettata corrisponde all'autovalore esatto dello stato fondamentale.
- I valori della variabile
eigvecsdenotano l'ampiezza dei vettori di estensione del sottospazio e, grazie ad essi, è possibile ricostruire l'autostato (stato fondamentale). In questo caso, si ottiene l'esatto stato fondamentale (fino a una fase globale):
2.2 Case-2: Il sottospazio esclude alcuni o tutti i vettori dello stato fondamentale
Quindi, proiettiamo su un sottospazio delimitato da tre vettori , e . Scegliamo deliberatamente i vettori in modo da escludere un vettore di stato fondamentale ( ). L'hamiltoniana proiettata è definita da:
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)Output:
[[ 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()}")Output:
Minimum eigenvalue: -0.21108858736702252
L'autovalore in questo caso non corrisponde all'autovalore minimo dell'hamiltoniana completa. L'osservazione chiave è: se proiettiamo su un sottospazio che esclude gli stati base del nostro stato target (terreno) - parzialmente o completamente - lo stato terreno stimato sarà diverso da quello esatto.
2.3 Case-3: Il sottospazio include sia i vettori dello stato fondamentale che quelli non fondamentali
Successivamente, mostriamo un caso in cui il sottospazio è attraversato da vettori che includono vettori esatti dello stato fondamentale insieme a vettori indesiderati. Supponiamo che il nostro sottospazio sia spaziato da , (presente nello stato fondamentale esatto) e (assente nello stato fondamentale esatto).
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)Output:
[[-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)]}")Output:
Minimum eigenvalue: -0.53565600006461
Eigenvector for minimum eigenvalue: [ 0.8 0.6 -0. ]
In questo caso, otteniamo ancora una volta come autovalore minimo che corrisponde alla matrice completa (cioè allo stato fondamentale esatto). Un altro risultato interessante è l'ampiezza di restituita dal processo di proiezione e diagonalizzazione. L'ampiezza è , e quando ricostruiamo la funzione d'onda (autostato) con le ampiezze e i vettori calcolati, otteniamo:
Pertanto, anche se il nostro sottospazio include alcuni vettori non bersaglio (insieme all'insieme completo dei vettori bersaglio), possiamo calcolare l'autovalore e l'autostato corretti, poiché il processo di proiezione e diagonalizzazione filtra i vettori non bersaglio impostando le loro ampiezze su . Questa proprietà di SQD fornisce una tolleranza intrinseca al rumore.
3. Il ruolo della meccanica quantistica nella SQD
Le analisi precedenti stabiliscono l'importanza dei vettori spanning del sottospazio, che devono essere a sostegno dello stato target. Ciò solleva una questione importante: Come scegliere i vettori con il supporto dello stato target per la costruzione del sottospazio?
È qui che entrano in gioco i computer quantistici. La sinergia quantistica-classica funziona come segue nel paradigma SQD:
- Utilizzando un circuito quantistico adeguato, cerchiamo di preparare uno stato su un computer quantistico che generi stati base su cui la funzione d'onda target (ad esempio, lo stato fondamentale) abbia un supporto significativo. Gli stati base campionati (bitstring) copriranno il sottospazio per la proiezione hamiltoniana.
- Un computer classico proietta l'hamiltoniana nel sottospazio (attraversato dai campioni/vettori del computer quantistico) e la diagonalizza per calcolare autovalori e autovettori utilizzando metodi numerici appropriati.
Ci possono essere diversi modi per preparare tale stato quantistico, che possono essere variazionali o non variazionali a seconda del problema.
Nelle prossime due lezioni mostreremo due esempi specifici di preparazione degli stati e di campionamento da essi.
- Nella Lezione 4, utilizzeremo un ansatz unitario locale parametrizzato di Jastrow (LUCJ) per generare campioni per un problema di chimica (stima dell'energia di stato fondamentale della molecola ). Inizializzeremo l'ansatz LUCJ con i parametri del classico calcolo accoppiato di cluster singoli e doppi (CCSD).
- Nella Lezione 5, campioneremo gli stati della base di Krylov per coprire il sottospazio di un problema di fisica della materia condensata. Questo approccio è di natura non variazionale.
Oltre agli approcci specifici al problema, un approccio generico per la preparazione degli stati prevede un ansatz variazionale, in cui aggiorneremo iterativamente i parametri dell'ansatz utilizzando un ottimizzatore classico.
I campioni provenienti da computer quantistici con tolleranza ai guasti precedente possono essere rumorosi. L'SQD impiega un processo di recupero della configurazione autoconsistente per correggere i campioni rumorosi [1]. Discuteremo il processo di recupero della configurazione in modo più dettagliato e lo applicheremo per correggere i campioni rumorosi in modo iterativo per affinare la stima dell'energia dello stato fondamentale in un problema di chimica nella Lezione 4.
3.1 Note sul supporto dello stato fondamentale
Spieghiamo meglio il concetto di supporto di stato a terra. Il supporto dello stato fondamentale può essere definito come l'insieme degli stati base in cui lo stato fondamentale ha ampiezza non nulla (fino a una soglia di cutoff).
Supponiamo che lo stato fondamentale esatto di un problema di -qubit sia
Se campioniamo lo stato di cui sopra, dovremmo ottenere un insieme di stati base computazionali , (altri stati base computazionali hanno ampiezza zero allo stato fondamentale e quindi, idealmente, non appariranno durante il campionamento).
Idealmente, l'insieme dei vettori base per questo stato è costituito da (in altre parole, il sottospazio di questo stato è attraversato da questi due vettori base).
In pratica, non è necessario preparare l'esatto stato fondamentale, poiché il campionamento di molti altri stati può fornire lo stesso insieme di vettori. Ad esempio:
La preparazione e il campionamento da uno qualsiasi dei suddetti stati genererà vettori con ampiezza non nulla allo stato fondamentale, e tutti si qualificheranno come aventi supporto allo stato fondamentale. Si noti che il campionamento include un vettore extra che ha ampiezza nello stato fondamentale esatto. Tuttavia, in precedenza abbiamo dimostrato che l'inclusione di tali vettori nel sottospazio non è problematica, poiché l'operazione di proiezione e diagonalizzazione imposta l'ampiezza dei vettori indesiderati a , e possiamo ottenere l'autovalore previsto e ricostruire l'autostato corretto.
Pertanto, non è necessario preparare e campionare dallo stato fondamentale esatto. In realtà, farlo può essere difficile, poiché lo stato fondamentale esatto non è noto a priori, e spesso è vantaggioso non preparare e campionare dallo stato fondamentale esatto, soprattutto se la funzione d'onda (stato) è skewed con alcuni stati base che hanno probabilità molto elevate. Si consideri la seguente funzione d'onda:
Si tratta di una funzione d'onda obliqua, in cui gli stati base e hanno ampiezze molto maggiori rispetto a e . Quando si campiona, si otterranno e più frequentemente ( per e ciascuno, per , e per ). Con un budget di campionamento finito (scatti ), è molto probabile che il nostro insieme campionato contenga solo e . Come mostrato in precedenza, se si estende il sottospazio con un tale insieme di vettori mancanti, non si riuscirà a trovare il vero autovalore minimo. Pertanto, sarà utile (e necessario) campionare da uno stato con supporto allo stato di terra.
3.2 Un caso contro il campionamento uniforme
Si può essere tentati di estrarre campioni da una distribuzione uniforme per coprire il sottospazio. Sebbene possa funzionare per piccoli problemi, inizierà a fallire per problemi più grandi e pratici. Per problemi di grandi dimensioni con molti qubit, lo spazio di Hilbert può essere proibitivo. Ad esempio, uno spazio di Hilbert a 32 qubit ha più di miliardi di possibili vettori base ( ). Se campioniamo uniformemente da questo spazio con un budget di campionamento finito (diciamo vettori per mantenere il processo di diagonalizzazione fattibile), il sottospazio può escludere più spesso i vettori con supporto allo stato fondamentale, poiché il processo sarà casuale. Pertanto, abbiamo bisogno di un modo sistematico per campionare dal supporto dello stato fondamentale sfruttando i circuiti quantistici.
4. SQD e sparsità della funzione d'onda
Il divario tra le dimensioni dell'intero spazio di Hilbert e quelle del sottospazio fattibile porta con sé un altro aspetto importante della SQD, ovvero la sparsità della funzione d'onda. L'approccio SQD funziona bene per funzioni d'onda rade o concentrate, dove una piccola frazione di stati base ha ampiezze non trascurabili. Le ragioni sono due:
- Se la funzione d'onda è ampia (cioè molti stati base hanno ampiezze non trascurabili) e non includiamo nel sottospazio i vettori con il supporto dello stato target, potremmo ottenere autovalori ed autovettori errati.
- Per evitare questo problema, è necessario includere molti vettori nel sottospazio. Tuttavia, la dimensione dell'hamiltoniana proiettata è direttamente correlata alla dimensione del sottospazio. Un sottospazio più ampio significa un'Hamiltoniana più grande, che potrebbe diventare impossibile da diagonalizzare.
Mostriamo il problema con la seguente matrice ( ). L'autovalore più basso di è , e la funzione d'onda corrispondente (autostato) è ampia:
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)]}")Output:
Minimum eigenvalue: -2.208137504726661
Eigenvector for minimum eigenvalue: [0.3536 0.3536 0.3536 0.3536 0.3535 0.3536 0.3535 0.3535]
Supponiamo di proiettare il su un sottospazio spaziato da quattro vettori: , , , e e calcoliamo l'autovalore.
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)Output:
[[-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()}")Output:
Minimum eigenvalue: -1.4266552340586673
L'esempio precedente mostra che quando la funzione d'onda è ampia e non si includono gli stati base nel sottospazio, il calcolo degli autovalori diventa errato.
5. SQD contro VQE
Come già detto, la SQD può richiedere un circuito quantistico variazionale e aggiornamenti iterativi dei parametri per preparare e campionare il supporto dello stato fondamentale. Poiché questa routine di aggiornamento iterativo dei parametri è simile a VQE, ci si può chiedere in cosa differiscano questi metodi e quali siano i vantaggi di SQD rispetto a VQE In questa sezione, confrontiamo i metodi e discutiamo i vantaggi di SQD con un esempio di molecola descritta con un set di basi minimo (sto-3g).
VQE | SQD | |
|---|---|---|
| Spese generali di misurazione | Molti termini di Pauli, molti circuiti di misura: L'hamiltoniana della molecola ha termini di Pauli unici. Poiché i termini di Pauli possono contenere termini e e le misure quantistiche tipiche sono effettuate nella base , è necessario cambiare la base di misura per valutare questi termini. Quando sono ottimizzati per le misure, i termini di possono essere raggruppati in gruppi di , dove ogni gruppo può essere valutato utilizzando un singolo circuito. Pertanto, abbiamo bisogno di almeno circuiti unici per valutare tutti i termini di Pauli. Molti colpi per circuito per una varianza più stretta. Anche in questo caso, il valore di aspettativa valutato di ogni termine di Pauli ha una varianza che dipende inversamente da . Pertanto, per stimare accuratamente ogni termine, dobbiamo assegnare molti scatti per circuito. Ad esempio, per ottenere l'accuratezza chimica ( kcal/mol), in genere sono necessari scatti dell'ordine di - per circuito. Pertanto, il VQE necessita di molti circuiti di misura e di un certo numero di scatti per ogni circuito. Nei casi pratici, questo overhead di misurazione può essere limitante. | In SQD non sono necessari circuiti di misura diversi per ogni termine di Pauli raggruppato. In genere, si misura un singolo circuito per un numero fisso di scatti. Anche se il numero di scatti può essere impostato su un valore elevato a seconda del problema, l'overhead rimane molto inferiore a quello di VQE. Inoltre, le stime dell'energia che utilizzano il processo di diagonalizzazione sono esatte, il che significa che gli autovalori calcolati sono esatti in quel sottospazio e non hanno una varianza associata ad essi come il VQE. (Nel caso del campionamento degli stati con base di Krylov (Lezione 5), è necessario misurare più circuiti, ma il numero di circuiti rimane molto più piccolo del VQE). |
| Energia stimata vincolata | In VQE, le stime di energia non sono vincolate e possono essere inferiori ai valori minimi reali a causa del rumore. | Il processo di stima dell'energia in SQD produce sempre un limite superiore all'energia dello stato fondamentale e l'energia stimata non sarà mai inferiore alla vera energia dello stato fondamentale. |
| Tolleranza al rumore | La stima dell'energia VQE è suscettibile al rumore dei computer quantistici pre-fault-tolerant. | L'SQD ha una tolleranza intrinseca al rumore. I computer quantistici pre-fault-tolerant possono produrre campioni rumorosi. Anche se includiamo questi campioni nel sottospazio, la successiva diagonalizzazione può sopprimere questi campioni azzerando le loro ampiezze. Inoltre, discuteremo un metodo chiamato recupero della configurazione in relazione all'SQD che migliora ulteriormente la tolleranza al rumore dell'SQD. |
6. Riepilogo
- Nella SQD, un computer quantistico genera dei campioni e un computer classico proietta un'hamiltoniana su un sottospazio attraversato dai campioni e la diagonalizza per calcolare autovalori e autovettori.
- I campioni generati devono provenire dal supporto di stato target (ground).
- A seconda del problema, il flusso di preparazione dello stato quantistico e di generazione del campione può essere iterativo o non iterativo.
- L'SQD funziona meglio per le funzioni d'onda rade. Una funzione d'onda ampia richiede un ampio sottospazio per soluzioni accurate, il che rende costose le operazioni classiche di proiezione e diagonalizzazione.
- L'SQD presenta diversi vantaggi rispetto al VQE, come un minore overhead di misura e un limite superiore all'energia di stato fondamentale stimata, che lo rendono più scalabile.
Riferimenti
[1] J. Robledo-Moreno e altri, "Chimica oltre le soluzioni esatte su un supercomputer incentrato sui quanti" (2024). arXiv:quant-ph/2405.05068.