Skip to main content
IBM Quantum Platform

Propagação de Pauli

O pacote pauli-prop fornece uma interface Python, acelerada por Rust, para realizar a propagação de Pauli.

A propagação de Pauli é uma estrutura para aproximar a evolução de operadores na base de Pauli sob a ação de outros operadores, como portas de circuitos quânticos e canais de ruído. Essa abordagem pode ser eficaz quando se espera que os operadores envolvidos permaneçam esparsos na base de Pauli.

As sub-rotinas deste pacote podem ser utilizadas para implementar técnicas de mitigação de erros, tais como sombreamento por cone de luz [6] e absorção de ruído propagado [7], retropropagação de operadores [8] para redução da profundidade do circuito e simulação clássica de valores esperados [1-5].


Introdução

Um guia simples para ajudá-lo a começar rapidamente a usar este pacote está disponível no guia de início rápido.


Exemplos de Caso de Uso

A propagação de Pauli pode ser utilizada como um mecanismo de nível inferior para implementar diversas técnicas. Alguns exemplos de onde isso já foi utilizado são:

  • Sombreamento por cone de luz para reduzir a sobrecarga de amostragem do cancelamento probabilístico de erros (PEC) na mitigação de valores esperados em um modelo de Ising de campo transversal 1- e 2D e [6] [qiskit-addon-slc docs ]
  • Incorporação de informações do modelo de ruído em um observável-alvo para atenuar os valores esperados em um modelo de Ising de campo transversal com 2D [7] [qiskit-addon-pna docs ]
  • Recorte de portas de saída para produzir circuitos de Trotter de menor profundidade para a evolução temporal de um modelo de spin de 2D [8] [qiskit-addon-obp docs ]

Discussão técnica

Detalhes de software

  • Interface Python acelerada pelo Rust
  • Suporte para simulações com ruído [ guia ]
  • Capacidade de truncar termos durante a evolução com base em uma tolerância de coeficiente absoluta, em um número fixo de termos no operador em evolução ou em uma combinação de ambos
  • Capacidade de realizar a propagação de Pauli tanto no modelo de Schrödinger quanto no de Heisenberg
  • Nova técnica para aproximar a conjugação de um operador de soma de Pauli por meio de outro operador de Pauli. Essa implementação heurística gera, de forma gananciosa, contribuições para o produto que se espera que sejam as mais significativas. Consulte o Apêndice B de [7] para obter mais informações.
  • encadeamento simples

Requisitos de computação

Tanto o custo de memória quanto o de tempo das rotinas de propagação de Pauli geralmente variam proporcionalmente ao tamanho até o qual o operador evoluído pode crescer.

propagate_through_rotation_gates(): À medida que o operador de Pauli se propaga na base de Pauli sob a ação de uma sequência de portas de rotação de Pauli NN de um circuito de qubits MM, o número de termos crescerá como O(2N)\mathcal{O}(2^N), atingindo um máximo de 4M4^M componentes de Pauli distintos. Para controlar o uso da memória, o operador é truncado após a aplicação de cada porta, o que introduz um erro proporcional às magnitudes dos coeficientes dos termos truncados. Os requisitos de memória são lineares em relação ao tamanho do operador evoluído, e o tempo de execução varia linearmente tanto em relação ao tamanho do operador quanto ao número de portas.

propagate_through_operator(): Conjuga um operador na base de Pauli por outro, acumulando de forma avida os termos da soma, ∑i,j,kGi†OjGk\sum_{i,j,k}G^{\dagger}_iO_jG_k, onde i,j,ki,j,k são índices esparsos sobre a base de Pauli. Essa implementação ordena os coeficientes de cada operador por magnitude decrescente e, em seguida, pesquisa no espaço de índices 3D os termos com os maiores coeficientes, começando pela origem (0,0,0)(0,0,0) e acumulando tripletos (i,j,k)(i,j,k) até um limite especificado. O tempo gasto na busca pode, muitas vezes, ser reduzido a um valor insignificante ao aumentar o tamanho do passo de busca no espaç (i,j,k)(i,j,k), o que proporciona uma aceleração cúbica para esta sub-rotina. Em nossa análise de perfis, pode-se gastar um tempo considerável classificando os operadores e realizando a multiplicação de Pauli para gerar os termos do novo operador.


contribuindo

O código-fonte está disponível em GitHub.

O guia do desenvolvedor está disponível em CONTRIBUTING.md, na raiz do repositório deste projeto. Ao participar, espera-se que você respeite o código de conduta do Qiskit.

Utilizamos os tickets d GitHub para acompanhar solicitações e bugs.


Citando este pacote

Caso utilize este pacote em sua pesquisa, use o arquivo CITATION.bib no repositório deste projeto para citar a(s) referência(s) apropriada(s).


Licença

Apache 2.0 da licença


Política de descontinuação

Seguimos o sistema de versionamento semântico. Ocasionalmente, podemos realizar alterações significativas com o objetivo de melhorar a experiência do usuário. Sempre que possível, manteremos as interfaces antigas e as marcaremos como obsoletas, desde que possam coexistir com as novas. Cada melhoria significativa, alteração que implique incompatibilidade ou descontinuação será documentada nas notas de lançamento.


Referências

  1. [Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, Simulações clássicas rápidas e convergentes das evidências da utilidade da computação quântica antes da tolerância a falhas, arXiv:2308.05077 [quant-ph].

  2. Nicolas Loizeau e outros, Simulações quânticas de muitos corpos com PauliStrings.jl, arXiv:2410.09654 [quant-ph].

  3. Manuel S. Rudolph e outros, Propagação de Pauli: Uma estrutura computacional para simulação de sistemas quânticos, arXiv:2505.21606 [quant-ph].

  4. Hrant Gharibyan e outros, Guia prático para o uso de simuladores de trajetórias de Pauli em experimentos quânticos em escala industrial, arXiv:2507.10771[ quant-ph].

  5. Lukas Broers e outros, Simulação escalável da dinâmica quântica de muitos corpos com álgebra quântica representada por “Or”, arXiv:2506.13241 [quant-ph].

  6. Andrew Eddins, Minh C. Tran, Patrick Rall, “Lightcone shading for classically accelerated quantum error mitigation”, arXiv:2409.04401 [quant-ph].

  7. Andrew Eddins e outros, Cálculo de observáveis com cancelamento de ruído por meio da propagação de Pauli, arXiv:2606.20441 [quant-ph].

8 Bryce Fuller e outros, Computação quântica aprimorada por meio da retropropagação de operadores, arXiv:2502.01897 [quant-ph].

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.