本書介紹數(shù)值計算方法的基本原理、基礎(chǔ)知識,并通過講解函數(shù)插值、數(shù)值微分與積分、線性方程組的解法、矩陣特征值與特征向量的計算、非線性方程(組)的解法等基本數(shù)學問題的數(shù)值解法來闡述如何應(yīng)用計算方法的基本原理解決實際問題,結(jié)合具有實際背景的案例,做到理論與實際相結(jié)合,幫助學生掌握數(shù)值計算的基本方法和基本思想。
1.以問題為導向,每章均講解實際問題,避免成為純粹的數(shù)學問題。
2.每章均設(shè)置了實驗題,不僅是簡單地對教材中的算法通過編程實現(xiàn)進行求解,而且使讀者通過實驗題對教材中的概念、定理等有更深刻的理解。
時小虎,吉林大學計算機科學與技術(shù)學院教授,博士生導師,一直從事機器學習、生物信息學等領(lǐng)域的教學與科研工作。作為項目負責人主持國家自然科學基金面上項目1項、完成國家自然科學基金青年項目1項;獲省部級科技進步獎一等獎3項、二等獎4項。合作出版專著1部;先后發(fā)表學術(shù)論文70余篇,其中SCI索引論文24篇。2014年至2017年連續(xù)四年入選由Elsevier出版集團評選的“中國高被引學者榜單”。
第1章 緒論 1
1.1 計算方法概述 1
1.1.1 科學計算與計算方法 1
1.1.2 數(shù)學模型與計算方法 2
1.1.3 計算方法的特點及學習方法 4
1.2 誤差 5
1.2.1 計算機的浮點表示及算術(shù)運算 5
1.2.2 誤差來源 7
1.2.3 誤差的基本概念 8
1.2.4 誤差分析 9
1.3 實驗——函數(shù)導數(shù)的近似計算 11
1.4 延伸閱讀 14
1.5 思考題 14
1.6 習題 14
1.7 實驗題 15
第2章 線性代數(shù)方程組的數(shù)值解 17
2.1 引入——谷歌搜索PageRank算法 17
2.2 高斯消元法 19
2.2.1 消元過程 21
2.2.2 回代過程 22
2.2.3 計算量與存儲 23
2.3 矩陣的三角分解 24
2.3.1 矩陣的LU分解 24
2.3.2 杜利特爾分解 26
2.3.3 對稱正定矩陣的平方根法和LDLT分解 29
2.3.4 解三對角方程組的追趕法 33
2.4 消元法在計算機上的實現(xiàn) 34
2.4.1 選主元的必要性 34
2.4.2 選主元的方法 35
2.4.3 迭代改善 37
2.4.4 行列式和逆矩陣的計算 38
2.5 向量和矩陣范數(shù) 38
2.5.1 向量范數(shù) 38
2.5.2 矩陣范數(shù) 39
2.5.3 譜半徑 41
2.6 矩陣的條件數(shù)與病態(tài)方程組 42
2.7 迭代法 44
2.7.1 迭代法的一般形式 44
2.7.2 迭代法的收斂性 45
2.7.3 雅可比迭代法 47
2.7.4 高斯-賽德爾迭代法 49
2.8 實驗——常數(shù)項擾動對誤差的影響 52
2.9 延伸閱讀 53
2.10 思考題 54
2.11 習題 54
2.12 實驗題 56
第3章 非線性方程(組)的數(shù)值解 58
3.1 引入——開平方計算 58
3.2 非線性方程問題 59
3.3 二分法 60
3.4 不動點迭代法 62
3.4.1 不動點迭代法 62
3.4.2 迭代法的幾何解釋 63
3.4.3 迭代法的收斂 64
3.4.4 穩(wěn)定性與收斂階 67
3.5 牛頓迭代法 68
3.5.1 定義 68
3.5.2 牛頓迭代法的幾何解釋 69
3.5.3 牛頓迭代法的收斂性與收斂階 69
3.5.4 割線法 71
3.6 解非線性方程組的牛頓迭代法 73
3.7 實驗——牛頓迭代法求解非線性方程 74
3.8 延伸閱讀 76
3.9 思考題 76
3.10 習題 76
3.11 實驗題 77
第4章 特征值問題的數(shù)值解 78
4.1 引入——再論PageRank算法 78
4.2 冪法及其變體 80
4.2.1 乘冪法 80
4.2.2 反冪法 83
4.2.3 冪法的平移 86
4.3 雅可比旋轉(zhuǎn)法 87
4.3.1 平面旋轉(zhuǎn)變換矩陣 88
4.3.2 雅可比旋轉(zhuǎn)法 89
4.3.3 雅可比過關(guān)法 92
4.4 豪斯霍爾德變換* 92
4.4.1 實對稱矩陣的三對角化 93
4.4.2 求對稱三對角矩陣特征值的對分法 97
4.4.3 三對角矩陣特征向量的計算 100
4.5 QR方法 101
4.5.1 QR算法的基本思想 101
4.5.2 QR分解 102
4.5.3 QR算法求解矩陣特征值 105
4.6 特征值問題的一些應(yīng)用 107
4.6.1 主成分分析與數(shù)據(jù)降維 107
4.6.2 奇異值分解 111
4.7 實驗——奇異值分解對圖像壓縮 115
4.8 延伸閱讀 116
4.9 思考題 117
4.10 習題 117
4.11 實驗題 118
第5章 函數(shù)插值與曲線擬合 119
5.1 引入——圖像縮放 119
5.1.1 最近鄰插值算法 119
5.1.2 雙線性插值算法 120
5.2 拉格朗日插值法 121
5.2.1 代數(shù)插值 122
5.2.2 插值余項 123
5.2.3 拉格朗日插值公式 124
5.3 牛頓插值法 129
5.4 三次埃爾米特插值 132
5.5 差分與等距節(jié)點的插值公式 136
5.6 曲線擬合和最小二乘法 138
5.6.1 最小二乘法的原理 139
5.6.2 最小二乘法的多項式擬合 139
5.6.3 非線性最小二乘擬合的線性化 141
5.7 實驗——龍格現(xiàn)象的模擬 142
5.8 延伸閱讀 143
5.9 思考題 143
5.10 習題 144
5.11 實驗題 145
第6章 數(shù)值積分 146
6.1 引入——波紋瓦材料長度 146
6.2 牛頓-柯特斯求積公式 147
6.2.1 插值型求積公式與代數(shù)精度 147
6.2.2 牛頓-柯特斯求積公式 148
6.3 復合公式與龍貝格求積公式 150
6.3.1 復合求積公式 150
6.3.2 分半加速算法 151
6.4 高斯型求積公式 154
6.4.1 高斯型求積公式 154
6.4.2 正交多項式 155
6.4.3 高斯-勒讓德求積公式 156
6.5 實驗——廣義積分的數(shù)值求解 158
6.6 延伸閱讀 160
6.7 思考題 160
6.8 習題 160
6.9 實驗題 161
第7章 常微分方程初值問題的數(shù)值解 162
7.1 引入——三論PageRank算法 162
7.2 常微分方程初值問題 163
7.3 歐拉方法及其改進 164
7.3.1 歐拉方法 165
7.3.2 歐拉方法的幾何解釋 165
7.3.3 歐拉方法的截斷誤差 166
7.3.4 向后歐拉方法 166
7.4 梯形方法 167
7.4.1 梯形方法 167
7.4.2 改進歐拉格式 168
7.5 龍格-庫塔方法 170
7.5.1 龍格-庫塔方法的基本思想 170
7.5.2 龍格-庫塔方法 171
7.5.3 二級龍格-庫塔格式 172
7.5.4 四級龍格-庫塔格式 173
7.6 常微分方程組的數(shù)值解法 175
7.7 實驗——歐拉顯式方法的收斂性數(shù)值分析 177
7.8 延伸閱讀 178
7.9 思考題 179
7.10 習題 179
7.11 實驗題 179
第8章 GNU Octave簡介 181
8.1 GNU Octave簡介 181
8.2 基礎(chǔ)操作 182
8.2.1 變量 183
8.2.2 矩陣及其基本運算 183
8.3 編程基礎(chǔ) 188
8.3.1 控制語句 188
8.3.2 自定義函數(shù) 188
8.3.3 M文件 188
8.4 繪圖與圖形處理 189
8.4.1 簡單繪圖 189
8.4.2 圖形有關(guān)的一些命令 189
8.4.3 在同一張圖中繪制多個函數(shù) 190
8.4.4 繪制三維圖 190
8.5 數(shù)值計算相關(guān)函數(shù) 191
8.5.1 特征根和特征向量 191
8.5.2 PCA函數(shù) 192
8.5.3 SVD函數(shù) 192
8.5.4 interp1插值函數(shù) 193
8.5.5 梯形求積公式 194
8.5.6 拋物線自適應(yīng)積分 194
參考文獻 196