common.title

Docs
Quantum Circuit
TYTAN CLOUD

Quantum Apps

Quantum Business Magazine


Overview
Contact
Event
Project
Research

Terms of service (Web service)

Terms of service (Quantum and ML Cloud service)

Privacy policy


Sign in
Sign up
common.title

2量子ビットゲートと SU(4)

Yuichiro Minato

2025/09/27 09:38

1

1. 2量子ビットと SU(4)

  • 2 量子ビットの状態は 4 次元複素ベクトル空間の正規化ベクトル:

    |\Psi\rangle = a|00\rangle + b|01\rangle + c|10\rangle + d|11\rangle,\quad |a|^2+|b|^2+|c|^2+|d|^2=1.
  • 確率を保存する 4×4 の操作は ユニタリ行列

  • グローバル位相を除いた 2量子ビット操作の本体は SU(4)(4×4 ユニタリで行列式 1)。

2. なぜ SU(4) なのか?

  • 一般の 4×4 ユニタリは U(4) に属する。

  • ところが

    U(4) \cong U(1)\times SU(4)

    と分解でき、 U(1) 部分(グローバル位相) は観測に影響しない。

  • よって、物理的に本質なのは SU(4)
    → 任意の 2量子ビット操作は「(グローバル位相)×(SU(4) 要素)」とみなせる。

3. 具体例:基本構成とゲート

(a) su(4) の生成子(15 個)

  • 2量子ビットのリー代数 su(4) は トレース 0 のエルミート行列 15 個で張られる:

    \{\ \sigma_i\otimes I,\ I\otimes \sigma_i,\ \sigma_i\otimes\sigma_j\ \mid\ i,j\in\{x,y,z\}\ \}

    (3 + 3 + 9 = 15)

(b) ローカル操作(各ビットの SU(2))

  • 例:片方だけ回す

    R_x^{(A)}(\theta)=e^{-i\frac{\theta}{2}\,(\sigma_x\otimes I)},\quad R_z^{(B)}(\phi)=e^{-i\frac{\phi}{2}\,(I\otimes \sigma_z)}.

    これは SU(2)⊗SU(2) に相当(非エンタングリング)。

(c) 非ローカル(エンタングリング)操作

  • 代表例(いずれも SU(4) の要素、またはグローバル位相を掛ければ SU(4) に入る):

    • iSWAP

      \mathrm{iSWAP}=\exp\!\Big(+i\frac{\pi}{4}\,(\sigma_x\!\otimes\!\sigma_x+\sigma_y\!\otimes\!\sigma_y)\Big)

      行列表現は \{|00\rangle,|01\rangle,|10\rangle,|11\rangle\} 基底で
      \mathrm{diag}(1,0,0,1) 以外の |01\rangle\!\leftrightarrow\!|10\ranglei で入れ替わる。

    • CZ

      \mathrm{CZ}=\mathrm{diag}(1,1,1,-1)

      \det(\mathrm{CZ})=-1 なので U(4) だが、グローバル位相 e^{i\pi/4} を掛ければ SU(4) 代表にできる。

    • CNOT
      これも \det=-1。やはり位相補正で SU(4) に移せる(物理的には同等)。

重要:任意の U\in SU(4)
「ローカル SU(2) 操作」と少数のエンタングリングゲート(CNOT など)で合成できる
(KAK/カルタン分解:
U=(U_1\!\otimes\!U_2)\,e^{-i(\,c_1 X\otimes X+c_2 Y\otimes Y+c_3 Z\otimes Z\,)/2}\,(U_3\!\otimes\!U_4) )。

