CommutativeOptimization
class qiskit.transpiler.passes.CommutativeOptimization(*args, **kwargs)
Bases: TransformationPass
Cancelar/fusionar puertas aprovechando las relaciones de conmutatividad.
En concreto, el pase:
- Cancela pares de puertas inversas, incluidos los pares que son inversos hasta una fase global (ajustando la fase global si es necesario).
- Intenta fusionar puertas consecutivas cuando sea posible, por ejemplo, secuencias de puertas RZ, puertas RX, rotaciones de Pauli, etc.
Este pase unifica y amplía la funcionalidad tanto de como CommutativeCancellation de CommutativeInverseCancellation.
Parámetros
- grado de aproximación : el umbral utilizado en el cálculo de la fidelidad media de las puertas para determinar si dos puertas pueden considerarse que se anulan o que conmutan.
- matrix_max_num_qubits : límite superior del número de qubits para las comprobaciones de conmutatividad e inversas basadas en matrices.
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
execute
execute(passmanager_ir, state, callback=None)
Ejecutar tarea de optimización para entrada Qiskit IR.
Parámetros
- passmanager_ir (Any) – Qiskit IR para optimizar.
- state (PassManagerState) – Estado asociado a la ejecución del flujo de trabajo por parte del propio gestor de pases.
- callback (Callable | 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 [ Any, PassManagerState ]
name
run
run(dag)
Ejecuta el paso « CommutativeOptimization » en dag.
Parámetros
dag (DAGCircuit) – el DAG que se va a optimizar.
Devuelve
el DAG optimizado.
Tipo de retorno
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