我现在是一名化学研究生,我觉得有必要参与化学领域的计算化学和编码(一般)。我有一个非常简单的问题:自己开始的最佳方式是什么?我应该先用一本好书来涵盖理论主题吗?我可以/应该立即开始编码吗?(我知道python的基础知识)我主要对python相关的东西感兴趣,因为它在comp中最常见。化学。它是我们部门最常用的一种。如何开始编码?
我认为这可能是最好的提问地点。如果它离题,请向我推荐一个更好的 stackexchange 站点。
期待您的回答!你好
阿明
我现在是一名化学研究生,我觉得有必要参与化学领域的计算化学和编码(一般)。我有一个非常简单的问题:自己开始的最佳方式是什么?我应该先用一本好书来涵盖理论主题吗?我可以/应该立即开始编码吗?(我知道python的基础知识)我主要对python相关的东西感兴趣,因为它在comp中最常见。化学。它是我们部门最常用的一种。如何开始编码?
我认为这可能是最好的提问地点。如果它离题,请向我推荐一个更好的 stackexchange 站点。
期待您的回答!你好
阿明
计算化学是一个广阔的领域,如今随着与化学相关的机器学习应用越来越多,计算化学更是如此。由于你没有具体说明你是什么,我假设你对量子化学感兴趣,因为它可以说是计算化学的主要研究领域。
我建议采用混合方法。通过编写与之相关的小段代码来学习理论并探索基本概念。例如,如果您正在阅读有关分子轨道的 Hückel 理论,您可以编写自己的系统求解器并使用Scipy等 python 包计算轨道能量和系数。
有一本Computational Quantum Chemistry这本书应用这种方法来解释基组理论及其对量子化学的重要性,虽然它应该使用 Excel 来完成,但它可以移植到 python。
当理论开始变得更广泛时,您可以编写小模块,这些小模块可以在更高级概念的后续实现中一起使用。例如,在涉及电子结构计算时,您可以编写一个模块来计算电子的 kinect 能量,另一个模块用于单电子积分,另一个模块用于二电子积分等等。通过这种方式,您可以涵盖您对理论和编码的兴趣,并真正理解您正在研究的概念的应用。
关于量子化学的好参考书,有Modern Quantum Chemistry 和Introduction to Computational Chemistry。两者都非常注重理论,本身并不涉及编程,但涵盖了算法的许多实现细节。Sherrill 教授小组页面有很多关于多种量子化学方法的材料,并且许多伴随这些主题的视频讲座。一些可用的注释与代码实现有关。
最后但同样重要的是,如果您想立即开始编码,您可以寻找基于 python 的开源项目,例如PyQuante、PySCF或Psi4,并通过查看和修改他们的代码来学习。虽然低级代码主要是 C。这样你就可以用量子化学软件的实际 python 实现来补充你的理论研究。
(和你一样,我是一名化学研究生。一段时间以来,我一直在计划启动一个辅助项目来实施 Hartree-Fock SCF 作为一种学习体验。让另一个对计算化学感兴趣的人一起工作会很棒。我的联系人如果您想取得联系,详细信息在我的个人资料中)