Skip to main content
IBM Quantum Platform

FermionicPassManager

class FermionicPassManager(tasks=(), max_iteration=1000)

Bases: BasePassManager[DAGCircuit]

Um gerenciador de passagens do transpilador que converte uma coisa FermionicCircuit em outra.

A representação interna (IR) desse gerenciador de passagem é FermionicDAGCircuit, mas os tipos de entrada e saída são FermionicCircuit.

Inicialize um objeto gerenciador de passagens vazio.

Parâmetros

  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Um passe que será adicionado à programação do gerenciador de passes.
  • max_iteration (int) – O número máximo de iterações que a programação será repetida caso a condição não seja atendida.

Métodos herdados

append

append(tasks)

Adicionar tarefas à programação de passagens.

Parâmetros

tasks (Task[IR, IR] | list[Task[IR, IR]]) – Um conjunto de tarefas do gerenciador de passes a ser adicionado à programação.

Aumentos

TypeError – Quando algum elemento das tarefas não for uma subclasse da classe Task do passmanager.

Tipo de retorno

Nenhum

remove

remove(index)

Remove uma passagem específica do agendador.

Parâmetros

index (int) – Passe o índice a ser removido, com base na posição em passes().

Aumentos

PassManagerError – Se o índice não for encontrado.

Tipo de retorno

Nenhum

replace

replace(index, tasks)

Substituir uma passagem específica no agendador.

Parâmetros

  • index (int) – Índice da tarefa a ser substituída, com base na posição em tasks()
  • tasks (Task[IR, IR] | list[Task[IR, IR]]) – Um conjunto de tarefas do gerenciador de passes a ser adicionado à programação.

Aumentos

  • TypeError – Quando algum elemento das tarefas não for uma subclasse da classe Task do passmanager.
  • PassManagerError – Se o índice não for encontrado.

Tipo de retorno

Nenhum

run

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

Execute todas as passagens no arquivo especificado in_programs.

Parâmetros

  • in_programs (Any |list[Any]) – Insira os programas a serem transformados por meio de todas as passagens registradas. Um único objeto de entrada não pode ser um objeto de lista embutido do Python. Um objeto de lista é considerado como vários objetos de entrada a serem otimizados.

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

    Uma função de retorno que será chamada após a execução de cada passagem. A função será chamada com 5 argumentos-chave:

    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

    Os argumentos exatos passados revelam o funcionamento interno do gerenciador de passes e estão sujeitos a alterações à medida que o funcionamento interno do gerenciador de passes for mudando. Se você pretende reutilizar uma função de retorno de chamada em várias versões, certifique-se de verificar se os argumentos passados são os mesmos.

    Para usar o recurso de callback, você define uma função que receberá o dicionário kwargs e acessará as variáveis. Por exemplo:

    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) – O número máximo de processos paralelos a serem iniciados caso a execução paralela esteja ativada. Esse argumento substitui o valor definido no num_processes arquivo de configuração do usuário e na variável de ambiente QISKIT_NUM_PROCS . Se estiver definido como, será utilizada a None configuração padrão do sistema ou a configuração local do usuário.

  • property_set (dict[str, object] | None) – Se fornecido, o valor inicial a ser usado como PropertySet para o pipeline do gerenciador de passagens. Isso pode ser usado para manter a análise de uma execução para outra, nos casos em que você sabe que é seguro compartilhar a análise. Esteja ciente de que algumas análises serão específicas para o circuito de entrada e para o caso em questão Target; portanto, é preciso ter muito cuidado ao utilizar esse argumento.

  • kwargs – Argumentos arbitrários passados para o front-end e o back-end do compilador.

Retorna

O(s) programa(s) transformado(s).

Tipo de retorno

Qualquer

to_flow_controller

to_flow_controller()

Linearize esse gerenciador em um único FlowControllerLinear, para que ele possa ser aninhado dentro de outro gerenciador de passagem.

Retorna

Um gerenciador de passagens linearizado.

Tipo de retorno

Controlador de Fluxo Linear [IR, IR]

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.