Skip to main content
IBM Quantum Platform

BasePassManager

class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)

GitHub

Bases: Generic[IR], ABC

Clase base del gestor de pases.

Inicializa un objeto gestor de pases vacío.

Parámetros

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un conjunto de pases que se va a añadir al calendario del gestor de pases.
  • max_iteration (int) – El número máximo de iteraciones que se repetirá el programa si no se cumple la condición.

Métodos

append

append(tasks)

GitHub

Añade tareas al calendario de pases.

Parámetros

tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un conjunto de tareas del gestor de pases que se van a añadir a la programación.

Eleva

TypeError : cuando algún elemento de «tasks» no es una subclase de «Task» de «passmanager».

Tipo de retorno

Ninguna

remove

remove(index)

GitHub

Elimina un pase concreto en el planificador.

Parámetros

index (int) – Índice del paso que se va a eliminar, según su posición en passes().

Eleva

PassManagerError – Si no se encuentra el índice.

Tipo de retorno

Ninguna

replace

replace(index, tasks)

GitHub

Sustituir un pase concreto en el programador.

Parámetros

  • index (int) – Índice de la tarea que se va a sustituir, según su posición en tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un conjunto de tareas del gestor de pases que se van a añadir a la programación.

Eleva

  • TypeError : cuando algún elemento de «tasks» no es una subclase de «Task» de «passmanager».
  • PassManagerError – Si no se encuentra el índice.

Tipo de retorno

Ninguna

run

run(in_programs, callback=None, num_processes=None, *, property_set=None, **kwargs)

GitHub

Ejecute todas las pasadas en la dirección in_programs especificada.

Parámetros

  • in_programs (Any |list[Any]) – Programas de entrada que se van a transformar mediante todas las pasadas registradas. Un único objeto de entrada no puede ser un objeto de lista integrado de Python. Un objeto de lista se considera como varios objetos de entrada que hay que optimizar.

  • callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –

    Una función de devolución de llamada que se ejecutará tras cada pasada. La función se invocará con 5 argumentos clave:

    task (GenericPass): the pass being run
    passmanager_ir (Any): depending on pass manager subclass
    property_set (PropertySet): the property set
    running_time (float): the time to execute the pass
    count (int): the index for the pass execution

    Los argumentos exactos que se pasan revelan el funcionamiento interno del gestor de pases y están sujetos a cambios a medida que cambie dicho funcionamiento. Si tienes intención de reutilizar una función de devolución de llamada en varias versiones, asegúrate de que los argumentos que se pasan sean los mismos.

    Para utilizar la función de devolución de llamada a definir una función que tendrá en kwargs dict y acceder a las variables. Por ejemplo:

    def callback_func(**kwargs):
        task = kwargs['task']
        passmanager_ir = kwargs['passmanager_ir']
        property_set = kwargs['property_set']
        running_time = kwargs['running_time']
        count = kwargs['count']
        ...
  • num_processes (int | None) – El número máximo de procesos paralelos que se pueden iniciar si se ha habilitado la ejecución paralela. Este argumento tiene prioridad sobre el del num_processes archivo de configuración del usuario y sobre la variable de entorno QISKIT_NUM_PROCS . Si se establece en se utilizará None la configuración predeterminada del sistema o la configuración local del usuario.

  • property_set (dict[str, object] | None) – Si se especifica, el valor inicial que se utilizará como PropertySet para el flujo de trabajo del gestor de pasadas. Esto puede utilizarse para conservar los resultados del análisis de una ejecución a otra, en los casos en los que se tenga la certeza de que es seguro compartir dichos resultados. Ten en cuenta que algunos análisis serán específicos del circuito de entrada y del caso concreto Target, por lo que debes tener mucho cuidado al utilizar este argumento.

  • kwargs - Argumentos arbitrarios pasados al frontend y backend del compilador.

Devuelve

Programa(s) transformado(s).

Tipo de retorno

Cualquiera

to_flow_controller

to_flow_controller()

GitHub

Linealizar este gestor en un único FlowControllerLinearpara que pueda anidarse dentro de otro gestor de pases.

Devuelve

Un gestor de pases linealizado.

Tipo de retorno

Control[* ador de caudal lineal IR*, IR]

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