Skip to main content
IBM Quantum Platform

Anotação

class qiskit.circuit.Annotation(*args, **kwargs)

GitHub

Bases: object

Uma anotação arbitrária para instruções.

Nota

A estrutura de anotação é um componente novo e em evolução do Qiskit. Esperamos que a funcionalidade desse recurso e seu suporte de primeira classe no transpilador se expandam à medida que tivermos mais evidências de como ele é usado.

Essa classe básica, por si só, tem muito pouco comportamento ou semântica prescritos. A principal interação é por meio da subclasse do usuário ou da biblioteca. Consulte Subclasses de anotações personalizadas para obter mais detalhes.

Essa é uma estrutura para estruturar metadados adicionais que podem ser anexados a BoxOp instruções em um arquivo QuantumCircuit e DAGCircuit de forma que possam ser rastreados e consumidos por passagens arbitrárias do transpilador, incluindo passagens personalizadas que não estão no núcleo do Qiskit.

Embora o estado PropertySet usado durante uma compilação também fornece uma maneira para que as passagens personalizadas do transpilador armazenem objetos de "estado" arbitrários no fluxo de trabalho de compilação que podem ser recuperados por passagens posteriores do compilador, o PropertySet é armazenado próximo ao circuito e, portanto, é mais adequado para análises relacionadas ao circuito como um todo. Um Annotation tem a intenção de ser mais local no escopo, aplicando-se a uma caixa de instruções e, além disso, ainda pode estar presente na saída de transpile, se for destinado a consumo adicional por uma parte de nível inferior do mecanismo de execução do seu backend (por exemplo, uma anotação pode incluir metadados instruindo uma rotina de mitigação de erros a tratar uma determinada caixa de uma maneira especial).

A PassManager atualmente não faz nenhum esforço para rastrear e validar as pré-condições sobre a validade de um Annotation. Ou seja, se você aplicar uma anotação personalizada a uma caixa de instruções que seria invalidada por determinadas transformações (como roteamento, decomposição de base-gate, etc.), caberá a você, no momento, como chamador de transpile() ou generate_preset_pass_manager() para garantir que as passagens do compilador selecionadas não invalidem a anotação. Esperamos ter mais suporte de primeira classe para anotações para declarar seus requisitos de validade no futuro.


Atributos

namespace

Valor Padrão: ''

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