Skip to main content
IBM Quantum Platform

ConvertToMidCircuitMeasure

class ConvertToMidCircuitMeasure(*args, **kwargs)

GitHub

Bases : TransformationPass

Passe de transpilation visant à remplacer les instructions de mesure en cours de circuit.

Passage du transpilateur qui remplace les instructions de mesure terminales dans des emplacements non terminaux par MidCircuitMeasure des instructions. Par défaut, celles-ci seront measure_2, mais le pass accepte les définitions measure_ personnalisées. Ce passage devrait s'exécuter après le routage, car il vérifiera que MidCircuitMeasure est pris en charge dans le qubit physique correspondant.

Ce passage est similaire à ConvertToMidCircuitResetAndMeasure mais ne gère que les mesures, et non les réinitialisations. Elle appelle en interne une fonction ConvertToMidCircuitResetAndMeasure portant le nom « reset » qui n'effectue aucune opération.

Notez que ce passage n'agira que sur les instances measure non terminales et ne remplacera pas les instructions de mesure existantes en milieu de circuit (par exemple, "measure_2" -> "measure_3") ni ne convertira aucune instance MidCircuitMeasure en Measure.

Paramètres

  • target – Instance cible du backend.
  • mcm_name – Nom de l'instruction utilisée pour remplacer les instructions non terminales « Measure ». Le nom doit commencer par « measure », et l'instruction doit figurer dans la cible. Le nom par défaut est measure_2.

Augmentations

ValueError – Si le texte spécifié ne mcm_name commence pas par ou measure ne figure pas dans la cible fournie.


Attributs

is_analysis_pass

Vérifiez si le passage est un passage d'analyse.

Si le pass est un « AnalysisPass, », cela signifie qu'il peut analyser le DAG et écrire les résultats de cette analyse dans le jeu de propriétés. Les modifications sur le DAG ne sont pas autorisées par ce type de passe.

is_transformation_pass

Vérifiez si le passage est un passage de transformation.

Si le pass est un « TransformationPass, », cela signifie qu'il peut manipuler le DAG, mais ne peut pas modifier l'ensemble de propriétés (qui peut toutefois être lu).


Méthodes

__call__

__call__(circuit, property_set=None)

Exécute le passage sur le circuit.

Paramètres

  • circuit (QuantumCircuit) – Le jour où le col est franchi.
  • property_set (PropertySet | dict | None) – Ensemble de propriétés d'entrée/sortie. Une passe d'analyse peut modifier les propriétés définies sur place. Si ce n'est pas le cas, l'attribut property_set existant du pass sera utilisé (s'il est défini).

Retours

Si une transformation est effectuée, l' QuantumCircuit qui en résulte. Si l'analyse est concluante, le circuit d'entrée.

Type de retour

QuantumCircuit

execute

execute(passmanager_ir, state, callback=None)

Exécuter la tâche d'optimisation pour l'entrée Qiskit IR.

Paramètres

  • passmanager_ir (DAGCircuit) – IR de Qiskit à optimiser.
  • state (DAGCircuit) – État lié à l'exécution du flux de travail par le gestionnaire de passes lui-même.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Une fonction de rappel qui est appelée à chaque exécution d'une tâche d'optimisation.

Retours

Qiskit IR optimisé et état du flux de travail.

Type de retour

tuple[ DAGCircuit, PassManagerState ]

name

name()

Nom du col.

Type de retour

str

run

run(dag)

GitHub

Exécutez le passe sur un dag.

Paramètres

dag (DAGCircuit)

Type de retour

DAGCircuit

update_status

update_status(state, run_state)

Mettre à jour le statut du flux de travail.

Paramètres

  • state (PassManagerState) – Transmettre l'état du gestionnaire de mots de passe pour mise à jour.
  • run_state (RunState) – État d'avancement de la tâche en cours.

Retours

État du gestionnaire de mots de passe mis à jour.

Type de retour

PassManagerState

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