科學和工程計算基礎
科學和工程計算基礎
11數值試驗題1 線性代數方程組的數值解法 104數值試驗題3
作者:施妙根
ISBN:9787302034841
定價:39元
印次:1-20
裝幀:平裝
印刷日期:2013-11-25
本書內容是科學和工程實際中常用的數值計算方法及其有關的理論,包括線性代數方程組的數值解法、插值和擬合、數值積分和數值微分、常微分方程的數值解法、非線性方程(組)的數值解法、最優化的計算方法以及矩陣特徵值問題的數值方法。各章都有應用例題和數值試驗習題,書末附有Matlab語言簡介。為便於自學,數值計算習題附有答案。
本書注重實際應用和計算能力的訓練,注意基本概念和基本理論,但不追求理論上的完整性。本書的起點低,跨度大,從複習高等數學和線性代數開始,直到某些近代的演演算法,範圍和深度都有較大的彈性。可作為工程碩士研究生以及理工科非計算數學專業大學生、研究生的“數值分析”課程教材,也可供科技工作者參考。
為了實現終生教育和繼續教育,以適應科技飛速進步的需要,這幾年許多企事業單位與高等院校聯合舉辦了研究生課程進修班,並且有日益擴大的趨勢。因為工程實際和科學研究中提出了越來越多的數學問題,而且往往需要求數值解,所以這類理工科進修班大多選擇“數值分析”作為必修的基礎課,但希望編寫新教材,內容比已有的更實用、更注重實際計算能力的培養。
現在高等院校理工科專業已普遍把“數值分析”列入基礎課教學。回顧近二十年來的歷程,計算機軟硬體發展到今天的水平,數值分析課程確實有許多地方需要改進,上述要求也應該適用於在校的多數大學生和研究生。本書就是為此進行的一次嘗試,內容為基本數值計算方法以及有關的理論,包括函數的插值和擬合、線性和非線性方程的數值解法、數值微積分、常微分方程數值解法、最優化方法,以及矩陣特徵值問題的數值方法等,並取名為“科學和工程計算基礎”。使用對象是非計算數學專業的理工科大學生、研究生、以及研究生課程進修班,也可作為科技工作者的參考書。
編寫本書時我們考慮了以下幾個方面:
本課程的宗旨是使大學生和研究生了解數值計算的重要性及其主要內容,掌握基本演演算法並會用計算機實現,懂得構造、評估、選取、甚至改進演演算法的數學理論依據,培養和提高獨立處理數值計算問題的能力。
為了適應各專業的大學生和各類研究生的需要,內容按低起點大跨度的原則選取,範圍和深度都有較大的彈性,教學時可根據學生的實際情況選用。針對在職人員設置了“預備知識”一章,用於比較系統地複習與本課程有關的微積分和線性代數基礎知識,其中包括大學課程中沒有學過但本課程需要的部分內容,如函數序列的一致收斂性、某些特殊矩陣、矩陣和函數的范數等。全書大體分成基本部分和選學部分。基本部分包括基本數學問題的常用演演算法,但考慮到理工科的特點和需要,刪除了不常用的演演算法以及主要用於學科本身的內容。選學部分用於擴大知識面,並增加數學理論的深度,寫成專門的章節或附錄。例如增加了常微分方程邊值問題和最優化問題的一些基本解法,對某些比較難的證明以附註或附錄形式給出。還吸收了少量實用但理論較深的演演算法,如常微分方程兩點邊值問題的有限元方法、非線性方程組的延拓法以及線性規劃的內點演演算法等,對此主要講思路和方法,捨去嚴格證明,目的是引導學生開闊視野。
注意理論聯繫實際,由於本學科可以用數值例子說明演演算法的性質,因此各章節的主要演演算法都配備有數值計算的例題。這裡討論的數學問題都有廣泛的應用背景,每章開頭用實際問題引入,或者在章末設置應用例題一節,供參考。本課程是一門應用性較強的數學基礎課,不同於演演算法手冊或計算機語言課,為了深入掌握和靈活應用演演算法,必須懂得演演算法的理論依據。當然,教學過程應視不同情況區別對待,對象不同和學時的多少,對理論深度的要求也應有所不同。
學習本課程的最終目的,是用計算機解決科學和工程實際中的數值計算問題,因此熟練地在計算機上實現演演算法是必備的基本技能。本書推薦Matlab軟體作為基本計算工具,因為這種語言具有很強的數值計算和作圖功能,有豐富的函數庫,比Fortran和C語言易學易懂,使用更方便。在書末的附錄中對Matlab作了簡要的介紹,內容限於與數值計算有關的部分。本書較複雜的例題都是用Matlab程序計算的。為了提高數值計算和應用計算機的能力,也為了通過實際計算加深對所學內容的理解,各章都給出了用Matlab進行數值試驗的習題。
本書內容比較多,不可能全部講解。各章具有相對的獨立性,但也有一定的聯繫。根據前後引用次序以及對課程的要求,建議選擇如下各種方案。
1. 初學者課內48學時
2. 初學者課內64學時
方案(1):
方案(2):
方案(3):
3. 對於已學過48學時“計算方法”的學生,課內64學時
本書第2, 3, 5, 6章由顧麗珍編寫,其他部分由施妙根編寫。
清華大學研究生院對編寫本書非常重視,自始至終給予大力的支持和鼓勵。在擬訂大綱時,曾進行過多次研討,有關領導和同行們提出了許多建設性的意見。對此,編者表示衷心的感謝。
本書成書時間倉促,作者水平有限,取材和敘述方式等難免有錯漏和不當之處,懇請讀者和專家們指正。
編者
1999年5月
前言 V
第1章 緒論 1
1.1 課程的內容、意義和特點 1
1.2 誤差的基本概念 4
1.2.1 誤差和有效數字 4
1.2.2 函數求值的誤差估計 5
1.2.3 計算機中數的表示和舍入誤差 7
1.3 數值穩定性和病態問題 8
1.3.1 演演算法的穩定性 8
1.3.2 病態數學問題和條件數 10
1.4 演演算法的實現 11
習題1 11
數值試驗題1 12
第2章 預備知識 13
2.1 微積分若干基本概念和基本定理 13
2.1.1 數列極限和函數極限 13
2.1.2 閉區間上的連續函數 14
2.1.3 函數序列的一致收斂性 16
2.1.4 中值定理 17
2.1.5 變參數積分求導公式 19
2.2 常微分方程的基本概念和有關理論 19
2.2.1 基本概念 19
2.2.2 初值問題解的存在唯一性 21
2.2.3 初值問題的適定性、條件 23
2.2.4 兩點邊值問題 25
2.3 線性代數的有關概念和結論 26
2.3.1 線性空間 26
2.3.2 矩陣和矩陣變換 28
2.3.3 初等矩陣 30
2.3.4 矩陣的特徵值和譜半徑 31
2.3.5 Jordan 標準形 34
2.3.6 矩陣特徵值估計——Gerschgorin圓盤定理 37
2.3.7 對角佔優陣 40
2.3.8 對稱正定陣 42
2.3.9 分塊矩陣 44
2.3.10 向量和連續函數的內積 46
2.3.11 向量范數,矩陣范數和連續函數的范數 48
習題2 55
第3章 線性代數方程組的數值解法 61
3.1 引言 61
3.2 高斯消去法 62
3.2.1 順序消去過程和矩陣的LU三角分解 62
3.2.2 可行性和計算量 67
3.2.3 數值穩定性:選主元 68
3.3 矩陣的直接三角分解法 75
3.3.1 三對角形方程組的追趕法 75
3.3.2 對稱正定陣的Cholesky分解法 77
3.4 方程組的性態、條件數 81
3.4.1 病態方程組和矩陣的條件數 81
3.4.2 條件數的應用:方程組誤差估計 85
3.5 大型方程組的迭代方法 87
3.5.1 Jacobi迭代和Gauss-Seidel迭代法 88
3.5.2 迭代法的收斂性和收斂速度 91
3.5.3 Jacobi迭代法和Gauss-Seidel迭代法的收斂性判定 95
3.5.4 分塊迭代法 97
3.6 應用例題 98
評註 102
習題3 104
數值試驗題3 109
第4章 插值和擬合 113
4.1 引言 113
4.1.1 函數的插值 113
4.1.2 離散數據的擬合 114
4.2 插值 116
4.2.1 拉格朗日插值法 116
4.2.2 插值的余項 118
4.2.3 均差和牛頓插值法 119
4.3 分段低次插值 121
4.3.1 龍格現象和分段線性插值 121
4.3.2 分段埃爾米特三次插值 124
4.3.3 附註:二重埃爾米特插值 127
4.4 三次樣條插值 127
4.4.1 樣條插值的背景和定義 127
4.4.2 三次樣條插值的定解條件 128
4.4.3 三彎矩演演算法 130
4.4.4 例題和一致收斂性 133
4.5 正交多項式 136
4.5.1 連續函數空間 136
4.5.2 離散點列上的正交多項式 139
4.5.3 連續區間上的正交多項式 143
4.6 離散數據的曲線擬合 146
4.6.1 線性模型和最小二乘擬合 146
4.6.2 正規方程和解的存在唯一性 147
4.6.3 多項式擬合和例題 151
4.6.4 正規方程的病態和正交多項式擬合 154
評註 158
習題4 158
數值試驗題4 161
第5章 數值積分和數值微分 162
5.1 引言 162
5.2 梯形公式和Simpson求積公式 164
5.2.1 梯形公式和Simpson公式 164
5.2.2 復化梯形公式和復化Simpson公式 167
5.3 Gauss求積公式 170
5.3.1 Gauss點與正交多項式零點的關係 171
5.3.2 常用的Gauss型求積公式 173
5.3.3 Gauss公式的余項 178
5.3.4 Gauss求積公式的數值穩定性和收斂性 179
5.4 數值微分 180
5.4.1 Taylor展開法 181
5.4.2 插值型求導公式 185
5.4.3 三次樣條求導 187
5.5 外推技巧和自適應技術 189
5.5.1 外推原理 189
5.5.2 數值微分的外推演演算法 191
5.5.3 數值積分的Romberg演演算法 191
5.5.4 自動變步長Simpson方法和自適應Simpson方法 193
5.6 應用例題 194
評註 197
習題5 198
數值試驗題5 201
第6章 常微分方程的數值解法 203
6.1 引言 203
6.2 初值問題的數值解法 204
6.2.1 Euler方法及其截斷誤差和階 204
6.2.2 Runge-Kutta法 209
6.2.3 單步法的穩定性 214
6.2.4 線性多步法 217
6.2.5 預測-校正技術和外推技巧 221
6.3 一階常微分方程組的數值方法 225
6.3.1 一階方程組和高階方程 225
6.3.2 剛性方程(組) 227
6.4 邊值問題的打靶法和差分法 233
6.4.1 打靶法 234
6.4.2 差分法 237
6.5* 有限元方法 239
6.5.1 泛函極值和Euler方程 240
6.5.2 兩點邊值問題的變分原理 244
6.5.3 變分近似法——Ritz-Galerkin方法 251
6.5.4 有限元方法 257
評註 266
習題6 267
數值試驗題6 272
第7章 非線性方程和方程組的解法 276
7.1 引言 276
7.1.1 問題的背景和內容概要 276
7.1.2 一元方程的搜索法 277
7.2 一元方程的基本迭代法 279
7.2.1 基本迭代法及其收斂性 279
7.2.2 局部收斂性和收斂階 282
7.2.3 收斂性的改善 286
7.3 一元方程的牛頓迭代法 288
7.3.1 牛頓迭代法及其收斂性 288
7.3.2 重根時的牛頓迭代改善 291
7.3.3 離散牛頓法 293
7.4 非線性方程組的解法 294
7.4.1 不動點迭代法 294
7.4.2 牛頓迭代法 298
7.4.3 擬牛頓法 303
附錄7.1 某些定理的證明 307
附錄7.2 延拓法 310
評註 313
習題7 314
數值試驗題7 317
第8章 最優化方法 318
8.1 引言 318
8.2 線性規劃及其解法 320
8.2.1 標準形式和基本性質 320
8.2.2 單純形演演算法 324
8.2.3 單純形方法的初始化 330
8.2.4 線性規劃的對偶性質 333
8.2.5 對偶變尺度演演算法 336
8.3 無約束最優化方法 342
8.3.1 基本概念和下降法 342
8.3.2 一維搜索 345
8.3.3 下降方向和收斂性 348
8.3.4 非線性最小二乘問題 351
8.4 約束最優化方法 356
8.4.1 引言 356
8.4.2 罰函數法 357
8.4.3 下降法 363
8.4.4 凸二次規劃的內點演演算法 369
評註 374
習題8 375
數值試驗題8 377
第9章 矩陣特徵值問題的數值解法 379
9.1 引 言 379
9.1.1 問題的背景和內容概要 379
9.1 2 特徵值的擾動和條件數 381
9.2 冪法及其變形 382
9.2.1 冪法和外推加速 382
9.2.2 反冪法和原點位移 387
9.2.3 對稱矩陣的修正冪法 390
9.3 矩陣的兩種正交變換 393
9.3.1 平面旋轉變換和鏡面反射變換 393
9.3.2 化矩陣為Hessenberg形 398
9.3.3 矩陣的QR分解 402
9.4 QR演演算法 405
9.4.1 QR演演算法及其收斂性 405
9.4.2 QR演演算法的改善 410
9.4.3 雙步隱式QR演演算法 413
評註 420
習題9 420
數值試驗題9 423
附錄 Matlab語言簡介 424
f.1 Matlab語言的特點 424
f.2 環境窗口、語言結構和編程方法 426
f.3 主要語法和符號 428
f.4 矩陣的操作和運算 433
f.5 庫函數 439
f.6 若干演演算法的Matlab程序 442
參考文獻 454
習題答案 456
索引 468