Skip to main content
IBM Quantum Platform

Commentaire

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

GitHub

Bases : object

Une annotation arbitraire pour les instructions.

Remarque

Le cadre d'annotation est une composante nouvelle et évolutive de Qiskit. Nous nous attendons à ce que cette fonctionnalité et sa prise en charge de premier ordre dans le transpondeur s'étendent au fur et à mesure que nous obtiendrons davantage d'informations sur son utilisation.

À elle seule, cette classe de base ne définit que très peu de comportements ou de sémantiques. L'interaction principale s'effectue par le biais de sous-classes créées par l'utilisateur ou par la bibliothèque. Pour plus de détails, consultez la section « Sous-classes d'annotations personnalisées ».

Il s'agit d'un cadre permettant de structurer des métadonnées supplémentaires pouvant être associées à BoxOp des instructions au sein d'un QuantumCircuit et DAGCircuit d'un de manière à pouvoir être suivies et exploitées par des passes de transcompilation arbitraires, y compris des passes personnalisées qui ne font pas partie du noyau de Qiskit.

Alors que le système stateful PropertySet utilisée lors d'une compilation permet également aux passes de transposition personnalisées de stocker des objets "état" arbitraires dans le flux de travail de la compilation, qui peuvent être récupérés par des passes de compilation ultérieures, la fonction PropertySet est stocké à côté du circuit et convient donc mieux aux analyses portant sur le circuit dans son ensemble. Un Annotation a une portée plus locale, s'appliquant à une boîte d'instructions, et peut en outre être présente dans la sortie de transpile, si elle est destinée à être consommée par une partie de niveau inférieur de la machine d'exécution de votre backend (par exemple, une annotation peut inclure des métadonnées indiquant à une routine de réduction des erreurs de traiter une boîte particulière d'une manière spéciale).

Le PassManager système ne fait actuellement aucun effort pour vérifier et valider les conditions préalables à la validité d'un Annotation. En d'autres termes, si vous appliquez une annotation personnalisée à une boîte d'instructions qui serait invalidée par certaines transformations (telles que le routage, la décomposition en bases-portes, etc.), c'est actuellement à vous, en tant qu'appelant de transpile() ou generate_preset_pass_manager() , de vous assurer que les transformations sélectionnées par le compilateur n'invalideront pas cette annotation. Nous espérons disposer à l'avenir d'un support plus performant pour les annotations, afin de pouvoir définir leurs exigences de validité.


Attributs

namespace

Valeur par défaut : ''

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.