1.1 什么是量子计算


1.1 什么是量子计算

本节摘要:量子计算是一种用"量子态"承载信息、用"量子门"变换信息、用"测量"读出信息的计算方式。它与经典计算的区别不在速度,而在状态描述的语言。本节给出这个工作定义,拆开"状态、操作、读出"三件套,并说明为什么指数级增长的状态空间既是量子计算的资本,也是它难以兑现的原因。

定义先行:把词拆开看

"量子计算"四个字里,真正起作用的是"量子"这个定语:它限定了信息以什么物理形态存在。经典计算机用电压高低表示比特,量子计算机用一个可控量子系统(比如一个超导电路的振荡状态、一个离子的内部能级)表示量子比特。载体变了,描述载体状态的数学语言也跟着变了——这才是全部故事的起点。

所以我们采用这样一个定义:量子计算 = 以量子态为信息载体、以幺正变换为基本操作、以测量为输出手段的计算范式。 这个定义里没有一个字是玄学,后面每一册内容都在展开它。

三件套之一:状态

经典比特在任一时刻的状态是确定的:0,或者 1。一亿个比特的整机状态,就是一亿个 0/1 组成的序列,写出来是一个长度为一亿的二进制串。

量子比特的状态则由一对复数描述,写作 |ψ⟩ = α|0⟩ + β|1⟩。α 和 β 叫概率幅,它们不是概率本身,但模平方给出测量时得到 0 或 1 的概率。一个 n 量子比特的系统,其状态由 2^n 个概率幅完整刻画——这一行字就是"量子并行"全部魔法的数学源头,第二章会把它算给你看。

需要立刻泼一盆冷水:状态空间大,不等于"能同时读出所有答案"。测量会坍缩状态,你只能拿到一次随机采样。量子算法的全部技巧,就在于在测量之前用干涉把答案的概率幅推高、把错误答案的推低。记住这句话,第四章的所有算法都会回到它。

三件套之二:操作

经典计算的基本操作是逻辑门:与、或、非。量子计算的基本操作是量子门,本质上是作用在概率幅矢量上的矩阵。比如 X 门(对应经典的非门)交换 |0⟩ 和 |1⟩;H 门把确定态变成均匀叠加态。

量子门有两个经典逻辑门不具备的性质:可逆(每个门都是幺正矩阵,信息不丢失)和可作用于叠加态(不是"先选一个状态再操作",而是同时作用在所有概率幅上)。这两个性质是量子算法能用干涉设计的前提。

三件套之三:读出

经典程序打印结果,想打印几次打印几次。量子程序只能在末尾做测量,而且测量是有代价的:叠加态瞬间坍缩为一个确定结果,概率幅信息当场丢失。想要统计分布,就得把整个计算重跑很多遍。

这决定了量子算法的输出风格:它天然适合回答"某个性质/统计量"的问题(这组解满足某条件吗?分布的峰值在哪里?),而不适合直接"算出一张大表"。

三种计算范式放在一张表里

维度 经典计算 量子计算 说明
信息载体 比特(0 或 1) 量子比特(概率幅对) 载体决定数学语言
n 比特状态空间 n 个确定状态 2^n 维概率幅空间 指数增长但读不出全貌
基本操作 与/或/非(多数不可逆) 幺正量子门(全部可逆) 可逆性来自量子力学
操作方式 逐状态处理 同时作用于全部概率幅 常被误传为"并行尝试所有答案"
读出 任意读取,无损 测量坍缩,统计式读出 算法设计必须迁就读出方式
擅长问题 通用 因子分解、无序搜索、量子系统模拟等特定结构问题 见第四章

一个最小的"量子程序"长什么样

不写公式也能感受一下操作与读出的分离。下面是伪代码形式的完整量子程序:把一个量子比特置为叠加态,然后测量一千次。

初始:q = |0⟩ # 确定态 操作:H(q) # H 门:|0⟩ 变为 (|0⟩+|1⟩)/√2 重复 1000 次: 测量 q # 每次得到 0 或 1,各约 500 次 统计:0 约 500 次,1 约 500 次

三行里藏了两个要点:其一,操作只做了一次,但效果相当于"同时处理了两种可能";其二,读出必须靠重复测量凑出统计。经典程序里这两个动作的关系完全不是这样——这就是为什么把量子算法的思路直接翻译回经典代码时,常常显得不知所云。

图:经典程序与量子程序的执行轮廓对比

图:经典程序与量子程序的执行轮廓对比

边界划清楚

最后把三句常被搞混的话钉在这里。第一,量子计算不会取代经典计算:它的 I/O 瓶颈决定了它只能作为特定环节的加速器,日常任务依旧归经典计算机管。第二,量子计算不是万加速:目前已知明确加速的是因子分解、无序搜索、量子系统模拟这几类结构特殊的问题,很多问题量子并没有优势。第三,量子计算不是科幻:几十量子比特的设备已经存在并在云上开放,问题是从"能演示"到"能商用"之间的距离。

带着这三句话,下一节我们把量子计算和经典计算逐项对比,看清楚那道分界线到底画在哪里。

常见疑问三则

问题一:量子计算机能运行我现在的软件吗

不能直接运行。经典软件依赖可复制、可缓存、可任意读写的存储模型,量子设备三者皆无。现实的分工是经典程序做调度与前后处理,把其中某个计算密集环节交给量子协处理器——类似今天 GPU 的协作模式,但耦合得更紧。所以"量子时代还要不要学编程"的答案是肯定的:编排量子环节的恰恰是经典代码。

问题二:量子比特和比特能不能互相替代

不能简单互换。两个经典比特可以无损地编码成一个量子比特吗?不行,一个量子比特只有二维状态空间,装不下四个经典状态还要保证可读出;反过来,一个量子比特的完整状态(两个复数)需要无穷多经典比特才能精确描述。两者是不同的信息资源,混合系统才是常态。

问题三:为什么说测量是量子算法的"输出端口"

因为算法的一切设计最终都兑现在测量统计上。线路内部的振幅分布外部永远不可见,唯一泄露进经典世界的信息就是末端那串测量读数。这决定了量子算法的接口风格:输出必须是一个低维的答案(一个编号、一个判断),而不是整张数据表。设计算法时倒着推——先定输出,再反推干涉结构——往往比顺着写线路更有效。

问题四:学量子计算需要什么数学底子

比传言少得多。全册用到的只有三样:二维复矢量与矩阵乘法(第 2 章现场教)、初等概率(玻恩规则)、以及一点指数计数的直觉(1.2 节那张表)。高等量子力学不是前置而是结果——很多人正是通过量子计算才第一次真正用会了线性代数。真正的门槛是"愿意逐行手算"的习惯:本册反复安排演算,就是因为这门学科的理解红利全在笔尖上。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U