原標題:計算物理學到底是幹什麼的?
本文由微信公眾號環球科學ScientificAmerican授權轉載。
計算物理學家是實驗物理學家還是理論物理學家,還是只是些程式設計師?
我想請大家思考以下這個問題:當你利用計算機來解決某一問題(我將這一過程稱為數值計算)的時候,這是實驗方法還是理論方法呢?或者兩者都不是?這個問題非常普遍。與不同領域的科學家們聊天喝啤酒時就會經常被問到。我覺得這個話題非常重要,有助於幫助每一個人理解科學的本質。
科學的本質
如果我們對科學的基本認識是一致的,那我們可以就計算科學的作用展開討論。首先,讓我來對科學進行簡要的概述:
科學的本質:科學歸根到底就是模型。我們在實際生活中觀察到某現象,並試圖為此建立一個模型。我們可以通過這一模型來預測真實生活中的未來(新)事件。如果這一模型與真實數據並不一致,我們就會對模型進行修正。如此反覆。
好的,但現在我需要定義什麼是模型。這並不太難。模型可以是用於描述現實生活的任何事物(但並非現實生活本身)。下面列舉了一些科學模型:
一塊變形蟲狀的黏土。
當一個滑塊沿桌面滑動時,表示這一過程中能量轉移的圖表。
力會改變物體速度的觀點。
描述兩物體間引力的方程。
描述彈簧中某質點運動的微分方程。
對了,計算空氣阻力存在時棒球運動狀態的電腦程式,這也是模型。
因此,模型是多種多樣的。它不一定是數學模型——不過數學模型是我們在科學領域裡最為常見的。希望對於我的這些論述大家都沒有異議。
下面說到科學本質的最後一點。建立模型的過程是理論物理。而將模型與現實世界進行對比則是實驗物理。科學家可以同時開展理論和實驗物理學的研究——但就大項目(如高能物理)而言,人們傾向於關注某一方面,要麼是建立模型,要麼是測試模型。
計算物理學家
現在,假設我們即將約談一位物理學教授,他擅長為各種各樣的事物(真的可以是任何事)建立計算模型。這位教授的「實驗室」配置有大量的計算機,甚至可能有超級強大的計算機集群。
現在我們與這位計算物理學家開始對話了。以下是將要在對話中提及的一些要點。
•在科學領域,計算機非常重要。
•我們編寫並運行程序,它會輸出數據,然後我們會對這些數據加以分析。
•既然電腦程式輸出數據,這點非常類似於實驗,因為實驗也會產生數據。
•但是電腦程式同時也是理論的,因為它們是我們編寫出來的。
•計算科學將理論與實驗聯繫起來。它有點像第三種科學(另兩種分別是理論科學與實驗科學)。
幾乎每一位計算科學家都會這麼說(然而並非全部)。
電腦程式是一種模型
當你寫完一個程序,它最後的確會返回給你一些數字。而且,在運行程序之前,你的確不知道這些數值到底怎麼樣。但這並不代表這一過程類似於真實實驗。歸根結底,程序是由人而不是現實世界所創造的。當你解一個微分方程(所有人都會認為這是「理論科學」)時,在你得到最終解之前,你同樣不知道結果。沒人會管這一過程叫做實驗。
現在說到我最喜愛的模型了。如果你在彈簧末端放置一個質點並略作偏移,將會發生什麼呢?是的,它會來回做簡諧振動。這裡是建立彈簧上質點的數值模型的一些細節,但是讓我跳到結尾的重點。下圖表示了彈簧上質點運動的兩種解法——一個是通過解微分方程,另一個則是藉助數值模型(只有一些數據點)。
是的,這看起像數據,但又不是數據。如果我讓數值計算中的步長再小一些,可能你根本無法看出這兩種理論解法的差異。下圖的數值模型更好一些。我將其中一個圖略作上移,使得它們不會完全重合在一起。
這兩個模型都給出了相當漂亮的理想結果,因此完全一樣。
我們應該如何看待計算物理學呢?
問問自己,電腦程式到底是實驗的還是理論的呢?它是介於這兩者之間還是完全不同呢?如果你同意我之前關於科學本質的定義:
理論:建立模型。
實驗:測試模型。
那麼電腦程式到底是建立模型還是測試模型呢?是的,正確答案是,電腦程式是科學中「建立模型」的一部分。你仍然要將其與實驗結果相對照,從而測試該模型。如果不用真實數據對其進行測試,它可能跟一個電腦遊戲沒什麼兩樣。
請不要認為我在建議人們不再稱呼他們為計算物理學家。建立數值模型是相當困難的,並需要一套獨特的技能。然而對於專門從事建立數學模型的人們而言,這簡直小菜一碟。我們也有科學家專門研究高能物理實驗與理論固體物理學。但是科學仍然是關於建立模型與測試模型的工作。
事實上,我認為過去從事計算技術的科學家歷經了艱苦的鬥爭。其他科學家認為他們並沒有在從事「科學研究」,他們只是電腦程式員罷了。證明這些計算方法的合理有效性則花費了很多時間。而現在,幾乎每一個領域都在某種程度上依賴數值計算。不再有人覺得計算科學家無足輕重。鑑於以上情況,我建議我們應在導論課程中都引入數值計算方法——現在這些計算工具非常易得,而我們也不再有任何藉口將其排除在課程體系之外。學習物理而不教編程就如同說「我們不打算解任何含有分數的數學題。」就是這樣的,我深以為然。(撰文:瑞特•亞蘭(Rhett Allain) 翻譯:徐麗 審校:張奕林)