Skip to main content
IBM Quantum Platform

Anotación

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

GitHub

Bases: object

Una anotación arbitraria para las instrucciones.

Nota

El marco de anotación es un componente nuevo y en evolución de Qiskit. Esperamos que su funcionalidad y su soporte de primera clase dentro del transpilador se amplíen a medida que tengamos más pruebas de cómo se utiliza.

Esta clase base por sí sola tiene muy poco comportamiento prescrito o semántica. La interacción principal se produce mediante la subclasificación por parte del usuario o de la biblioteca. Consulte Subclases de anotaciones personalizadas para obtener más información.

Se trata de un marco para estructurar metadatos adicionales que pueden adjuntarse a BoxOp instrucciones dentro de un QuantumCircuit y DAGCircuit de manera que puedan ser rastreados y consumidos por pases de transpilador arbitrarios, incluyendo pases personalizados que no están en el núcleo de Qiskit.

Mientras que el stateful PropertySet utilizado durante una compilación también proporciona una forma para que los pases de transpilador personalizados almacenen objetos de "estado" arbitrarios en el flujo de trabajo de compilación que pueden ser recuperados por pases de compilador posteriores, el PropertySet se almacena junto al circuito, por lo que es más adecuado para los análisis relacionados con el circuito en su conjunto. Un Annotation pretende tener un alcance más local, aplicándose a una caja de instrucciones, y además, puede estar presente en la salida de transpile, si está destinada a ser consumida por una parte de nivel inferior de la maquinaria de ejecución de su backend (por ejemplo, una anotación puede incluir metadatos que instruyan a una rutina de mitigación de errores a tratar una caja particular de una manera especial).

El sitio PassManager actualmente no hace ningún esfuerzo por rastrear y validar las condiciones previas a la validez de un Annotation. Es decir, si aplica una anotación personalizada a una caja de instrucciones que quedaría invalidada por ciertas transformaciones (como el enrutamiento, la descomposición base-puerta, etc.), actualmente depende de usted como invocador de transpile() o generate_preset_pass_manager() asegurarse de que los pases del compilador seleccionados no invalidarán la anotación. Esperamos disponer en el futuro de más soporte de primera clase para que las anotaciones declaren sus requisitos de validez.


Atributos

namespace

Valor predeterminado: ''

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.