Qiskit 문서에 왜 그렇게 다른 UGate 및 U3Gate 구현이 있습니까?

Aug 20 2020

새 버전 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 시스템에서 이러한 게이트 의 하드웨어 (소프트웨어가 아님) 구현을 나타냅니다 .

답변

3 e-eight Aug 20 2020 at 20:48

소스 코드를 살펴보면 UGateU3Gate. 이 별칭이 필요한 이유에 대해서는 확실하지 않습니다. 하지만 추측을 해보면 대부분의 양자 컴퓨팅 문헌에서$U$임의의 단일 게이트 / 연산자를 참조하는 데 사용됩니다. qiskit U3Gate에서 가장 일반적인 단일 큐 비트 단일 게이트이므로 다음과 같이 식별하는 것이 좋습니다.$U$ 양자 컴퓨팅 문헌에서.