Skip to main content
IBM Quantum Platform

PauliEvolutionSynthesisRustiq

class qiskit.transpiler.passes.synthesis.hls_plugins.PauliEvolutionSynthesisRustiq

GitHub

ベース: HighLevelSynthesisPlugin

を合成する。 PauliEvolutionGate Rustiqを使って。

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

Rustiq合成アルゴリズムは [1.] で説明されており、Rustベースの量子回路合成ライブラリで実装されている。 https://github.com/smartiel/rustiq-core.

大規模な回路では、プラグインはかなりのランタイムを要するかもしれない。

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

  • optimize_count (bool): Trueの場合、合成アルゴリズムは以下の最適化を試みる

    もし偽なら、2量子ビットの深さ。

  • preserve_order (bool):ポーリの順番を保持するかどうか。

    可換性。

  • upto_clifford (bool): Trueの場合、最後のClifford演算子は合成されない。

  • upto_phase (bool): Trueの場合、返された回路のグローバル位相は、次のようになる。

    与えられたパウリネットワークのグローバル位相とは異なる。

  • resynth_clifford_method(int):最終的な合成戦略を記述する。

    クリフォード・オペレーター 許可される値は、0(素朴なアプローチ)、1(qiskit greedy synthesis)、2(rustiq isometry synthesis)です。

参考文献

  1. Timothée Goubault de Brugière and Simon Martiel, Faster and shorter synthesis of Hamiltonian simulation circuits, arXiv:2404.03280 [quant-ph]

方法

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で行ってください。