Zenn
🌐

[量子情報基礎]qubitとBloch球の幾何学的な対応関係

2023/08/30に公開

Bloch球のよくある説明と謎

電子のスピンなどの二準位系

ψ=a0+b1=[ab] \ket{\psi} = a \ket{0} + b\ket{1} = \begin{bmatrix} a\\ b \end{bmatrix}

は量子情報処理ではqubit(量子ビット)と呼ばれます。
ここでa,ba,bは 規格化条件a2+b2=1|a|^2+|b|^2=1を満たす複素数です。
規格化条件を考慮すれば、一つのqubitの状態は適当な実数変数θ,s,t\theta,s,tを用いて、次のようにも書き表せます。

ψ=eiscosθ20+eitsinθ21=eis(cosθ20+ei(ts)sinθ21) \ket{\psi} = e^{is}\cos\frac{\theta}{2}\ket{0} + e^{it}\sin\frac{\theta}{2}\ket{1} =e^{is}\left(\cos\frac{\theta}{2}\ket{0} +e^{i(t-s)}\sin\frac{\theta}{2}\ket{1} \right)

量子状態全体にかかる大きさ1の係数eise^{is}は量子状態に影響を与えないので、結局一つのqubitの任意の純粋状態は次のように掛けます。

ψ=cosθ20+eiϕsinθ21 \begin{align} \therefore\ket{\psi} = \cos\frac{\theta}{2}\ket{0}+e^{i \phi}\sin\frac{\theta}{2}\ket{1} \end{align}

さて、よくある量子情報理論の教科書では、「任意の1qubitは二つの偏角(θ,ϕ)(\theta,\phi)で表せるので、三次元座標の原点から単位球上の一点に伸びるベクトルで量子状態を指定することができます。この球をBloch球と言います」と説明されます。

この説明、なんか奇妙じゃないですか?
まず、三次元球上の一点を表すなら、三次元のベクトルで量子状態は表されるべきです。でもϕ\ket{\phi}は二次元ベクトルです。ブロッホ球上のベクトルとϕ\ket{\phi}はどのように対応しているのでしょうか?
そもそも角度はなぜθ\thetaではなく、θ2\frac{\theta}{2}で定義されるのでしょうか?
この記事では普段はあまり気にされないこの謎を解き、qubitの量子状態とBloch球がどのように対応するかを明らかにしたいと思います。

qubit stateとBloch球の対応

先ず、以下の数学的事実を確認します。

  • 任意の2準位量子状態は係数の比
u:=ba=eiϕtanθ2 \begin{align} u := \frac{b}{a} = e^{i\phi}\tan\frac{\theta}{2} \end{align}

と1:1で対応する。

  • 複素平面上の任意の点Aと複素平面zの原点を中心とする三次元単位球を考える(図1)。
    球の北極((x,y,z)=(0,0,1)(x,y,z)=(0,0,1))と点Aを結んだ線は単位球の球面とただ1点Pで交わる。図1にはPが南半球にある状況と、Pが北半球にある状況を図示した。点Aの座標を(v,w)(v,w)と書いたとき、点Pの座標は、幾何学の計算より、
x=2v1+v2+w2=2Re(u)1+u2y=2w1+v2+w2=2Im(u)1+u2z=1v2w21+v2+w2=1u21+u2 \begin{align} x = \frac{2v}{1+v^2+w^2}=\frac{2 \mathrm{Re} (u)}{1+|u|^2} \\ y = \frac{2w}{1+v^2+w^2}=\frac{2 \mathrm{Im} (u)}{1+|u|^2} \\ z = \frac{1-v^2-w^2}{1+v^2+w^2}=\frac{1-|u|^2}{1+|u|^2} \end{align}

で与えられる。

図1. 複素平面と三次元単位球

上記の事実を使うと、uuの値を元に点Aを決めることができれば、ψ\ket{\psi}を三次元単位球の球面上の点に対応させられそうです。実際にやってみます。uuの実部、虚部をそれぞれv,wv,wと定義します。

u=ba=eiϕtanθ2=cosϕtanθ2+isinϕtanθ2=:v+iw \begin{align} u = \frac{b}{a} = e^{i\phi}\tan\frac{\theta}{2}= \cos\phi\tan\frac{\theta}{2}+i \sin\phi\tan\frac{\theta}{2} =: v + iw \end{align}

式(3)- 式(5)に式(6)を代入すると

x=sinθcosϕ,y=sinθsinϕ,z=cosθ \begin{align} x = \sin \theta \cos \phi, \quad y=\sin \theta \sin \phi, \quad z=\cos \theta \end{align}

と求まります。これは三次元単位球の球面上の点の極座標表示そのものですね。そして量子状態ではθ/2\theta/2で定義されていた角度はBloch球上ではθ\thetaに相当することがはっきりしました。

