FoldRzzAngle
class FoldRzzAngle(*args, **kwargs)
Bases: TransformationPass
Dobre o ângulo do portão Rzz na faixa calibrada de 0-pi/2 com ajustes do portão local.
No IBM Quantum ISA, a instrução Rzz(theta) tem um valor "theta" válido de [0, pi/2] e qualquer instrução fora desse intervalo torna-se uma operação não ISA para o backend quântico. A passagem do transpilador descobre esses portões Rzz nãoISA e dobra o ângulo do portão na faixa calibrada com a adição de portões de qubit único, preservando a equivalência lógica do circuito quântico de entrada. As portas locais adicionadas podem ser fundidas com eficiência em portas de qubit único vizinhas por meio dos seguintes passos de otimização de qubit único.
Essa passagem permite que os usuários do Qiskit usem ingenuamente as portas Rzz com ângulo de números reais arbitrários.
Essa passagem não transforma o circuito quando o ângulo da porta Rzz é um parâmetro não vinculado. Nesse caso, o usuário deve atribuir um ângulo de porta antes da transpilação ou ser responsável por escolher os parâmetros do intervalo calibrado de [0, pi/2].
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_setexistente 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
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
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