也就是 h 门作用在其中一个 qubit 上,对应 state vector 的计算方式。
我们来详细推导H 门作用在其中一个 qubit 上时,对应的 state vector 计算方式。这里会用一个通用的方法,然后举例说明。
1. 通用规则
对于一个 n-qubit 系统,qubit 顺序假设为:
即最高位在左,最低位在右。
Hadamard 门
作用在第 k 个 qubit上(k=0 是最低位,k=n-1 是最高位)时,对应的矩阵是:
但更简单的优化做法是直接在状态向量系数上操作。
2. 基态编号与系数
设总态为:
这里 是 n 位二进制基态,
,其中
。
若 H 作用在第 k 位(最低位 对应 k=0,高位对应更大的 k),那么运算只和该位
有关。
3. 按固定其他位来配对
对于每个固定的其他位(即除了第 k 位外的所有 n-1 个位):
有两个基态:一个是该 k 位为 0,一个是该 k 位为 1。
H 门将这两个基态线性组合。
步骤:
固定除了第 kk 位之外的所有位的二进制值。设这个 n-1 位的二进制数为t,它的取值范围是
。
原来的两个基态是:
这里
表示将 t 的二进制位插入到第 k 位之外的位,而第 k 位是
。
设这两个基态的原系数分别是:
H 门的作用是:
因此新系数:
对所有 t 做这个变换。
注意:所有其他位保持不变,只是该位的 0 和 1 状态被 H 混合。
4. 如何快速找到 \alphaα 和 \betaβ 对应的索引
设总的态向量长度为,基态编号 x=0 到 N-1。
第 k 位的二进制权重是。
若 x 的第 k 位为 0,则 x 与
是同一个 t 对应的两个基态(
与
)。
若 x 的第 k 位为 1,则 x 与
配对。
更简单的做法:
取 x,计算(即
。
那么配对的两个 x 是 t 和。
我们只需对 t 中第 k 位为 0 的那些 t 进行操作(避免重复计算)。
算法步骤(用于人工计算):
对于每个 t 从 0 到
,但第 k 位为 0。
设
,
。
,
。
计算:
对其他所有 t 重复。
5. 举例:3-qubit,H 在中间位 (k=1)
原态:
这里,中间位是
,对应
,权重
。
配对的 t:固定和
,变
。
列出配对:
t 的二进制:设第 1 位为 0,其他位任意。
t=0b000 (0) → x₀=0b000 (0), x₁=0b010 (2)
对应基:|000⟩ 与 |010⟩
t=0b001 (1) → x₀=0b001 (1), x₁=0b011 (3)
|001⟩ 与 |011⟩
t=0b100 (4) → x₀=0b100 (4), x₁=0b110 (6)
|100⟩ 与 |110⟩
t=0b101 (5) → x₀=0b101 (5), x₁=0b111 (7)
|101⟩ 与 |111⟩
变换:
对每个配对:
这样得到全部 8 个新系数。
6. 举例:具体数值例子
原态,则
,其余 0。
配对 1: t=0 → α=0, β=1 → c'₀=(0+1)/√2 = 1/√2, c'₂=(0-1)/√2 = -1/√2
配对 2: t=1 → α=0, β=0 → c'₁=0, c'₃=0
配对 3: t=4 → α=0, β=0 → c'₄=0, c'₆=0
配对 4: t=5 → α=0, β=0 → c'₅=0, c'₇=0
新态:
7. H 在不同位置的区别
如果 H 在最低位 (k=0),配对是 x 与 x+1(奇偶相邻)。
如果 H 在最高位 (k=n-1),配对是 x 与
(前半与后半对应位置)。
例如 3-qubit,H 在(k=2):
配对:
t 的第 2 位为 0:t=0,1,2,3
即 (0,4), (1,5), (2,6), (3,7) 配对。
总结公式:
设 H 在第 k 位,对每个 t 满足 t 的第 k 位为 0,
令,
则:
其他系数由这些覆盖全部。