梁錦華
(蘇州工業(yè)職業(yè)技術(shù)學(xué)院 江蘇 蘇州:215104)
計算數(shù)學(xué)是當(dāng)代數(shù)學(xué)科學(xué)的重要分支,是伴隨著計算機的出現(xiàn)而迅速發(fā)展并獲得廣泛應(yīng)用的新興交叉學(xué)科,是數(shù)學(xué)及計算機實現(xiàn)其在高科技領(lǐng)域應(yīng)用的必不可少的紐帶和工具。計算與理論和實驗相并列,已經(jīng)成為當(dāng)今世界科學(xué)活動的第三種手段,這是二十世紀(jì)后半葉最重要的科技進步之一[1]。
計算數(shù)學(xué)是關(guān)于計算方法的數(shù)學(xué)理論,即可靠性、復(fù)雜性和收斂性的研究。上世紀(jì)五十年代起,北京大學(xué)和吉林大學(xué)在國內(nèi)率先成立了計算數(shù)學(xué)專業(yè),同時中國科學(xué)院的計算技術(shù)所和一些重點大學(xué)合作開始形成了計算數(shù)學(xué)的研究方向,一大批重視數(shù)學(xué)研究的專家投入到了計算數(shù)學(xué)的研究和教學(xué)之中,典型的有徐獻瑜先生、胡祖織先生、馮康先生。1980年當(dāng)選為中國科學(xué)院學(xué)部委員的馮康院士是中國計算數(shù)學(xué)研究的開拓者,他獨立創(chuàng)造了有限元方法、自然歸化和自然邊界元方法,開辟了辛幾何和辛格式計算方法研究新領(lǐng)域,為組建和指導(dǎo)我國計算數(shù)學(xué)隊伍做出了重大貢獻。在他的指導(dǎo)下,中國科學(xué)院計算技術(shù)研究所承擔(dān)了大量的國防和國民經(jīng)濟各部門的實際計算任務(wù),在天氣數(shù)值預(yù)報、大型水壩應(yīng)力計算、核武器內(nèi)爆分析與計算、中子遷移方程計算、航天運輸工具的高速空氣動力學(xué)計算、大慶油田地下油水驅(qū)動問題、飛機機翼氣動力顫振性計算、汽輪機葉片流場計算、流體力學(xué)穩(wěn)定性計算等方面取得了一系列學(xué)術(shù)上有創(chuàng)見性的理論成果及實際應(yīng)用,并為計算機及其應(yīng)用的普及推廣做出了開創(chuàng)性的成績??v觀計算數(shù)學(xué)的發(fā)展,恰恰可以看出當(dāng)今科學(xué)的變遷與信息的時代特征。計算數(shù)學(xué)從一種純數(shù)學(xué)的計算方法研究漸漸形成了當(dāng)今的科學(xué)與工程計算、計算機數(shù)值實驗與模擬的方法、理論研究的一個復(fù)雜的系統(tǒng)工程。計算數(shù)學(xué)的方法和理論,本身并不是數(shù)學(xué)學(xué)科的產(chǎn)物,它是首先來源于實際計算的需要,而尋求于數(shù)學(xué)方法和手段,形成為計算數(shù)學(xué)。它是以“計算”為目標(biāo)的數(shù)學(xué)方法和理論。隨著計算技術(shù)和計算機科學(xué)及其它學(xué)科需求的發(fā)展,計算數(shù)學(xué)的內(nèi)涵、方法和理論,一直在不斷地發(fā)生著改變。
當(dāng)代計算機科學(xué)的發(fā)展,引起或者正在引起整個科學(xué),從內(nèi)容、方法到研究手段上的改變,也將導(dǎo)致科學(xué)的重新分化和組合。計算數(shù)學(xué)的研究已經(jīng)不能脫離具體的應(yīng)用學(xué)科,因為只有這樣才有生命力,才會有所開拓和創(chuàng)新。我們已經(jīng)看到,計算數(shù)學(xué)方法在許多學(xué)科的應(yīng)用與結(jié)合,擴展了相關(guān)學(xué)科的新形勢,形成了該學(xué)科的新方向。例如計算流體動力學(xué)、計算水動力學(xué)、計算燃燒學(xué)、計算化學(xué)、計算生物學(xué),等等舉不勝舉的新的交叉學(xué)科。同樣地,其它學(xué)科向計算數(shù)學(xué)的滲透,也引起了計算數(shù)學(xué)的相應(yīng)的研究方向,譬如:激波等間斷解的問題,使計算數(shù)學(xué)的弱解方法和理論帶來的新天地;多相界面的運動問題導(dǎo)致“運動界面追蹤的數(shù)值模擬方法”的探索和研究等。所以說今天的計算數(shù)學(xué)和計算科學(xué)更多的是科學(xué)與工程中的數(shù)值計算、數(shù)值逼近、計算機數(shù)值模擬和計算機實驗。它不僅是數(shù)學(xué)理論、手段和方法,它又與科學(xué)和工程計算實際密切關(guān)聯(lián),依托于計算機科學(xué)的軟硬件環(huán)境和發(fā)展的交叉學(xué)科[2]。
計算數(shù)學(xué)的課程內(nèi)容較廣泛,它有“數(shù)值分析(誤差分析、函數(shù)逼近、數(shù)值積分、方程求根和常微分方程數(shù)值解)”,“線性代數(shù)方程數(shù)值解法”,“偏微分方程數(shù)值解法”,“程序設(shè)計”等等,對于非數(shù)學(xué)專業(yè)的學(xué)生來說,要學(xué)這么多的內(nèi)容,筆者認為既無必要,也同培養(yǎng)目標(biāo)所背離。那么對更一般的高職學(xué)校來說,是否有開設(shè)計算數(shù)學(xué)課程的必要呢?現(xiàn)在大多高等學(xué)校都開設(shè)有計算機專業(yè),高職院校也同樣。而對于計算機信息與軟件專業(yè)的學(xué)生來說,有必要在它的數(shù)學(xué)課程中滲透計算數(shù)學(xué)的基礎(chǔ)知識和計算方法的學(xué)習(xí),它不需要面面俱到,也不需要太專業(yè)。這樣所培養(yǎng)出來的計算機畢業(yè)生就會有一技之長,將來就有可能成為一個真正的工程技術(shù)人員。課程涉及的計算數(shù)學(xué)主要是數(shù)值計算方面的運用與編程。所以在高職數(shù)學(xué)學(xué)習(xí)中,必需灌輸和訓(xùn)練以下幾種計算數(shù)學(xué)中的常用思想與方法:
算法是解決或執(zhí)行任務(wù)的過程,它能夠一步一步地在圖靈機或現(xiàn)代的計算機上執(zhí)行。隨著計算機和軟件的普及,算法已成為世界所有大學(xué)計算機最重要的核心課程之一。算法研究的典型問題包括計算機最常用的分類、排序、搜索、遍歷、集合運算等。算法的常用設(shè)計方法包括循環(huán)、遞歸、分治、動態(tài)規(guī)劃、線性規(guī)劃、搜索與枚舉、啟發(fā)式搜索等。算法的主要分析方法是建立與算法相應(yīng)的數(shù)學(xué)公式,來計算該算法所用的運行時間和存儲空間(稱為算法的性能分析)。通過這樣嚴(yán)格的數(shù)學(xué)訓(xùn)練可以獲得一種直覺的對算法性能的估計能力,這種能力是計算機研究人員必須具備的。所以說算法是計算機與數(shù)學(xué)的共同語言和方法,也是數(shù)學(xué)與計算機的溝通橋梁。
迭代法是一種重要的逐次逼近方法。這種方法用某個固定公式反復(fù)校正有關(guān)數(shù)值,使之逐步精細化,最后得到滿足精度要求的結(jié)果。例如用迭代法求非線性方程 f(x)=0問題,首先我們設(shè)法將它化為等價的 x=g(x)形式,該式為隱式的。如果給出根的某個近似值xk將它代入右端,則 x=g(x)立即變成顯式的 xk+1=g(xk),這就是一個固定的迭代公式,這樣,給定的初始近似值 x0出發(fā),按上述的迭代公式可以得到一個數(shù)列 x0,x1,x2,…,xk,….如果這個數(shù)列有極限,則稱迭代公式 xk+1=g(xk)是收斂的,這時數(shù)列{xk}的極限值就是方程 f (x)=0的根。
遞推是數(shù)學(xué)計算的一種特殊方法,它的原理是將一個復(fù)雜的計算化為多次重復(fù)的簡單計算,這種重復(fù)在算法中稱為循環(huán)。其方法運用在多項式求值上就是著名的秦九韶法,通過一次式的反復(fù)計算,由同一公式的多次重復(fù),逐步得出高次多項式的值,這種手段有計算機的實現(xiàn),其優(yōu)點尤為凸現(xiàn),它能起到化繁為簡的作用。
這是計算方法常用的一種逼近手段,它的思路是將非線性問題線性化,即在局部范圍內(nèi)用曲線的切線來替代曲線。如牛頓法解非線性方程 f(x)=0的根 x*。由于 x*的幾何解釋就是表示曲線 y=f (x)與 x軸的交點的橫坐標(biāo)。設(shè) xk是交點x*的某個近似位置,過曲線 y=f(x)上的對應(yīng)點 Pk(xk,f (xk))引切線,并將該切線與 x軸的交點 xk+1作為根 x*新的近似位置。這樣得到的交點 xk+1必滿足切線方程為 y=f(xk)+f′(xk)(x-xk),因而就是牛頓迭代公式的計算結(jié)果,正是由于這個緣故,牛頓法亦稱為切線法。
累加是微積分的思想方法,同時也是計算方法研究的一種重要途徑。用復(fù)化梯形公式:
綜上所述,遞推法、迭代法、切線逼近法、累加法、化繁為簡法在計算方法的研究中常?;ハ酀B透互相聯(lián)系。如牛頓法解非線性方程是以切線逼近法和迭代法的結(jié)合,復(fù)化梯形公式求定積分是累加和切線逼近法的結(jié)合。這些方法都是用極限思想研究不同數(shù)值問題的具體表現(xiàn)。極限思想是從有限中找到無限,從暫時中找到永久,并且使之確定下來的一種運動辯證思想。解非線性方程的牛頓法是一個迭代過程,是極限無限變化過程中的某個階段,一方面計算機快速而有效的計算可以完成這個階段,給出計算結(jié)果的數(shù)值表,另一方面分析此數(shù)值表能夠幫助我們判斷此算法的收斂性和收斂的快慢程度。當(dāng)然我們還可以用極限的思想構(gòu)造其他解非線性方程的數(shù)值解法,并分析每一種數(shù)值方法的實用性和有效性[3]。用計算機解決極限問題,計算機專業(yè)學(xué)生比較一般學(xué)生更能有直觀和深刻的理解,而這里計算數(shù)學(xué)的靈活運用更能加深極限思想的體現(xiàn),計算機快速有效的計算同時能使學(xué)生產(chǎn)生了極大的計算樂趣和信心,幫助他有效地理解和實施教學(xué)中的任務(wù)和目標(biāo)。
由實際問題應(yīng)用有關(guān)科學(xué)知識和數(shù)學(xué)理論建立數(shù)學(xué)模型這一過程,通常是應(yīng)用數(shù)學(xué)的任務(wù);而根據(jù)數(shù)學(xué)模型提出求解的計算方法直到編出程序算出結(jié)果,進而對計算結(jié)果進行分析,這一過程則是計算數(shù)學(xué)的任務(wù)??梢娪嬎銛?shù)學(xué)是一門與計算機使用密切結(jié)合的實用性很強的數(shù)學(xué)課程,它既有純數(shù)學(xué)的高度抽象性與嚴(yán)密科學(xué)性的特點,又有應(yīng)用廣泛性與實際實驗的高度技術(shù)性的特點,其研究對象往往涉及許多學(xué)科等科學(xué)領(lǐng)域。為此,應(yīng)用計算數(shù)學(xué)的知識,可以有效地解決一些數(shù)學(xué)建模問題,從而幫助學(xué)生將數(shù)學(xué)知識學(xué)以致用,甚至可以將數(shù)學(xué)問題計算機化,石鐘慈教授所著的《第三種科學(xué)方法—計算機時代的科學(xué)計算》及張景中所著的《計算機怎樣解幾何題—談?wù)勛詣油评怼范紡挠嬎銛?shù)學(xué)著手進行了詳細的研究和分析。如果結(jié)合科學(xué)和工程的實際,例如流體、波動和工程現(xiàn)象的數(shù)值計算、計算機模擬和計算機實驗,并且輔以計算機的圖象、動畫和虛擬現(xiàn)實的顯示,那么其收效必然更顯著。如今國外已經(jīng)推出了許多優(yōu)秀的商業(yè)應(yīng)用數(shù)值軟件,例如Phoenics、Fluent、Ansys等,可以數(shù)值模擬各種不同的物理、力學(xué)、燃燒、湍流等的復(fù)雜科學(xué)和工程計算問題,而且還有針對各種具體目的的商業(yè)軟件和免費軟件,如網(wǎng)格生成和繪圖軟件等。這些軟件的制作精良,其中采用了許多最先進的數(shù)值方法,最現(xiàn)代的計算機信息技術(shù)和計算機圖形學(xué)方法。同樣,STYR (數(shù)學(xué)統(tǒng)計應(yīng)用軟件)和CUMSS(China University Mathematics and Statistics Software)都是我國開發(fā)的大型綜合數(shù)值軟件庫。相信計算機信息與軟件專業(yè)的高職學(xué)生能運用計算數(shù)學(xué)的這些基本思想和方法,運用在以后的工作實踐之中,理論與實踐相融,一定可以掌握并設(shè)計編寫出更符合解決實際問題的方案,為計算機科學(xué)作出更大的貢獻,開發(fā)出更多有實際意義的應(yīng)用軟件。
[1] 余德浩.有限元、自然邊界元與辛幾何算法[J].高等數(shù)學(xué)研究, 2001,(4):5-7.
[2] 劉儒勛.從在科大的切身感受談計算數(shù)學(xué)的普及、教育和發(fā)展[C].天津:全國科學(xué)計算與信息教育暨普及工作研討會, 2001:3.
[3] 柳景霜.對計算方法教學(xué)的認識[J].內(nèi)蒙古師范大學(xué)學(xué)報:教育科學(xué)版,2002,(5):45-46.