Qiskit 문서에 왜 그렇게 다른 UGate 및 U3Gate 구현이 있습니까?
새 버전 Qiskit 0.20.0에 대한 문서는 다음과 같이 설명합니다.
- UGate 는 "IBM Quantum 시스템에서 두 개의 X90 펄스를 사용하여 구현됩니다.
$U(θ,ϕ,λ)=RZ(ϕ−π/2)RX(π/2)RZ(π−θ)RX(π/2)RZ(λ−π/2)$"
- U3Gate 는 "IBM Quantum 시스템에서 두 개의 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$임의의 단일 게이트 / 연산자를 참조하는 데 사용됩니다. qiskit U3Gate
에서 가장 일반적인 단일 큐 비트 단일 게이트이므로 다음과 같이 식별하는 것이 좋습니다.$U$ 양자 컴퓨팅 문헌에서.