兩個隊長達成共識後,兩支隊伍迅速進入狀態。
匈牙利隊的數學功底確實紮實。不到一個小時,拉斯洛就帶著他的隊友完成了有限元離散的理論推導,給出了剛度矩陣的構造方法和邊界條件的處理方案。
陸沉接過方案,快速掃了一遍。
推導是正確的。
但有一個小問題——他們選擇的基函式是線性元,精度只有二階。對於這道題的不規則邊界,二階精度可能不夠。
“這裡。”陸沉指向方案中的一段,“邊界附近的梯度變化很陡,線性元會引入較大的離散誤差。如果改用二次元,精度可以提升到三階。”
拉斯洛皺眉思考了一會兒。
“二次元會增加矩陣的頻寬。”他說,“求解代價會上升。”
“上升的代價小於精度損失。”陸沉說,“而且用二次元的話,總自由度可以減少一半,最終矩陣規模反而更小。”
拉斯洛在腦中推演了一遍,然後點頭。
“你是對的。”
他抬頭看著陸沉:“你怎麼想到的?二次元在這種不規則邊界上的優勢,不是一眼能看出來的。”
陸沉沒有回答這個問題。
他只是說:“開始改方案吧。”
實際上,他之所以一眼能看出來,是因為前世的博士論文做的就是有限元方法的自適應網格細化。
那是他熬了無數個通宵換來的直覺。
但在這個時代,在這個賽場,這種直覺看起來就像是魔法。
兩個小時後,新的離散方案完成。
陸沉開始寫程式碼。
林楓和另一名隊員負責測試用例,匈牙利隊的兩名隊員負責文件。
拉斯洛坐在陸沉旁邊,看著他敲鍵盤。
看了十分鐘,拉斯洛忍不住開口:“你的程式碼……是在直接操作暫存器?”
“部分。”
“為什麼不用高階語言?”
“高階語言的編譯器最佳化不夠好。”陸沉的手指沒有停,“BESM-6的Fortran編譯器在處理稀疏矩陣索引時,會生成冗餘的地址計算指令。直接寫彙編可以繞過。”
拉斯洛沉默了一會兒。
“你連編譯器生成的指令都看過了?”
陸沉的手指頓了一瞬。
“……看過。”
拉斯洛沒有再問。
但他的眼神變得更加複雜了。
下午兩點,協同解題的提交截止。
評測結果在大螢幕上逐一公佈。
第一組(蘇聯+東德):執行結果正確,執行時間22.7秒。
這是一個很好的成績。蘇聯隊的演算法功力和東德隊的工程實現配合得相當默契。
第二組(中國+匈牙利):執行結果正確,執行時間——
螢幕上的數字跳動了一下。
9.3秒。
比第一組快了超過一倍。
賽場裡安靜了一瞬,然後響起了掌聲。
這一次,不只是匈牙利隊在歡呼。蘇聯隊和東德隊的隊員也在鼓掌,甚至評委席上,幾位教授也在點頭。
這不是碾壓。
這是合作的結果。
拉斯洛站起來,朝陸沉伸出手。
“我說過了。”他說,“一起贏。”
陸沉握住他的手。
“嗯。”
那一刻,他忽然想到一件事。
前世的拉斯洛·科瓦奇,80年代在匈牙利科學院工作,90年代去了美國。
在這個世界,在這個時間線上,他們提前相遇了。
這段友誼,會改變什麼?
他不知道。
但種子已經種下了。
賽後,周教授把陸沉叫到一邊,表情有些凝重。
“剛才蘇聯科學院那邊又來了人。”他說,“不是索科洛夫。是一個叫謝爾蓋的人。他說是斯捷克洛夫研究所的。”
陸沉等著他繼續。
“他們提出了一個正式的邀請。”周教授說,“邀請你在賽後去列寧格勒,參加一個為期一週的學術交流活動。全部費用由他們承擔。”
“您怎麼回覆的?”
“我說需要向國內請示。”周教授說,“但陸沉,這件事已經不是我能決定的了。”
他頓了頓,壓低聲音:“今天早上,我接到了大使館的電話。國內已經知道你在這裡的表現了。具體怎麼安排,等團體賽全部結束後,會有人跟你談。”
陸沉點頭。
“還有一件事。”周教授猶豫了一下,“索科洛夫,就是那個蘇聯電腦科學家,他託人帶了一句話。”