计算化学公社

标题: 一份优雅(希望是)的计算电子结构积分的python代码示例 [打印本页]

作者
Author:
flyingchow    时间: 2022-4-15 09:15
标题: 一份优雅(希望是)的计算电子结构积分的python代码示例
本帖最后由 flyingchow 于 2022-4-15 09:28 编辑

附件中的文献是Joshua Goings的电子结构积分的python代码详解。

Joshua Goings的blog里面也有很多有意思的内容:
https://joshuagoings.com/
大家有空可以看看。

作者
Author:
scf    时间: 2022-4-15 09:21
为什么会觉得这个代码是优雅的?
作者
Author:
flyingchow    时间: 2022-4-15 09:24
scf 发表于 2022-4-15 09:21
为什么会觉得这个代码是优雅的?

可能是我翻译的问题。
因为他自己说是“a gentle guide”
作者
Author:
flyingchow    时间: 2022-4-15 09:27
scf 发表于 2022-4-15 09:21
为什么会觉得这个代码是优雅的?

优雅的应该不是“代码”,而是“示例”。
我觉得这个示例读起来真地很清楚了。
作者
Author:
scf    时间: 2022-4-15 09:36
本帖最后由 scf 于 2022-4-15 13:35 编辑

我对其中的一些代码写法持谨慎态度,在python里
x += 5 和 x = x + 5不是一个意思
https://stackoverflow.com/questions/4841436/what-exactly-does-do
https://stackoverflow.com/questi ... s?noredirect=1&lq=1
https://stackoverflow.com/questi ... b?noredirect=1&lq=1
虽然有时候+=会快一点,不大喜欢使用导致潜在问题的写法(比如用到mutable type)



作者
Author:
乐平    时间: 2022-4-15 17:06
既然已经 import numpy as np 还出现那么多嵌套的 for 循环, 应该是没有把数组向量化
作者
Author:
flyingchow    时间: 2022-4-15 23:32
乐平 发表于 2022-4-15 17:06
既然已经 import numpy as np 还出现那么多嵌套的 for 循环, 应该是没有把数组向量化

作者显然不是为了写好看的代码,而是为了解释积分的数学过程如何用代码实现。
the code that we have shown is hopefully clear and looks nearly identical to the
mathematical equations they are supposed to represent.
作者
Author:
乐平    时间: 2022-4-15 23:45
flyingchow 发表于 2022-4-15 17:32
作者显然不是为了写好看的代码,而是为了解释积分的数学过程如何用代码实现。
the code that we have sh ...

我说的不是好看,我说的是运行效率
作者
Author:
scf    时间: 2022-4-16 00:15
为了提高运行效率,积分一般是用递归算的。不过递归可能不适合大规模并行,quadrature之类的数值方案可能更适合并行。
作者
Author:
flyingchow    时间: 2022-4-16 00:23
scf 发表于 2022-4-16 00:15
为了提高运行效率,积分一般是用递归算的。不过递归可能不适合大规模并行,quadrature之类的数值方案可能更 ...

github上有人用cython写的附件文档里类似的代码。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3