CollectAndCollapse
class qiskit.transpiler.passes.CollectAndCollapse(*args, **kwargs)
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)
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
run
run(dag)
Execute a passagem CollectLinearFunctions em dag. :param dag: o DAG a ser otimizado. :type dag: DAGCircuit
Retorna
o DAG otimizado.
Tipo de retorno
update_status
update_status(state, run_state)
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