Retropropagação de operadores (OBP)
A retropropagação de operadores (OBP, do inglês Operator Backpropagation) é uma técnica para reduzir a profundidade de um Circuit eliminando operações do seu final ao custo de mais medições de operadores. Há diversas formas de realizar a retropropagação de operadores, e este pacote utiliza um método baseado na teoria de perturbação de Clifford [1].
À medida que você propaga um operador mais adiante por um Circuit, o tamanho do observável a medir cresce exponencialmente. Isso resulta em um overhead de recursos tanto clássicos quanto quânticos. No entanto, para alguns circuitos, a distribuição resultante de observáveis de Pauli adicionais é mais concentrada do que o pior caso de escalonamento exponencial. Isso implica que alguns termos em um observável com coeficientes pequenos podem ser truncados para reduzir o overhead quântico. O erro incorrido ao fazer isso pode ser controlado para encontrar um equilíbrio adequado entre precisão e eficiência.
Instalação
Você pode instalar o pacote OBP de duas maneiras: via PyPI ou compilando a partir do código-fonte. Considere instalar esses pacotes em um ambiente virtual para garantir a separação entre as dependências dos pacotes.
Instalar pelo PyPI
A maneira mais direta de instalar o pacote qiskit-addon-obp é via PyPI.
pip install qiskit-addon-obp
Compilar a partir do código-fonte
Usuários que desejam contribuir com este pacote ou que querem instalá-lo manualmente podem fazê-lo clonando primeiro o repositório:
git clone git@github.com:Qiskit/qiskit-addon-obp.git
```_
e instalar o pacote via `pip`. O repositório também contém notebooks de exemplos. Se você planeja desenvolver no repositório, instale as dependências `dev`.
Ajuste as opções conforme sua necessidade:
```bash
pip install tox notebook -e '.[notebook-dependencies, dev]'
Embasamento teórico
O procedimento OBP implementado neste pacote é descrito em detalhes em [1]. Ao usar a primitiva Estimator, a saída de uma carga de trabalho quântica é a estimativa de um ou mais valores esperados em relação a algum estado preparado usando uma QPU. Esta seção resume o procedimento.
Primeiro, comece escrevendo a medição do valor esperado de um observável em termos de algum estado inicial e um Circuit quântico :
Para distribuir esse problema entre recursos clássicos e quânticos, divida o Circuit em dois subcircuitos, e , simule classicamente o Circuit , depois execute o Circuit em hardware quântico e use os resultados da simulação clássica para reconstruir a medição do observável .

O subcircuito deve ser selecionado de forma a ser simulável classicamente e calculará o valor esperado
que é a versão do operador inicial evoluído através do Circuit . Uma vez que foi determinado, a carga de trabalho quântica é preparada: o estado é iniciado, o Circuit é aplicado a ele, e então o valor esperado é medido. Você pode mostrar que isso é equivalente a medir escrevendo:
Por fim, para medir o valor esperado , é necessário que ele seja decomponível em uma soma de cadeias de Pauli
onde são coeficientes reais da decomposição e é alguma cadeia de Pauli composta pelos operadores , , e . Isso garante que você possa reconstruir o valor esperado de por meio de
Truncamento de termos
Esse esquema oferece um equilíbrio entre a profundidade de Circuit necessária para , o número de execuções de Circuit em hardware quântico e a quantidade de recursos de computação clássica necessários para calcular . Em geral, quanto mais você escolhe retropropagar pelo Circuit, maior é o crescimento exponencial do número de cadeias de Pauli a medir, do overhead de mitigação de erros e dos recursos clássicos necessários para simular .
Felizmente, a decomposição de frequentemente pode conter coeficientes bastante pequenos que podem ser truncados das medições finais usadas para reconstruir sem incorrer em muito erro. O pacote qiskit-addon-obp possui funcionalidade para especificar um orçamento de erro, que pode buscar automaticamente termos que podem ser truncados dentro de uma certa tolerância de erro.
Teoria de perturbação de Clifford
Por fim, o pacote qiskit-addon-obp aborda a retropropagação de operadores com base na teoria de perturbação de Clifford. Esse método tem a vantagem de que o overhead gerado pela retropropagação de diversas Gates escala com a não-Cliffordness de (ou seja, o quanto de é composto por instruções não-Clifford).
Essa abordagem ao OBP começa dividindo o Circuit simulado, , em fatias (slices):
onde representa o número total de fatias e denota uma única fatia do Circuit . Cada uma dessas fatias é então aplicada analiticamente em sequência para medir o operador retropropagado , podendo ou não contribuir para o tamanho total da soma, dependendo se a fatia é uma operação Clifford ou não-Clifford. Se um orçamento de erro for alocado, o truncamento ocorrerá entre a aplicação de cada fatia.
Próximos passos
- Comece a usar o OBP.
- Familiarize-se com as técnicas de mitigação de erros disponíveis no Qiskit Runtime.
- Leia o tutorial sobre como usar o OBP para melhorar valores esperados.
Referências
[1] Fuller, Bryce, et al. "Improved Quantum Computation using Operator Backpropagation." arXiv:2502.01897 [quant-ph] (2025).