Skip to main content
IBM Quantum Platform

ASAPScheduleAnalysis

class ASAPScheduleAnalysis(*args, **kwargs)

GitHub

Bases: BaseDynamicCircuitAnalysis

Passe de análise de agendamento de circuitos dinâmicos do tipo "tão logo quanto possível" (ASAP).

Esse é um agendador projetado para trabalhar com as restrições exclusivas de agendamento dos backends de circuitos dinâmicos devido às limitações impostas pelo hardware. Espera-se que isso evolua com o tempo, à medida que os backends de circuitos dinâmicos também mudam.

Em sua forma atual, isso é semelhante ao agendador ASAP do Qiskit, no qual as instruções começam o mais cedo possível.

As principais diferenças são as seguintes:

  • Atualmente, os reinícios e o fluxo de controle marcam o fim de um “bloco quântico”. O período entre

    o fim do bloco, e o próximo é não determinístico, ou seja, não sabemos quando o próximo bloco começará (já que poderíamos estar avaliando uma função clássica de comprimento não determinístico) e, portanto, o próximo bloco começa em um ponto relativo t=0.

  • Durante uma medição, é possível aplicar portas em paralelo em qubits separados.

  • As medições e reinicializações em qubits não interligados ocorrem simultaneamente e fazem parte do mesmo

    bloco.


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

__call__

__call__(circuit, property_set=None)

Executa o circuito de passagem.

Parâmetros

  • circuit (QuantumCircuit) – O dia em que o passe é executado.
  • property_set (PropertySet | dict | None) – Conjunto de propriedades de entrada/saída. Uma passagem de análise pode alterar a propriedade definida no local. Se não for fornecido, será utilizado o atributo property_set existente do passe (se definido).

Retorna

Se uma transformação for bem-sucedida, o resultado será QuantumCircuit. Se a análise for aprovada, o circuito de entrada.

Tipo de retorno

QuantumCircuit

execute

execute(passmanager_ir, state, callback=None)

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

Parâmetros

  • passmanager_ir (DAGCircuit) – Qiskit IR para otimização.
  • state (DAGCircuit) – Estado associado à execução do fluxo de trabalho pelo próprio gerenciador de passagens.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | 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[ DAGCircuit, PassManagerState ]

name

name()

Nome do passe.

Tipo de retorno

str

run

run(dag)

GitHub

Execute a passagem ALAPSchedule no dag.

Parâmetros

dag (DAGCircuit) – DAG a ser agendado.

Aumentos

  • TranspilerError - se o circuito não for mapeado em qubits físicos.
  • TranspilerError - se o bit condicional for adicionado à instrução sem suporte.

Retorna

O DAGCircuit programado.

Tipo de retorno

DAGCircuit

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

PassManagerState

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