子曰:“知之者不如好之者,好之者不如乐之者。”分享 http://blog.sciencenet.cn/u/sqdai 上海大学教授

博文

学习漫谈(97):做科学计算要100%正确,99%都不行 精选

已有 8475 次阅读 2013-9-8 05:33 |个人分类:寄语学子|系统分类:科研笔记| 循序渐进, 追求完美, 扎实基础

近日,与一位计算数学博士出身的朋友进行了一场关于如何做学问的谈话,内容精彩,有一种想把其中要点讲出来的强烈愿望。他的关键性的话是:“做科学计算工作要100%正确,99%都不行。”这句话貌似平常,却有深意。

经常遇到这样的情况:一些做学问的年轻朋友不时遇到研究工作的“瓶颈”或“关卡”,按原来思路怎么也做不下去了,左也不是,右也不是,找不到“突围”的出路。由于现在数值计算是理工科研究的主要方法,最常见的情况是:按所采用的程序经过左冲右突,就是没法达到预期的效果。

按我的这位朋友的意见,主要原因是原来设计的计算路线的正确性出了问题;有时问题“隐藏”得很深,不易察觉。他举了自己亲历的一件事。有一次,他向一家计算数学的国际主流刊物投了一篇稿件。由于结果相当漂亮,得到了审稿人的首肯,不过有一位审稿人提出建议:对计算程序的收敛精度做进一步分析,以保证计算结果的正确性。一开始,他自信满满,但一经深入分析,却大吃一惊:看来正确的程序隐藏着一个“bug”,因此,计算结果并非百分之百地正确,在有些情况下,收敛精度不能得到充分保证。于是,他花了几周时间来应对这个局面,终于找到了一个更好的途径,不仅解决了所发现的问题,而且原来的计算得到了改善,结果更加漂亮了。因此,他感慨地说了文题中的话。

有数值计算经验的人都知道,计算程序中常有bug,有时明显,但多半不会像“秃子头上的虱子”那么明显,要费点功夫才能把它抓出来。从此,他在计算时就更加步步为营,努力追求每一步的100%地正确;一旦出现问题,就“逆流而上”,一步一步地去抓失算之处(有时干脆就是bug);抓住之后,就采取合适的应对措施。这样,就不至于糊里糊涂地犯错误了。他把这个办法也教给了他的学生,在实践中的确有效。

我对这位朋友说,你的这一说法和做法与我半年前在香港发布的两篇博文不谋而合(见链接中的[1,2]),那里指出,要学会聪明地犯错误,而诀窍是:“架上安全网”,也就是说,“把错误的机会分成某种金字塔结构的阶层,在每一步都架上安全网。循序渐进,不要弄乱运作好的部分,然后伺机冒险。也就是说,好好计划,让你在每一步都可以检查错误并且采取补救措施。然后你就可以大胆去执行,做好准备去接受机会渺茫的成功并得体地处理可能的失败。”他的这个做法为这些说法提供了有力的印证。顺便说一下,这两篇博文近日被《中国计算机学会通讯》转载,这份《通讯》是我见到过的办得最好的学会通讯。

我的朋友点头称是,他说,这一途径在对付bug时特别有效。要抓住bug,还需要有很好的学术根底,亦即扎实的数理基础。我完全同意他的想法。如果没有很好的解析研究的功力,就不善于遴选解决自己的问题的方法,就不会了解所选用方法的适用性,甚至犯错误后不知道是怎么犯错误的,最后有可能落入林家翘先生所指出的“Garbage ingarbage out”的陷阱(见链接中的[3])。

总而言之,这席谈话告诉我们:

——做科学计算要追求完美,追求百分之百的正确;

——要学会正确地犯错误,步步为营,随时架上“安全网”;

——要为做科学计算奠定更加扎实的知识基础。

愿与朋友们共勉之。

 

写于201398日晨

 

【链接】相关博文

1、学习漫谈(87):学会聪明地犯错误

http://blog.sciencenet.cn/blog-330732-665620.html

2、学习漫谈(88):如何聪明地犯错误

http://blog.sciencenet.cn/blog-330732-669501.html

3林家翘先生提醒青年学者:千万不要Garbage ingarbage out

http://blog.sciencenet.cn/blog-330732-359108.html

 



https://blog.sciencenet.cn/blog-330732-723122.html

上一篇:学术动态-7:薪火相传 后继有人—记第六届力学史与方法论研讨会
下一篇:大爱无疆 大义冲天——多媒体音乐剧《爱在天际》观后感
收藏 IP: 218.79.46.*| 热度|

12 褚昭明 田云川 喻海良 孙学军 张乾兵 李宇斌 牛文鑫 董焱章 韦玉程 clp286 biofans rosejump

该博文允许注册用户评论 请点击登录 评论 (23 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-25 07:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部