Skip to main content
IBM Quantum Platform

Retropropagazione dell'operatore

Questo pacchetto implementa l'operatore di retropropagazione (OBP) per ridurre la profondità dei circuiti nei calcoli del valore atteso. Questa tecnica propaga un osservabile all'indietro attraverso i gate situati alla fine di un circuito quantistico, il che porta a un circuito meno complesso a costo di un aumento delle basi di misura dell'osservabile. Man mano che si fa propagare un operatore all’indietro lungo un circuito, la dimensione dell’osservabile cresce in modo esponenziale, determinando un sovraccarico sia a livello di risorse classiche che quantistiche. Tuttavia, per alcuni circuiti, la distribuzione risultante delle osservabili di Pauli è più concentrata rispetto alla scalabilità esponenziale del caso peggiore, il che significa che alcuni termini dell'hamiltoniano con coefficienti piccoli possono essere troncati per ridurre il sovraccarico quantistico. L'errore che ne deriva può essere gestito in modo da trovare un giusto compromesso tra precisione ed efficienza.

Esistono diversi modi per eseguire la retropropagazione degli operatori; questo pacchetto utilizza un metodo basato sulla teoria delle perturbazioni di Clifford, che presenta il vantaggio che il sovraccarico causato dalla retropropagazione dei vari gate è determinato dalla natura non-Clifford di quel gate. Ciò comporta una maggiore efficienza per alcune famiglie di circuiti rispetto ai metodi basati su reti tensoriali per l’OBP, che attualmente presentano elevati overhead classici anche nei casi in cui l’overhead quantistico rimane contenuto.

Questo pacchetto è adatto per stimare i valori attesi di circuiti quantistici generici e delle osservabili di Pauli; tuttavia, nel caso di circuiti ad alto indice di "magic" (molto non-Clifford), l'errore osservabile derivante dal troncamento rischia di diventare proibitivo prima che l'osservabile sia stata propagata attraverso una porzione significativa del circuito. Per i circuiti di tipo quasi-Clifford, potrebbe essere possibile propagare il segnale attraverso una porzione molto più ampia del circuito, mantenendo al contempo margini di errore relativamente ridotti.


Guida introduttiva

Nella guida rapida è disponibile una semplice guida che ti aiuterà a muovere rapidamente i primi passi con questo pacchetto.


Esempi di casi di utilizzo

Questa tecnica è stata utilizzata per implementare circuiti di Trotter a profondità ridotta per l'evoluzione temporale di un modello di spin di tipo " 2D " [1].


Discussione tecnica

  • Un unico punto di accesso: la funzione backpropagate esegue l'OBP.

  • Due controlli indipendenti sul compromesso tra profondità e accuratezza:

    • OperatorBudget limita l'entità dell'aumento che l'osservabile può subire durante la retropropagazione.
    • TruncationErrorBudget limita l'entità dell'errore che può verificarsi durante la retropropagazione.
  • L'efficacia dipende da quanto il circuito sia di tipo Clifford: nei circuiti ad alta magia (cioè molto non-Clifford), i termini aggiunti all'osservabile tendono ad avere coefficienti più grandi, quindi si incorre prima in un maggiore errore di troncamento, limitando il risparmio in termini di profondità a parità di budget di errore. I circuiti di tipo "Near-Clifford" possono essere troncati in modo più drastico e sottoposti a una retropropagazione più profonda, pur rimanendo entro lo stesso budget.

  • Completamente analizzabile: ogni esecuzione restituisce un oggetto OBPMetadata che registra i conteggi di Pauli per ogni slice, i conteggi dei gruppi QWC e l'errore di troncamento accumulato, con plot_* strumenti di supporto per visualizzare la crescita degli operatori e l'errore in funzione della profondità del circuito — utile per ottimizzare i budget prima di impegnare il tempo della QPU.


contribuzione

La guida per gli sviluppatori si trova all'indirizzo CONTRIBUTING.md nella directory principale del repository di questo progetto. Partecipando, ci si aspetta che tu rispetti il codice di condotta di Qiskit.

Utilizziamo le segnalazioni su GitHub per tenere traccia delle richieste e dei bug.


Come citare questo pacchetto

Se utilizzi questo pacchetto nella tua ricerca, usa il file “ CITATION.bib ” presente nel repository di questo progetto per citare i riferimenti bibliografici appropriati.


Licenza

Apache Licenza 2.0


Politica di obsolescenza

Questo pacchetto segue le regole del versioning semantico. Occasionalmente potremmo apportare modifiche sostanziali al fine di migliorare l'esperienza dell'utente. Ove possibile, manterremo le vecchie interfacce e le contrassegneremo come obsolete, purché possano coesistere con quelle nuove. Ogni miglioramento sostanziale, modifica che comporta incompatibilità o funzionalità deprecata sarà documentata nelle note di rilascio.


Riferimenti

    1. Fuller et al., “ Miglioramento del calcolo quantistico tramite la retropropagazione degli operatori ”, npj Quantum Inf. 12, 51 (2026). [ arXiv ]
Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.