QFTSynthesisFull
class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
Basi: HighLevelSynthesisPlugin
Plugin di sintesi per porte QFT che utilizzano la connettività all-to-all.
Il nome del plugin è:qft.full che può essere utilizzato come chiave di un oggetto HLSConfig per utilizzare questo metodo con HighLevelSynthesis.
Si noti che il meccanismo del plugin non viene applicato se il gate si chiama qft ma non è un'istanza di QFTGate. Ciò consente agli utenti di creare cancelli personalizzati con il nome qft.
Il plugin supporta le seguenti opzioni aggiuntive:
-
reverse_qubits (bool): Se sintetizzare o meno l'operazione "QFT" (se
False,che è quella predefinita) o l'operazione "QFT con inversione" (se
True). Alcune implementazioni diQFTGateincludono uno strato di porte di scambio alla fine del circuito sintetizzato, che in linea di principio può essere abbandonato seQFTGatestesso è l'ultima porta del circuito. -
grado_di_approssimazione (int): Il grado di approssimazione (0 per nessuna approssimazione).
È possibile implementare la QFT ignorando approssimativamente le rotazioni a fase controllata con angolo inferiore a una soglia. Questo aspetto è trattato in modo più dettagliato nei paragrafi [1] o [2].
-
insert_barriers (bool): Se True, le barriere vengono inserite come miglioramento della visualizzazione.
-
inverso (bool): Se True, viene costruita la trasformata di Fourier inversa.
-
nome (str): Il nome del circuito.
Riferimenti
- 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]
Metodi
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Esegue la sintesi per il QFTGate indicato.