Skip to main content
IBM Quantum Platform

TemplateOptimization

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

GitHub

Bases: TransformationPass

Classe para a passagem de otimização do modelo.

Parâmetros

  • template_list (list[QuantumCircuit()]) – lista dos diferentes circuitos de modelo a serem aplicados.
  • heuristics_backward_param (list[int]) – [comprimento, sobrevivente] Esses são os parâmetros para aplicar a heurística na parte posterior do algoritmo. Essa parte do algoritmo cria uma árvore de cenários correspondentes. Essa árvore cresce exponencialmente. A heurística avalia quais cenários têm a correspondência mais longa e mantém apenas esses. O comprimento é o intervalo na árvore para cortá-la e o sobrevivente é o número de cenários que são mantidos. Aconselhamos o uso dos sites l=3 e s=1 para obter uma grande vantagem de tempo. Lembramos que a heurística implica a perda de uma parte das correspondências máximas. Consulte a referência para obter mais detalhes.
  • heuristics_qubits_param (list[int]) – [comprimento] A heurística para a escolha do qubit faz suposições a partir da dependência de dag do circuito para limitar o número de configurações de qubit a serem exploradas. O comprimento é o número de sucessores ou não predecessores que serão explorados na dependência dag do circuito, cada qubits dos nós é adicionado ao conjunto de qubits autorizados. Recomendamos o uso do site length=1. Consulte a referência para obter mais detalhes.
  • user_cost_dict (Dict[str, int]) – dicionário de custo quântico passado para TemplateSubstitution para configurar seu comportamento. Isso substituirá qualquer valor padrão se None não for fornecido. A chave é o nome do portão e o valor é o custo quântico.

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

Parâmetros

dag (DAGCircuit) – Circuito DAG.

Retorna

circuito DAG otimizado.

Tipo de retorno

DAGCircuit

Aumentos

TranspilerError - Se o modelo não tiver a forma correta ou se o circuito de saída agir de forma diferente do circuito de entrada.

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.