Skip to main content
IBM Quantum Platform

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 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 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 kwargs y 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_processes sobre el archivo de configuración del usuario y 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 para PropertySet el 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 concreto Target, 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

Cualquiera

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]

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