Bloch球のよくある説明と謎
電子のスピンなどの二準位系
∣ψ⟩=a∣0⟩+b∣1⟩=[ab]
は量子情報処理ではqubit(量子ビット)と呼ばれます。
ここでa,bは 規格化条件∣a∣2+∣b∣2=1を満たす複素数です。
規格化条件を考慮すれば、一つのqubitの状態は適当な実数変数θ,s,tを用いて、次のようにも書き表せます。
∣ψ⟩=eiscos2θ∣0⟩+eitsin2θ∣1⟩=eis(cos2θ∣0⟩+ei(t−s)sin2θ∣1⟩)
量子状態全体にかかる大きさ1の係数eisは量子状態に影響を与えないので、結局一つのqubitの任意の純粋状態は次のように掛けます。
∴∣ψ⟩=cos2θ∣0⟩+eiϕsin2θ∣1⟩
さて、よくある量子情報理論の教科書では、「任意の1qubitは二つの偏角(θ,ϕ)で表せるので、三次元座標の原点から単位球上の一点に伸びるベクトルで量子状態を指定することができます。この球をBloch球と言います」と説明されます。
この説明、なんか奇妙じゃないですか?
まず、三次元球上の一点を表すなら、三次元のベクトルで量子状態は表されるべきです。でも∣ϕ⟩は二次元ベクトルです。ブロッホ球上のベクトルと∣ϕ⟩はどのように対応しているのでしょうか?
そもそも角度はなぜθではなく、2θで定義されるのでしょうか?
この記事では普段はあまり気にされないこの謎を解き、qubitの量子状態とBloch球がどのように対応するかを明らかにしたいと思います。
qubit stateとBloch球の対応
先ず、以下の数学的事実を確認します。
u:=ab=eiϕtan2θ
と1:1で対応する。
- 複素平面上の任意の点Aと複素平面zの原点を中心とする三次元単位球を考える(図1)。
球の北極((x,y,z)=(0,0,1))と点Aを結んだ線は単位球の球面とただ1点Pで交わる。図1にはPが南半球にある状況と、Pが北半球にある状況を図示した。点Aの座標を(v,w)と書いたとき、点Pの座標は、幾何学の計算より、
x=1+v2+w22v=1+∣u∣22Re(u)y=1+v2+w22w=1+∣u∣22Im(u)z=1+v2+w21−v2−w2=1+∣u∣21−∣u∣2
で与えられる。

図1. 複素平面と三次元単位球
上記の事実を使うと、uの値を元に点Aを決めることができれば、∣ψ⟩を三次元単位球の球面上の点に対応させられそうです。実際にやってみます。uの実部、虚部をそれぞれv,wと定義します。
u=ab=eiϕtan2θ=cosϕtan2θ+isinϕtan2θ=:v+iw
式(3)- 式(5)に式(6)を代入すると
x=sinθcosϕ,y=sinθsinϕ,z=cosθ
と求まります。これは三次元単位球の球面上の点の極座標表示そのものですね。そして量子状態ではθ/2で定義されていた角度はBloch球上ではθに相当することがはっきりしました。
実際に確かめてみると、θ=0ではu=b/a=0;b=0より∣ϕ⟩=∣0⟩, θ=πではu=b/a=∞;a=0より∣ϕ⟩=∣1⟩であり、確かにBloch球と一致します。
以上より、任意の2準位純粋量子状態∣ψ⟩は原点からBloch球上の点に伸びるベクトルと対応することが確認できました。
∣ψ⟩=a∣0⟩+b∣1⟩=cos2θ∣0⟩+eiϕsin2θ∣1⟩

