物理用不用计算机,计算物理学到底是干什么的?

原标题:计算物理学到底是干什么的?

本文由微信公众号环球科学ScientificAmerican授权转载。

计算物理学家是实验物理学家还是理论物理学家,还是只是些程序员?

1729a29b74fff69581fdb990770ce2f3.jpg

我想请大家思考以下这个问题:当你利用计算机来解决某一问题(我将这一过程称为数值计算)的时候,这是实验方法还是理论方法呢?或者两者都不是?这个问题非常普遍。与不同领域的科学家们聊天喝啤酒时就会经常被问到。我觉得这个话题非常重要,有助于帮助每一个人理解科学的本质。

科学的本质

如果我们对科学的基本认识是一致的,那我们可以就计算科学的作用展开讨论。首先,让我来对科学进行简要的概述:

科学的本质:科学归根到底就是模型。我们在实际生活中观察到某现象,并试图为此建立一个模型。我们可以通过这一模型来预测真实生活中的未来(新)事件。如果这一模型与真实数据并不一致,我们就会对模型进行修正。如此反复。

好的,但现在我需要定义什么是模型。这并不太难。模型可以是用于描述现实生活的任何事物(但并非现实生活本身)。下面列举了一些科学模型:

一块变形虫状的黏土。

当一个滑块沿桌面滑动时,表示这一过程中能量转移的图表。

力会改变物体速度的观点。

描述两物体间引力的方程。

描述弹簧中某质点运动的微分方程。

对了,计算空气阻力存在时棒球运动状态的计算机程序,这也是模型。

因此,模型是多种多样的。它不一定是数学模型——不过数学模型是我们在科学领域里最为常见的。希望对于我的这些论述大家都没有异议。

下面说到科学本质的最后一点。建立模型的过程是理论物理。而将模型与现实世界进行对比则是实验物理。科学家可以同时开展理论和实验物理学的研究——但就大项目(如高能物理)而言,人们倾向于关注某一方面,要么是建立模型,要么是测试模型。

计算物理学家

现在,假设我们即将约谈一位物理学教授,他擅长为各种各样的事物(真的可以是任何事)建立计算模型。这位教授的“实验室”配置有大量的计算机,甚至可能有超级强大的计算机集群。

现在我们与这位计算物理学家开始对话了。以下是将要在对话中提及的一些要点。

•在科学领域,计算机非常重要。

•我们编写并运行程序,它会输出数据,然后我们会对这些数据加以分析。

•既然计算机程序输出数据,这点非常类似于实验,因为实验也会产生数据。

•但是计算机程序同时也是理论的,因为它们是我们编写出来的。

•计算科学将理论与实验联系起来。它有点像第三种科学(另两种分别是理论科学与实验科学)。

几乎每一位计算科学家都会这么说(然而并非全部)。

计算机程序是一种模型

当你写完一个程序,它最后的确会返回给你一些数字。而且,在运行程序之前,你的确不知道这些数值到底怎么样。但这并不代表这一过程类似于真实实验。归根结底,程序是由人而不是现实世界所创造的。当你解一个微分方程(所有人都会认为这是“理论科学”)时,在你得到最终解之前,你同样不知道结果。没人会管这一过程叫做实验。

现在说到我最喜爱的模型了。如果你在弹簧末端放置一个质点并略作偏移,将会发生什么呢?是的,它会来回做简谐振动。这里是建立弹簧上质点的数值模型的一些细节,但是让我跳到结尾的重点。下图表示了弹簧上质点运动的两种解法——一个是通过解微分方程,另一个则是借助数值模型(只有一些数据点)。

643d3b6726b8c79de03d8b197b8fd46d.jpg

是的,这看起像数据,但又不是数据。如果我让数值计算中的步长再小一些,可能你根本无法看出这两种理论解法的差异。下图的数值模型更好一些。我将其中一个图略作上移,使得它们不会完全重合在一起。

92d103ae00c0ef40088a5a9666159c8d.jpg

这两个模型都给出了相当漂亮的理想结果,因此完全一样。

我们应该如何看待计算物理学呢?

问问自己,计算机程序到底是实验的还是理论的呢?它是介于这两者之间还是完全不同呢?如果你同意我之前关于科学本质的定义:

理论:建立模型。

实验:测试模型。

那么计算机程序到底是建立模型还是测试模型呢?是的,正确答案是,计算机程序是科学中“建立模型”的一部分。你仍然要将其与实验结果相对照,从而测试该模型。如果不用真实数据对其进行测试,它可能跟一个电脑游戏没什么两样。

请不要认为我在建议人们不再称呼他们为计算物理学家。建立数值模型是相当困难的,并需要一套独特的技能。然而对于专门从事建立数学模型的人们而言,这简直小菜一碟。我们也有科学家专门研究高能物理实验与理论固体物理学。但是科学仍然是关于建立模型与测试模型的工作。

事实上,我认为过去从事计算技术的科学家历经了艰苦的斗争。其他科学家认为他们并没有在从事“科学研究”,他们只是计算机程序员罢了。证明这些计算方法的合理有效性则花费了很多时间。而现在,几乎每一个领域都在某种程度上依赖数值计算。不再有人觉得计算科学家无足轻重。鉴于以上情况,我建议我们应在导论课程中都引入数值计算方法——现在这些计算工具非常易得,而我们也不再有任何借口将其排除在课程体系之外。学习物理而不教编程就如同说“我们不打算解任何含有分数的数学题。”就是这样的,我深以为然。(撰文:瑞特•亚兰(Rhett Allain)  翻译:徐丽  审校:张奕林)

9c8ace2cef9d0c4a4b408850659e4d14.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值