1. 课程导入与学习环境搭建
量子计算利用量子力学中的叠加与纠缠特性来处理信息,它与经典计算最根本的差别在于:经典比特只能处于 0 或 1,而量子比特(qubit)可以处于 |0⟩ 与 |1⟩ 的叠加态,n 个量子比特可同时承载 2ⁿ 个振幅。这种并行性在因子分解、量子化学模拟、组合优化、量子机器学习等问题上展现出潜在优势。需要强调的是,当前量子计算仍处于含噪声中等规模量子(NISQ)阶段,真实设备存在退相干与门错误,因此本课程的重点不是"立刻获得算力优势",而是掌握用 Qiskit 描述量子线路、在模拟器上验证逻辑、再迁移到真实后端的完整开发能力。
本课程的学习路径可以概括为"概念—线路—模拟—真机—算法"五个层次:先理解量子态与测量,再学会用门搭建线路,用状态向量模拟器观察振幅,用含噪声模拟器评估误差,最后接触真实后端与典型算法。为了让这条路径可执行,第一步是把开发环境搭好。下面这张图展示了本节要完成的环境搭建与首次验证的整体结构:
安装与验证的具体操作
推荐使用虚拟环境隔离依赖,避免与系统 Python 冲突。以 Windows 或 macOS 的终端为例,依次执行:
python -m venv qiskit-env
# Windows
qiskit-env\Scripts\activate
# macOS / Linux
source qiskit-env/bin/activate
python -m pip install --upgrade pip
pip install qiskit qiskit-aer notebook
安装完成后必须做两步验证。第一步确认版本与导入:
python -c "import qiskit; print(qiskit.__version__)"
python -c "from qiskit_aer import AerSimulator; print('aer ok')"
若第一条打印出类似 1.x.x 的版本号、第二条打印 aer ok,说明 SDK 与模拟器均可用。若出现 ModuleNotFoundError,最常见原因是终端未激活虚拟环境,或 pip 与 python 指向不同解释器,可用 python -m pip install ... 统一来源。第二步启动 Notebook:
jupyter notebook
浏览器打开后新建一个 Python 3 笔记本,把下面的完整示例粘贴进第一个单元并运行。这段代码构建 Bell 态、在本地模拟器上采样 1024 次并打印计数:
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
qc = QuantumCircuit(2, 2)
qc.h(0) # 对 q0 施加 Hadamard 门,制造叠加
qc.cx(0, 1) # 以 q0 为控制、q1 为目标施加 CNOT,建立纠缠
qc.measure([0, 1], [0, 1])
sim = AerSimulator()
result = sim.run(qc, shots=1024).result()
counts = result.get_counts()
print(counts)
一次合理的示例输出形如 {'00': 508, '11': 516},即只有 00 与 11 出现且比例接近 1:1。这里要理解其物理含义:H 门把 q0 变为 (|0⟩+|1⟩)/√2,CNOT 随后把 q1 翻转为与 q0 相同的值,于是两比特联合态成为 (|00⟩+|11⟩)/√2,测量时两比特必然一致,因此 01 与 10 在理想模拟器中不应出现。若你看到 01 或 10 有明显计数,优先检查 CNOT 的参数顺序是否写反、测量映射是否与比特索引对应;若 00 与 11 比例偏离较大,可把 shots 提高到 4096 再观察,统计涨落会随采样数增加而收敛。
bell.py 或固定一个 Notebook 文件,作为后续每节的"环境自检脚本"。每次开始新内容前先跑一遍,能快速区分"环境问题"与"逻辑问题"。学习建议与常见误区
初学者容易把量子比特的叠加误解为"同时处于 0 和 1 的确定值",实际上叠加是概率幅的线性组合,只有测量后才坍缩为确定结果;也容易误以为有了纠缠就能瞬间传递信息,实际上纠缠必须配合经典通信才能完成量子隐形传态等协议。本课程后续会逐步引入量子门矩阵、态矢量、密度矩阵与含噪声模型,建议在每节动手运行代码后,主动修改一个参数(例如把 H 门换成 X 门、把 shots 改为 100),观察结果如何变化,这种"改一处、看一次"的习惯比被动阅读更能建立直觉。
环境就绪、首个电路跑通之后,你已经具备继续深入的最小闭环:能写线路、能跑模拟、能读计数、能定位常见错误。接下来将在这个基础上系统学习量子态的描述方式与单比特门的数学形式。