TemplateOptimization
class qiskit.transpiler.passes.TemplateOptimization(*args, **kwargs)
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)
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)
Parâmetros
dag (DAGCircuit) – Circuito DAG.
Retorna
circuito DAG otimizado.
Tipo de retorno
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)
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