作者序
編寫這本教材的初衷,是緣於一份“泥菩薩燒窯濟世還願”的情結。
我在母校山東大學念本科時的專業是基礎數學,而“數值分析”這門課程當時是計算數學專業和計算機系開設的課程,並不在我們的學習計畫之內。短短几年後,我被委以重任,要面對工科學生講授“數值分析”課程,於是到北京圖書大廈買了一本《數值分析》教材研讀。但初讀幾遍,居然沒有看懂,登時大驚失色,心想:“身為教師,尚且泥菩薩過江,又如何庇護學生們渡出學海?”於是買來一大堆敘述風格迥異、程度深淺不一的相關參考資料,整個暑假都在埋頭苦讀備課,終於漸入佳境,越讀越順。
回想起來,當時作為一個自認為具備相當基礎的自學者,自學本書卻如此艱難,除了我天資愚笨之外,還有其深層原因。大致想來,有幾點魔障顯而易見:
(1)內容抽象:突出表現在“數值代數”部分,從頭到尾貫穿著矩陣論的內容,還有大量如範數、條件數、約化等堪稱新奇的概念,對於僅僅學過32學時或更少內容的“線性代數”課程的工科同學,要馬上了解其中奧秘談何容易!
(2)理論枯燥:許多數學類書籍共同所處的兩難之境是:如果想寫得言簡意賅,往往卻變得艱深晦澀;而如果寫得通俗易懂,又往往被指為膚淺羅嗦,魚與熊掌非但不可兼得,簡直是一樣也撈不著。有學生怒道:“《數值分析》這個名字,聽起來就讓人頭大如斗,只有超級學霸才有興趣! ”學生是學習的主體,箇中甘苦,冷暖自知,他們的感受,一如我們當年。學問是應當代代相傳的,但學習的痛苦又何必代代相傳?
(3)學用脫節:所謂學以致用,計算機系的同學大多深有體會,寫出一個動畫程式立刻能夠看到計算機螢幕上活靈活現的展示,數學專業的同學卻極少品嘗到如此立竿見影的喜悅與快感。時至今日,MATLAB、MATHEMATICS、MAPLE、LINGO、SPSS等現代數學軟體的普及終於使我們也有了獲得即時滿足感的可能。但有限的學時往往使教師無暇傳授軟體的用法,而通篇以MATLAB程式取代算法構建與分析的安排又不免與數學的本真趣味相悖,又是兩難!
所以我下定決心,我這個泥菩薩先要送進八卦爐里好好煅燒,再來濟世救人,編寫一本好看好懂又好用的教材。化解魔障總要有法寶,我的七種武器中,最重要的如下:
(1)理論推導嚴謹翔實:站在學生的角度想,不以“顯然”為名(或許只有一流的大師才可以不加任何說明地隨手寫出“顯然”二字而面不改色心不跳)替代詳細的證明過程,不以“簡潔”為名潦草略過重要定理的證明和公式的推導,而造成學生的閱讀與理解障礙,不以“參閱”為名把解釋新奇概念的任務踢球給其他參考書,也就是說儘量做到內容的“完備自足”或“自封閉”的。這固然會造成教材篇幅的增加,但比之為學生節省下來的查閱資料的時間和平復他們自學時因無處求助答疑解惑而抓狂的心情,我想還是值得的。
(2)題目形式豐富多樣:書中配置了大量例題,有引例、釋例和算例,引例是引出某種理論的線索或典故,釋例是對定義與概念的簡單實例說明,算例則以普通例題面目出現,以說明理論和算法的具體套用。一切題目設定,都以“面向對象”為原則,讓學生容易看、看得懂、喜歡看,看了之後馬上會用理論解決問題,不會陷入到對高度抽象的數值分析基礎理論的恐懼中以致裹足不前。
(3)注重上機實驗:注重理論結合實際,對算法進行計算機實驗,以MATLAB為平台,配備MATLAB實驗題近100道,包括基本算法的MATLAB實現、問題求解的MATLAB圖像化表達以及數值計算的套用模型等。
(4)起點低、範圍廣、彈性大:只假定高等數學(微積分)和線性代數為先導課程,對於數值分析、數值代數和常微分方程的數值解法這幾大板塊的內容都有覆蓋,能夠滿足32、48、64、72、96學時等不同要求的教學需要,數學專業或非數學專業的本科與研究生、普通理科和工科的師生都可以根據學時和興趣自行決定內容的取捨。
教材的編著歷來講究嚴謹規範、簡潔明快,並不提倡過多體現個人風格,一本小說容易看出是哪位作家的作品(金庸或古龍),但所有的教材卻好像出自同一個人筆下,章節安排、內容框架、行文走字如出一轍。許多高校、科研機構、學術期刊和出版社在徵稿說明中都明確要求“不得使用文學性語言”,這樣的要求對於學術論文和專著無疑是比較適用的,但教材和教師是直接面向學生的,教師授課若是毫無“文學性語言”,這堂課當然也就毫無藝術性可言,怎能指望學生興致盎然?還有人說“講課可以生動一點,但教材必須嚴謹,不能說多餘的話。”但科學與藝術從來就不是一對冤家(所以聯合國有一個統一組織叫“教科文組織”),最偉大的科學家,必然也是最偉大的藝術家,其理論和成果都充滿了無可比擬的藝術性。一本教材若是一句“多餘的話”也不說,所有幫助、說明和引申性的話語只能靠學生和讀者自行琢磨,那就會把大多數渴望入門的自學者輕易地拒之門外。附帶的結果是:這本書也無法暢銷賺錢。
有鑒於此,我在書中有節制地用了一些“文學性語言”,可以看出這本書從課堂講義脫胎成形的痕跡,我想這對於初登講台的教師同行們也會有一定幫助。煮餃子不能在茶壺裡,同理,一本好書也應當是開放和有趣的,而不是“我滿腹經綸,就是不讓你懂”。孔子說“游於藝”,也就是“歡樂地學習、學習中歡樂”,這個聖人所立的最經典的學習原則,在今天為什麼不能重新發揚光大?
內容簡介
書後配有光碟,包含授課課件、課後習題、MATLAB實驗等,方便教師授課和讀者自學。
本書適用對象為數學與套用數學、信息與計算科學以及各理工科非數學專業的本專科生和研究生以及科學與工程計算領域的廣大工作者。
目錄
第1章 誤差分析
1.1引言:數值分析和算法
1.1.1 算法
1.1.2算法的特點
1.1.3 算法的計算量分析
1.1.4 算法的要素和解決對象
1.2 誤差分析
1.2.1 誤差來源
1.2.2 誤差與有效數字
1.2.3 誤差的傳播
1.3 數值穩定性與誤差病態防治
1.3.1 病態問題與條件數
1.3.2 數值穩定性