Skip to main content
IBM Quantum Platform

DoWhileController

class qiskit.passmanager.DoWhileController(tasks=(), do_while=None, *, options=None)

GitHub

Bases: BaseController

Ejecute las tareas dadas en un bucle hasta que la condición do_while en el conjunto de propiedades se convierta en False.

Las tareas dadas siempre se ejecutarán al menos una vez, y en la iteración del bucle, se ejecutarán todas las tareas (con la excepción de que se establezca un estado de fallo).

Crear nuevo controlador de flujo.

Parámetros

  • options (dict[str, Any] | None) – Opción para este regulador de caudal.
  • tasks (Task | Iterable[Task])
  • do_while (Callable[[PropertySet], bool] | None)

Atributos

passes

Alias de tareas para compatibilidad con versiones anteriores.


Métodos

execute

execute(passmanager_ir, state, callback=None)

GitHub

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 ]

iter_tasks

iter_tasks(state)

GitHub

Una lógica personalizada para elegir la siguiente tarea a ejecutar.

La subclase de controlador puede consumir el estado para construir un canal de tareas adecuado. El estado actualizado tras la ejecución de una tarea se devolverá como valor de "retorno" de cualquier sentencia yield . Esto indica que el orden de ejecución de las tareas sólo se determina en tiempo de ejecución. Este método no puede mutar el objeto de estado dado.

Parámetros

  • state (PassManagerState) – El estado del flujo de trabajo passmanager al comienzo de la ejecución de este controlador de flujo.
  • estado - el estado del gestor de pases tras la ejecución de la última tarea cedida. El generador no necesita inspeccionarlo si es irrelevante para su lógica, ni actualizarlo.

Cesiones

Tarea - Siguiente tarea a ejecutar.

Tipo de retorno

Generador* [Task*, PassManagerState, None]

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.