近期读完了近期利用变分求解线性方程组的三篇文章,总结一下三篇文章的核心。
1.论文
2.论文思想总结
2.1 variational algorithms for linear algebra
中科院一区的一篇文章,论文思想主要是借助变分求解矩阵和向量乘积问题,以及求解线性方程组问题,代价函数的构造参照如下形式:
这样构造代价函数最核心的目的,就是使得使得代价函数最小的量子态就是我们要求解问题的解。代价函数构造具体细节肯定会有所差异,但是形式几乎都是上述形式。
构造好代价函数之后就是H的分解,将H分解为多项式个酉算子的线性组合。代价函数的这种构造形式我们默认为H都是可以分解为多项式个酉算子的线性组合的。
从这篇论文我学到的:
(1)ansatz的选取,找使得代价函数最小量子态的过程,其实就是寻找H基态的过程,但是H的求解空间太大,我们的搜索空间也会很大,这篇文章给出的处理方式是利用含时演化,将H从H(t=0)变换到H(t=T),在H变换的过程中,(n-1)t时候得到的基态是求解nt时H(nt)的基础。
(2)代价函数的计算以及电路的搭建,这里计算代价函数的电路也是可以计算梯度的,相关的电路图还需要见论文,不过这篇文章的电路图感觉不是很直观,但是计算思想很简单。
除此之外,论文还有很多细节,比如 探究条件数、电路深度以及成功概率之间的关系,探究资源消耗和比特数之间的关系;比如如何验证解,我觉得比较有意思的是验证求解线性方程组解,这里是利用条件数和能量值确定了真实解和近似解的保真度。
2.2 variational quantum linear solver
这是2019年挂出来的文章,2020年修改了一版。是上一篇文章的衍生物,不同之处是这篇文章对于求解线性求解方程组问题,代价函数分为全局代价函数和局部代价函数进行了讨论,通过仿真实验探究了两种函数梯度消失的问题。除此之外,计算代价函数的电路也做了相应改变,计算次数减少了一半。上述文章只是简单的分析了n和资源消耗之间的关系,本文针对两种不同的A,分析了条件数、误差以及比特数和time-to-solution之间的关系。除此之外,没有什么创新点,质量不如上一篇,但是比较容易理解,适合新手入手。
2.3 variational quantum linear solver with dynamic ansatz
上文ansatz选取的hardware efficient ansatz,但是这种ansatz是比较普遍的。本文考虑的是aynamic ansatz,其实就是一层一层的搭建ansatz,一直到当前电路层数能够使得代价函数达到收敛。static ansatz 是直接给定ansatz的层数,这篇文章对比了dynamic ansatz 和static ansatz两种不同电路搭建形式下,求解线性方程组所需要的资源消耗,这里的资源=电路层数*比特数,因为我们搭建的电路每一层结构都是固定的,有n个门,所以资源是如此定义。我们将前者称作ADA(Algorithm with dynamic ansatz),后者我们成为ASA(algorithm with static ansatz),通过大量的实验发现,对于大条件数或者大比特数,或者有噪声情况下,ADA的资源消耗要少于ASA,矩阵的稀疏性不影响二者之间的资源消耗.