Backpropagazione degli operatori (OBP)
La backpropagazione degli operatori (OBP) è una tecnica per ridurre la profondità di un circuito eliminando operazioni dalla sua coda, al costo di un numero maggiore di misurazioni degli operatori. Esistono diversi modi per eseguire la backpropagazione degli operatori; questo pacchetto utilizza un metodo basato sulla teoria delle perturbazioni di Clifford [1].
Man mano che si propaga un operatore più in profondità attraverso un circuito, la dimensione dell'osservabile da misurare cresce esponenzialmente. Ciò comporta un overhead di risorse sia classiche che quantistiche. Tuttavia, per alcuni circuiti, la distribuzione risultante degli osservabili di Pauli aggiuntivi è più concentrata rispetto allo scaling esponenziale nel caso peggiore. Questo implica che alcuni termini di un osservabile con coefficienti piccoli possono essere troncati per ridurre l'overhead quantistico. L'errore introdotto da questa operazione può essere controllato per trovare un compromesso adeguato tra precisione ed efficienza.
Installazione
Puoi installare il pacchetto OBP in uno dei due modi seguenti: tramite PyPI o compilando dal sorgente. Considera l'installazione di questi pacchetti in un ambiente virtuale per garantire la separazione tra le dipendenze dei pacchetti.
Installazione da PyPI
Il modo più diretto per installare il pacchetto qiskit-addon-obp è tramite PyPI.
pip install qiskit-addon-obp
Compilazione dal sorgente
Gli utenti che desiderano contribuire a questo pacchetto o che vogliono installarlo manualmente possono farlo clonando prima il repository:
git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_
e installando il pacchetto tramite `pip`. Il repository contiene anche notebook di esempio. Se intendi sviluppare nel repository, installa le dipendenze `dev`.
Adatta le opzioni alle tue esigenze:
```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'
Fondamenti teorici
La procedura OBP implementata in questo pacchetto è descritta in dettaglio in [1]. Quando si utilizza la primitiva Estimator, l'output di un workload quantistico è la stima di uno o più valori di aspettazione rispetto a uno stato preparato tramite un QPU. Questa sezione riassume la procedura.
Per iniziare, scrivi la misurazione del valore di aspettazione di un osservabile in termini di uno stato iniziale e di un circuito quantistico :
Per distribuire questo problema tra risorse classiche e quantistiche, dividi il circuito in due sottocircuiti, e , simula classicamente il circuito , quindi esegui il circuito su hardware quantistico e usa i risultati della simulazione classica per ricostruire la misurazione dell'osservabile .

Il sottocircuito deve essere scelto in modo da essere simulabile classicamente e calcolerà il valore di aspettazione
che è la versione dell'operatore iniziale evoluta attraverso il circuito . Una volta determinato , viene preparato il workload quantistico in cui lo stato viene inizializzato, gli viene applicato il circuito , e poi viene misurato il valore di aspettazione . Puoi dimostrare che ciò equivale a misurare scrivendo:
Infine, per misurare il valore di aspettazione , è necessario che esso sia scomponibile in una somma di stringhe di Pauli
dove sono i coefficienti reali della decomposizione e è una stringa di Pauli composta dagli operatori , , e . Ciò garantisce che tu possa ricostruire il valore di aspettazione di tramite
Troncamento dei termini
Questo schema offre un compromesso tra la profondità del circuito richiesta per , il numero di esecuzioni del circuito su hardware quantistico e la quantità di risorse di calcolo classico necessarie per calcolare . In generale, più si sceglie di eseguire la backpropagazione attraverso un circuito, maggiore è il numero di stringhe di Pauli da misurare e l'overhead di mitigazione degli errori, entrambi con crescita esponenziale (insieme alle risorse classiche necessarie per simulare ).
Fortunatamente, la decomposizione di può spesso contenere coefficienti molto piccoli che possono essere troncati dalle misurazioni finali usate per ricostruire senza introdurre un errore significativo. Il pacchetto qiskit-addon-obp offre la funzionalità per specificare un budget di errore, che può ricercare automaticamente i termini troncabili entro una certa tolleranza di errore.
Teoria delle perturbazioni di Clifford
Infine, il pacchetto qiskit-addon-obp affronta la backpropagazione degli operatori basandosi sulla teoria delle perturbazioni di Clifford. Questo metodo ha il vantaggio che l'overhead introdotto dalla backpropagazione di vari gate scala con la non-cliffordness di (ovvero, quanto di è composto da istruzioni non-Clifford).
Questo approccio all'OBP inizia suddividendo il circuito simulato, , in slices (sezioni):
dove rappresenta il numero totale di slices e indica una singola slice del circuito . Ognuna di queste slices viene poi applicata analiticamente in sequenza per misurare l'operatore backpropagato e può o meno contribuire alla dimensione complessiva della somma, a seconda che la slice sia un'operazione Clifford o non-Clifford. Se viene allocato un budget di errore, il troncamento avviene tra l'applicazione di ogni slice.
Passi successivi
- Inizia a usare OBP.
- Acquisisci familiarità con le tecniche di mitigazione degli errori disponibili in Qiskit Runtime.
- Leggi il tutorial sull'uso di OBP per migliorare i valori di aspettazione.
Riferimenti
[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).