15. 通用量子门#
在之前的章节中,我们使用单量子比特门的集合。因为一些技术原因,在允许误差的量子计算中,我们想要仅仅使用Hadamard门和T门来代替单量子比特门的集合。
下面介绍的方法也可以拓展到其他可能的一对量子门。
最终,我们可以使用 H、T和CNOT 来近似模拟任意量子线路,我们称这一组门的集合为通用量子门。
首先,我们要说明如何使用H和T来近似任意单量子门。回忆之前的章节,任意单量子门都可以用一对旋转门来分解(拓展的Z-Y-Z分解):
需要的门的数目取决于 \(\vec{n}\) 和 \(\vec{m}\) 之间的夹角。
任意 \(2\times 2\) 的矩阵都可以用 Pauli 基分解:
不难写出
这确定了 \(\vec{n} = (\cos{\pi\over 8}, \sin{\pi\over 8}, \cos{\pi\over 8})\) (未单位化) 和 \(\theta_{unit}\) 。
现在我们需要担心能否产生连续的旋转角度。显然如果使用 \((THTH)^k\) 可以产生 \(R_n(k \theta_{unit})\),所以问题是我们能否使用 \(R_n(\theta_{unit})\) 对任意连续值进行逼近?也就是说,对于 \(\forall \beta \in [0, 2\pi)\),找到某个 \(k\in N\),使得下面的关系成立
证明的关键在于,如果 \(\theta_{unit}\) 不是 \(2\pi\) 的有理数倍(\(\theta_{unit} / 2\pi \notin \mathbb{Q}\)),那么可以保证 \(\forall \epsilon > 0\),\(\exists k \in N\),使得
圆上的稠密性#
Fact 1#
如果 \(\alpha \in [0, 1)\) 是无理数,那么点集 \(n\alpha \mod 1\) 全部是不同的。
Proof:
假设存在两个点是相同的,即 \(n \alpha - m\alpha = k\),其中 \(k\in \mathbb{Z}\)。那么我们可以将 \(\alpha\) 写成 \(\alpha = k / (n-m)\),这和 \(\alpha\) 是无理数矛盾。因此点集 \(\lbrace n\alpha \mod 1\rbrace\) 中没有重复元素。
Fact 2#
对于 \(\epsilon > 0\),存在 \(N\in \mathbb{N}\) 使得 \(\epsilon > 1/N\),现在把 \([0, 1]\) 区间分成 \(N\) 份,每份区间长度为 \(1/N\),根据抽屉原理(鸽笼原理),考虑 \(\alpha, 2\alpha, \ldots, N\alpha, (N+1)\alpha\) 模 \(1\) 意义下,一定存在 \(m\alpha \mod 1\) 和 \(n\alpha \mod 1\) 落在同一个区间,即 \(|m-n|\alpha \mod 1 < \epsilon\) 。令 \(r \equiv |n-m|\),注意到 \(r\alpha \mod 1\) 的倍数形成了单位环上等间距的点集,间距小于 \(\epsilon\) 。
现在我们可以对角度进行任意逼近,下面说明旋转算子的误差满足:(证明留作习题)
同理,我们可以定义 \(R_m(\gamma)\)
综上所述,我们可以构造
其中 \(c\) 代表旋转门的数目。
习题#
Exercise 1#
证明: