HalfAdderSynthesisDefault
class qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisDefault
デフォルトのハーフ・アダー(キャリー・インはないが、キャリー・アウトはある)合成。
補助量子ビットが利用可能な場合、Cuccaroリップルキャリー加算器は CXゲートと1補助量子ビットを使用するのに対し、Vedralリップルキャリーはより多くのCXと 補助量子ビットを使用する。 QFTに基づく加算器は補助量子ビットを使用しないが、 、したがって補助量子ビットがない場合にのみ使用される。
このプラグイン名はHalfAdder.default 。 HLSConfig オブジェクトのキーとして使用できます。 HighLevelSynthesis.
少なくとも1つのクリーンな補助量子ビットが利用可能であれば HalfAdderSynthesisC04 が使われ、そうでなければ HalfAdderSynthesisD00.
このプラグインは、以下のプラグイン固有のオプションをサポートしています:
num_clean_ancillas:利用可能なクリーンな補助量子ビットの数。
方法
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
指定されたOperationに対して合成を実行する。
パラメーター
- high_level_object (Operation) – オブジェクトに合成するオペレーション
DAGCircuitオブジェクトに合成します。 - coupling_map (CouplingMap) – 合成が物理回路上で行われる場合のバックエンドのカップリング・マップ。
- target (Target) – 対象のバックエンドを表すターゲット。
- qubits (list) – 合成が物理回路上で行われる場合に、演算が定義される量子ビットのリスト。
- options - 追加のメソッド固有のオプションの kwargs。
戻り値
オペレーションの量子回路表現
成功した場合は None 。
戻りの型
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。