Anotación
class qiskit.circuit.Annotation(*args, **kwargs)
Bases: object
Una anotación arbitraria para las instrucciones.
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 o semántica definidos. La interacción principal se produce mediante la creación de subclases por parte del usuario o de la biblioteca. Para más información, consulta «Subclases de anotaciones personalizadas ».
Se trata de un marco para estructurar metadatos adicionales que pueden adjuntarse a BoxOp las instrucciones dentro de un QuantumCircuit y DAGCircuit un de tal forma que puedan ser rastreados y utilizados por pases de transpilador arbitrarios, incluidos los pases personalizados que no forman parte del 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).
Actualmente, no se PassManager realiza ningún esfuerzo por comprobar y validar las condiciones previas para la validez de un Annotation. Es decir, si aplicas una anotación personalizada a un bloque de instrucciones que quedaría invalidada por determinadas transformaciones (como el enrutamiento, la descomposición en puertas básicas, etc.), actualmente depende de ti, como autor de transpile() la generate_preset_pass_manager() llamada a o, asegurarte de que las opciones seleccionadas por el compilador no invaliden la anotación. Esperamos contar en el futuro con un soporte de primera clase para que las anotaciones puedan declarar sus requisitos de validez.
Atributos
namespace
Valor predeterminado: ''