Vai al contenuto principale

Formule multi-prodotto (MPF)

Versioni dei pacchetti

Il codice in questa pagina è stato sviluppato utilizzando i seguenti requisiti. Si consiglia di usare queste versioni o versioni più recenti.

Le formule multi-prodotto (MPF) possono essere utilizzate per simulare in modo più accurato la dinamica di un sistema quantistico, al costo di un maggior numero di esecuzioni di circuiti. Si tratta di una tecnica di post-elaborazione che mitiga l'errore dei valori di aspettazione per gli stati evoluti nel tempo.

Il calcolo classico viene impiegato per risolvere un sistema di equazioni lineari che fornisce i coefficienti per una combinazione pesata di diverse esecuzioni di circuiti. Questa combinazione pesata può ridurre l'errore associato alla simulazione dell'evoluzione temporale, data una buona scelta dei passi di Trotter. Lo strumento MPF acquisisce una serie di dati --- incluso il numero di passi di Trotter e l'ordine dell'approssimazione di Trotter --- per preparare e risolvere (o approssimare la soluzione di) il sistema di equazioni lineari associato, che puoi poi utilizzare per post-elaborare le misure dei valori di aspettazione di uno stato evoluto nel tempo.

Installare il pacchetto MPF

Esistono due modi per installare il pacchetto MPF: tramite PyPI oppure compilando dai sorgenti. Si consiglia di installare in un ambiente virtuale per garantire la separazione tra le dipendenze dei pacchetti.

Installare da PyPI

Il modo più semplice per installare il pacchetto qiskit-addon-mpf è tramite PyPI.

pip install qiskit-addon-mpf

Compilare dai sorgenti

Gli utenti che desiderano sviluppare nel repository o che vogliono installarlo manualmente possono farlo clonando prima il repository:

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

e installare il pacchetto tramite pip. Il repository contiene anche una serie di dipendenze opzionali che abilitano determinate funzionalità.

Adatta le opzioni alle tue esigenze.

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

Contesto teorico

Le MPF possono ridurre l'errore di approssimazione di Trotter associato alla simulazione della dinamica dei sistemi quantistici attraverso una combinazione pesata di diverse esecuzioni di circuiti. Questa somma pesata è definita come:

μ(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},

dove xjx_j sono i coefficienti di ponderazione, ρjkj\rho_j^{k_j} è la matrice densità che corrisponde allo stato puro ottenuto facendo evolvere lo stato iniziale tramite una formula prodotto SkjS^{k_j} che approssima l'operatore di evoluzione temporale usando kjk_j passi di Trotter, e jj indicizza ciascuna formula prodotto usata nella somma.

Diversi circuiti con un numero variabile di passi di Trotter vengono usati per calcolare l'osservabile target

In generale, tuttavia, l'obiettivo della simulazione della dinamica quantistica è misurare un certo osservabile O(t)\mathcal{O}(t), che è una funzione del tempo. Quando si usano le MPF, più circuiti --- ciascuno con kjk_j passi di Trotter --- vengono eseguiti per ottenere diverse misure dell'osservabile target Okj(t)\mathcal{O}_{k_j}(t). La misura dell'osservabile target si ottiene quindi calcolando:

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

In sostanza, puoi ridurre l'errore di Trotter complessivo approssimando l'operatore di evoluzione temporale utilizzando più formule prodotto con un numero variabile di passi di Trotter anziché un'unica formula prodotto. Costruisci un circuito per ogni termine della somma pesata, che fa evolvere il sistema in base a ciascuno dei kjk_j passi di Trotter. Ogni circuito viene poi eseguito separatamente su una QPU per ricostruire i risultati in una fase di post-elaborazione. L'utilità di questa tecnica può essere vista da due prospettive:

  1. Per un numero fisso di passi di Trotter che esegui, puoi ottenere risultati con un errore di Trotter complessivamente inferiore.
  2. Per un numero di passi di Trotter che producono circuiti profondi, puoi usare le MPF per trovare diversi circuiti di profondità minore da eseguire, ottenendo un errore di approssimazione di Trotter simile.

Determinare i coefficienti MPF

La funzionalità principale del pacchetto qiskit-addon-mpf consiste nel determinare i coefficienti MPF xj(t)x_j(t) (che possono dipendere dal tempo). Il processo per ottenere ciascun xj(t)x_j(t) prevede la risoluzione di un sistema di equazioni lineari Ax=bAx=b, dove xx è il vettore dei coefficienti da determinare, AA è una matrice che dipende da ciascun kjk_j e dalla formula prodotto usata SS (ovvero, l'ordine di approssimazione e il numero di passi di Trotter), e bb è un vettore di vincoli. Questo sistema di equazioni può essere risolto esattamente oppure con un modello approssimato che minimizza la 1-norma dei coefficienti. Inoltre, la scelta di ciascun kjk_j è un processo euristico, ma può essere limitato dai seguenti vincoli:

  1. Il valore più grande di kjk_j è limitato dalla profondità massima del circuito che può essere eseguito in modo affidabile
  2. Il valore più piccolo di kjk_j deve soddisfare dt=t/kj<1dt = t/k_j < 1, poiché è in quella zona che l'errore di Trotter si comporta meglio
  3. Nessuno dei coefficienti xjx_j dovrebbe essere vicino a 00, poiché ciò implicherebbe che non contribuiscono molto alla MPF
  4. Allo stesso modo, il coefficiente associato al valore più grande di kjk_j non dovrebbe dominare, poiché ciò implicherebbe l'uso di un'unica formula prodotto
  5. Infine, la norma dei coefficienti xjx_j ottenuti dovrebbe essere piccola, poiché ciò indica una MPF ben condizionata 1

Passi successivi

Raccomandazioni

Riferimenti

  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].