Skip to main content
IBM Quantum Platform

AddSpectatorMeasures

class AddSpectatorMeasures(*args, **kwargs)

GitHub

Bases: TransformationPass

Adicione medições nos qubits espectadores.

Um qubit ativo é um qubit que atua no circuito por meio de uma instrução sem barreira. Um qubit finalizado é aquele cuja última ação é uma medição. Um qubit espectador é um qubit que está inativo, mas adjacente a um qubit ativo sob o mapa de acoplamento. Essa passagem adiciona uma medição a todos os qubits espectadores e, opcionalmente, via include_unmeasured, a todos os qubits ativos que não são qubits terminados.

As medições adicionadas são gravadas em um novo registro que tem um bit por qubit espectador e o nome spectator_creg_name.

Nota

Quando essa passagem encontra uma operação de fluxo de controle, ela itera por todos os seus blocos. Ele marca como "ativo" todo qubit que estiver ativo em pelo menos um dos blocos e como "terminado" todo qubit que estiver terminado em cada um dos blocos.

Inicializar a passagem.

Parâmetros

  • coupling_map - Um mapa de acoplamento ou uma lista de tuplas indicando pares de qubits vizinhos.
  • include_unmeasured - Se os qubits que estão ativos, mas não foram encerrados por uma medição, também devem ser tratados como espectadores. Se True, uma medição de terminal é adicionada em cada um deles.
  • spectator_creg_name - O nome do registro clássico adicionado para as medições nos qubits do espectador.
  • add_barrier - Se deve ser adicionada uma barreira que atue em todos os qubits ativos e do espectador antes das medições do espectador.

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 (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 uma passagem no DAGCircuit. Isso é implementado pelo desenvolvedor do passe.

Parâmetros

dag (DAGCircuit) – o dag no qual o passe é executado.

Aumentos

NotImplementedError - quando isso não é implementado em uma passagem.

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.