Skip to main content
IBM Quantum Platform

MapperFnEvolutionSynthesis

class MapperFnEvolutionSynthesis(mapper_fn, product_formula=None)

ベース: object

カスタムマッピング Evolution によるトランスパイル用の F2QSynthesisPlugin A。

このプラグインは、入力ゲ Evolution ートのフェルミオン・ハミルトニアン HH を、[ ] を使用して量子ビット演算子にマッピングし、 mapper_fn [ ] を出力します PauliEvolutionGate。 これにより、ゲ Evolution ートの eitHe^{-i t H} という規則が維持され、進化時間も tt と同じになります。

それがその後、基底ゲートにどのように分解される PauliEvolutionGate かは、として渡された積の公式によって決まります product_formula。 これをデフォルトのままにしておくと(None)、 PauliEvolutionGateそのもの自身のデフォルトの合成(単一の反復を伴う一階の分解 LieTrotter )が適用されます。 明示的な式 EvolutionSynthesis (例えば、高次のもの SuzukiTrotter や繰り返しを複数回含むものなど)を指定すると、別のトロッター・鈴木の積公式が選択され、回路の深さを犠牲にする代わりに、トロッター誤差を小さくすることができます。

このトランスパイラー・パス・プラグインの初期化は、以下に挙げる引数を使用して行うことができます。

パラメーター

  • mapper_fn (MapperFunction) – フェルミオンから量子ビットへの演算子写像関数。
  • product_formula (EvolutionSynthesis | None) – 発光体を合成するための製品組成 PauliEvolutionGate。 ( None デフォルトの場合)、ゲート自身のデフォルトの合成が使用されます(単一の反復を伴う一階 LieTrotter 分解)。

属性

mapper_fn

タイプ: MapperFunction

フェルミオンから量子ビットへの演算子写像関数。

2つの入力引数は、以下の通りである必要があります:

  1. マッピング対象の演算子。
  2. 結果として得られる演算子が定義されるべき量子ビットの数。

この機能がグローバルなトランスパイル F2QLayout 設定と同期していることを確認するのは、ユーザーの責任です。

product_formula

種類: EvolutionSynthesis | None

発光素子を合成するために使用される製品式 PauliEvolutionGate、あるいは、そのゲート独自のデフォルト合成に None 委ねる。


方法

run

run(in_node, out_dag, *, f2q_layout)

このトランスパイルプラグインを実行します。

入射 Evolution ゲートのフェルミオンハミルトニアンは、を介して量子ビット演算子に写像され mapper_fn、簡略化された後、 eitHe^{-i t H}out_dagPauliEvolutionGate を実装するとしてに付加される。この際、元の進化時間は tt であり、合成 product_formula が行われる。

パラメーター

  • in_node (DAGOpNode) – 入力フェルミオンベースの回路命令。 このプラグインが呼び出される際、 属性 in_node.op の型は でなければなりません Evolution
  • out_dag (DAGCircuit) – 出力クビットベースの回路。
  • f2q_layout (dict[QuantumRegister, QuantumRegister]) – グローバルなトランスパイレーション設定 F2QLayout

戻りの型

なし

関連資料

引数に関するより詳しい説明については F2QSynthesisPlugin 、のドキュメントを参照してください。

昇給

NotImplementedError – が、複数のインスタンス FermionicRegister にまたがって分布しているフェルミオンモードに in_node 作用する場合。

パラメーター

戻りの型

なし

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