実際に確かめてみると、θ=0\theta=0ではu=b/a=0;b=0u=b/a=0; b=0よりϕ=0\ket{\phi}=\ket{0}, θ=π\theta=\piではu=b/a=;a=0u=b/a=\infty; a=0よりϕ=1\ket{\phi}=\ket{1}であり、確かにBloch球と一致します。

以上より、任意の2準位純粋量子状態ψ\ket{\psi}は原点からBloch球上の点に伸びるベクトルと対応することが確認できました。

ψ=a0+b1=cosθ20+eiϕsinθ21 \ket{\psi}=a\ket{0}+b\ket{1}= \cos\frac{\theta}{2}\ket{0}+e^{i\phi}\sin\frac{\theta}{2}\ket{1}


図2. Bloch球

任意1量子演算のBloch球上での見え方

1qubitの状態の変換はユニタリ変換UUで表されます。量子状態ψ\ket{\psi}のユニタリ変換はBloch球上ではどのように表されるのか調べてみましょう。具体的なUUの形として、天下り的ですが、以下の三つのユニタリ行列Rx,Ry,RzR_x,R_y,R_zの性質を調べます。

Rx(α):=[cosα2isinα2isinα2cosα2]=exp(iα2X),X:=[0110]Ry(α):=[cosα2sinα2sinα2cosα2]=exp(iα2Y),Y:=[0ii0]Rz(α):=[eiα200eiα2]=exp(iα2Z),Z:=[1001] \begin{align} R_x(\alpha):=& \begin{bmatrix} \cos \frac{\alpha}{2} && -i \sin \frac{\alpha}{2} \\ -i\sin \frac{\alpha}{2} &&\cos \frac{\alpha}{2} \end{bmatrix} =\exp\left(-i\frac{\alpha}{2}X \right) ,\quad X := \begin{bmatrix} 0 && 1 \\1&&0 \end{bmatrix} \\ R_y(\alpha):=& \begin{bmatrix} \cos \frac{\alpha}{2} && - \sin \frac{\alpha}{2} \\ \sin \frac{\alpha}{2} &&\cos \frac{\alpha}{2} \end{bmatrix} =\exp\left(-i\frac{\alpha}{2}Y \right) ,\quad Y := \begin{bmatrix} 0 && -i \\i&&0 \end{bmatrix} \\ R_z(\alpha):=& \begin{bmatrix} e^{-i\frac{\alpha}{2}} && 0 \\ 0 && e^{i\frac{\alpha}{2}} \end{bmatrix} =\exp\left(-i\frac{\alpha}{2}Z \right) ,\quad Z := \begin{bmatrix} 1 && 0\\ 0&&-1 \end{bmatrix} \end{align}

行列X,Y,ZX,Y,Zはパウリ行列です。。
Rx,Ry,RzR_x,R_y,R_z定義式の二つ目のイコールでは行列の指数表式の定義式

eA:=I+A+12!A2+13!A3+... e^A := I + A + \frac{1}{2!}A^2 + \frac{1}{3!}A^3 + ...

を使用しています。パウリ行列は二乗するとIIになるのでこの性質とオイラーの公式を使えば二つの目のイコールが示せますね。

RzR_z

まずはRzR_zが量子状態ψ\ket{\psi}をどのように変化させるか見ましょう。
ψ,u\ket{\psi},uそれぞれの変換後の状態は

