论文部分内容阅读
理论生物学发展迫切需要一个可信的理论模型和计算工具来模拟生物大分子的结构和功能。量子化学计算有惊人的预测精度和令人信服的理论解释,但受到当今计算能力的限制,在生物大分子体系上的模拟应用仍然面临计算量过大的问题。加快量子化学计算中分子积分的计算速度是本文的工作目标。我们用符号运算的新思路探索计算方法的改进,通过优化、编译分子积分的运算表达式,提出了新的算法,并成功将其运用到我们编写的量子化学计算软件包SymQM中。本文的主要工作包括软件应用和算法理论两个方面:在应用方面,我们实现了一个高效的量子化学计算软件包SymQM,并进行初步的福克矩阵运算测试。在软件设计上,我们采用了分层的方法,控制了整个软件的复杂性,并用动态语言和静态语言混合编程的方法兼顾了SymQM运算上的高效性和扩展上的灵活性。在算法理论研究方面,我们做了以下几点工作:1.我们研究了迄今为止各种分子积分算法的数学实质及其表达式特点,验证了不同算法在数学本质上的等价性。不同双电子积分算法计算过程最终简化后的数学实质相同,不同的是计算顺序和表达形式,而设计最优的分子积分算法的问题亦可转化为对表达式的最优化问题。2.重点分析了目前广泛使用的Gaussian软件中PRISM算法的优点和可改进之处。PRISM算法继承了第三代算法的优点,使用递推公式来计算高角动量的双电子积分,利用了同类型分子积分数据共享的特点,并用穷举计算路径的方法解决了收缩问题。但Gill对PRISM路径的浮点运算数的理论统计并不完备,受到数值运算编程的限制,计算路径的选择也极为有限。3.研究测试了用符号运算优化积分表达式的各种方法,尝试了Simplify、Horner、Optimize和带缓存的MD方法,探索了HRR的使用,最终确定了最佳的算法组合,并将其作为我们实现的SymQM软件包中的算法方案,还进一步比较了SymQM软件包中的新算法和目前广泛使用Gaussian软件中PRISM算法的运算效率。