Skip to main content
IBM Quantum Platform

TokenSwapperSynthesisPermutation

class qiskit.transpiler.passes.synthesis.hls_plugins.TokenSwapperSynthesisPermutation

GitHub

ベース: HighLevelSynthesisPlugin

トークンスワッパーアルゴリズムに基づく順列合成プラグイン。

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

より詳細には、このプラグインは PermutationGate 型のオブジェクトを合成するために使用される。 合成に成功すると、スワップ・ゲートだけで構成される量子回路が出力される。 合成が成功しなかった場合、プラグインはNoneを出力する。

coupling_mapまたはqubitsのいずれかがNoneの場合、合成された回路は、レイアウト/配線前に合成された場合のように、接続性制約を遵守する必要はありません。

一方、coupling_mapとqubitsの両方が指定された場合、合成された回路は接続性制約に従うことになる。 現時点では、プラグインはqubits内のqubits間にスワップゲートを作成するだけで、カップリングマップ内の他のqubitsは使用しません(そのような合成が不可能な場合、プラグインはNoneを出力します)。

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

  • trials:トークンスワッパーがマッピングを実行するための試行回数。 SWAPの数が最も少ない回路が返される。
  • シード:トークンスワッパーへの引数で、ランダム試行の種を指定する。
  • parallel_threshold:トークンスワッパーへの引数で、アルゴリズムが並列処理を使用するグラフのノード数を指定する。

トークンスワッパー・アルゴリズムの詳細については、論文を参照されたい: arXiv:1902.09102.


方法

run

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

GitHub

与えられたPermutationに対して合成を実行する。

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