Skip to main content
IBM Quantum Platform

MinimumPoint

class qiskit.transpiler.passes.MinimumPoint(*args, **kwargs)

GitHub

Bases: TransformationPass

Verificar se o DAG atingiu um ponto semi-estável relativo em execuções anteriores

Essa passagem é semelhante à passagem FixedPoint e destina-se principalmente a ser usada para definir uma condição de interrupção de loop no conjunto de propriedades. Entretanto, ao contrário da classe FixedPoint que só define a condição se duas execuções consecutivas tiverem o mesmo valor de propriedade de valor definido, essa passagem foi projetada para encontrar um mínimo local e usá-lo em vez disso. Essa passagem foi projetada para um loop de otimização em que um ponto fixo pode nunca ser alcançado (por exemplo, se a síntese for usada e houver várias saídas equivalentes para alguns casos).

Essa passagem rastreará o estado dos campos no conjunto de propriedades em suas execuções anteriores e definirá um campo booleano quando um ponto fixo for atingido sobre a profundidade de retrocesso ou selecionando o valor mínimo encontrado se a profundidade de retrocesso for atingida. Para isso, ele armazena uma cópia profunda do DAG mínimo atual no conjunto de propriedades e, quando backtrack_depth número de execuções é atingido desde o último mínimo, o DAG de saída é definido para essa cópia do mínimo anterior.

Os campos usados por essa passagem no conjunto de propriedades são (todos relativos ao argumento prefix ):

  • {prefix}_minimum_point_state - Usado para rastrear o estado da pesquisa de ponto mínimo

  • {prefix}_minimum_point - Esse valor é definido como True quando um ponto fixo

    é atingido nas execuções do backtrack_depth ou backtrack_depth foi excedido e um mínimo anterior é restaurado.

Inicializar uma instância dessa passagem

Parâmetros

  • property_set_list (list) – Uma lista de chaves de conjunto de propriedades que serão usadas para avaliar o mínimo local. Os valores dessas chaves de conjunto de propriedades serão usados como uma tupla para comparação
  • prefix (str) – O prefixo a ser usado para a chave do conjunto de propriedades que é usada para rastrear avaliações anteriores
  • backtrack_depth (int) – O número máximo de entradas a serem armazenadas. Se esse número for atingido e a próxima iteração não diminuir o número de valores, o mínimo do n anterior será definido como o dag de saída e minimum_point será definido como True no conjunto de propriedades

Atributos

is_analysis_pass

Verificar se o passe é um passe de análise.

Se a passagem for um AnalysisPass,, isso significa que a passagem pode analisar o DAG e escrever os resultados dessa análise no conjunto de propriedades. As modificações no DAG não são permitidas por esse tipo de passe.

is_transformation_pass

Verificar se o passe é um passe de transformação.

Se a passagem for um TransformationPass,, isso significa que a passagem pode manipular o DAG, mas não pode modificar o conjunto de propriedades (mas pode ser lido).


Métodos

execute

execute(passmanager_ir, state, callback=None)

GitHub

Executar a tarefa de otimização para a entrada Qiskit IR.

Parâmetros

  • passmanager_ir (Any) – Qiskit IR para otimizar.
  • state (PassManagerState) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passes.
  • callback (Callable | None) – Uma função de retorno de chamada que é chamada a cada execução da tarefa de otimização.

Retorna

Qiskit IR otimizado e estado do fluxo de trabalho.

Tipo de retorno

tupla [ Any, PassManagerState ]

name

name()

GitHub

Nome do passe.

Tipo de retorno

str

run

run(dag)

GitHub

Execute o passe MinimumPoint no dag.

update_status

update_status(state, run_state)

GitHub

Atualizar o status do fluxo de trabalho.

Parâmetros

  • state (PassManagerState) – Passar o estado do gerenciador para atualizar.
  • run_state (RunState) – Status de conclusão da tarefa atual.

Retorna

Estado do gerenciador de passes atualizado.

Tipo de retorno

PassManagerState

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