我有一个简单的代码:
读取轨迹文件,该文件可以看作存储在 Y 中的二维数组列表(空间中的位置列表)
然后我想计算每对(scipy.pdist 样式)的 RMSD
我的代码工作正常:
trajectory = read("test.lammpstrj", index="::")
m = len(trajectory)
#.get_positions() return a 2d numpy array
Y = np.array([snapshot.get_positions() for snapshot in trajectory])
b = [np.sqrt(((((Y[i]- Y[j])**2))*3).mean()) for i in range(m) for j in range(i + 1, m)]
Run Code Online (Sandbox Code Playgroud)
此代码使用 python3.10 在 0.86 秒内执行,使用 Julia1.8 同类代码在 0.46 秒内执行
我计划拥有更大的轨迹(~ 200,000 个元素),是否可以使用 python 获得加速,还是应该坚持使用 Julia?