Skip to main content
IBM Quantum Platform

OneQubitEulerDecomposer

class qiskit.synthesis.OneQubitEulerDecomposer(basis='U3', use_dag=False)

GitHub

ベース: object

1量子ビットのユニタリーをオイラー角回転に分解するクラス。

結果として得られる分解は、3つのオイラー回転角パラメータ (θ,ϕ,λ)(\theta, \phi, \lambda) と位相パラメータ γ\gamma によってパラメータ化される。入力ユニタリーに対するパラメータの値は分解基底に依存する。 許容されるベースとその結果の回路を以下の表に示す。 非オイラー基底( U3U3, U1XU1X, RRRR )については、 ZYZZYZ オイラーパラメータが使用されることに注意。

ベース
オイラー角基準
分解回路
ZYZ」Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγRZ(ϕ).RY(θ).RZ(λ)e^{i\gamma} R_Z(\phi).R_Y(\theta).R_Z(\lambda)
ZXZ」Z(ϕ)X(θ)Z(λ)Z(\phi) X(\theta) Z(\lambda)eiγRZ(ϕ).RX(θ).RZ(λ)e^{i\gamma} R_Z(\phi).R_X(\theta).R_Z(\lambda)
XYX」X(ϕ)Y(θ)X(λ)X(\phi) Y(\theta) X(\lambda)eiγRX(ϕ).RY(θ).RX(λ)e^{i\gamma} R_X(\phi).R_Y(\theta).R_X(\lambda)
XZX」X(ϕ)Z(θ)X(λ)X(\phi) Z(\theta) X(\lambda)eiγRX(ϕ).RZ(θ).RX(λ)e^{i\gamma} R_X(\phi).R_Z(\theta).R_X(\lambda)
‘U3’Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU3(θ,ϕ,λ)e^{i\gamma} U_3(\theta,\phi,\lambda)
‘U321’Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU3(θ,ϕ,λ)e^{i\gamma} U_3(\theta,\phi,\lambda)
'U'Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU3(θ,ϕ,λ)e^{i\gamma} U_3(\theta,\phi,\lambda)
PSX」Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU1(ϕ+π).RX(π2).e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right). U1(θ+π).RX(π2).U1(λ)U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)
ZSX」Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγRZ(ϕ+π).X.e^{i\gamma} R_Z(\phi+\pi).\sqrt{X}. RZ(θ+π).X.RZ(λ)R_Z(\theta+\pi).\sqrt{X}.R_Z(\lambda)
ZSXX」Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγRZ(ϕ+π).X.RZ(θ+π).X.RZ(λ)e^{i\gamma} R_Z(\phi+\pi).\sqrt{X}.R_Z(\theta+\pi).\sqrt{X}.R_Z(\lambda) または eiγRZ(ϕ+π).X.RZ(λ)e^{i\gamma} R_Z(\phi+\pi).X.R_Z(\lambda)
‘U1X’Z(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγU1(ϕ+π).RX(π2).e^{i\gamma} U_1(\phi+\pi).R_X\left(\frac{\pi}{2}\right). U1(θ+π).RX(π2).U1(λ)U_1(\theta+\pi).R_X\left(\frac{\pi}{2}\right).U_1(\lambda)
RRZ(ϕ)Y(θ)Z(λ)Z(\phi) Y(\theta) Z(\lambda)eiγR(π,ϕλ+π2).e^{i\gamma} R\left(-\pi,\frac{\phi-\lambda+\pi}{2}\right). R(θ+π,π2λ)R\left(\theta+\pi,\frac{\pi}{2}-\lambda\right)

__call__

__call__(unitary, simplify=True, atol=1e-12)

GitHub

単一量子ビットゲートを回路に分解する。

パラメーター

  • unitary (Operator |Gate | np.ndarray) – 1量子ビット・ユニタリー行列
  • simplify (bool) – 分解時のゲート数を減らす[デフォルト:True]。
  • atol (float) – 返された回路を単純化する際に角度をチェックするための絶対公差[デフォルト: 1e-12].

戻り値

分解された単一量子ビットゲート回路

戻りの型

QuantumCircuit

レイズ

QiskitError - 入力が無効な場合、または合成に失敗した場合。

デコンポーザーの初期化

サポートされているベースは次のとおりです: 'U' 'PSX', 'ZSXX', 'ZSX', 'U321', 'U3', 'U1X', 'RR', 'ZYZ', 'ZXZ', 'XYX', 'XZX'.

パラメーター

  • basis (str) – 分解基底[デフォルト: 'U3']
  • use_dag (bool) – trueを指定すると、デコンポーザーの呼び出しからの出力は DAGCircuit オブジェクトになる。 QuantumCircuit.

レイズ

QiskitError - 入力ベースが認識されない場合。


属性

basis

分解基礎。


方法

angles

angles(unitary)

GitHub

入力配列のオイラー角を返す。

パラメーター

unitary (ndarray) – 2×22\times2 ユニタリー行列。

戻り値

(theta, phi, lambda).

戻りの型

タプル

angles_and_phase

angles_and_phase(unitary)

GitHub

入力配列のオイラー角と位相を返す。

パラメーター

unitary (ndarray) – 2×22\times2

戻り値

(theta, phi, lambda, phase).

戻りの型

タプル

build_circuit

build_circuit(gates, global_phase)

GitHub

ゲートのリストから回路またはダグ・オブジェクトを返す。

戻りの型

QuantumCircuit | DAG回路

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