4.2 不可克隆定理#
概念說明#
不可克隆定理(No-Cloning Theorem):不存在一個物理(么正)程序,能對任意未知量子態 \(\psi\) 製造出它的完美複本。
證明(反證法):假設存在么正 \(U\) 與空白態 \(|e\rangle\) 使得對所有 \(\psi\) :
\[ U|\psi\rangle|e\rangle = |\psi\rangle|\psi\rangle \]
取兩個不同的態 \(|\psi\rangle, |\phi\rangle\) ,利用么正性保持內積:
- 左邊: \(\langle\psi\phi|\psi\phi\rangle \cdot (\text{由 }U\text{ 保持內積}) = \langle\psi|\phi\rangle\)
- 右邊: \((\langle\psi|\otimes\langle\psi|)(|\phi\rangle\otimes|\phi\rangle) = \langle\psi|\phi\rangle^2\)
於是必須 \(\langle\psi|\phi\rangle = \langle\psi|\phi\rangle^2\) ,即 \(\langle\psi|\phi\rangle \in \{0, 1\}\) 。但一般兩態的內積可為任意複數(如 \(|+\rangle,|0\rangle\) 內積為 \(1/\sqrt2\) ),矛盾。 \(\blacksquare\)
注意三點:
- 複製已知的基底態是可能的(CNOT 就是 X-basis 之外對 \(\{|0\rangle,|1\rangle\}\) 的複製器);定理限制的是「未知的任意疊加」。
- 定理的推論:無法從一份未知態的拷貝測量出它的完整狀態(量子態斷層,no-programming from single copy)。
- 這正是 BB84 量子金鑰分發安全的根基:竊聽者無法複製傳輸中的量子位元再慢慢量測,任何竊聽必然引入可偵測的錯誤。
對工程面的影響:量子程式無法像古典程式那樣備份中間狀態來除錯;除錯只能靠重跑(重新準備同一態)與統計推斷,這催生了量子斷言(quantum assertion)與影子層析(shadow tomography)等技術。
Python 範例:驗證「複製」為何失敗#
import numpy as np
ket0 = np.array([1, 0], dtype=complex)
ket1 = np.array([0, 1], dtype=complex)
H = np.array([[1, 1], [1, -1]], dtype=complex) / np.sqrt(2)
CNOT = np.array([[1,0,0,0],[0,1,0,0],[0,0,0,1],[0,0,1,0]], dtype=complex)
def kron(a, b): return np.kron(a, b)
# CNOT 只能複製 |0>/<1>(計算基底)
print("CNOT 對 |0>|0>:", CNOT @ kron(ket0, ket0)) # |00> -> 00,成功
print("CNOT 對 |1>|0>:", CNOT @ kron(ket1, ket0)) # |10> -> 11,成功
# 但對疊加態 |+>|0>:
plus = H @ ket0
out = CNOT @ kron(plus, ket0)
print("CNOT 對 |+>|0> =", np.round(out, 3))
# 得到的是 Bell 態 (|00>+|11>)/sqrt2,不是 |+>|+>!
print("若真複製應為 |+>|+> =", np.round(kron(plus, plus), 3))
print("兩者相同嗎?", np.allclose(out, kron(plus, plus))) # False
print("內積 <複製結果|真複製> =", np.vdot(out, kron(plus, plus)).real) # 0.707 ≠ 1
複雜度分析#
證明本身無複雜度,但可量化「最佳近似複製」的品質:對 \(d\) 維希爾伯特空間的未知純態,最佳通用克隆機的保真度至多 \(F_{\max} = \frac{d+1}{2d}\) (單份輸入、兩份輸出); \(d=2\) 時 \(F=3/4\) 。這個界由 Bužek–Hillery 機器達到,可視為「克隆任務」的資訊論下界。
練習#
- 用內積論證說明:若一個程序能同時複製 \(|0\rangle, |1\rangle, |+\rangle\) 三個態,必產生矛盾。
- (程式)嘗試構造一個 \(4\times4\) 矩陣 \(M\) 使 \(M|0\rangle|0\rangle=|0\rangle|0\rangle\) 、 \(M|1\rangle|0\rangle=|1\rangle|1\rangle\) 、 \(M|+\rangle|0\rangle=|+\rangle|+\rangle\) ,並用線性代數說明為何無解(提示:線性性)。
- 說明 BB84 中,為什麼竊聽者「先複製再測」的策略會被發現。