FermionicPassManager
class FermionicPassManager(tasks=(), max_iteration=1000)
Bases: BasePassManager[DAGCircuit]
Un gestor de pasadas del transpilador que convierte una cosa FermionicCircuit en otra.
La representación interna (IR) de este gestor de pases es FermionicDAGCircuit, pero los tipos de entrada y salida son FermionicCircuit.
Inicializar un objeto gestor de pases vacío.
Parámetros
- tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un pase 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 heredados
append
append(tasks)
Añadir 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 deben añadir a la programación.
Subidas
TypeError – Cuando algún elemento de las tareas no es una subclase de la clase «Task» de PassManager.
Tipo de retorno
Ninguna
remove
remove(index)
Elimina una pasada concreta del programador.
Parámetros
index (int) – Indica el índice que se debe eliminar, según su posición en passes().
Subidas
PassManagerError – Si no se encuentra el índice.
Tipo de retorno
Ninguna
replace
replace(index, tasks)
Sustituir una pasada concreta en el programador.
Parámetros
- index (int) – Índice de tareas que se va a sustituir, según la posición en
tasks() - tasks (Task[IR, IR] | list[Task[IR, IR]]) – Un conjunto de tareas del gestor de pases que se deben añadir a la programación.
Subidas
- TypeError – Cuando algún elemento de las tareas no es una subclase de la clase «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)
Ejecuta todas las pasadas en el archivo especificado in_programs.
Parámetros
-
in_programs (Any |list[Any]) – Introduce los programas que se van a transformar mediante todos los pases registrados. 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 deben optimizarse.
-
callback (Callable[[Task, IR, PropertySet, float, int], None] | None) –
Una función de llamada de retorno 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 interno. Si tienes intención de reutilizar una función de llamada de retorno 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, debes definir una función que acepte el diccionario
kwargsy acceda 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 iniciarán si se habilita la ejecución paralela. Este argumento tiene prioridad
num_processessobre el archivo de configuración del usuario y la variable de entornoQISKIT_NUM_PROCS. Si se establece en se utilizaráNonela 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 para
PropertySetel proceso del gestor de pases. Esto puede utilizarse para conservar los resultados del análisis de una ejecución a otra, en los casos en los que se sepa que es seguro compartir dichos resultados. Ten en cuenta que algunos análisis serán específicos del circuito de entrada y del caso concretoTarget, por lo que debes tener mucho cuidado al utilizar este argumento. -
kwargs : argumentos arbitrarios que se pasan al frontend y al backend del compilador.
Devuelve
El programa o programas transformados.
Tipo de retorno
to_flow_controller
to_flow_controller()
Linealiza este gestor para que quede reducido a un único elemento FlowControllerLinear, de modo que pueda anidarse dentro de otro gestor de pasadas.
Devuelve
Un gestor de pases linealizado.
Tipo de retorno
Controlador de flujo lineal [IR, IR]