Skip to main content
IBM Quantum Platform

BasePassManager

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

GitHub

Bases: ABC

Clase base del gestor de pases.

Inicializa un objeto gestor de pases vacío.

Parámetros

  • tasks (Task | list[Task]) – Un conjunto de pases que se 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 | list[Task]) – Un conjunto de tareas del gestor de pases que se añadirán a la programación.

Eleva

TypeError - Cuando algún elemento de tasks no es una subclase de passmanager Task.

Tipo de retorno

Ninguna

remove

remove(index)

GitHub

Elimina un pase concreto en el planificador.

Parámetros

index (int) – Pasar índice para eliminar, basado en la 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 tarea a sustituir, basado en la posición en tasks()
  • tasks (Task | list[Task]) – Un conjunto de tareas del gestor de pases que se añadirán a la programación.

Eleva

  • TypeError - Cuando algún elemento de tasks no es una subclase de passmanager Task.
  • 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]) – Introducir programas para transformar a través de todos los pases registrados. Un objeto de entrada único no puede ser un objeto de lista integrado de Python. Un objeto de lista se considera como múltiples objetos de entrada para optimizar.

  • callback (Callable | 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 habilita la ejecución paralela. Este argumento anula num_processes en el archivo de configuración del usuario y la QISKIT_NUM_PROCS variable de entorno. Si se establece en, se utilizará la configuración None predeterminada del sistema o la configuración local del usuario.

  • property_set (dict[str, object] | None) – Si se indica, el valor inicial que se utilizará como PropertySet para la canalización del gestor de pases. Puede utilizarse para conservar el análisis de una ejecución a otra, en los casos en los que se sabe que es seguro compartir el análisis. Tenga en cuenta que algunos análisis serán específicos del circuito de entrada y del Targetpor 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

FlowControllerLinear

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