训练学习机用来求解Schrodinger方程

机器学习最近实在是火。各个领域都在用和发展。据说神经网络可以拟合任意的函数。于是,我想起来一个神奇的主意:如果把从势函数求解基态波函数的过程看成一个映射(函数)的话,能不能用机器学习来得到一个这个映射的机器呢?这样,我们就可以用现在已经求解出来的Schrodinger方程的解来训练这个学习机,然后用训练出来的学习机来求解新的Schrodinger方程。我把这个问题叫做:Machine learning-based Schrodinger solver(机器学习Schrodinger方程求解器)。

问题的具体化:以一维量子系统的束缚态问题为例,离散化势函数,得到一个矢量。用数值求解方法得到这个系统的离散化的基态波函数,得到另一个矢量。把这样的输入矢量和输出矢量的对输入合适的学习机,训练学习机。检验这个学习机是否能够求解新的Schrodinger方程。

工作大致思路:如果我们仅仅考虑多项式形式的势函数的话,可以比较简单地得到输入矢量(各阶多项式的系数)。然后我们需要一个Schrodinger方程的数值求解器,在自然边界条件(无穷远处渐近为零)下,来得到训练集的输出矢量。接着需要找到合适的学习机来训练。最后,做检验和泛华。

实际意义:这个从势函数到波函数的映射不是线性的,因此,在数值求解的过程中,除非运用微扰论,已知的方程的解不能重用。也就是说,每一个问题需要数值求解一次微分方程或者转化成矩阵以后计算矩阵的最小本征值对应的本征向量。这样的矩阵通常维数是很高的。更一般地来说,如果学习机的表现能够重用已知的解或者能够降低计算的复杂度,那么,这样的方式可以用在其他的微分方程的求解上,甚至密度泛函理论(DFT)的有效波函数上,这样能够提升量子化学计算等这种需要大量计算多例子系统基态能量和波函数的计算任务的效率。

理论意义:这个所谓的映射实际上比较复杂——实际数值计算是求解这个输入的势函数对应的Schrodinger方程的基态解,那么,这么复杂的映射——不是简单地能够看做对输入的势函数矢量某种操作,还能够通过机器学习来得到吗?更加深刻的问题——实际上,这个方程还有其他激发态的解,如果也能得到的话,这里存在量子态的干涉(叠加)现象,难道机器学习连这个东西都能默默学下来。不过,这个问题暂时不讨论。

相似的问题(竟然已经有人在思考相似的问题):http://www.anl.gov/articles/machine-learning-algorithm-aims-accelerate-materials-discovery
http://www.ipam.ucla.edu/programs/long-programs/understanding-many-particle-systems-with-machine-learning

《训练学习机用来求解Schrodinger方程》有一个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注