Skip to main content
IBM Quantum Platform

CollectAndCollapse

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

GitHub

Bases: TransformationPass

Uma passagem geral do transpilador para coletar e consolidar blocos de nós em um circuito.

Essa passagem do transpilador depende de duas funções: a função de coleta e a função de colapso. A função de coleta collect_function recebe um DAG e retorna uma lista de blocos. A função de colapso collapse_function recebe um DAG e uma lista de blocos, consolida cada bloco e retorna o DAG modificado.

Os DAGs de entrada e saída são do tipo DAGCircuitno entanto, ao explorar a análise de comutatividade para coletar blocos, a representação DAGDependency é usada internamente. Para dar suporte a isso, os sites collect_function e collapse_function devem funcionar com os dois tipos de DAGs e nós de DAG.

Outras passagens do transpilador de coleta e consolidação, por exemplo CollectLinearFunctionspodem derivar dessa passagem, fixando collect_function e collapse_function em funções específicas.

Parâmetros

  • collect_function (callable) – uma função que recebe um DAG e retorna uma lista de blocos de nós "coletados"
  • collapse_function (callable) – uma função que recebe um DAG e uma lista de blocos "coletados" e consolida cada bloco.
  • do_commutative_analysis (bool) – se True, explora as relações de comutatividade entre os nós.

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 a passagem CollectLinearFunctions em dag. :param dag: o DAG a ser otimizado. :type dag: DAGCircuit

Retorna

o DAG otimizado.

Tipo de retorno

DAGCircuit

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.