AddPostSelectionMeasures
class AddPostSelectionMeasures(*args, **kwargs)
Bases: TransformationPass
Adicione uma medição pós-seleção após cada medição de terminal.
Uma medição pós-seleção é uma medição que segue uma medição regular em um determinado qubit. Ele consiste em um pulso X de banda estreita seguido de uma operação de medição regular. Na ausência de ruído, espera-se que ele retorne (b + 1) % 2, em que b é o resultado da medição original.
Essa passagem adiciona medições pós-seleção após cada medição de terminal, ou seja, após cada medição que não é seguida por outra operação no mesmo fio. As medições adicionadas são colocadas após uma barreira e gravam em novos registros clássicos que são cópias dos registros do DAG, com nomes modificados.
Quando essa passagem encontra uma operação de fluxo de controle, ela itera por todos os seus blocos. Ele marca como "terminado" apenas os qubits que são terminados em cada um dos blocos e trata como não terminado todos os outros qubits.
Inicializar a passagem.
Parâmetros
- x_pulse_type - O tipo de pulso X a ser aplicado para as medições pós-seleção.
- post_selection_suffix - Um sufixo fixo para anexar aos nomes dos registros clássicos ao copiá-los.
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
name
run
run(dag)
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