図2. Bloch球
任意1量子演算のBloch球上での見え方
1qubitの状態の変換はユニタリ変換Uで表されます。量子状態∣ψ⟩のユニタリ変換はBloch球上ではどのように表されるのか調べてみましょう。具体的なUの形として、天下り的ですが、以下の三つのユニタリ行列Rx,Ry,Rzの性質を調べます。
Rx(α):=Ry(α):=Rz(α):=[cos2α−isin2α−isin2αcos2α]=exp(−i2αX),X:=[0110][cos2αsin2α−sin2αcos2α]=exp(−i2αY),Y:=[0i−i0][e−i2α00ei2α]=exp(−i2αZ),Z:=[100−1]
行列X,Y,Zはパウリ行列です。。
Rx,Ry,Rz定義式の二つ目のイコールでは行列の指数表式の定義式
eA:=I+A+2!1A2+3!1A3+...
を使用しています。パウリ行列は二乗するとIになるのでこの性質とオイラーの公式を使えば二つの目のイコールが示せますね。
Rz
まずはRzが量子状態∣ψ⟩をどのように変化させるか見ましょう。
∣ψ⟩,uそれぞれの変換後の状態は
∣ψ′⟩==u′=Rz(α)∣ψ⟩=[e−i2α00ei2α][cos2θeiϕsin2θ]e−i2α[cos2θei(α+ϕ)sin2θ]∼[cos2θei(α+ϕ)sin2θ]ei(α+ϕ)tan2θ
です。よってブロッホ球上での点P'は以下のように動きます。
x′==y′==z′==1+∣u′∣22Re(u′)=1+tan22θ2cos(α+ϕ)tan2θcosαcosϕsinθ−sinαsinϕsinθ=xcosα−ysinα1+∣u′∣22Im(u′)=1+tan22θ2sin(α+ϕ)tan2θsinαcosϕsinθ+cosαsinϕsinθ=xsinα+ycosα1+∣u′∣21−∣u′∣2=1+tan22θ1−tan22θcosθ=z
行列で書けば
x′y′z′=cosαsinα0−sinαcosα0001xyz
です。つまりRzは三次元空間でのz軸周りにαだけ点Pを回転させる演算を意味している事がわかります。
Rx
同様の計算をRxでも行います。
∣ψ⟩,uそれぞれの変換後の状態は
∣ψ′⟩u′=Rx(α)∣ψ⟩=[cos2α−isin2α−isin2αcos2α][cos2θeiϕsin2θ]=[cos2αsin2θ−ieiϕsin2αsin2θ−isin2αcos2θ+eiϕcos2αsin2θ]=cos2αsin2θ−ieiϕsin2αsin2θ−isin2αcos2θ+eiϕcos2αsin2θ
より移動後のP'の座標と移動前のPの座標はがんばって計算すると
∴x′y′z′=1000cosαsinα0−sinαcosαxyz
という関係であることがわかります。つまりRxは三次元空間でのx軸周りにαだけ点Pを回転させる演算を意味しています。
Ry
同様の計算をRyでも行います。
∣ψ⟩,uそれぞれの変換後の状態は
∣ψ′⟩u′=Ry(α)∣ψ⟩=[cos2αsin2α−sin2αcos2α)][cos2θeiϕsin2θ]=[cos2αsin2θ−eiϕsin2αsin2θsin2αcos2θ+eiϕcos2αsin2θ]=cos2αsin2θ−eiϕsin2αsin2θsin2αcos2θ+eiϕcos2αsin2θ
より移動後のP'の座標と移動前のPの座標はがんばって計算すると
x′y′z′=cosα0−sinα010sinα0cosαxyz
という関係であることがわかります。つまりRyは三次元空間でのy軸周りにαだけ点Pを回転させる演算を意味しています。
任意演算
以上の通り、天下り的に定義した3つのユニタリ行列Rx,Ry,Rzはそれぞれブロッホ球上でのx,y,z軸周りの回転に対応している事がわかりました。
三次元単位球の球面上での任意の回転は数学的にx,y,z軸周りの3回転のうち2つの回転で表現できることが知られています。例えばn軸周りの3x3の三次元回転行列をRnで表した時、任意の(=任意のn軸周りの)回転は
Rn=Rz(α)Ry(β)Rz(γ)
という風にy軸周りの回転とz軸周りの回転に分解できます。
この事実を考えれば、任意の状態ベクトルの変換もRx,Ry,Rzのうち2つを選ぶことで分解できる事がわかるでしょう。試しにRy,Rzで分解して表現してみると、
U(θ,ϕ,λ)=Rz(ϕ)Ry(θ)Rz(λ)=[e−i2ϕ00ei2ϕ][cos2θsin2θ−sin2θcos2θ][e−i2λ00ei2λ]=e−i2ϕ+λ[cos2θeiϕsin2θ−eiλsin2θei(ϕ+λ)cos2θ]
と計算でき、結局1 qubitの任意演算は
U(θ,ϕ,λ)=[cos2θeiϕsin2θ−eiλsin2θei(ϕ+λ)cos2θ]
とまとめることができます。この演算はUゲートと呼ばれており、Qiskitにも登録されています。
https://qiskit.org/documentation/stubs/qiskit.circuit.library.UGate.html
Reference
Discussion