ψ=Rz(α)ψ=[eiα200eiα2][cosθ2eiϕsinθ2]=eiα2[cosθ2ei(α+ϕ)sinθ2][cosθ2ei(α+ϕ)sinθ2]u=ei(α+ϕ)tanθ2 \begin{align} \ket{\psi'}=& R_z(\alpha) \ket{\psi} = \begin{bmatrix} e^{-i\frac{\alpha}{2}} && 0 \\ 0 && e^{i\frac{\alpha}{2}} \end{bmatrix} \begin{bmatrix} \cos \frac{\theta}{2} \\ e^{i\phi} \sin \frac{\theta}{2} \end{bmatrix}\\ = & e^{-i\frac{\alpha}{2}} \begin{bmatrix} \cos \frac{\theta}{2} \\ e^{i(\alpha+\phi)} \sin \frac{\theta}{2} \end{bmatrix} \sim \begin{bmatrix} \cos \frac{\theta}{2} \\ e^{i(\alpha+\phi)} \sin \frac{\theta}{2} \end{bmatrix}\\ u' =& e^{i(\alpha+\phi)}\tan \frac{\theta}{2} \end{align}

です。よってブロッホ球上での点P'は以下のように動きます。

x=2Re(u)1+u2=2cos(α+ϕ)tanθ21+tan2θ2=cosαcosϕsinθsinαsinϕsinθ=xcosαysinαy=2Im(u)1+u2=2sin(α+ϕ)tanθ21+tan2θ2=sinαcosϕsinθ+cosαsinϕsinθ=xsinα+ycosαz=1u21+u2=1tan2θ21+tan2θ2=cosθ=z \begin{align} x' =& \frac{2 \mathrm{Re} (u')}{1+|u'|^2} = \frac{2 \cos (\alpha+\phi)\tan\frac{\theta}{2}}{1+\tan ^2 \frac{\theta}{2}} \\ = & \cos \alpha \cos \phi \sin \theta - \sin \alpha \sin \phi \sin \theta = x \cos \alpha - y \sin \alpha \\ y' =& \frac{2 \mathrm{Im} (u')}{1+|u'|^2} = \frac{2 \sin (\alpha+\phi)\tan\frac{\theta}{2}}{1+\tan ^2 \frac{\theta}{2}} \\ = & \sin \alpha \cos \phi \sin \theta + \cos \alpha \sin \phi \sin \theta = x \sin \alpha + y \cos \alpha \\ z' =& \frac{1-|u'|^2}{1+|u'|^2} = \frac{1-\tan^2 \frac{\theta}{2}}{1+\tan^2 \frac{\theta}{2}} \\ = & \cos \theta = z \end{align}

行列で書けば

[xyz]=[cosαsinα0sinαcosα0001][xyz] \begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} = \begin{bmatrix} \cos \alpha && -\sin\alpha && 0 \\ \sin \alpha && \cos\alpha && 0 \\ 0&& 0 && 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix}

です。つまりRzR_zは三次元空間でのz軸周りにα\alphaだけ点Pを回転させる演算を意味している事がわかります。

RxR_x

同様の計算をRxR_xでも行います。
ψ,u\ket{\psi},uそれぞれの変換後の状態は

ψ=Rx(α)ψ=[cosα2isinα2isinα2cosα2][cosθ2eiϕsinθ2]=[cosα2sinθ2ieiϕsinα2sinθ2isinα2cosθ2+eiϕcosα2sinθ2]u=isinα2cosθ2+eiϕcosα2sinθ2cosα2sinθ2ieiϕsinα2sinθ2 \begin{align} \ket{\psi'} &= R_x(\alpha) \ket{\psi} = \begin{bmatrix} \cos \frac{\alpha}{2} && - i\sin \frac{\alpha}{2} \\ -i\sin \frac{\alpha}{2} &&\cos \frac{\alpha}{2} \end{bmatrix} \begin{bmatrix} \cos \frac{\theta}{2} \\ e^{i\phi} \sin \frac{\theta}{2} \end{bmatrix}\\ &= \begin{bmatrix} \cos \frac{\alpha}{2}\sin \frac{\theta}{2} -i e^{i\phi}\sin \frac{\alpha}{2}\sin \frac{\theta}{2} \\ -i \sin \frac{\alpha}{2}\cos \frac{\theta}{2} +e^{i\phi}\cos \frac{\alpha}{2}\sin \frac{\theta}{2} \end{bmatrix}\\ u' &= \frac{-i \sin \frac{\alpha}{2}\cos \frac{\theta}{2} +e^{i\phi}\cos \frac{\alpha}{2}\sin \frac{\theta}{2} }{ \cos \frac{\alpha}{2}\sin \frac{\theta}{2} -i e^{i\phi}\sin \frac{\alpha}{2}\sin \frac{\theta}{2}} \end{align}

より移動後のP'の座標と移動前のPの座標はがんばって計算すると

[xyz]=[1000cosαsinα0sinαcosα][xyz] \therefore \begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} = \begin{bmatrix} 1 && 0 && 0 \\ 0 && \cos\alpha && -\sin \alpha \\ 0&& \sin\alpha && \cos \alpha \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix}

という関係であることがわかります。つまりRxR_xは三次元空間でのx軸周りにα\alphaだけ点Pを回転させる演算を意味しています。

RyR_y

同様の計算をRyR_yでも行います。
ψ,u\ket{\psi},uそれぞれの変換後の状態は

