Skip to main content
IBM Quantum Platform

RossSelingerSynthesis

class qiskit.transpiler.passes.synthesis.ross_selinger_plugin.RossSelingerSynthesis

GitHub

ベース: UnitarySynthesisPlugin

ロス=セリンガー Qiskit ユニタリー合成プラグイン

アルゴリズムは [1].に記述されている。 ソースコード(Rust言語)は で公開されています https://github.com/qiskit-community/rsgridsynth

このプラグインは、パラメータ unitary_synthesis_method が に設定されたときに transpile() によって "gridsynth"呼び出されます。

このプラグインはカスタマイズをサポートしており、関 transpile()unitary_synthesis_plugin_config 数のパラメータとして辞書を渡すことで追加パラメータをプラグインに渡すことができます。

辞書でサポートされているパラメータ:

イプシロン ( f64 ):

許容される近似誤差。

参照資料:

[1] ニール・J・ロス、ピーター・セリンジャー、z回転に対する最適なアンシラフリー・クリフォード+T近似

arXiv:1403.2975


属性

max_qubits

サポートされる量子ビットの最大数は です 1

min_qubits

サポートされる量子ビットの最小数は です 1

supported_bases

このプラグインは合成用のベースをサポートしていません。

supports_basis_gates

このプラグインはベースゲートをサポートしていません。 デフォルトではゲート ["h", "s", "t", "x"] 基底に合成されます。

supports_coupling_map

このプラグインはカップリングマップをサポートしていません。

supports_gate_errors

このプラグインはゲートエラーをサポートしていません。

supports_gate_errors_by_qubit

プラグインが受け取りをサポートしているかどうかを返す gate_errors_by_qubit

これは、同じデータをgate_errors 異なる視点で見ることで異なる supports_gate_errors。 ゲート名ではなく量子ビットでキー付けされ、ゲートを表すのにインスタンス Gate を使用します(ゲート名ではなく)。

gate_errors_by_qubit 辞書形式の辞書となります {(qubits,): [Gate, error]}。 例:

{
(0,): [SXGate(): 0.0006149355812506126, RZGate(): 0.0],
(0, 1): [CXGate(): 0.012012477900732316]
}

この辞書は完全ではない場合や空の場合があることに注意してください。これは、ターゲットバックエンドが各量子ビットのすべてのゲートについてゲートエラーを報告するかどうかによって異なります。 ゲートエラー gate_errors 率は Backend 対象デバイスオブジェクトによって提供され、その正確な意味はバックエンドによって異なる場合があります。

デフォルト値はFalseです

supports_gate_lengths

このプラグインはゲート長をサポートしていません。

supports_gate_lengths_by_qubit

プラグインが受け取りをサポートしているかどうかを返す gate_lengths_by_qubit

これは、同じデータをgate_lengths 異なる視点で見ることで異なる supports_gate_lengths。 ゲート名ではなく量子ビットでキー付けされ、ゲートを表すために Gate インスタンスを使用します(ゲート名の代わりに)

gate_lengths_by_qubit 辞書形式の辞書となります {(qubits,): [Gate, length]}。 例:

{
(0,): [SXGate(): 0.0006149355812506126, RZGate(): 0.0],
(0, 1): [CXGate(): 0.012012477900732316]
}

length は秒単位で表される。

この辞書は完全ではない場合や空の場合があることにご留意ください。これは、対象のバックエンドが各量子ビットのすべてのゲートについてゲート長を報告するかどうかによって異なります。

デフォルト値はFalseです

supports_natural_direction

このプラグインは自然な方向をサポートしておらず、双方向の2量子ビットゲートを想定していません。

supports_pulse_optimize

このプラグインはパルスの最適化をサポートしていません。

supports_target

プラグインがオプションとして target 受け取ることをサポートしているかどうか

target 合成パスの出力先となるターゲットデバイスを表すオブジェクト Target となります。

デフォルトでは、プラグインインターフェースは クラス Target より前に存在したため、これが False 適用されます。 この属性に対してプラグインが True を返す場合、、 supports_coupling_map``supports_gate_errors、、 supports_gate_lengths のいずれかが supports_basis_gates 設定されているときは、渡された値ではなく Target を使用することが期待される(理想的にはこれらのパラメータはすべて重複情報を含むべきである)。


方法

run

run(unitary, **options)

GitHub

指定されたユニタリ演算子に対してロス・セリンガー合成プラグインを実行する。

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