看到两位的讨论收获很多.
@
Hlianbobo 看到你提了一下想了解 “以数学为工具的人在多大程度上可以依靠这些数学软件”, 不知道我能否给你提供一些参考.
我是在做计算神经学的研究, 需要用一些数学工具来模拟神经系统的活动, 以及给出与生物体外部行为一致的反应. 对我来说可能在理解论文的时候会借助 Mathematica 来推导数学过程, 但是为了避免你提到的 “沉默错误” (也确实因为我的数学水平实在不高), 实现的时候会更倾向于借助比较成熟的工具, 利用其中的各种前置检查来避免.
举个例子来说, 我上个月尝试模仿一篇论文, 写一个基于贝叶斯网络的模拟系统. 通常来讲领域内大家常常倾向直接通过一系列 grid 直接乘出 joint distribution 来得到结果, 但按我的习惯我选择了 PyMC3 这个库来实现. 恰好 PyMC3 的检查频繁报错, 让我花了不少时间, 才发现了我的模型当中某个参数一定要设置成原作者的一个非标准的参数才能跑出结果. 但是如果按照领域内大部分人编写程序的方式, 我恐怕是没办法发现这一点的, 从而可能只估计出一个局部最优解或者错误解, 并且无法发现原作者的参数设置的特殊性.
所以我的经验是在使用涉及到数学工具时, 尽量使用完备成熟的, 抽象水平更高的工具, 让自己把注意力集中在研究问题上会更好一些. 不知道我的经验是否有参考价值.