先搞懂Qubit是什么——和经典比特的核心区别
要学Qubit操作,第一步得把「量子比特」和你熟悉的「经典比特」掰清楚——这俩压根不是同一维度的东西。用表格对比最直观:

维度 | 经典比特(Bit) | Qubit(量子比特) |
---|---|---|
状态数量 | 2种(非0即1) | 无限种(单位球面上的点) |
计算逻辑 | 串行/并行处理 | 叠加态并行计算 |
测量结果 | 100%确定 | 概率性(塌缩到0或1) |
扩展能力 | 线性增长(n比特→2ⁿ状态) | 指数级增长(n Qubit→2ⁿ状态) |
举个例子:1个经典比特只能表示0或1,但1个Qubit能同时表示「0和1的线性组合」——这就是量子计算的核心优势:用叠加态实现并行计算。
但要注意:Qubit的「无限状态」不是随便来的——它必须满足「归一化条件」:所有状态的概率之和为1。比如Qubit的状态可以用数学表达式写为:
|ψ⟩ = α|0⟩ + β|1⟩
其中α和β是「概率幅」(复数),|α|²是测量到0的概率,|β|²是测量到1的概率,且|α|² + |β|² = 1。
Qubit的核心状态:叠加态与纠缠态怎么理解
Qubit的威力来自两个「反经典」特性:叠加态和纠缠态,这也是操控Qubit的基础。
1. 叠加态:不是「同时是0和1」,而是「同时处于0和1的线性组合」
很多人会误解叠加态是「Qubit同时是0和1」——错!正确的理解是:Qubit处于「0和1的概率叠加」,只有当你测量它时,状态才会「塌缩」成确定的0或1。
比如,当你给一个初始为|0⟩的Qubit施加「Hadamard门」(后面会讲),它会变成:
|ψ⟩ = (|0⟩ + |1⟩)/√2
这时测量它,得到0和1的概率各是50%(因为|1/√2|²=0.5)。
2. 纠缠态:两个Qubit的「超距关联」
纠缠态是多个Qubit之间的「非局域关联」——哪怕两个Qubit相隔光年,只要处于纠缠态,测量其中一个的状态,就能瞬间知道另一个的状态(注意:这不是超光速通信,因为结果是随机的)。
最经典的纠缠态是「Bell态」,比如:
|Φ⁺⟩ = (|00⟩ + |11⟩)/√2
这个状态表示:两个Qubit要么同时是0,要么同时是1,概率各50%。如果测量第一个Qubit得到0,第二个必然是0;如果第一个是1,第二个必然是1——完全关联。
纠缠态是量子计算的「燃料」——比如量子并行计算、量子加密(如BB84协议)都依赖它。
操控Qubit的关键工具:量子门有哪些
和经典计算用「逻辑门」(与、或、非)操控比特一样,量子计算用量子门(Quantum Gate)操控Qubit。量子门是「幺正变换」(保持概率归一化),可以用矩阵表示。
下面是入门必须掌握的4种量子门:
1. 单量子门:操控1个Qubit的状态
- Hadamard门(H门):把Qubit从「确定态」变成「叠加态」,矩阵是:
H = [[1/√2, 1/√2], [1/√2, -1/√2]]
作用:H|0⟩ → (|0⟩+|1⟩)/√2;H|1⟩ → (|0⟩-|1⟩)/√2。 - Pauli-X门(X门):相当于经典的「非门」,翻转Qubit状态,矩阵是:
X = [[0, 1], [1, 0]]
作用:X|0⟩→|1⟩;X|1⟩→|0⟩。 - Pauli-Z门(Z门):改变概率幅的相位,矩阵是:
Z = [[1, 0], [0, -1]]
作用:Z|0⟩→|0⟩;Z|1⟩→-|1⟩(不改变概率,但会影响后续叠加态)。
2. 双量子门:操控多个Qubit的关联
最常用的双量子门是CNOT门(控制非门)——它能让两个Qubit产生「纠缠」。
CNOT门的规则是:当控制Qubit为1时,翻转目标Qubit的状态。
它的矩阵是:
CNOT = [[1,0,0,0], [0,1,0,0], [0,0,0,1], [0,0,1,0]]
举个例子:如果控制Qubit是|1⟩,目标Qubit是|0⟩,CNOT门作用后会变成|11⟩;如果控制Qubit是|0⟩,目标Qubit不变。
实战:用Qiskit写第一个Qubit操作代码
说了这么多理论,不如直接写代码——用IBM的Qiskit(最流行的量子计算框架),5步实现「让Qubit进入叠加态并测量」。
步骤1:安装Qiskit
打开终端,输入:
pip install qiskit qiskit-ibmq-provider matplotlib
步骤2:写代码(注释超详细)
# 1. 导入必要的库
from qiskit import QuantumCircuit, Aer, execute # 量子电路、模拟器、执行器
from qiskit.visualization import plot_histogram # 可视化结果
# 2. 创建量子电路:1个Qubit(量子比特) + 1个经典比特(存测量结果)
qc = QuantumCircuit(1, 1) # 参数:Qubit数量,经典比特数量
# 3. 添加Hadamard门:让Qubit从|0⟩变成叠加态
qc.h(0) # 0是Qubit的索引(第一个Qubit)
# 4. 测量Qubit:把结果存到经典比特0
qc.measure(0, 0) # 参数:Qubit索引,经典比特索引
# 5. 用模拟器运行电路(不用真量子计算机)
simulator = Aer.get_backend('qasm_simulator') # 选模拟器
job = execute(qc, simulator, shots=1024) # shots=测量次数(越多越准)
result = job.result()
counts = result.get_counts(qc) # 得到测量结果的计数
# 6. 可视化结果(会弹出直方图)
plot_histogram(counts)
步骤3:看结果
运行代码后,你会看到一个直方图:0和1的计数各约500次(因为1024次测量,50%概率)。这说明Qubit确实处于叠加态!
额外技巧:画量子电路 diagram
如果你想看到电路的结构,加一行代码:
qc.draw('mpl') # 用matplotlib画电路
会得到一个清晰的 diagram:Hadamard门(H)接在Qubit0上,然后连到测量门(Measure)。
常见误区:别把经典思维套在Qubit上
学Qubit操作最容易犯的错误,就是用经典比特的逻辑想量子问题——以下3个误区一定要避开:
误区1:「Qubit可以同时存储0和1」
错!Qubit的「叠加态」是「同时处于0和1的概率组合」,不是「同时存储两个值」。测量后它会塌缩成一个确定值,之前的叠加态就没了。
误区2:「测量Qubit能得到所有状态」
错!不管Qubit处于多少种叠加态,测量结果永远只有0或1——概率幅决定了结果的可能性,但结果本身是二元的。
误区3:「纠缠态是超光速通信」
错!纠缠态的「超距关联」是概率性的——你无法通过测量纠缠态传递有用信息(比如文字、图片),因为测量结果是随机的。这完全符合相对论(没有超光速)。
最后提醒:量子计算还在发展阶段,目前最成熟的应用是「模拟分子结构」「优化问题」(比如旅行商问题),但要真正实现「量子霸权」,还需要更多的Qubit(比如谷歌的Sycamore有53个Qubit,但误差还很大)。
原创文章,作者:,如若转载,请注明出处:https://zube.cn/archives/332