Unroll3qOrMore
class qiskit.transpiler.passes.Unroll3qOrMore(*args, **kwargs)
Bases: TransformationPass
Expande recursivamente las compuertas 3q+ hasta que el circuito sólo contiene compuertas 2q o 1q.
Inicializar el pase Unroll3qOrMore
Parámetros
- target (Target) – El objeto objetivo que representa el objetivo de compilación. Si se especifica cualquier instrucción multi-qubit en el circuito cuando se ejecuta el pase que sea compatible con el dispositivo de destino se dejará en su lugar. Si se especifican tanto this como
basis_gates, sólo se comprobará el objetivo. - basis_gates (list) – Una lista de nombres de puertas base que admite el dispositivo de destino. Si se especifica, cualquier nombre de puerta en el circuito que esté presente en esta lista no se desenrollará. Si se especifican tanto this como
target, sólo se utilizará el objetivo para comprobar qué puertas son compatibles.
Atributos
is_analysis_pass
Comprueba si el pase es un pase de análisis.
Si el pase es un AnalysisPass, significa que el pase puede analizar el DAG y escribir los resultados de ese análisis en el conjunto de propiedades. Este tipo de paso no permite realizar 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 el pase puede manipular el DAG, pero no puede modificar el conjunto de propiedades (pero se puede leer).
Métodos
execute
execute(passmanager_ir, state, callback=None)
Ejecutar la tarea de optimización para la 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 el 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 pase Unroll3qOrMore en dag.
Parámetros
dag (DAGCircuit) – entrada dag
Devuelve
dag de salida con grados de nodo máximos de 2
Tipo de retorno
Eleva
QiskitError - si una puerta 3q+ no es descomponible
update_status
update_status(state, run_state)
Actualizar el estado del flujo de trabajo.
Parámetros
- state (PassManagerState) – Pasar estado de gestor a actualizar.
- run_state (RunState) – Estado de finalización de la tarea actual.
Devuelve
Estado del gestor de pases actualizado.
Tipo de retorno