QFTSynthesisLine
class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine
Bases: HighLevelSynthesisPlugin
Plug-in de síntese para portas QFT usando conectividade linear.
O nome do plug-in é:qft.line , que pode ser usado como a chave em um HLSConfig para usar esse método com HighLevelSynthesis.
Observe que o mecanismo de plug-in não será aplicado se o portão for chamado de qft , mas não for uma instância de QFTGate. Isso permite que os usuários criem portões personalizados com o nome qft.
O plug-in é compatível com as seguintes opções adicionais:
-
reverse_qubits (bool): Se deve sintetizar a operação "QFT" (se
False,que é o padrão) ou a operação "QFT-with-reversal" (se
True). Algumas implementações doQFTGateincluem uma camada de portas de troca no final do circuito sintetizado, que, em princípio, pode ser descartada se o próprioQFTGatefor a última porta do circuito. -
approximation_degree (int): o grau de aproximação (0 para nenhuma aproximação).
É possível implementar o QFT aproximadamente ignorando as rotações de fase controlada com o ângulo abaixo de um limite. Isso é discutido em mais detalhes em [1] ou [2].
Referências
- Adriano Barenco, Artur Ekert, Kalle-Antti Suominen e Päivi Törmä, Approximate Quantum Fourier Transform and Decoherence, Physical Review A (1996). arXiv:quant-ph/9601018 [quant-ph]
- Donny Cheung, Improved Bounds for the Approximate QFT (2004), arXiv:quant-ph/0403071 [quant-ph]
Métodos
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Executa a síntese para o QFTGate fornecido.