Skip to main content
IBM Quantum Platform

HalfAdderSynthesisDefault

class qiskit.transpiler.passes.synthesis.hls_plugins.HalfAdderSynthesisDefault

GitHub

ベース: HighLevelSynthesisPlugin

デフォルトのハーフ・アダー(キャリー・インはないが、キャリー・アウトはある)合成。

補助量子ビットが利用可能な場合、Cuccaroリップルキャリー加算器は O(n)O(n) CXゲートと1補助量子ビットを使用するのに対し、Vedralリップルキャリーはより多くのCXと n1n-1 補助量子ビットを使用する。 QFTに基づく加算器は補助量子ビットを使用しないが、 O(n2)O(n^2)、したがって補助量子ビットがない場合にのみ使用される。

このプラグイン名はHalfAdder.defaultHLSConfig オブジェクトのキーとして使用できます。 HighLevelSynthesis.

少なくとも1つのクリーンな補助量子ビットが利用可能であれば HalfAdderSynthesisC04 が使われ、そうでなければ HalfAdderSynthesisD00.

このプラグインは、以下のプラグイン固有のオプションをサポートしています:

  • num_clean_ancillas:利用可能なクリーンな補助量子ビットの数。

方法

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

指定されたOperationに対して合成を実行する。

パラメーター

  • high_level_object (Operation) – オブジェクトに合成するオペレーション DAGCircuit オブジェクトに合成します。
  • coupling_map (CouplingMap) – 合成が物理回路上で行われる場合のバックエンドのカップリング・マップ。
  • target (Target) – 対象のバックエンドを表すターゲット。
  • qubits (list) – 合成が物理回路上で行われる場合に、演算が定義される量子ビットのリスト。
  • options - 追加のメソッド固有のオプションの kwargs。

戻り値

オペレーションの量子回路表現

成功した場合は None

戻りの型

QuantumCircuit

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。