數值分析讀書筆記(2)求解線性代數方程組的直接方法

數值分析讀書筆記(2)求解線性代數方程組的直接方法

1.引言

矩陣的數值計算一般可以分爲直接法和間接法

本章主要介紹Ax=b 這類線性方程組求解的直接法,數值求解該方程組的基礎思想是Gauss消元法

實質是通過一組滿秩的初等行變換,將A保秩變換成一個三角矩陣U,此變換過程稱爲矩陣A的非奇異上三角化

我們的目的就是尋求一個矩陣P,使得PA=U,其中U是一個三角矩陣,其中Ax=bUx=b¯ 同解(b¯=Pb ),有效的生成一個P是我們主要研究的問題

2.初等下三角矩陣–Guass變換矩陣

回顧一下線性代數中的三個初等線性變換
- 數乘
- 倍加
- 互換

我們引入一個一般意義上的初等變換矩陣,它把許多常用的線性變換統一在一個框架裏面,在數值線性代數中起着重要的意義

Def: 稱Cn×n 中如下形式的矩陣E(u,v;σ)初等矩陣:

E(u,v;σ)=IσuvH

其中非零向量u,vCn,σ0 是實或者複數,即
E(u,v;σ)=(1σu1v1σu1v2σu1vnσu2v11σu2v2σu2vnσunv1σunv21σunvn)

