第一章 量子计算简介 · 大学生版
导读
这一章是整本书的"地图":先说量子计算想干什么,再把最核心的"数据"(量子比特 qubit)和"操作"(量子门、测量、线路)讲清楚,最后用隐形传态和 Deutsch 算法两个小例子说明量子凭什么可能比经典快。
这份笔记是写给刚学过线性代数和概率、但学得还不太扎实的你的。说实话,量子力学用到的数学并不深——就是复数、二维列向量、矩阵乘法、求模、概率归一这几样。难的是它们组合起来的"意思"。所以下面每遇到一个数学工具,我都会先用 📖 补基础 当场把它复习一遍(你不需要事先记得),再带你 🧮 一步步算 一个具体的小数字例子,然后用 💭 直觉 告诉你它到底在干嘛,用 ⚠️ 常见错误 标出大家最容易栽的坑,最后 ✅ 小结 一句话收尾。
📖 补基础: 先约定几个贯穿全章的符号。复数 $z=a+bi$,其中 $i^2=-1$,$a$ 叫实部、$b$ 叫虚部。复数的模(长度)是 $\lvert z\rvert=\sqrt{a^2+b^2}$,模方就是 $\lvert z\rvert^2=a^2+b^2$(一个非负实数)。复数的共轭记作 $z^*=a-bi$(把虚部变号),有个好用的事实:$z\,z^*=(a+bi)(a-bi)=a^2+b^2=\lvert z\rvert^2$。这几条后面天天用,尤其是"概率 = 复数振幅的模方"。
⚠️ 常见错误: 别把"量子并行"理解成"同时跑很多份程序就一定快"。这一章会反复强调:量子的真正威力来自叠加 + 纠缠 + 干涉三者合力,光靠"一次算很多个"没用——因为测量只能随机读出其中一个。
1.1 全景:量子计算到底想干什么
🎯 用来干嘛: 整章其实在追一件事——量子计算机到底能不能比普通电脑更快地解决某些问题。把"快不快"这种模糊的话变成能严格讨论的数学问题,靠的就是这节请出来的"可计算性"和"复杂性"。
量子计算就是利用量子系统几个反直觉的特性来处理信息:状态可以线性叠加、测量是概率性的、信息藏在不易直接读出的"复数振幅"里、比特之间能纠缠、整个系统对环境极其敏感(退相干)。这一节是导览,顺便请出计算机科学里两位老朋友——"可计算性"和"复杂性"。
丘奇-图灵论题说的是:图灵机能算的,就是"凭直觉认为能行可计算"的全部。它不是被证明的定理,而是一条至今没被推翻的经验信念。它之所以可信,是因为很多独立设计的计算模型(图灵机、$\lambda$ 演算……)最后都被证明计算能力等价。
复杂性版的丘奇-图灵论题更强硬:它不只问"能不能算",还问"能不能高效(多项式时间)算"。经典版断言概率图灵机能高效模拟任何现实计算模型;量子版把主角换成量子图灵机。这里埋着全书最大的悬念——量子到底比经典强不强。
📖 补基础: 这里出现两个集合记号。$\mathrm{BPP}$ = 经典电脑(允许扔硬币做随机决策)能在多项式时间内高效解决的问题集合;$\mathrm{BQP}$ = 量子电脑能在多项式时间内解决的集合。符号 $A\subseteq B$ 读作"$A$ 是 $B$ 的子集"($A$ 里每个元素都在 $B$ 里);$A\subsetneq B$ 是真子集,意思是 $A\subseteq B$ 而且 $B$ 里确实有 $A$ 没有的元素(即 $A$ 严格小于 $B$)。
💭 直觉: 大家普遍相信 $\mathrm{BPP}\subsetneq\mathrm{BQP}$ 成立——也就是"有些问题量子能高效解、经典不能"。但至今没人证明出来,这是该领域最大的开放问题。
⚠️ 常见错误: "若证明 $\mathrm{BPP}\subsetneq\mathrm{BQP}$,丘奇-图灵论题就被推翻了"——这句话只对复杂性版论题成立。最原始的论题只关心"能不能算",根本不管快慢,所以不受影响。两个版本别搞混。
发展简史里值得记几个节点:1980 年代 Feynman 提出用量子机模拟量子系统;1984 年 BB84 量子密钥分发;1985 年 Deutsch 算法;1994 年 Shor 因数分解算法;1996 年 Grover 搜索算法。
✅ 小结: 量子的"威力"来自叠加 + 纠缠 + 干涉合力,不是朴素的"并行";$\mathrm{BPP}$ 是否真小于 $\mathrm{BQP}$ 是世纪悬案。
1.2 量子比特:归一化的二维复向量
🎯 用来干嘛: qubit 是量子计算机里存信息的最小单位,相当于经典电脑的比特。它能"同时有点像 0、又有点像 1",这是经典比特做不到的。看懂它是看懂后面一切(门、测量、算法)的地基。
⚛️ 物理上是啥(qubit): qubit 不是凭空造的符号,它就是一个真实的"两能级量子系统"——电子自旋的上/下、光子偏振的水平/竖直、原子的基态/激发态、超导电路里的两个最低能级,都能当 qubit 用。$\ket{0}$ 和 $\ket{1}$ 就是从这套物理系统里挑出来的两个可区分状态,理论上把它们记成两个抽象基向量而已。
经典比特只能是 0 或 1。量子比特(qubit)不一样:它是 $\ket{0}$ 和 $\ket{1}$ 这两个基向量的复数线性组合,并且要求总概率为 1:
$$\ket{\psi} = \alpha\ket{0} + \beta\ket{1}, \qquad \lvert\alpha\rvert^2 + \lvert\beta\rvert^2 = 1$$
📖 补基础(列向量与基): 列向量就是竖着写的一列数,比如 $\begin{pmatrix}3\\4\end{pmatrix}$。二维空间的标准基是 $\begin{pmatrix}1\\0\end{pmatrix}$ 和 $\begin{pmatrix}0\\1\end{pmatrix}$——任何二维向量都能写成它俩的组合:$\begin{pmatrix}a\\b\end{pmatrix}=a\begin{pmatrix}1\\0\end{pmatrix}+b\begin{pmatrix}0\\1\end{pmatrix}$。量子力学里把这两个基向量起名叫 $\ket{0}=\begin{pmatrix}1\\0\end{pmatrix}$ 和 $\ket{1}=\begin{pmatrix}0\\1\end{pmatrix}$。这个 $\ket{\ }$ 记号(叫 ket)就是"竖着写的列向量"的意思,没有别的玄机。
🎯 用来干嘛: 归一化保证你写下的态是"物理上真实存在"的——它逼着两个测量结果的概率刚好加成 100%。没归一化的态算出来概率会大于 1 或不足 1,纯属废态。
📖 补基础(归一化): 一个向量的长度(范数)是各分量模方之和再开根号。对 $\ket{\psi}=\begin{pmatrix}\alpha\\\beta\end{pmatrix}$,长度就是 $\sqrt{\lvert\alpha\rvert^2+\lvert\beta\rvert^2}$。"归一化"就是要求长度等于 1,也就是 $\lvert\alpha\rvert^2+\lvert\beta\rvert^2=1$。为什么要这样?因为 $\lvert\alpha\rvert^2$ 和 $\lvert\beta\rvert^2$ 是两个测量结果的概率,概率加起来必须等于 1——这就是归一化的物理含义。
把这两条拼起来:$\alpha\ket{0}+\beta\ket{1}=\alpha\begin{pmatrix}1\\0\end{pmatrix}+\beta\begin{pmatrix}0\\1\end{pmatrix}=\begin{pmatrix}\alpha\\\beta\end{pmatrix}$。所以一个 qubit 就是一个长度为 1 的二维复列向量 $\begin{pmatrix}\alpha\\\beta\end{pmatrix}$。$\alpha,\beta$ 叫概率幅(振幅),是复数。
⚛️ 物理上是啥(为什么振幅是复数): 因为量子态本质上是一种波,振幅就像波的"幅度 + 相位",天生需要复数来记。波最关键的本事是干涉:两支波叠加时,同相会相长、反相会相消——就像双缝实验里屏上的明暗条纹。复数振幅正是为了把这种相长/相消算对,单用正实数(经典概率)根本表达不出"相消"。
🧮 一步步算: 取 $\alpha=\tfrac{1}{\sqrt2}$、$\beta=\tfrac{i}{\sqrt2}$,即 $\ket{\psi}=\begin{pmatrix}1/\sqrt2\\ i/\sqrt2\end{pmatrix}$。先验证归一化:$\lvert\alpha\rvert^2=\left(\tfrac{1}{\sqrt2}\right)^2=\tfrac12$;$\lvert\beta\rvert^2=\left\lvert\tfrac{i}{\sqrt2}\right\rvert^2=\tfrac{\lvert i\rvert^2}{2}=\tfrac{1}{2}$(因为 $\lvert i\rvert=\sqrt{0^2+1^2}=1$)。两者相加 $\tfrac12+\tfrac12=1$ ✓。所以测得 $\ket{0}$ 的概率是 $\tfrac12$,测得 $\ket{1}$ 的概率也是 $\tfrac12$。
💭 直觉: 上例里 $\beta$ 带的那个 $i$ 叫相位。注意它在概率里被"模方"吃掉了($\lvert i/\sqrt2\rvert^2$ 和 $\lvert 1/\sqrt2\rvert^2$ 一样大)。所以相位在单次测量的概率上"看不见",但它真实存在——等到做干涉(两个振幅相加)时它就会显形。相位是量子算法的命根子。
⚛️ 物理上是啥(相位): 相位不是数学装饰,它来自量子态随时间的演化——一个能量为 $E$ 的态会自己转相位 $e^{-iEt/\hbar}$($\hbar$ 是普朗克常数)。两条路径走过不同的"相位历程",再合到一起时,相位差就决定了干涉是相长还是相消。所以"控制相位"在物理上就是"控制让态演化多久、走哪条路"。
⚠️ 常见错误: $\alpha,\beta$ 本身不是概率,它们是复数振幅;真正的概率是它们的模方 $\lvert\alpha\rvert^2,\lvert\beta\rvert^2$。比如 $\beta=\tfrac{i}{\sqrt2}$ 看起来是虚的、"负的",但它对应的概率 $\tfrac12$ 是正常的正实数。永远先取模方再谈概率。
密度矩阵(统一描述的工具)
🎯 用来干嘛: 用来同时描述"确定的叠加态"和"我不确定它处于哪个态"这两种情况——普通态向量只能表达前者、经典概率只能表达后者。处理真实有噪声的量子系统时几乎都得靠它。
如果想用一个对象同时描述"纯态"和"掺了经典不确定性的混合态",就用密度矩阵 $\rho$:
$$\rho = \ketbra{\psi}{\psi}, \qquad \Tr(\rho) = \lvert\alpha\rvert^2 + \lvert\beta\rvert^2 = 1$$
📖 补基础(行向量、共轭转置、外积、迹): $\bra{\psi}$(叫 bra)是 $\ket{\psi}$ 的共轭转置:把列向量躺平成行,并且每个元素取共轭。即若 $\ket{\psi}=\begin{pmatrix}\alpha\\\beta\end{pmatrix}$,则 $\bra{\psi}=\begin{pmatrix}\alpha^* & \beta^*\end{pmatrix}$。外积 $\ketbra{\psi}{\psi}$ 是"列向量乘行向量",结果是一个 $2\times2$ 矩阵(回忆矩阵乘法:$m\times1$ 乘 $1\times n$ 得 $m\times n$)。迹 $\Tr$ 就是把方阵主对角线上的元素加起来。
🧮 一步步算: 先算一般形式的外积:$\ketbra{\psi}{\psi}=\begin{pmatrix}\alpha\\\beta\end{pmatrix}\begin{pmatrix}\alpha^* & \beta^*\end{pmatrix}=\begin{pmatrix}\alpha\alpha^* & \alpha\beta^*\\ \beta\alpha^* & \beta\beta^*\end{pmatrix}=\begin{pmatrix}\lvert\alpha\rvert^2 & \alpha\beta^*\\ \alpha^*\beta & \lvert\beta\rvert^2\end{pmatrix}$。再代入等权叠加态 $\ket{+}=\tfrac{1}{\sqrt2}(\ket{0}+\ket{1})$(即 $\alpha=\beta=\tfrac{1}{\sqrt2}$,都是实数所以共轭等于自己):$\rho=\begin{pmatrix}1/2 & 1/2\\ 1/2 & 1/2\end{pmatrix}$。验证迹:$\Tr(\rho)=\tfrac12+\tfrac12=1$ ✓。
💭 直觉: 矩阵 $\rho$ 的主对角线两项 $\lvert\alpha\rvert^2,\lvert\beta\rvert^2$ 正是测得 $\ket{0},\ket{1}$ 的概率;非对角线两项叫"相干项",记录了叠加的相位关系。对比"经典抛硬币"得到的最大混合态 $\rho=\tfrac12\begin{pmatrix}1&0\\0&1\end{pmatrix}$:它跟上面的 $\ket{+}$ 一样是 50/50,但非对角项是 0。非对角项是否为零,就是"量子叠加"和"经典随机"的数学分水岭。
✅ 小结: qubit = 长度为 1 的二维复列向量;振幅的模方才是概率;密度矩阵把概率和相位打包进一个 $2\times2$ 矩阵。
Bloch 球:把单 qubit 画成球面上一个点
🎯 用来干嘛: 把抽象的复数态变成一个你眼睛能看见的三维球面上的点,方便建立几何直觉。之后"量子门做什么"就能理解成"把这个点转个方向",一下子具体多了。
任意单 qubit 纯态都能写成两个角度参数的形式,并对应单位球面上一个点:
$$\ket{\psi} = \cos(\theta/2)\ket{0} + e^{i\phi}\sin(\theta/2)\ket{1} \;\longleftrightarrow\; r = (\sin\theta\cos\phi,\ \sin\theta\sin\phi,\ \cos\theta)$$
📖 补基础(欧拉公式与相位因子): $e^{i\phi}=\cos\phi+i\sin\phi$(欧拉公式),它的模 $\lvert e^{i\phi}\rvert=\sqrt{\cos^2\phi+\sin^2\phi}=1$。所以乘上 $e^{i\phi}$ 不改变长度、只旋转相位,因此叫"相位因子"。又因为它模为 1,乘在 $\ket{1}$ 前面不影响测量概率(概率只看模方)——但它决定了态在赤道上转到哪个方向。
🧮 一步步算(三个特殊点): ① $\ket{0}$:取 $\theta=0$,则 $\cos\tfrac{0}{2}=1$、$\sin\tfrac02=0$,态就是 $\ket{0}$,坐标 $r=(0,0,\cos0)=(0,0,1)$——正北极。② $\ket{+}$:取 $\theta=\tfrac\pi2,\phi=0$,则 $\cos\tfrac\pi4=\sin\tfrac\pi4=\tfrac{1}{\sqrt2}$,态是 $\tfrac{1}{\sqrt2}(\ket{0}+\ket{1})$ ✓,坐标 $r=(\sin\tfrac\pi2,0,\cos\tfrac\pi2)=(1,0,0)$——赤道 $+x$ 方向。③ $\ket{1}$:取 $\theta=\pi$,坐标 $r=(0,0,\cos\pi)=(0,0,-1)$——正南极。
💭 直觉: 一个单 qubit 纯态恰好是球面上一个点,跟用经纬度定位地球上一点完全一样:$\theta$ 是"纬度"(决定 $\ket{0}/\ket{1}$ 的权重),$\phi$ 是"经度"(只动相位)。北极 $\ket{0}$、南极 $\ket{1}$、赤道上全是各种等权叠加。纯态在球面上(半径 1);混合态在球内部(半径 $<1$);正球心是"啥都不知道"的最大混合态。
⚛️ 物理上是啥(Bloch 向量): 对一个真实的自旋 1/2 粒子,Bloch 球上那根箭头不是比喻——它就是这个自旋在空间里实际指的方向,也对应它磁矩的朝向。比如箭头指 $+z$ 就是"自旋朝上"。这也是为什么量子门作用在 Bloch 球上看起来像"把箭头转个方向":物理上往往真的是用磁场让自旋进动(转向)。
⚠️ 常见错误: 公式里是 $\theta/2$ 不是 $\theta$。一个常见的混淆是把 Bloch 球上的角度直接当成态向量里的角度——它们差一个因子 2。这来源于 qubit 的"旋量"特性,1.3 节还会再遇到。
制备任意态 = 旋转。 任意 qubit 态都能由某个幺正变换 $U$ 把 $\ket{0}$ 转过去:$\ket{\psi}=U\ket{0}$。几何上就是把北极的 $\ket{0}$ 绕某根轴转到目标点。
✅ 小结: 单 qubit 纯态 ↔ Bloch 球面上一点,两个角 $(\theta,\phi)$ 定位它;制备一个态就是从北极出发做一次旋转。
测量:从概率分布里采一次样,且会塌缩
🎯 用来干嘛: 测量是你从量子系统里"读出"经典答案的唯一手段。理解它为什么会破坏叠加,才能明白量子算法为什么不能"算完直接读"、而要费劲设计干涉——这是量子编程跟普通编程最大的区别。
在计算基下测量 $\ket{\psi}=\alpha\ket{0}+\beta\ket{1}$:得 $\ket{0}$ 的概率是 $\lvert\alpha\rvert^2$,得 $\ket{1}$ 的概率是 $\lvert\beta\rvert^2$。测完之后,态会塌缩到你测到的那个基态。
⚛️ 物理上是啥(Born 规则): "概率 = 振幅模方"这条规则(叫 Born 规则)不是从更基本的东西推出来的,它是量子力学的一条物理公设,靠的是近百年无数实验反复验证、从没出过错。它把"波一样的复数振幅"翻译成"实验里能数出来的频率",是连接抽象态向量和真实测量数据的桥。
📖 补基础(为什么概率和为 1): 概率论的第一条公理:所有互斥结果的概率加起来必须是 1。这里只有 $\ket{0}$ 和 $\ket{1}$ 两个结果,所以要求 $\lvert\alpha\rvert^2+\lvert\beta\rvert^2=1$——这正是前面的归一化条件。归一化不是数学洁癖,它就是"概率必须凑成 1"的另一种说法。
🧮 一步步算: 用 $\ket{\psi}=\begin{pmatrix}1/\sqrt2\\ i/\sqrt2\end{pmatrix}$。测量得 $\ket{0}$ 概率 $\lvert 1/\sqrt2\rvert^2=\tfrac12$;得 $\ket{1}$ 概率 $\lvert i/\sqrt2\rvert^2=\tfrac12$。假设这次测到了 $\ket{1}$——那么态立刻变成 $\ket{1}=\begin{pmatrix}0\\1\end{pmatrix}$。你再测一次,100% 还是 $\ket{1}$,原来那个 $\tfrac12$ 概率和那个相位 $i$ 永远消失了。
⚠️ 常见错误: 测量是破坏性、不可逆的,不像读一个普通变量那样无副作用。叠加里丰富的复数振幅信息,一测就塌缩没了,只剩一个经典比特。所以好的量子算法都把"提取有用信息"的活儿放在测量之前用干涉做完。
⚛️ 物理上是啥(塌缩): 塌缩同样是测量公设的一部分。物理上一般这样理解:测量时被测系统跟庞大的仪器/环境纠缠在一起,相位关系迅速被环境打散(叫退相干),叠加在我们能观测的层面上就"散了",看上去像塌缩到某一个结果。注意:这跟"超光速传信号"或"意识让它塌缩"都没关系,别被这类说法带偏。
✅ 小结: 测量 = 按 $\lvert\alpha\rvert^2,\lvert\beta\rvert^2$ 采样一次,且采完态就被钉死成那个基态。
多比特与 Bell 基
🎯 用来干嘛: 纠缠是量子独有的"超强关联",是隐形传态、超密编码、很多量子算法和量子通信的燃料。先认识最简单的 Bell 态,后面才看得懂这些应用是怎么用它的。
$n$ 个比特张成 $2^n$ 维空间,基矢从 $\ket{00\dots0}$ 到 $\ket{11\dots1}$。其中四个最大纠缠的两比特态叫 Bell 基:
$$\ket{\Phi^\pm} = \frac{\ket{00} \pm \ket{11}}{\sqrt{2}}, \qquad \ket{\Psi^\pm} = \frac{\ket{01} \pm \ket{10}}{\sqrt{2}}$$
📖 补基础(张量积 / 维度爆炸): 两比特的基矢是用各比特基"组合"出来的,记号 $\ket{00}$ 就是"第一个比特是 0、第二个也是 0"。两比特一共有 $2\times2=4$ 个组合:$\ket{00},\ket{01},\ket{10},\ket{11}$,所以两比特态是 $4$ 维列向量,约定分量按这个顺序排。一般地 $n$ 比特是 $2^n$ 维——50 个 qubit 就要 $2^{50}$(约一千万亿)个复数才能存下,这就是经典计算机模拟量子为什么这么贵。
🧮 一步步算: 把 $\ket{\Phi^+}=\tfrac{1}{\sqrt2}(\ket{00}+\ket{11})$ 写成 $4$ 维列向量。$\ket{00}$ 是第 1 个分量、$\ket{11}$ 是第 4 个分量,所以 $\ket{\Phi^+}=\tfrac{1}{\sqrt2}\begin{pmatrix}1\\0\\0\\1\end{pmatrix}$。在计算基下测量两个比特:得 $00$ 的概率 $\lvert\tfrac{1}{\sqrt2}\rvert^2=\tfrac12$,得 $11$ 的概率 $\tfrac12$,而得 $01$ 或 $10$ 的概率都是 $0$(这两个分量是零)。所以两比特测出来必然相同。
💭 直觉: 单看第一个比特,它得 0 或 1 各占 $\tfrac12$,像随机硬币;可一旦你读了它,第二个比特的结果就被瞬间锁定(你测到 0,对方一定是 0)。这种"关联藏在整体、单看局部却是随机"的现象就是纠缠。
⚠️ 常见错误: 纠缠态写不成两个单比特态的"组合(张量积)",即 $\ket{\Phi^+}\ne\ket{a}\otimes\ket{b}$——这正是纠缠的数学定义。也别把它当成普通的经典相关:纠缠的关联强度超过任何经典模型能解释的范围(这就是 Bell 不等式要说的事)。
⚛️ 物理上是啥(纠缠从哪来): 纠缠通常来自"一起诞生"的粒子——比如让一个光子在晶体里下转换裂成一对光子,这对光子天生共享一个不可拆分的联合态。真实的 Bell 实验反复测出它们的关联强度超过任何经典模型的上限,证明这种关联是真的、不是事先偷偷约好的。但要记住:纠缠不能拿来超光速传信息,单看一边永远只是随机结果。
✅ 小结: $n$ 比特 = $2^n$ 维复向量;Bell 态是纠缠招牌——局部随机、整体强关联、不可分解。
1.3 量子门与量子线路
量子计算 = 用一串幺正门操纵 qubit,最后测量。这一节给出门的"指令集"。
单比特门是 2×2 幺正矩阵
🎯 用来干嘛: 量子门是你在量子计算机上能下达的"指令"——所有量子算法都是把这些门按顺序排出来的。学会读门矩阵,就等于学会读量子程序的每一行。
每个单比特门都是一个保持向量长度的变换,也就是一个 $2\times2$ 的幺正矩阵。
⚛️ 物理上是啥(为什么门是幺正的): 一个不受外界打扰的封闭量子系统,按薛定谔方程演化,数学上必然是幺正的——因为它要守住"总概率永远等于 1"。所以一个量子门在物理上就是:让系统在一段精心设计的哈密顿量(能量环境,比如特定的激光或微波脉冲)下演化固定的一段时间,演化算符 $U=e^{-iHt/\hbar}$ 自动就是幺正的。门可逆、不丢信息,正因为薛定谔演化本身可逆。
📖 补基础(矩阵乘以向量、幺正): 矩阵作用在向量上就是普通矩阵乘法:$\begin{pmatrix}a&b\\c&d\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}=\begin{pmatrix}ax+by\\cx+dy\end{pmatrix}$——"用矩阵的每一行去点乘那个列向量"。一个矩阵 $U$ 叫幺正的,如果 $U^\dagger U=I$,其中 $U^\dagger$ 是"共轭转置"(转置 + 每个元素取共轭),$I$ 是单位矩阵 $\begin{pmatrix}1&0\\0&1\end{pmatrix}$。幺正的关键性质:它保持向量长度不变,所以归一化的态作用后还是归一化的(概率还是凑成 1)。而且它可逆,逆就是 $U^\dagger$——没有信息丢失,这跟测量的"塌缩、不可逆"正好相反。
最常用的几个门:
- Hadamard($H$)——叠加制造机:$H=\tfrac{1}{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix}$。
- Pauli-X(非门):$X=\begin{pmatrix}0&1\\1&0\end{pmatrix}$,把 $\ket{0}\leftrightarrow\ket{1}$ 翻转。
- Pauli-Z:$Z=\begin{pmatrix}1&0\\0&-1\end{pmatrix}$,给 $\ket{1}$ 加个负号。
- 相位门 $S=\begin{pmatrix}1&0\\0&i\end{pmatrix}$、$T$ 门 $=\begin{pmatrix}1&0\\0&e^{i\pi/4}\end{pmatrix}$:只给 $\ket{1}$ 分量挂相位。
📖 补基础(怎么读一个门矩阵): 矩阵的每一列告诉你"某个基态被映到哪里"。第 1 列是 $\ket{0}$ 的去向,第 2 列是 $\ket{1}$ 的去向。例如 $H$ 的第 1 列 $\tfrac{1}{\sqrt2}\begin{pmatrix}1\\1\end{pmatrix}$ 表示 $\ket{0}$ 被送到等权叠加。对角矩阵(如 $S,T$)只在右下角对 $\ket{1}$ 盖个相位章,$\ket{0}$ 不动。
🧮 一步步算(H 作用在基态上): $H\ket{0}=\tfrac{1}{\sqrt2}\begin{pmatrix}1&1\\1&-1\end{pmatrix}\begin{pmatrix}1\\0\end{pmatrix}=\tfrac{1}{\sqrt2}\begin{pmatrix}1\cdot1+1\cdot0\\ 1\cdot1+(-1)\cdot0\end{pmatrix}=\tfrac{1}{\sqrt2}\begin{pmatrix}1\\1\end{pmatrix}=\tfrac{\ket{0}+\ket{1}}{\sqrt2}$。同理 $H\ket{1}=\tfrac{1}{\sqrt2}\begin{pmatrix}1\\-1\end{pmatrix}=\tfrac{\ket{0}-\ket{1}}{\sqrt2}$。
🧮 一步步算(H 自己是自己的逆): 把刚才的结果 $\ket{+}=\tfrac{1}{\sqrt2}\begin{pmatrix}1\\1\end{pmatrix}$ 再过一次 $H$:$H\ket{+}=\tfrac12\begin{pmatrix}1&1\\1&-1\end{pmatrix}\begin{pmatrix}1\\1\end{pmatrix}=\tfrac12\begin{pmatrix}1+1\\1-1\end{pmatrix}=\tfrac12\begin{pmatrix}2\\0\end{pmatrix}=\begin{pmatrix}1\\0\end{pmatrix}=\ket{0}$。这印证了 $H^2=I$(连按两次回到原点),这正是幺正门可逆的体现。
💭 直觉: 单比特门就是"在 Bloch 球上把状态点转一下",不改变球的半径(纯态还是纯态)只改朝向。$H$ 几乎是所有量子算法的"第一行":把确定的 $\ket{0}$ 砸成 50/50 的等权叠加,打开量子并行的入口。
⚠️ 常见错误: 别以为"乘个 $i$ 或负号"是小事。$S\ket{1}=\begin{pmatrix}1&0\\0&i\end{pmatrix}\begin{pmatrix}0\\1\end{pmatrix}=\begin{pmatrix}0\\i\end{pmatrix}=i\ket{1}$,看似只改了相位、不改概率,但这种相位差在后续干涉里会决定性地影响结果。相位"不影响这一步的概率"≠"没用"。
任意单比特门可以拆成三次固定轴旋转(叫 z-y-z 分解):$U=e^{i\alpha}R_z(\beta)R_y(\gamma)R_z(\delta)$。这跟 3D 图形里"任意旋转 = 三个欧拉角"是一个道理,意思是硬件只要会做几种基本旋转,就能拼出任何单比特门。
✅ 小结: 单比特门 = $2\times2$ 幺正矩阵 = Bloch 球上的旋转,可逆无损;矩阵的列 = 基态的去向;$H$ 造叠加。
多比特门与纠缠:CNOT
🎯 用来干嘛: CNOT 是制造纠缠的关键工具,光有单比特门永远造不出纠缠。想用上量子的"超强关联"(隐形传态、纠错、各种算法),几乎都从 H + CNOT 这套组合起步。
- CNOT(受控非):控制位是 1 时,翻转目标位。它是纠缠的生成器。
- SWAP:交换两比特,且 SWAP = 三个 CNOT 级联。
- Toffoli(CCNOT):双控制非门,能模拟经典的 AND,是经典可逆计算的通用门。
📖 补基础(4×4 矩阵与置换): 两比特门是 $4\times4$ 矩阵,行列都按 $\ket{00},\ket{01},\ket{10},\ket{11}$ 排。CNOT 写作 $\mathrm{CNOT}=\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{pmatrix}$。它是一个置换矩阵(每行每列只有一个 1),作用就是把某些基态互相交换、振幅大小不变。上半两行(控制位 = 0)是单位块、原样不动;右下角的 $\begin{pmatrix}0&1\\1&0\end{pmatrix}$ 子块(控制位 = 1)就是在目标位上做翻转 $X$。
🧮 一步步算(用 CNOT 造 Bell 态): 从 $\ket{00}$ 出发。第一步让 $H$ 只作用在第一个比特上,得到 $\tfrac{1}{\sqrt2}(\ket{00}+\ket{10})$(第一比特变叠加、第二比特仍是 0)。第二步作用 CNOT:控制位(第一比特)为 0 的那支 $\ket{00}$ 不动;控制位为 1 的那支 $\ket{10}$ 把目标位翻成 1,变 $\ket{11}$。结果是 $\tfrac{1}{\sqrt2}(\ket{00}+\ket{11})=\ket{\Phi^+}$——一个 Bell 纠缠态!
💭 直觉: CNOT 本身像经典的"如果控制位是 1 就翻转目标位"。但因为它作用在叠加态上,能把两个比特的命运绑在一起,产生经典电路造不出的纠缠。$H+\mathrm{CNOT}$ 这个组合是制备纠缠的标准配方。
✅ 小结: CNOT = 纠缠之源;$H$ 先造叠加、CNOT 再绑定,就得到 Bell 态。
量子线路的三条铁律
⚠️ 常见错误: 量子线路不能随便画,有三条规则违反就错——① 无环:线路是从左到右的有向无环图,不能有回路(不像经典电路能加反馈);② 禁止扇入:不能把多根线合并成一根(那样不可逆,违反幺正性);③ 禁止扇出:不能把一根线复制成多根,因为复制一个未知量子态是做不到的——这叫"不可克隆定理"。
综合例子:量子隐形传态
目标:把 Alice 手里的未知态 $\ket{\psi}=\alpha\ket{0}+\beta\ket{1}$ 传给远端的 Bob,而双方谁都不知道 $\alpha,\beta$ 具体是多少。
- 共享纠缠:事先让 Alice 的比特 2 和 Bob 的比特 3 处于 Bell 态 $\ket{\Phi^+}$。
- Alice 本地操作:对她手里的比特 1、2 先做 CNOT(1 控制 2),再对比特 1 做 $H$,然后在计算基下测量比特 1、2,得到两个经典比特 $(m_1,m_2)\in\{00,01,10,11\}$。
- 经典通信:Alice 把 $(m_1,m_2)$ 用普通(经典)信道发给 Bob。
- Bob 纠正:Bob 根据收到的两个比特,对自己的比特施加 $I$ / $X$ / $Z$ / $XZ$ 四种修正之一,就还原出 $\ket{\psi}$。
💭 直觉: 不管 Alice 测出哪种结果,Bob 按对应的"纠正指令"操作后,手里一定是原来的 $\ket{\psi}$。那两个经典比特就是在告诉 Bob"四把钥匙里该用哪一把"。传过去的只是 2 个经典比特,不是态本身、更不是物质。
⚠️ 常见错误: 隐形传态既不超光速也不违反不可克隆——① 它必须靠经典信道传 $(m_1,m_2)$,经典通信受光速限制,所以没有超光速;② Alice 的原比特在第 2 步测量时已经被破坏,全世界任何时刻只存在一份 $\ket{\psi}$,没有"复制"出第二份。
✅ 小结: 隐形传态 = 预置纠缠资源 + 2 个经典比特,传态不传物;单比特门可三步分解、CNOT 造纠缠、线路有"无环 / 禁扇入 / 禁扇出"三铁律。
1.4 量子算法:靠并行 + 干涉
量子算法靠"量子并行 + 干涉"提取经典难以高效获取的全局信息。
🎯 用来干嘛: 量子并行让你一次操作就把函数在许多输入上的值算进同一个态,是量子可能加速的源头。但它有个大陷阱(见下面 ⚠️),所以必须配合干涉才真正有用。
量子并行:量子机能在同一个幺正变换里同时算出函数 $f(x)$ 在许多不同 $x$ 上的值——它们以叠加态的形式共存。标准做法是用一个可逆门 $U_f$:
$$U_f:\ \ket{x}\ket{y} \;\longrightarrow\; \ket{x}\ket{y \oplus f(x)}$$
📖 补基础(异或 $\oplus$): $\oplus$ 是"异或",也就是模 2 加法:$0\oplus0=0$,$0\oplus1=1$,$1\oplus0=1$,$1\oplus1=0$(两个相同得 0、不同得 1)。它有个关键性质:$a\oplus b\oplus b=a$(同一个数异或两次等于没异或)。$U_f$ 用异或而不是直接覆盖,正是为了可逆——再作用一次 $U_f$ 就能还原,满足幺正性。
🧮 一步步算: 设输出寄存器初始为 $\ket{0}$,输入喂等权叠加 $\tfrac{1}{\sqrt2}(\ket{0}+\ket{1})$,总态是 $\tfrac{1}{\sqrt2}(\ket{0}+\ket{1})\ket{0}$。作用一次 $U_f$,对两支分别算:$\ket{0}\ket{0}\to\ket{0}\ket{0\oplus f(0)}=\ket{0}\ket{f(0)}$;$\ket{1}\ket{0}\to\ket{1}\ket{f(1)}$。合起来得到 $\tfrac{1}{\sqrt2}\big(\ket{0}\ket{f(0)}+\ket{1}\ket{f(1)}\big)$——一次操作就把 $f(0)$ 和 $f(1)$ 同时算进了同一个态。
⚠️ 常见错误: 量子并行不是免费午餐!所有 $f(x)$ 确实叠在一个态里,但你直接测量只能随机拿到其中一个,还会塌缩掉其余全部。所以"同时算 $2^n$ 个值"本身没意义,必须靠后续的干涉把"全局性质"提炼到能被测出来的地方。这就是为什么"量子 = 大规模并行"是个误导说法。
综合例子:Deutsch 算法
🎯 用来干嘛: Deutsch 算法是史上最小的"量子比经典快"实例,专门用来让你第一次亲眼看到加速怎么发生。它不实用,但把"相位回踢 + 干涉读出全局信息"这套核心套路压到了最简,是理解 Shor / Grover 的入门台阶。
问题:给定 $f:\{0,1\}\to\{0,1\}$,判断它是常数型($f(0)=f(1)$)还是平衡型($f(0)\ne f(1)$)。经典做法要算两次(求出 $f(0)$ 和 $f(1)$ 再比较),量子只要一次。
- 制备 $\ket{0}\ket{1}$,两个比特各过一个 $H$。
- 作用一次 $U_f$。由于第二比特处在 $\ket{-}=\tfrac{1}{\sqrt2}(\ket{0}-\ket{1})$,会发生相位回踢:给第一比特挂上 $(-1)^{f(x)}$ 的相位。
- 对第一比特再过一个 $H$ 然后测量:测得 $\ket{0}$ ⇒ 常数型,测得 $\ket{1}$ ⇒ 平衡型。
🧮 一步步算(常数型 $f\equiv0$): 第 1 步后第一比特是 $\ket{+}=\tfrac{1}{\sqrt2}(\ket{0}+\ket{1})$。第 2 步相位回踢给两支各乘 $(-1)^{f(x)}$;因为 $f(0)=f(1)=0$,两支都乘 $(-1)^0=+1$,第一比特仍是 $\ket{+}$。第 3 步再做 $H$:由前面算过 $H\ket{+}=\ket{0}$,测得 $\ket{0}$ ⟹ 判定常数型 ✓。换成平衡型 $f(x)=x$:两支相位变成 $+1,-1$,第一比特成 $\tfrac{1}{\sqrt2}(\ket{0}-\ket{1})=\ket{-}$,而 $H\ket{-}=\ket{1}$,测得 $\ket{1}$ ⟹ 平衡型。
💭 直觉: Deutsch 问的根本不是 $f(0)$、$f(1)$ 各自等于几,而是 $f(0)\oplus f(1)$ 这一个全局比特(相等还是不等)。量子线路用相位回踢把这个全局信息编码进相位,再用 $H$ 做干涉读出来,所以一次 $U_f$ 就够。
💭 直觉(加速从哪来): 量子加速的本质是——当经典为了得到答案被迫获取了超过答案所需的信息量(存在"计算冗余")时,量子有加速潜力。Deutsch 只想要 1 比特的全局信息,经典却被迫算了 2 个局部值。把它推广到 $n$ 位函数就是 Deutsch-Jozsa 算法。
🎯 用来干嘛: 把五花八门的量子算法归到三个大类,记住每类"擅长解什么问题、能快多少"。以后碰到新算法,先问它属于哪一类,就有了抓手。
三大算法家族:
| 家族 | 代表 | 加速 |
|---|---|---|
| 量子 Fourier 变换类 | Shor 因数分解 / 求阶 | 经典亚指数 → 量子多项式 |
| 量子搜索 | Grover | $O(N)\to O(\sqrt{N})$ |
| 量子模拟 | Feynman / Lloyd | 模拟量子多体系统,指数 → 多项式 |
✅ 小结: 量子并行单独没用,优势来自"干涉提取全局信息 + 削减信息冗余";三大家族 = QFT 类 / 搜索类 / 模拟类。
1.5 量子信息处理实验
理论再漂亮,也得在真实物理系统上把量子态制备出来、操控好、测得准,还要压住噪声。
Stern-Gerlach 实验是自旋测量的原型,它揭示一个核心现象:测量是不对易的。
📖 补基础(不对易): 两个操作 $A,B$ "对易"指的是先做 $A$ 再做 $B$ 跟先做 $B$ 再做 $A$ 结果一样($AB=BA$);"不对易"就是顺序会影响结果($AB\ne BA$)。普通数字乘法总是对易($3\times5=5\times3$),但矩阵乘法一般不对易,量子测量也不对易。
💭 直觉: 对级联的"测 Z → 测 X → 再测 Z",中间那次测 X 会"洗掉"第一次测 Z 得到的信息,所以最后那次 Z 的结果可能跟第一次不同。顺序很重要——这跟经典里"读变量不改变变量"截然不同。
层析(tomography):因为单次测量只给 1 比特、还会塌缩,想知道一个未知态 $\rho$ 完整长什么样,就得拿很多份相同的态、在不同基下反复测,再用统计拟合重建——像用大量采样去估计一个隐藏的概率分布。
🎯 用来干嘛: 它回答一个生死问题——真实硬件总有噪声,我们到底能不能造出大规模可用的量子计算机?定理说"只要噪声压到某条线以下就能",这给了整个领域继续投入的底气。
阈值定理(threshold theorem):只要把量子噪声(单门错误率)压到某个阈值以下,工程上就能用纠错把规模放大到任意大而不失控。这是大规模量子计算可行性的理论支柱。
规模三阶段:小规模 = 量子通信(如 QKD 密钥分发);中等规模 = NISQ(含噪、无完整纠错的中等比特机,我们现在所处的阶段);大规模 = 容错通用量子计算。
⚠️ 常见错误: 别问"哪个硬件平台最好"。超导线路快但相干时间短、离子阱准但慢、光学好传输但难做双比特门、还有冷原子、NV 色心、核磁共振、拓扑任意子……每个都是不同的工程取舍,目前没有公认赢家。
✅ 小结: 噪声是头号敌人;阈值定理给出"够低就能纠错放大"的希望;当下处于 NISQ 阶段。
1.6 量子信息
🎯 用来干嘛: 这门学科研究量子信息"最多能压缩到多小、最多能多快可靠传输、怎么保护它不被噪声毁掉"这些极限问题。一句话:它给量子通信和量子存储划定"理论天花板"。
量子信息论研究信息的"量子版"基本极限:量子态怎么编码、传输、压缩、保护,以及量子带来的新资源(纠缠)。它是经典信息论的直接推广。
经典信息论的两个出发问题:① 信源压缩极限——一个信息源最多能无损压到多小?答案是 Shannon 熵。② 可靠传输极限——含噪信道上能以多高速率可靠传输?答案是信道容量。
📖 补基础(熵是什么): 熵粗略说就是"平均每个符号携带多少不确定性 / 信息量",单位是比特。一个总是输出同一个字符的信源熵为 0(毫无信息),一个 50/50 抛硬币的信源熵为 1 比特。Shannon 证明了:无损压缩的极限正好等于信源的熵——压不过这条线。
量子信息论把这些问题搬到量子世界,三个基本目标:识别基本资源(纠缠、相干);给出量子态压缩、量子信道传输的极限(Schumacher 压缩、量子信道容量);在含噪环境下保护量子信息(量子纠错)。
💭 直觉: 几乎是把经典信息论的每个概念做"量子升级":比特 → qubit,Shannon 熵 → von Neumann 熵,无损压缩 → Schumacher 压缩。骨架一样,只是底层"数据类型"换成了量子的。
✅ 小结: 量子信息论 = 经典信息论的推广;纠缠是经典没有的新资源(支撑隐形传态、超密编码);测量的概率性和不可克隆定理共同塑造了量子信息独有的极限。
✅ 整章一句话: qubit 是归一化的二维复向量、量子门是可逆的幺正矩阵、测量是带塌缩的概率采样、纠缠是不可分解的强关联;量子的真正威力来自叠加 + 纠缠 + 干涉三者合力,而 $\mathrm{BPP}$ 是否真的小于 $\mathrm{BQP}$,至今仍是这个领域最大的悬念。