XX分解装置
class qiskit.synthesis.XXDecomposer(basis_fidelity=1.0, euler_basis='U', embodiments=None, backup_optimizer=None)
ベース: object
2量子ビットユニタリー演算を、タイプ XX の2量子ビット基底ゲート(すなわち、 が変化する場合もあるが、局所的にはそれぞれ と同値であるもの)に最適に分解するクラス。
パラメーター
- basis_fidelity (dict |float) – それぞれの長所と忠実度 (1)
XXの角度値をその角度における忠実度にマッピングする辞書、または (2){pi: f, pi/2: f/2, pi/3: f/3}と解釈される単一の浮動小数点数fのいずれか。 - euler_basis (str) – に提供された基本文字列。
OneQubitEulerDecomposer1Q を指定する。 デフォルトは"U"。 - embodiments (dict[float, QuantumCircuit] | None) – 相互作用の強さαをゲート を具現化するネイティブ回路にマッピングした辞書。強さは、 が完全な
CXGate. - backup_optimizer (Callable[..., QuantumCircuit] | None) – が効率的な分解を持たない場合、この callable に合成を委ねる。
XXDecomposerに合成を委ねる。 の2つまたは3つのアプリケーションを含む特殊な場合に有用である。この場合、標準的な合成手法では、 1Q ゲート数が少なくなる。
注
embodiments が渡されない場合、またはエントリーが見つからない場合は、メソッド _default_embodiment を使って必要に応じて入力される。
__call__
__call__(unitary, basis_fidelity=None, approximate=True, use_dag=False)
embodiments として初期化時に提供された回路テンプレートを使用して、特殊なユニタリー演算 unitary を(おそらく近似的に)モデル化する回路を作成する。 このルーチンは、厳密合成を行う場合も含めて、最適な回路テンプレートを選択するために basis_fidelity を使用する。 basis_fidelity の内容は、相互作用の強さ( が に対応するようにスケーリングされる)を回路の忠実度にマッピングする辞書である。
パラメーター
- unitary (Operator or ndarray) – を合成する。
- basis_fidelity (dict orfloat) – ベーシス・ゲートの忠実性。 (1)
XXの角度値をその角度における忠実度にマッピングする辞書、または (2){pi: f, pi/2: f/2, pi/3: f/3}と解釈される単一の浮動小数点数fのいずれか。 与えられた場合、initで与えられたbasis_fidelityを上書きする。 - approximate (bool) – 基底の忠実度が 1.0 より小さい場合に近似される。
- use_dag (bool) – trueの場合
DAGCircuitQuantumCircuitが返されます。
戻り値
合成回路。
戻りの型
方法
num_basis_gates
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。