ConvertToMidCircuitMeasure
class ConvertToMidCircuitMeasure(*args, **kwargs)
Bases: TransformationPass
Etapa del transpilador que sustituye las instrucciones de medición de terminales en mitad 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.
Tenga en cuenta que el pase solo actuará en instancias no Measure terminales y no sustituirá las instrucciones de medición existentes en medio del circuito (por ejemplo, "measure_2" -> "measure_3") ni convertirá ninguna MidCircuitMeasure instancia en una Measure.
Parámetros
- target : instancia de destino del backend que contiene una o más
measure_instrucciones. - mcm_name : nombre de la
measure_instrucción con la que se sustituirán las instrucciones de medida de terminal en ubicaciones no terminales. Esta instrucción debe estar contenida en el objetivo. El valor predeterminado esmeasure_2.
Aumentos
ValueError – Si el especificado no mcm_name se ajusta al measure_ patrón o no está incluido en el objetivo proporcionado.
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