ConvertToMidCircuitMeasure
class ConvertToMidCircuitMeasure(*args, **kwargs)
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_setexistant 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
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
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