1. 量子ビットと SU(2)
-
1 量子ビットの状態は 2 次元複素ベクトル空間の正規化されたベクトル:
|\psi\rangle = \alpha |0\rangle + \beta |1\rangle, \quad |\alpha|^2 + |\beta|^2 = 1 -
この空間に作用する変換のうち、確率を保存するのは ユニタリ演算子 U (
)。U^\dagger U = I -
特に、1量子ビットの演算は SU(2) の要素として表現できる。
2. なぜ SU(2) なのか?
-
一般の 2×2 ユニタリ行列は
に属します。U(2) -
ところが
は次のように分解できます:U(2) U(2) \cong U(1) \times SU(2) -
このうち U(1) 部分(グローバル位相) は観測に影響を与えません。
-
したがって、物理的に本質なのは SU(2) の部分です。
-
結論:任意の1量子ビット操作は SU(2) の行列で表せる。
3. 具体例:基本ゲートと SU(2)
(a) パウリゲート
-
は SU(2) の生成子:X, Y, Z X = \begin{pmatrix}0 & 1 \\ 1 & 0\end{pmatrix},\quad Y = \begin{pmatrix}0 & -i \\ i & 0\end{pmatrix},\quad Z = \begin{pmatrix}1 & 0 \\ 0 & -1\end{pmatrix} -
これらは回転演算子
R_n(\theta) = e^{-i\frac{\theta}{2}\, \hat{n}\cdot \vec{\sigma}} の特殊な場合です(π回転)。
少しpythonで確認をしてみます。
import numpy as np
from scipy.linalg import expm
# パウリ行列
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)
# 回転演算子 R_n(theta) = exp(-i theta/2 * n・σ)
def rotation(n, theta):
# n は単位ベクトル
nx, ny, nz = n
sigma = nx * X + ny * Y + nz * Z
return expm(-1j * theta/2 * sigma)
theta = np.pi
# x軸回りのπ回転
Rx_pi = rotation([1,0,0], theta)
print("Rx(pi):")
print(Rx_pi)
print("X:\n", X)
# y軸回りのπ回転
Ry_pi = rotation([0,1,0], theta)
print("\nRy(pi):")
print(Ry_pi)
print("Y:\n", Y)
# z軸回りのπ回転
Rz_pi = rotation([0,0,1], theta)
print("\nRz(pi):")
print(Rz_pi)
print("Z:\n", Z)
答えは、
Rx(pi):
[[0.+0.j 0.-1.j]
[0.-1.j 0.+0.j]]
X:
[[0.+0.j 1.+0.j]
[1.+0.j 0.+0.j]]
Ry(pi):
[[ 0.+0.j -1.+0.j]
[ 1.+0.j 0.+0.j]]
Y:
[[ 0.+0.j -0.-1.j]
[ 0.+1.j 0.+0.j]]
Rz(pi):
[[6.123234e-17-1.j 0.000000e+00+0.j]
[0.000000e+00+0.j 6.123234e-17+1.j]]
Z:
[[ 1.+0.j 0.+0.j]
[ 0.+0.j -1.+0.j]]
となりました。パウリ行列 = π 回転の回転演算子 × グローバル位相となっているのが確認できます。上記ではRθに-iをかけるとパウリ行列になっています。
(b) アダマールゲート (H)
-
Bloch 球で「X 軸と Z 軸の間の回転」を表す SU(2) 行列:
H = \frac{1}{\sqrt{2}}\begin{pmatrix}1 & 1 \\ 1 & -1\end{pmatrix}
(c) 位相ゲート (S, T)
-
Z 軸周りの回転:
S = \begin{pmatrix}1 & 0 \\ 0 & i\end{pmatrix} = R_z\!\left(\frac{\pi}{2}\right) T = \begin{pmatrix}1 & 0 \\ 0 & e^{i\pi/4}\end{pmatrix} = R_z\!\left(\frac{\pi}{4}\right)
4. Bloch 球と SU(2)
- 1量子ビットの純粋状態は Bloch 球の表面の点として表せる。
- SU(2) の作用は、Bloch 球上のベクトルを回転させる操作。
- このとき「2π 回転で -1 倍、4π 回転で完全に戻る」というスピン1/2 の性質も Bloch 球で理解できる。
5. まとめ
- 1量子ビットゲート = SU(2) の要素。
- 物理的に無意味なグローバル位相を除くと、U(2) の代わりに SU(2) で十分。
- Pauli, Hadamard, Phase などの基本ゲートは、すべて SU(2) の具体例。
- SU(2) の回転表現が、そのまま Bloch 球上の量子状態の操作と対応する。