Anotação
class qiskit.circuit.Annotation(*args, **kwargs)
Bases: object
Uma anotação arbitrária para instruções.
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 base, por si só, possui muito pouco comportamento ou semântica definidos. A interação principal ocorre por meio da criação de subclasses pelo usuário ou pela biblioteca. Consulte “Subclasses de anotações personalizadas” para obter mais detalhes.
Esta é uma estrutura para organizar metadados adicionais que podem ser anexados a BoxOp instruções dentro de um QuantumCircuit e DAGCircuit de maneiras que possam ser rastreadas e utilizadas por passagens de transpilação arbitrárias, incluindo passagens personalizadas que não fazem parte do 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).
Atualmente, o PassManager sistema não faz nenhum esforço para rastrear e validar as pré-condições relativas à validade de um Annotation. Ou seja, se você aplicar uma anotação personalizada a um bloco de instruções que seria invalidado por certas transformações (como roteamento, decomposição em portas de base, etc.), cabe a você, como chamador de transpile() ou generate_preset_pass_manager() , garantir que o compilador selecionado não invalide a anotação. Esperamos contar, no futuro, com um suporte de primeira classe para que as anotações possam declarar seus requisitos de validade.
Atributos
namespace
Valor padrão: ''