เหตุใดจึงมีการใช้งาน UGate และ U3Gate ที่แตกต่างกันเช่นนี้ในเอกสาร Qiskit
เอกสารสำหรับQiskit 0.20.0เวอร์ชันใหม่ระบุว่า:
- UGateคือ "ใช้งานโดยใช้ X90 สองพัลส์บนระบบ IBM Quantum:
$U(θ,ϕ,λ)=RZ(ϕ−π/2)RX(π/2)RZ(π−θ)RX(π/2)RZ(λ−π/2)$"
- U3Gateคือ "ใช้งานโดยใช้ X90 สองพัลส์บนระบบ IBM Quantum:
$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$ใช้เพื่ออ้างถึงประตู / ตัวดำเนินการแบบรวมโดยพลการ เนื่องจากใน qiskit U3Gate
เป็นประตูรวม qubit เดียวที่พบบ่อยที่สุดจึงเหมาะสมที่จะระบุด้วย$U$ จากวรรณกรรมคอมพิวเตอร์ควอนตัม