Mengapa ada perbedaan implementasi UGate dan U3Gate dalam dokumentasi Qiskit?
Dokumentasi untuk versi baru Qiskit 0.20.0 menyatakan bahwa:
- UGate "Diimplementasikan menggunakan dua pulsa X90 pada sistem IBM Quantum:
$U(θ,ϕ,λ)=RZ(ϕ−π/2)RX(π/2)RZ(π−θ)RX(π/2)RZ(λ−π/2)$"
- U3Gate "Diimplementasikan menggunakan dua pulsa X90 pada sistem IBM Quantum:
$U3(θ,ϕ,λ)=RZ(ϕ)RX(−π/2)RZ(θ)RX(π/2)RZ(λ)$"
Sepertinya hanya yang terakhir yang cocok dengan urutan rotasi yang diketahui untuk U3:$z$-rotasi ($\lambda$), $y$-rotasi ($\theta$), $z$-rotasi ($\varphi$)
Meskipun matriks presentasi mereka sepenuhnya bertepatan: $$ \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}. $$
Apakah ini ketidakakuratan dalam dokumentasi atau apakah saya melewatkan sesuatu dan gerbang ini sebenarnya berbeda?
Untuk berjaga-jaga, perbedaan yang disebutkan di atas yang disebutkan dalam dokumentasi merujuk pada implementasi perangkat keras (bukan perangkat lunak) dari gerbang ini pada sistem IBM Q.
Jawaban
Jika Anda melihat kode sumbernya maka Anda akan melihat bahwa UGate
didefinisikan sebagai alias untuk U3Gate
. Soal kenapa mereka butuh alias ini, saya tidak tahu pasti. Tapi jika saya berani menebak, itu karena di sebagian besar literatur komputasi kuantum,$U$digunakan untuk merujuk pada gerbang / operator kesatuan yang sewenang-wenang. Karena di qiskit U3Gate
adalah gerbang kesatuan qubit tunggal yang paling umum, masuk akal untuk mengidentifikasinya$U$ dari literatur komputasi kuantum.