量子编程(Maksim Dimitrijev) Lecture 2

在上一次讲座中,简单地介绍了量子电路的基本概念和量子编程的方法。这一次课将分析几个量子电路的例子和代码实现,包括:

  • 2 位半加器
  • 量子近似优化算法(Quantum Approximation Optimization Algorithm, QAOA),以 Ising 问题为例
  • Grover 搜索

2 位半加器的实现

2 位半加器的功能如下:

为了更好地理解其功能,我们给出几个例子:

尤其值得关注的是第二行例子,我们似乎“并行地”做了加法,这种并行性有赖于量子电路的线性性,即对于电路 $U$,有

其电路实现已经在上一讲的例子中给出了,如下图:

从左往右,第一部分为初始化模块,这个模块通过一系列门电路将全 0 的初始值转化为我们所需要的值。

第二部分为量子傅里叶变换(Quantum Fourier Transform, QFT)模块,这个模块将信息从寄存器值转移到指数上来。我们不妨首先计算一下作用于 $q_2$ 和 $q_3$ 上的变换矩阵:

未完待续