QFTSynthesisFull
class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
全対全接続を使用するQFTゲートの合成プラグイン。
このプラグイン名はqft.full 。 HLSConfig オブジェクトのキーとして使用できます。 HighLevelSynthesis.
ゲートが qft と呼ばれているが、 QFTGate のインスタンスではない場合、プラグイン機構は適用されないことに注意。 これにより、ユーザーは qft という名前でカスタムゲートを作成することができる。
このプラグインは以下の追加オプションをサポートしています:
-
reverse_qubits(bool):QFT "演算を合成するかどうか (if
False、デフォルトはこれ)、または「QFT-with-reversal」操作(
Trueの場合)。QFTGate。いくつかの実装では、合成回路の最後にスワップ・ゲートのレイヤーが含まれているが、QFTGate自体が回路の最後のゲートであれば、原理的にはこれを省くことができる。 -
approximation_degree (int):近似の度合い (0 は近似なし)。
ある閾値以下の角度で制御された位相回転を無視することで、QFTを近似的に実装することが可能である。 これについては、 [1] または [2で]詳述する。
-
insert_barriers (bool):Trueの場合、視覚化の改善としてバリアを挿入する。
-
inverse (bool):True の場合、フーリエ逆変換を行う。
-
name (str):回路の名前。
参考文献
- Adriano Barenco, Artur Ekert, Kalle-Antti Suominen, and 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 Approximate QFT (2004), arXiv:quant-ph/0403071 [quant-ph]
方法
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
指定されたQFTGateの合成を実行します。