
ブロッホ球で1量子ビットを"見る"|期待値からベクトルを計算する
2026-08-29 ・ 実践
1量子ビットの状態は、半径1の球(ブロッホ球)の上の1点として表せます。北極が|0⟩、南極が|1⟩、赤道が重ね合わせ。この記事では、状態ベクトルからブロッホ座標(x, y, z)を自分で計算し、ゲートで点がどう動くかを数値で追います。量子ビットの基礎を座標で理解し直す回です。
ブロッホ座標の正体
ブロッホ球の(x, y, z)は、それぞれ X・Y・Z方向の期待値 そのものです。
x = ⟨X⟩, y = ⟨Y⟩, z = ⟨Z⟩
z = +1 なら|0⟩(北極)、z = −1なら|1⟩(南極)、x = 1なら|+⟩(赤道)です。
準備
pip install qiskit numpy
① 状態からブロッホ座標を計算
Qiskitで状態ベクトルを作り、パウリ行列の期待値を計算します。
import numpy as np
from qiskit.quantum_info import Statevector
X = np.array([[0, 1], [1, 0]], dtype=complex)
Y = np.array([[0, -1j], [1j, 0]], dtype=complex)
Z = np.array([[1, 0], [0, -1]], dtype=complex)
def bloch(qc_or_state):
psi = Statevector(qc_or_state).data
exp = lambda M: np.real(np.conj(psi) @ M @ psi)
return np.round([exp(X), exp(Y), exp(Z)], 3)
from qiskit import QuantumCircuit
qc = QuantumCircuit(1) # |0⟩
print("|0⟩ :", bloch(qc)) # [0 0 1] 北極
② ゲートで点を動かす
各ゲートがブロッホ球上の点をどう回転させるか見ます。
qc = QuantumCircuit(1); qc.h(0)
print("H|0⟩ = |+⟩ :", bloch(qc)) # [1 0 0] 赤道(+x)
qc = QuantumCircuit(1); qc.h(0); qc.s(0)
print("S H|0⟩=|i⟩ :", bloch(qc)) # [0 1 0] 赤道(+y)
qc = QuantumCircuit(1); qc.x(0)
print("X|0⟩ = |1⟩ :", bloch(qc)) # [0 0 -1] 南極
qc = QuantumCircuit(1); qc.ry(np.pi/4, 0)
print("Ry(π/4) :", bloch(qc)) # 北極から45°傾く
出力:
|0⟩ : [0. 0. 1.]
H|0⟩ = |+⟩ : [1. 0. 0.]
S H|0⟩=|i⟩ : [0. 1. 0.]
X|0⟩ = |1⟩ : [0. 0. -1.]
Ry(π/4) : [0.707 0. 0.707]
アダマールは北極→赤道(+x)、Sは赤道上で90°回転、Xは北極→南極——ゲートの働きが座標の動きとして丸見えになりました。
Qiskitの描画関数
数値でなく絵で見たいなら、Qiskitの plot_bloch_multivector(Statevector(qc)) で球に矢印を描けます(matplotlibが必要)。仕組みを理解するには、この記事のように自分で期待値を計算するのが近道です。
純粋状態は球面上・混合状態は内部
ノイズのない純粋状態は必ず球の"表面"(長さ1)に乗ります。ノイズが混じって情報が失われると、点は球の内側に入ります(長さ 1 未満)。ブロッホ球は状態の"純度"も可視化してくれます。
まとめ
- ブロッホ座標(x,y,z)=X・Y・Zの期待値
- z=+1が|0⟩、z=−1が|1⟩、赤道が重ね合わせ
- ゲートは球上の点の回転として理解できる
- 純粋状態は球面、ノイズが混じると内部に入る
もう少し詳しく(背景と理論)
ブロッホ球は1量子ビットの状態と SU(2)/SO(3) の対応を可視化する道具です1。純粋状態は単位球面上の点で、ブロッホベクトル r=(⟨X⟩,⟨Y⟩,⟨Z⟩) は |r|=1。ノイズで情報が失われた混合状態は密度行列 ρ=(I+r·σ)/2 として球の内部(|r| は 1 未満)に対応し、中心 r=0 は完全混合状態です2。ゲートは球面上の回転(例: Rᵧ(θ) は y 軸まわり θ 回転)に対応し、量子の1ビット演算がすべて3次元回転として理解できます3。ただしこの美しい描像は1量子ビット限定で、2量子ビット以上の状態空間は球に描けません4。
次の一歩 🌸
量子ビットの基礎は量子ビット超入門、ゲートの働きは量子ゲート入門、自作シミュレータはNumPyで作る量子シミュレータへどうぞ。
Footnotes
-
1量子ビットの純粋状態 |ψ⟩=cos(θ/2)|0⟩+eⁱᵠ·sin(θ/2)|1⟩ は、極角 θ・方位角 φ の球面座標に対応する。名称は物理学者フェリックス・ブロッホに由来。 ↩
-
混合状態は密度行列 ρ で表され、ブロッホ球の内部点に写る。純度 Tr(ρ²) は (1+|r|²)/2 で、|r| が球の半径=純度の指標になる。 ↩
-
1量子ビットのユニタリ(大域位相を除く)は SO(3) の回転と1対1対応。任意の1量子ビットゲートは高々3つの回転(オイラー角分解)で表せる。 ↩
-
n 量子ビットの状態空間は複素射影空間で、ブロッホ球のような単純な可視化は n=1 に限られる。多ビットのもつれは球では表現できない。 ↩