第 第 第8 8 8 線性數程式的根 線性數程式的根 線性數程式的根 線性數程式的根 矩陣 矩陣 矩陣 矩陣 克拉莫法則 克拉莫法則 克拉莫法則 克拉莫法則 高消法 高消法 高消法 高消法 LU分解 分解 分解 分解
第第第第8888章章章章
線性代數方程式的根線性代數方程式的根線性代數方程式的根線性代數方程式的根
� 矩陣矩陣矩陣矩陣
� 克拉莫法則克拉莫法則克拉莫法則克拉莫法則
� 高斯消去法高斯消去法高斯消去法高斯消去法
� LU分解分解分解分解
9-2
複習複習複習複習1
� 矩陣矩陣矩陣矩陣 (matrix) 是將排列成長方形的元素陣列以單一的符號表示。
� [A] 是矩陣縮短的表示方式,且aij代表矩陣中個別的元素元素元素元素(element)。
9-3
複習複習複習複習2
� 水平的一整組元素稱為列列列列 (row),
� 垂直的一整組元素稱為行行行行 (column)。
� 第一個下標 i 表示此元素落在第幾列,第二個下標 j 則表示此元素落在第幾行。
� 矩陣具有 m 列以及 n 行,稱為具有m 乘 n(或m × n)的維度維度維度維度 (dimension)。
9-4
特殊特殊特殊特殊矩陣矩陣矩陣矩陣
� 當 m = n,稱之為方陣方陣方陣方陣 (square matrices)。
� 特殊形式的方陣:
對稱矩陣 對角矩陣 單位矩陣
上三角矩陣 下三角矩陣 帶狀矩陣
9-5
矩陣運算矩陣運算矩陣運算矩陣運算� 兩個 m 乘 n 的矩陣相等,若且唯若兩個矩陣中每一個對應位置的元素都相等 。
� 兩個矩陣的相加,是把兩個矩陣中每一個對應位置的元素加起來。同理,兩個矩陣的減法,是將對應位置的元素相減。
� 矩陣 [A] 與純量 g 的乘法是把 [A] 中的每一個元素都乘以 g 而得。
� 矩陣乘法運算
c ij = aikbkj
k=1
n
∑
9-6
反矩陣反矩陣反矩陣反矩陣與與與與轉置矩陣轉置矩陣轉置矩陣轉置矩陣
� 如果矩陣 [A] 是方陣且非奇異非奇異非奇異非奇異 (nonsingular),則存在矩陣[A]-1,稱為 [A] 的反矩陣反矩陣反矩陣反矩陣 (inverse)。
[A][A]-1=[A]-1[A]=[I]
� 轉置矩陣轉置矩陣轉置矩陣轉置矩陣 (transpose) 是將列轉換到行而行轉換到列。
(aij)T=aji
9-7
以矩陣形式表示線性代數方程式以矩陣形式表示線性代數方程式以矩陣形式表示線性代數方程式以矩陣形式表示線性代數方程式
� 矩陣提供了一個簡潔的表示法來表示聯立線性方程式。
a11x1 + a12x2 + a13x3 = b1
a21x1 + a22x2 + a23x3 = b2
a31x1 + a32x2 + a33x3 = b3
a11 a12 a13
a21 a22 a23
a31 a32 a33
x1
x2
x3
=
b1
b2
b3
[A]{ x} = {b}{ } [ ] { }1−=x A b 求解
(不是非常有效率)
9-8
圖形法圖形法圖形法圖形法1
� 要求得圖形解,將兩個線性方程式在直角座標直角座標直角座標直角座標(Cartesian coordinates)上畫出即可求得。
9-9
圖形法圖形法圖形法圖形法2
� 三種求解方程式時會有問題的狀況。
a) 兩條方程式是平行線,無解。
b) 兩條線是一致的,在這種情況則有無限多解。
c) 病態系統(ill-conditioned)。從圖形上來看,很難判斷這兩條線在哪一點交叉。
9-10
行列式值行列式值行列式值行列式值
� 行列式值 D 以及係數矩陣 [A] 使用同樣的元素組成,它們卻是完全不同的數學觀念。與矩陣對比,行列式值是一個數字。
1×1 a11 = a11
2× 2a11 a12
a21 a22
= a11a22 − a12a21
3× 3
a11 a12 a13
a21 a22 a23
a31 a32 a33
= a11
a22 a23
a32 a33
− a12
a21 a23
a31 a33
+ a13
a21 a22
a31 a32
9-11
克拉莫法則克拉莫法則克拉莫法則克拉莫法則
� 克拉莫法則克拉莫法則克拉莫法則克拉莫法則 (Cramer’s rule) 說明了線性代數方程式系統中的未知數,可以表示成兩個行列式值的比值,分母為 D,且分子是將 D 中有關未知數的係數那一行抽換為常數b1,b2,…,bn。
Ex.三元一次方程式
1 12 13
2 22 23
3 23 331
b a a
b a a
b a ax
D=
9-12
克拉莫法則的例子克拉莫法則的例子克拉莫法則的例子克拉莫法則的例子1
� 利用克拉莫法則求解:
� 算出行列式值 D:
9-13
克拉莫法則的例子克拉莫法則的例子克拉莫法則的例子克拉莫法則的例子2
� 解可以計算如下:
9-14
單純高斯消去法單純高斯消去法單純高斯消去法單純高斯消去法1
� 未知數消去法� 方程式需要做一些處理,然後從方程式中消去其中一個變數。此消去階段產生一條只具有一個未知數的方程式。
� 最後,這個方程式可以直接解出,並將解出的結果向後代換到原始的方程式中,求解剩餘的那個未知數。
9-15
單純高斯消去法單純高斯消去法單純高斯消去法單純高斯消去法2
� 向前消去
� 不斷利用軸元方程式,轉換
方程式成為上三角系統。
� 向後代換
� 求解
� 結果可以向後代換到第(n − l)個方程式,往下解出 xn-1。 .
( 1)
( 1)
nn
n nnn
bx
a
−
−=
( 1) ( 1)
1
( 1)
ni i
i ij jj i
i iii
b a x
xa
− −
= +−
−=
∑
( )1, 2, ,1i n n= − − ⋯
9-16
單純高斯消去法的單純高斯消去法的單純高斯消去法的單純高斯消去法的M檔檔檔檔
9-17
軸元軸元軸元軸元1
� 前面所述的高斯消去法之所謂稱為「單純」,主要原因是因為在消去與向後代換階段,有可能會遇到除以零的情況。
� 即使軸元元素不完全等於零,當很接近的時候也會導致問題。因為軸元元素與其他元素相較起來非常小,所以會引入四捨五入誤差。
2 3
1 2 3
1 2 3
2 3 8
4 6 7 3
2 3 6 5
+ =+ + = −− + =
x x
x x x
x x x
9-18
軸元軸元軸元軸元2
� 在對每一列正規化之前,最好先決定在軸元元素之下,行中具有最大絕對值的係數。我們可以交換列交換列交換列交換列,,,,使得最使得最使得最使得最大的元素變成軸元元素大的元素變成軸元元素大的元素變成軸元元素大的元素變成軸元元素。而這個技巧稱為部分軸元部分軸元部分軸元部分軸元(partial pivoting)。
� 如果行與列都根據尋找出的最大元素而交換,則此程序
稱為完全軸元完全軸元完全軸元完全軸元 (complete pivoting)。(少用)
9-19
範例練習範例練習範例練習範例練習
� 利用部分軸元高斯消去法求解下列方程式系統。
1 2 3
1 2 3
1 2 3
2 6 38
3 7 34
8 2 20
− − = −− − + = −− + − = −
x x x
x x x
x x x
9-20
部分軸元高斯消去法的部分軸元高斯消去法的部分軸元高斯消去法的部分軸元高斯消去法的M檔檔檔檔
9-21
LU分解分解分解分解 [A]=[L][U]
� 當[A]相同,{ b}改變時,高斯消去法必須整個重做,利用LU分解則較有效率。
� 和高斯消去法一樣,LU分解需要軸元軸元軸元軸元 (pivoting) 來避免除以零的發生。
� [A]被分解成下三角矩陣[L]和上三角矩陣[U]。
� [U]以及[L]用來決定對應右手邊{ b}的解{ x}。
[A]{ x} = {b}
9-22
依依依依LU分解做高斯消去法分解做高斯消去法分解做高斯消去法分解做高斯消去法
� 在矩陣被分解之後,可以產生一個對應於右手邊向量{ b}的特解。
[A]{ x} = {b} [ ][ ]{ } { }⇒ =L U x b
[ ]{ } { }⇒ =L d b
[ ]{ } { }⇒ =令 U x d
1
1
−
=
= −∑i
i i ij jj
d b l d
( )1, 2, ,1i n n= − − ⋯
( )2, 3, ,= ⋯i n
向前代換向前代換向前代換向前代換
[ ]{ } { }=U x d 向後代換向後代換向後代換向後代換
= nn
nn
dx
u1= +
−=
∑n
i ij jj i
iii
d u x
xu
1 1=d b
9-23
以高斯消去法做以高斯消去法做以高斯消去法做以高斯消去法做 LU分解分解分解分解� 高斯消去法可以將 [A] 分解成 [U] 和 [L]。
� LU分解的演算法需要和高斯消去法一樣多的步驟。唯一的差別在花費於分解階段所需的工夫較少,因為並沒有對右手邊做運算。
� 可以有效率地計算不同的右手邊向量。
[ ]11 12 13
' '22 23
"33
0
0 0
=
a a a
a a U
a
[ ]11 12 13
21 22 23
31 32 33
=
a a a
A a a a
a a a
高斯消去法高斯消去法高斯消去法高斯消去法
312121 31
11 11
;= = aaf f
a a'32
32 '22
= af
a
[ ] 21
31 32
1 0 0
1 0
1
=
L f
f f
9-24
MATLAB函數函數函數函數::::lu
� MATLAB的內建函數lu,可以用來產生LU分解。依下列語法使用:
[L,U] = lu(X)
其中L 以及U 分別是下三角矩陣和上三角矩陣,由對矩陣 X 分解得出。注意這個函數使用部分軸元來避免除以零的發生。
9-25
反矩陣反矩陣反矩陣反矩陣
� 若矩陣 [A] 為方陣,則有一個矩陣 [A]-1,稱為 [A] 的反矩陣
[A][A]-1=[A]-1[A]=[I]
� 反矩陣可以用單位向量當作右手邊向量,然後一行一行解出來。
A[ ] x1{ }=100
A[ ] x2{ }=
010
A[ ] x3{ }=
001
A[ ]−1 = x1 x2 x3[ ]
9-26
範例練習範例練習範例練習範例練習
� 發展一個屬於你自己的M檔,可以在不使用部分軸元的情況下做方陣的 LU分解,並藉由求解下列方程式系統來驗證你所開發的函數。
1 2 3
1 2 3
1 2 3
2 6 38
3 7 34
8 2 20
− − = −− − + = −− + − = −
x x x
x x x
x x x