RossSelingerSynthesis
class qiskit.transpiler.passes.synthesis.ross_selinger_plugin.RossSelingerSynthesis
ロス=セリンガー Qiskit ユニタリー合成プラグイン
アルゴリズムは [1].に記述されている。 ソースコード(Rust言語)は で公開されています https://github.com/qiskit-community/rsgridsynth。
このプラグインは、パラメータ unitary_synthesis_method が に設定されたときに transpile() によって "gridsynth"呼び出されます。
このプラグインはカスタマイズをサポートしており、関 transpile()unitary_synthesis_plugin_config 数のパラメータとして辞書を渡すことで追加パラメータをプラグインに渡すことができます。
辞書でサポートされているパラメータ:
イプシロン ( f64 ):
許容される近似誤差。
参照資料:
[1] ニール・J・ロス、ピーター・セリンジャー、z回転に対する最適なアンシラフリー・クリフォード+T近似
属性
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 を使用することが期待される(理想的にはこれらのパラメータはすべて重複情報を含むべきである)。