使用社交账号登陆

当前位置: 主页 > 前沿 > 天文 • 物理

计算物理学到底是干什么的?

时间: 2015年11月19日 | 作者: admin | 来源: 环球科学(huanqiukexue.com)
计算物理学家是实验物理学家还是理论物理学家,还是只是些程序员?

我想请大家思考以下这个问题:当你利用计算机来解决某一问题(我将这一过程称为数值计算)的时候,这是实验方法还是理论方法呢?或者两者都不是?这个问题非常普遍。与不同领域的科学家们聊天喝啤酒时就会经常被问到。我觉得这个话题非常重要,有助于帮助每一个人理解科学的本质。
 
科学的本质
 
如果我们对科学的基本认识是一致的,那我们可以就计算科学的作用展开讨论。首先,让我来对科学进行简要的概述:
 
科学的本质:科学归根到底就是模型。我们在实际生活中观察到某现象,并试图为此建立一个模型。我们可以通过这一模型来预测真实生活中的未来(新)事件。如果这一模型与真实数据并不一致,我们就会对模型进行修正。如此反复。
 
好的,但现在我需要定义什么是模型。这并不太难。模型可以是用于描述现实生活的任何事物(但并非现实生活本身)。下面列举了一些科学模型:
一块变形虫状的黏土。
当一个滑块沿桌面滑动时,表示这一过程中能量转移的图表。
力会改变物体速度的观点。
描述两物体间引力的方程。
描述弹簧中某质点运动的微分方程。
对了,计算空气阻力存在时棒球运动状态的计算机程序,这也是模型。
 
因此,模型是多种多样的。它不一定是数学模型——不过数学模型是我们在科学领域里最为常见的。希望对于我的这些论述大家都没有异议。
 
下面说到科学本质的最后一点。建立模型的过程是理论物理。而将模型与现实世界进行对比则是实验物理。科学家可以同时开展理论和实验物理学的研究——但就大项目(如高能物理)而言,人们倾向于关注某一方面,要么是建立模型,要么是测试模型。
 
计算物理学家
 
现在,假设我们即将约谈一位物理学教授,他擅长为各种各样的事物(真的可以是任何事)建立计算模型。这位教授的“实验室”配置有大量的计算机,甚至可能有超级强大的计算机集群。
 
现在我们与这位计算物理学家开始对话了。以下是将要在对话中提及的一些要点。
•在科学领域,计算机非常重要。
•我们编写并运行程序,它会输出数据,然后我们会对这些数据加以分析。
•既然计算机程序输出数据,这点非常类似于实验,因为实验也会产生数据。
•但是计算机程序同时也是理论的,因为它们是我们编写出来的。
•计算科学将理论与实验联系起来。它有点像第三种科学(另两种分别是理论科学与实验科学)。
 
几乎每一位计算科学家都会这么说(然而并非全部)。
 
计算机程序是一种模型
 
当你写完一个程序,它最后的确会返回给你一些数字。而且,在运行程序之前,你的确不知道这些数值到底怎么样。但这并不代表这一过程类似于真实实验。归根结底,程序是由人而不是现实世界所创造的。当你解一个微分方程(所有人都会认为这是“理论科学”)时,在你得到最终解之前,你同样不知道结果。没人会管这一过程叫做实验。
 
现在说到我最喜爱的模型了。如果你在弹簧末端放置一个质点并略作偏移,将会发生什么呢?是的,它会来回做简谐振动。这里是建立弹簧上质点的数值模型的一些细节,但是让我跳到结尾的重点。下图表示了弹簧上质点运动的两种解法——一个是通过解微分方程,另一个则是借助数值模型(只有一些数据点)。
是的,这看起像数据,但又不是数据。如果我让数值计算中的步长再小一些,可能你根本无法看出这两种理论解法的差异。下图的数值模型更好一些。我将其中一个图略作上移,使得它们不会完全重合在一起。
这两个模型都给出了相当漂亮的理想结果,因此完全一样。
 
我们应该如何看待计算物理学呢?
 
问问自己,计算机程序到底是实验的还是理论的呢?它是介于这两者之间还是完全不同呢?如果你同意我之前关于科学本质的定义:
理论:建立模型。
实验:测试模型。
 
那么计算机程序到底是建立模型还是测试模型呢?是的,正确答案是,计算机程序是科学中“建立模型”的一部分。你仍然要将其与实验结果相对照,从而测试该模型。如果不用真实数据对其进行测试,它可能跟一个电脑游戏没什么两样。
请不要认为我在建议人们不再称呼他们为计算物理学家。建立数值模型是相当困难的,并需要一套独特的技能。然而对于专门从事建立数学模型的人们而言,这简直小菜一碟。我们也有科学家专门研究高能物理实验与理论固体物理学。但是科学仍然是关于建立模型与测试模型的工作。
 
事实上,我认为过去从事计算技术的科学家历经了艰苦的斗争。其他科学家认为他们并没有在从事“科学研究”,他们只是计算机程序员罢了。证明这些计算方法的合理有效性则花费了很多时间。而现在,几乎每一个领域都在某种程度上依赖数值计算。不再有人觉得计算科学家无足轻重。鉴于以上情况,我建议我们应在导论课程中都引入数值计算方法——现在这些计算工具非常易得,而我们也不再有任何借口将其排除在课程体系之外。学习物理而不教编程就如同说“我们不打算解任何含有分数的数学题。”就是这样的,我深以为然。(撰文:瑞特•亚兰(Rhett Allain)  翻译:徐丽  审校:张奕林)
 
原文链接:
http://www.wired.com/2015/11/what-computational-physics-is-really-about/