ConvertToMidCircuitMeasure
class ConvertToMidCircuitMeasure(*args, **kwargs)
Bases: TransformationPass
Etapa del transpilador encargada de sustituir las instrucciones de medida en medio del circuito.
Paso del transpilador que sustituye las instrucciones de medida terminal en ubicaciones no terminales por MidCircuitMeasure instrucciones. Por defecto, estas serán measure_2, pero el pase acepta definiciones measure_ personalizadas. Se espera que este paso se ejecute después del enrutamiento, ya que comprobará que MidCircuitMeasure sea compatible con el qubit físico correspondiente.
Esta opción es similar a ConvertToMidCircuitResetAndMeasure pero solo gestiona las mediciones, no los reinicios. Realiza una llamada interna ConvertToMidCircuitResetAndMeasure con el nombre «no-op reset».
Ten en cuenta que el paso solo se aplicará a las instancias measure no terminales y no sustituirá las instrucciones de medición existentes en medio del circuito (p. ej., "measure_2" -> "measure_3") ni convertirá ninguna instancia MidCircuitMeasure en una Measure.
Parámetros
- target – Instancia de destino del backend.
- mcm_name – Nombre de la instrucción utilizada para sustituir las instrucciones «Measure» no terminales. El nombre debe empezar por «measure», y la instrucción debe estar incluida en el destino. El nombre predeterminado es
measure_2.
Aumentos
ValueError – Si el valor especificado no mcm_name comienza por o measure no está incluido en el destino facilitado.
Atributos
is_analysis_pass
Comprueba si el pase es un pase de análisis.
Si el pase es un « AnalysisPass, », significa que puede analizar el DAG y escribir los resultados de ese análisis en el conjunto de propiedades. Este tipo de pase no permite modificaciones en el DAG.
is_transformation_pass
Comprueba si el pase es un pase de transformación.
Si el pase es un « TransformationPass, », significa que puede manipular el DAG, pero no puede modificar el conjunto de propiedades (aunque sí puede leerlo).
Métodos
__call__
__call__(circuit, property_set=None)
Ejecuta el paso en el circuito.
Parámetros
- circuit (QuantumCircuit) – El día en que se realiza el paso.
- property_set (PropertySet | dict | None) – Conjunto de propiedades de entrada/salida. Una pasada de análisis puede cambiar la propiedad establecida en su lugar. Si no se proporciona, se utilizará el atributo
property_setexistente del pase (si está configurado).
Devuelve
Si una transformación se realiza correctamente, el resultado es QuantumCircuit. Si el análisis es satisfactorio, el circuito de entrada.
Tipo de retorno
execute
execute(passmanager_ir, state, callback=None)
Ejecutar tarea de optimización para entrada Qiskit IR.
Parámetros
- passmanager_ir (DAGCircuit) – Qiskit IR para optimizar.
- state (DAGCircuit) – Estado relacionado con la ejecución del flujo de trabajo por parte del propio gestor de pasadas.
- callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – Una función de devolución de llamada que se invoca cada vez que se ejecuta una tarea de optimización.
Devuelve
Qiskit IR optimizado y estado del flujo de trabajo.
Tipo de retorno
tupla[ DAGCircuit, PassManagerState ]
name
name()
Nombre del pase.
Tipo de retorno
str
run
update_status
update_status(state, run_state)
Actualizar el estado del flujo de trabajo.
Parámetros
- state (PassManagerState) – Pasar el estado del gestor para actualizar.
- run_state (RunState) – Estado de finalización de la tarea actual.
Devuelve
Estado actualizado del administrador de pases.
Tipo de retorno