Qiskitのドキュメントにこのような異なるUGateとU3Gateの実装があるのはなぜですか?

Aug 20 2020

新しいバージョンの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システムでのこれらのゲートのハードウェア(ソフトウェアではない)実装に関するものです。

回答

3 e-eight Aug 20 2020 at 20:48

ソースコードを見ると、UGateがのエイリアスとして定義されていることがわかりますU3Gate。なぜ彼らがこのエイリアスを必要とするのかについては、私にはわかりません。しかし、私が推測を危険にさらすとしたら、それはほとんどの量子コンピューティングの文献では、$U$任意のユニタリゲート/演算子を指すために使用されます。qiskitU3Gateは最も一般的な単一量子ビットのユニタリゲートであるため、次のように識別するのが理にかなっています。$U$ 量子コンピューティングの文献から。