四月七日——四月十日 花了些时间看 B-spline 的误差表达,完成了 Lagrange 插值和 B-Spline 的程序。
四月十一日 测试 B-Spline 的程序时候发现实际误差和估计误差有一定的差距。结果是推导的时候忘记了一些项,但是补上后估计不会有本质的区别。
四月十三日 重新推导,修改程序。误差估计比较靠普。被我忽略的
四月十四日 推导了另一种 B-Spline,就是对插值函数求导来计算力的。推导了误差。写程序时发现原先的 B-Spline 程序有 Bug 没有 De 掉,晚上 Debug 成功。
四月十五日——十六日 完成了对插值函数求导算力的程序。以及误差估计程序。但是发现误差的估计不准确,尤其是当 \beta 比较大的时候。一直没有发现错误,郁闷。推导误差的时候发现交叉项(四月十三日提到的被忽略的项)其实不是 0,补上后发现 B-Spline (原先的算力方法) 的误差估计其实非常的好。嗯。
四月十七日 看了P3M的论文。
四月十八日 手工积分了原先使用 MC 方法计算的误差估计的部分。但是要达到 P3M 论文上写的那种程度的话还要很多工作要做。
四月十九日
四月二十一日 把原先长的恐怖的 Charge Loop 重新写了一遍,大大的缩短了程序的长度。并且经过一系列努力,保证了效率上没有损失。心得:计算 mod (%) 非常的慢,可能与其本质上是除法有关。
四月二十二日 坏消息:发现用指针代替直接使用 BSpline8 对计算效率大有影响。。。唉,计算时间上,直接使用 : 引用 : 指针 = 2.4 : 2.6 : 2.7。使用指针的话大概有 10% 的效率损失,唉,心里很矛盾。其实我知道,做的更绝的话,效率还能更高,就是对于4,6,8这些个情况所有的循环都手工展开。当然,Bspline 基函数也不是现在这个写法。所以,要保证灵活性的话还是损失效率吧,心疼啊。。。
四月二十六——二十七 开始写电场力的文档啦,好难写。。。