4. 幾何的な見方と 1 量子ビットとの違い

  • 1量子ビットの純粋状態は Bloch 球(S^2 だが、2量子ビットの純粋状態空間は \mathbb{CP}^3 (より複雑)で、 エンタングルメント という新たな自由度が現れる。
  • ローカル SU(2)⊗SU(2) は「各ビットの向き(Bloch 球上の回転)」を変えるだけ。
    一方、\sigma_i\!\otimes\!\sigma_j の指数は 2ビット間の相関(エンタングルメント) を生成する。

5. まとめ

  • 2量子ビット演算 = SU(4)(グローバル位相除く)。
  • su(4) の生成子は \{\sigma_i\otimes I,\ I\otimes\sigma_i,\ \sigma_i\otimes\sigma_j\}
  • 任意の SU(4)ローカル SU(2) と 1–数個のエンタングリング操作で合成可能。
  • CNOT/CZ/iSWAP は非ローカル部分の具体例(CNOT/CZ は位相補正で SU(4) 代表へ)。

Python で少し確認

import numpy as np
from numpy.linalg import det
from scipy.linalg import expm, norm

# Pauli & kron
I = np.eye(2, dtype=complex)
X = np.array([[0,1],[1,0]], complex)
Y = np.array([[0,-1j],[1j,0]], complex)
Z = np.array([[1,0],[0,-1]], complex)

k = np.kron

# --- su(4) の生成子(トレース0のエルミートを15個)
generators = (
    [k(X,I), k(Y,I), k(Z,I)] +
    [k(I,X), k(I,Y), k(I,Z)] +
    [k(X,X), k(X,Y), k(X,Z),
     k(Y,X), k(Y,Y), k(Y,Z),
     k(Z,X), k(Z,Y), k(Z,Z)]
)
# ざっと確認(全部 trace=0)
assert all(abs(np.trace(G)) < 1e-12 for G in generators)

# --- ローカル回転は tensor product に分解できる
def Rx(theta): return expm(-1j*theta/2 * X)
def Rz(theta): return expm(-1j*theta/2 * Z)

theta = np.pi/3
U_local_theory = k(Rx(theta), Rz(theta))
U_local_su4    = expm(-1j*(theta/2)*(k(X,I))) @ expm(-1j*(theta/2)*(k(I,Z)))
print("local match:", np.allclose(U_local_theory, U_local_su4, atol=1e-12))

# --- 代表的なエンタングリング(iSWAP)
iSWAP = expm(+1j*(np.pi/4)*(k(X,X) + k(Y,Y)))   # 物理の符号規約によって -1j にもなり得ます
iSWAP_ref = np.array([[1,0,0,0],
                      [0,0,1j,0],
                      [0,1j,0,0],
                      [0,0,0,1]], complex)
print("iSWAP equals reference:", np.allclose(iSWAP, iSWAP_ref, atol=1e-12))
print("det(iSWAP) =", det(iSWAP))  # -> 1 → SU(4)

# --- CNOT は det = -1(U(4))。位相補正で SU(4) 代表へ
CNOT = np.array([[1,0,0,0],
                 [0,1,0,0],
                 [0,0,0,1],
                 [0,0,1,0]], complex)
print("det(CNOT) =", det(CNOT))    # -> -1

def to_su4(U):
    # 4x4 行列の det を 1 に合わせる全体位相(U(1))を除去
    phi = -np.angle(det(U)) / 4.0
    return np.exp(1j*phi) * U

CNOT_su = to_su4(CNOT)
print("det(CNOT_su) =", det(CNOT_su))  # -> 1(SU(4) 代表)
local match: True
iSWAP equals reference: True
det(iSWAP) = (1+0j)
det(CNOT) = (-1+0j)
det(CNOT_su) = (1+2.7755575615628914e-16j)

ポイント

  • ローカル回転は \exp(-i\frac{\theta}{2}\sigma\otimes I) / \exp(-i\frac{\phi}{2}I\otimes\sigma) の形に落ちます。
  • エンタングリングは \exp(-i\frac{\theta}{2}\sigma_i\otimes\sigma_j) の指数型。
  • CNOT/CZ は \det=-1 ですが、グローバル位相の調整で SU(4) 代表にできます(物理的には同一視)。

© 2025, blueqat Inc. All rights reserved