本文的閱讀等級:初級
數值分析 (numerical analysis) 是一門研究連續數學問題演算法的科目,內容包羅萬象,如解非線性方程、解線性或非線性聯立方程組、插值 (interpolation) 與曲線配適 (curve fitting)、數值微分與積分、常微分方程與偏微分方程的數值解、邊值 (boundary-value) 與特徵值 (characteristic-value) 問題等。線性代數和數值分析有極密切的關係,一方面數值分析涵蓋一些數值線性代數問題,另一方面數值分析的部分演算法建立於線性代數之上。本文介紹線性代數在數值分析中的一個簡單應用──將兩點邊值 (two-point boundary-value) 問題轉換為線性聯立方程組的求解問題。
考慮下面的二階微分方程:
兩邊值為 ,
。我們的目標是計算
於區間
中
個等距間隔點
的近似值,
,
。
求兩點邊值問題數值解的第一步驟是將連續函數的微分以差分取代。設函數所定義的區間為 ,將此區間分割為
個等份,令
,切割的等間隔點為
,
。考慮在
和
的泰勒展開式 (Taylor series expansion):
將上面二式相減與相加,分別得到
其中符號 代表包含
次冪和更高次冪的項。為簡化書寫,令
。如果捨去
,結果稱為中央差分近似 (central difference approximation),如下:
已知 ,
,故
,
。當
時,將
的近似式代入原方程式:
整理為
另外還需考慮已知邊值 和
。
設未知向量 ,上述
個聯立方程式可表示為矩陣形式
,
為
階,如下:
解出此線性方程即可得到 的近似值,如果增加區間切割數
,
值將隨之減小,可得到更緊密且精確的結果。當然,代價是必須解出一個尺寸較大的
階線性方程。觀察上面的係數矩陣形式發現它是一個三對角矩陣,以高斯消去法化簡三對角矩陣僅需消耗
計算量 (見“特殊矩陣 (11):三對角矩陣”)。