BasePassManager
class qiskit.passmanager.BasePassManager(tasks=(), max_iteration=1000)
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)
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)
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)
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)
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 executionLos 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_processesen el archivo de configuración del usuario y laQISKIT_NUM_PROCSvariable de entorno. Si se establece en, se utilizará la configuraciónNonepredeterminada 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
PropertySetpara 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 delTargetpor 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
to_flow_controller
to_flow_controller()
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