選取不同的uvσ ,可以得到許多常用的線性變換矩陣
  • 數乘(E1=E(ei,ei;1α)
  • 倍加(E2=E(ei,ej;μ)
  • 互換(E3=E(eiej,eiej;1)

下面引出初等變換矩陣的一些重要的數學性質
1.兩相同向量u,v組成的初等變換矩陣可交換,其積仍然爲一個初等矩陣

E(u,v;σ)E(u,v;τ)=E(u,v;σ+τστvHu)

證明:

(6)E(u,v;σ)E(u,v;τ)=(IσuvH))(IτuvH)(7)=IσuvHτuvH+

2.若1σvHu0 ,則初等矩陣E(u,v;\sigma)可逆,其逆矩陣也是初等矩陣

E1(u,v;σ)=E(u,v;τ),τ=σσvHu1

3.設v 表示和v 正交的(n-1)維子空間
a.若uv ,則E(u,v;σ) 有n個線性無關的特徵向量,該組特徵向量由u和v 中任取一組基向量組成
b.若uv ,則E(u,v;σ) 僅有n-1個線性無關的特徵向量,該組特徵向量由v 中任取一組基向量組成

4.det(E(u,v;σ))=1σvHu

5.對任意非零向量a,bCn ,必可適當選取u,v,σ 使得

E(u,v;σ)a=b

事實上只需要取u,v,σ 滿足

vHa0,σu=abvHa

由初等變換矩陣引出Guass變換矩陣,我們選取

σ=1,u=lk=(0,,0,lk+1,,lnk)T,v=ek=(0,,0,1,0,,0)T,k=1,2,,n1

得到n-1個Guass變換矩陣

Lk(lk)E(lk,ek;1)=I+lkek=(11lk+1,k1lk+2,k1l"nk1)

下面給出Guass變換矩陣的一些性質

1.det(Lk)=1+ekTlk=1

2.Guass變換矩陣的逆只需要將σ 從-1變成+1

3.L1(l1)L2(l2)Ln1(ln1)=(1l211l31l321ln1ln2ln31)

注意左乘的順序

3.Gauss消元法

先介紹一下順序Gauss消元法,大概分兩步
- 消元過程
- 回代過程

在消元過程中,我們不斷去左乘Gauss變換矩陣,不斷將原矩陣的下三角部分一列列變成0,從而最終變換成一個上三角矩陣

需要注意的是,在一列列的消元過程中,我們需保證aii0(i=1,2,,n) ,所以需要利用行互換來保證此條件

當然這一切消元過程的前提是,矩陣A應該是非奇異的

經過n-1次的Gauss消元,我們可以得到一個上三角矩陣

Ln11Lk1L21L11A(1)=A(n)x=Ln11Lk1L21L11b(1)=b(n)

在回代過程中,由於我們得到了一個上三角矩陣,那麼就可以從最底行開始逐步解出x

Gauss消元法的複雜度是O(n3) ,高階狀態下比起克拉默法則運算量要小得多

Gauss消元法過程中,在對各列進行消元的時候,如果主元比較小的話,運算的結果會產生較大的誤差,故引入Gauss列主元消元法,即在每一次利用主元消元的步驟之前,把該列中絕對值最大的數所在的行與主元所在的行進行交換

4.三角分解法

我們利用Gauss變換矩陣對Gauss消元法進行進一步的分析

Ln11Lk1L21L11A(1)x=A(n)x=Ux

(8)A=L1LkLn2Ln1U(9)=(I+l1e1T)(I+ln2en2T)(I+ln1en1T)U(10)=(I+l1e1T++ln1en1T)U

由此引出矩陣的LU分解,又稱Doolittle分解

A=(1l211l31l321ln1ln2ln31)(u11u12u13u1nu22u23u2nu33u3nunn)

這裏再介紹一下Crout分解,即A=LU中的L是一個下三角矩陣,U是單位上三角矩陣

注意到某些特殊矩陣的三角分解也是比較特殊的,這裏引入一類帶狀對角形矩陣

A=(a11a1,s+1ar+1,1ar+1,s+1ans,nan,nrann)

上半帶寬爲s,下半帶寬爲r,存在LU分解,其中L是下半帶寬爲r的單位下三角矩陣,U是上半帶寬爲s的上三角矩陣

對於r=s=1的這一類更加特殊的矩陣,稱爲三對角矩陣,對於此類矩陣的三角分解,介紹一種“追趕法”

首先做Crout分解

A=LU=(p10r2p2rn1pn10rnpn)(1q101q21qn101)

然後分兩步解決此類問題
追:解Ly=b
趕:解Ux=y

注意到正定對稱矩陣的三角分解也是特殊的,這裏引入Cholesky分解

首先利用Doolittle分解,得A=LU ,對U進一步提取對角矩陣diag(u11,,unn) ,從而有

U=DD1U=D(D1U)=DU0

故,A=LDU0 ,由於A對稱正定,AT=A ,所以有
AT=(LDU0)T=U0TDLT=A=LDU0

由於分解的唯一性,可知LT=U0 ,從而有
A=LDLT

我們可以記,D1/2=diag(u11,,unn) ,從而
A=LD1/2D1/2LT=LD1/2(LD1/2)T=L1L1T

此種分解手段稱爲Cholesky分解,限定對角元素爲正,此類分解唯一

上述的Cholesky分解中涉及了開方的運算,下面介紹一種改進的平方根法

易知,A=LDLT ,則Ax=LDLTx

先解Ly=b ,後解LTx=D1y ,其中D的逆只需要將對角元素取倒數即可

5.向量和矩陣的範數

範數是比長度更爲一般的概念,有了範數就可以更好的去測度誤差的大小

關於向量範數

Def:VR/CVxifNxx,滿1.2.3.

對於非負正定,當僅當x=0,有N(x)=0,否則N(x)> 0;

對於齊次性,有

αx=|α|x,αK

對於三角不等式,有

x+yx+y,x,yV

這裏介紹幾種常見的向量範數

  • l1 向量中的元素的絕對值之和
  • l2 向量中的元素的絕對值的平方加起來然後開方
  • l 向量元素中的最大絕對值(使用Cauchy-Schwarz不等式證明三角不等式)
  • lp 向量中的元素的絕對值的p次方加起來然後開p次方根(利用赫爾德不等式即可證明三角不等式)

在最優化理論中可能會涉及加權範數,A爲對稱正定矩陣,(xTAx)1/2 是一種向量範數,記爲xA

在無限維線性空間中,比如在[a,b]區間中,對於所有的實連續函數集合C[a,b],對於其中的一個元素f(x)也是有類似定義的範數

  • 1範數
    f(x)1=ab|f(x)|dx
  • p範數
    f(x)p=(ab|f(x)|pdx)1p
  • ∞範數
    f(x)=max|f(x)|,axb

下面介紹一下範數的等價性

對於任意兩個定義好的範數,存在兩個與向量x無關的非零正常數c1,c2,有

c1xαxβc2xα

稱兩個範數等價

不難驗證,此處的等價性滿足數學定義中的等價性的三個條件,即自反,對稱,傳遞

關於矩陣範數

矩陣範數不僅僅滿足非負正定,齊次和三角不等式,而且須滿足矩陣相乘的相容性,即

ABAB

這裏給出一類特殊的範數, Frobenius範數

AF=(j=1mi=0n|aij|2)12

對於Cm×n 上面的任意一種向量誘導範數,都有I=maxx=1{Ix=1}

這裏給出一種範數的定義,即誘導矩陣範數,誘導矩陣範數和向量範數密切相關

定義:設在兩個向量空間Cm,Cn 中存在向量範數V , 定義在Cm×n 空間上的矩陣A的由向量範數 V 誘導所給出的矩陣範數爲(其中x不爲零向量)

AV=maxAxVxV

我們爲了解決這個最大值的問題,繼續等價定義來優化這個問題

AV=maxAxVxV=maxAxV
其中第一個max條件爲x不爲零向量,第二個max條件爲xV=1

我們利用誘導範數的定義可以從原來的向量範數中誘導出三種範數,分別是

1範數:對矩陣的每一列中的元素取絕對值之後求和,然後選取其中的最大列作爲1範數
2範數:矩陣的最大奇異值,也就是矩陣與矩陣的轉置的乘積的最大特徵值
無窮範數:對於矩陣的每一行的元素取絕對值之後求和,然後選取其中的最大行作爲無窮範數

關於矩陣的應用,這裏引入一個Banach引理

設矩陣A屬於n*m的復矩陣空間,對於該空間上的某種矩陣範數V ,有AV<1 ,則矩陣I±A 非奇異,且有

(IA)1VI1A

給出矩陣譜半徑的定義

矩陣的譜半徑爲矩陣的最大特徵值,關於矩陣的譜半徑,它不超過其任意一種矩陣範數(當矩陣是Hermite矩陣時,矩陣的2範數恰好等於矩陣的譜半徑)

繼續給出線性方程組中條件數的定義

在某一矩陣空間中,對於某一矩陣範數,矩陣的條件數=矩陣的範數×矩陣的逆的範數,即

Cond(A)=AV×A1V

對於矩陣的條件數來說,它顯然大於等於1,當矩陣恰好是正交矩陣的時候,矩陣的條件數恰好等於1
當矩陣爲對稱陣,對應的矩陣範數爲2範數的時候,此時的條件數稱之爲譜條件數,其值等於最大特徵值除以最小特徵值,然後取絕對值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章