Qiskitのドキュメントにこのような異なるUGateとU3Gateの実装があるのはなぜですか?
新しいバージョンのQiskit0.20.0のドキュメントには、次のように記載されています。
- UGateは、「IBMQuantumシステムで2つのX90パルスを使用して実装されています。
$U(θ,ϕ,λ)=RZ(ϕ−π/2)RX(π/2)RZ(π−θ)RX(π/2)RZ(λ−π/2)$「」
- U3Gateは、「IBMQuantumシステムで2つのX90パルスを使用して実装されています。
$U3(θ,ϕ,λ)=RZ(ϕ)RX(−π/2)RZ(θ)RX(π/2)RZ(λ)$「」
後者だけがU3の既知の回転シーケンスに一致するようです。$z$-回転 ($\lambda$)、 $y$-回転 ($\theta$)、 $z$-回転 ($\varphi$)
それらのプレゼンテーションマトリックスは完全に一致していますが: $$ \mathrm{U3}= \mathrm{U}= \begin{pmatrix} \cos(\theta/2) & -\mathrm{e}^{i\lambda}\sin(\theta/2) \\ \mathrm{e}^{i\phi}\sin(\theta/2) & \mathrm{e}^{i(\phi+\lambda)}\cos(\theta/2) \end{pmatrix}. $$
これはドキュメントの不正確さですか、それとも何かが足りず、これらのゲートは実際には異なりますか?
念のため、ドキュメントに記載されている前述の違いは、IBM Qシステムでのこれらのゲートのハードウェア(ソフトウェアではない)実装に関するものです。
回答
ソースコードを見ると、UGate
がのエイリアスとして定義されていることがわかりますU3Gate
。なぜ彼らがこのエイリアスを必要とするのかについては、私にはわかりません。しかし、私が推測を危険にさらすとしたら、それはほとんどの量子コンピューティングの文献では、$U$任意のユニタリゲート/演算子を指すために使用されます。qiskitU3Gate
は最も一般的な単一量子ビットのユニタリゲートであるため、次のように識別するのが理にかなっています。$U$ 量子コンピューティングの文献から。