写给程序员的量子计算

抛开物理玄学,用程序员熟悉的方式入门量子计算——装好 Qiskit、写线路、打印状态、统计测量、像 debug 普通程序一样 debug 量子程序。从一个 qubit 的 Hello World,循序渐进到 Grover、Shor,底层原理随代码就地补。

作者 David更新于

序 · 量子计算,其实可以「照着敲、看着结果」学

量子计算的入门材料,大多是物理学家写给物理学家的:开篇就是一串希尔伯特空间、幺正算符、狄拉克符号,公式推到你怀疑人生,却始终没让你跑起来一行代码。于是「量子计算」在很多程序员心里,成了一团玄学。

这个专栏反其道而行:用程序员最熟悉的方式学量子计算——写代码、跑起来、看结果、debug。

我们会装好一套真实可用的工具(Python + Qiskit),把每一个抽象概念都变成能跑、能打印、能观察的代码:叠加是什么?写两行,把状态向量打印出来看。测量为什么是概率的?跑一千次,统计给你看。纠缠玄乎吗?建个 Bell 态,验证它。当一个概念能被你亲手敲出来、并观察到,它就不再玄了。

这个专栏怎么讲

代码优先,原理随代码就地补。 每一章都遵循同一个节奏:先给一段能跑的代码 → 看它的真实输出 → 再解释「为什么是这个结果」。背后的数学(量子态 ∣ψ⟩\ket{\psi}、门矩阵、张量积)不会凭空砸给你,而是在「用代码验证到某个现象」时,才引入刚好够用的那一点——你先看到,再理解。

而且我们真的把它当软件工程来对待:量子程序也要搭环境、调试、写测试、做验证。这四件事——环境怎么搭、算法怎么调、结果怎么验、原理是什么——正是本专栏一步步回答的主线。学完你不只是「听说过量子计算」,而是能上手写一个量子程序,并有办法确认它是对的。

你需要什么,不需要什么

需要:会写 Python(函数、循环、pip install 就够);一点点线性代数的「感觉」(向量是什么、矩阵怎么乘)——不熟也没关系,需要时会就地补一小段。

不需要:量子物理背景。我们不推薛定谔方程、不谈物理实现细节。量子计算在计算层面其实是一套线性代数 + 概率的规则,和「量子物理」这门课是两回事。你完全可以先把它当成「一种新的、基于复数向量和矩阵的计算模型」来学,照样能写出正确的量子算法。

路线图

分五站,从「装好环境跑第一行」一路到「著名算法在做什么」:

第一站 · 起步 —— 十分钟装好 Qiskit,跑通第一个量子程序;然后认识量子比特(qubit)——它和经典 bit 差在哪、什么是叠加、怎么用代码把它的「状态」打印出来看;以及量子世界最反直觉的一步:测量。

第二站 · 量子门 —— 操作 qubit 的积木:X、H、Z 这些单比特门(以及它们背后的幺正矩阵),叠加与干涉的玄机,多比特与张量积,最后是量子计算的明星——纠缠(用 CNOT 亲手造一个 Bell 态)。

第三站 · 调试与验证 —— 这是「写给程序员」的核心一站:量子程序怎么 debug(状态向量模拟器、可视化、打印振幅),又怎么 验证 它是对的(和经典结果对比、给线路写断言和单元测试)。

第四站 · 算法 —— 那几个著名算法到底在做什么:预言机(oracle)怎么把一个经典函数编码成量子黑箱,Deutsch-Jozsa 如何「一次查询定性质」,Grover 搜索怎么靠振幅放大拿到 N\sqrt{N} 加速,以及 Shor 凭什么能威胁 RSA(量子傅里叶变换的直觉 + 代码骨架)。

第五站 · 现实与收尾 —— 真机为什么这么难(噪声、退相干、NISQ、纠错),以及一份继续深入的学习路线、资源和常见误区清单。

准备好了,我们先花十分钟,把工具装好、让第一个量子程序在你机器上跑起来:环境搭建:十分钟跑通第一个量子程序。

本页目录