ψ=Ry(α)ψ=[cosα2sinα2sinα2cosα2)][cosθ2eiϕsinθ2]=[cosα2sinθ2eiϕsinα2sinθ2sinα2cosθ2+eiϕcosα2sinθ2]u=sinα2cosθ2+eiϕcosα2sinθ2cosα2sinθ2eiϕsinα2sinθ2 \begin{align} \ket{\psi'} &= R_y(\alpha) \ket{\psi} = \begin{bmatrix} \cos \frac{\alpha}{2} && - \sin \frac{\alpha}{2} \\ \sin \frac{\alpha}{2} &&\cos \frac{\alpha}{2} ) \end{bmatrix} \begin{bmatrix} \cos \frac{\theta}{2} \\ e^{i\phi} \sin \frac{\theta}{2} \end{bmatrix}\\ &= \begin{bmatrix} \cos \frac{\alpha}{2}\sin \frac{\theta}{2} -e^{i\phi}\sin \frac{\alpha}{2}\sin \frac{\theta}{2} \\ \sin \frac{\alpha}{2}\cos \frac{\theta}{2} +e^{i\phi}\cos \frac{\alpha}{2}\sin \frac{\theta}{2} \end{bmatrix}\\ u' &= \frac{ \sin \frac{\alpha}{2}\cos \frac{\theta}{2} +e^{i\phi}\cos \frac{\alpha}{2}\sin \frac{\theta}{2} }{ \cos \frac{\alpha}{2}\sin \frac{\theta}{2} -e^{i\phi}\sin \frac{\alpha}{2}\sin \frac{\theta}{2}} \end{align}

より移動後のP'の座標と移動前のPの座標はがんばって計算すると

[xyz]=[cosα0sinα010sinα0cosα][xyz] \begin{bmatrix} x'\\ y' \\ z' \end{bmatrix} = \begin{bmatrix} \cos\alpha && 0 && \sin\alpha \\ 0 && 1 && 0 \\ -\sin\alpha&& 0 && \cos \alpha \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix}

という関係であることがわかります。つまりRyR_yは三次元空間でのy軸周りにα\alphaだけ点Pを回転させる演算を意味しています。

任意演算

以上の通り、天下り的に定義した3つのユニタリ行列Rx,Ry,RzR_x,R_y,R_zはそれぞれブロッホ球上でのx,y,z軸周りの回転に対応している事がわかりました。
三次元単位球の球面上での任意の回転は数学的にx,y,zx,y,z軸周りの3回転のうち2つの回転で表現できることが知られています。例えばnn軸周りの3x3の三次元回転行列をRn\mathcal{R_n}で表した時、任意の(=任意のn軸周りの)回転は

Rn=Rz(α)Ry(β)Rz(γ) \mathcal{R_n} = \mathcal{R}_z(\alpha) \mathcal{R}_y(\beta) \mathcal{R}_z(\gamma)

という風にy軸周りの回転とz軸周りの回転に分解できます。
この事実を考えれば、任意の状態ベクトルの変換もRx,Ry,RzR_x,R_y,R_zのうち2つを選ぶことで分解できる事がわかるでしょう。試しにRy,RzR_y,R_zで分解して表現してみると、

U(θ,ϕ,λ)=Rz(ϕ)Ry(θ)Rz(λ)=[eiϕ200eiϕ2][cosθ2sinθ2sinθ2cosθ2][eiλ200eiλ2]=eiϕ+λ2[cosθ2eiλsinθ2eiϕsinθ2ei(ϕ+λ)cosθ2] \begin{align} U (\theta,\phi,\lambda)&= R_z (\phi)R_y (\theta) R_z (\lambda) \\ &= \begin{bmatrix} e^{-i\frac{\phi}{2}} && 0 \\ 0 && e^{i\frac{\phi}{2}} \end{bmatrix} \begin{bmatrix} \cos \frac{\theta}{2} && - \sin \frac{\theta}{2} \\ \sin \frac{\theta}{2} &&\cos \frac{\theta}{2} \end{bmatrix} \begin{bmatrix} e^{-i\frac{\lambda}{2}} && 0 \\ 0 && e^{i\frac{\lambda}{2}} \end{bmatrix}\\ &= e^{-i \frac{\phi+\lambda}{2}} \begin{bmatrix} \cos \frac{\theta}{2} && - e^{i\lambda}\sin \frac{\theta}{2} \\ e^{i\phi}\sin \frac{\theta}{2} && e^{i(\phi+\lambda)}\cos \frac{\theta}{2} \end{bmatrix} \end{align}

と計算でき、結局1 qubitの任意演算は

U(θ,ϕ,λ)=[cosθ2eiλsinθ2eiϕsinθ2ei(ϕ+λ)cosθ2] U (\theta,\phi,\lambda)= \begin{bmatrix} \cos \frac{\theta}{2} && - e^{i\lambda}\sin \frac{\theta}{2}\\ e^{i\phi}\sin \frac{\theta}{2} && e^{i(\phi+\lambda)}\cos \frac{\theta}{2} \end{bmatrix}

とまとめることができます。この演算はUゲートと呼ばれており、Qiskitにも登録されています。
https://qiskit.org/documentation/stubs/qiskit.circuit.library.UGate.html

Reference

Discussion

ログインするとコメントできます