oznake in osnovne de nicije - uni-lj.si
TRANSCRIPT
Oznake in osnovne definicije
Sistem n linearnih enacb z n neznankami
a11x1 + a12x2 + · · ·+ a1nxn = b1
a21x1 + a22x2 + · · ·+ a2nxn = b2...
an1x1 + an2x2 + · · ·+ annxn = bn
na kratko zapisemo v obliki
Axxx = bbb, A ∈ Rn×n (Cn×n), xxx ,bbb ∈ Rn (Cn),
kjer je A realna (kompleksna) matrika, xxx ,bbb pa realna (kompleksna)vektorja. Pri tem (i , j)-ti element matrike A oznacimo z aij , xi pa je i-tielement vektorja xxx .
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 1 / 53
Zapis matrik in vektorjev
Vektor xxx z n komponentami zapisemo kot
xxx =
x1
x2
...xn
= [x1, x2, . . . xn]T .
Matriko A zapisemo po elementih, stolpcih ali vrsticah v obliki
A =
a11 · · · a1n
......
an1 · · · ann
= [aaa1 · · · aaan] =
αααT1...αααTn
,kjer so npr. aaai ,αααi ∈ Cn. Z eee i := [ei1, . . . , ein]T ∈ Rn oznacimo enotskivektor, za katerega velja eij = δij . Torej je
Aeeek = aaak k-ti stolpec A,
eeeTi A = αααT
i i-ta vrstica A,
eeeTi Aeeek = aik (i , k)-ti element A.
AT pomeni transponirano matriko A, AH pa je AT .B. Plestenjak, J.Kozak: Numericne metode 2011-2012 2 / 53
Produkti matrik in vektorjev
Skalarni produkt vektorjev xxx in yyy zapisemo v obliki
xxx ,yyy realna: yyyTxxx =∑n
i=1 xiyi ,
xxx ,yyy kompleksna: yyyHxxx =∑n
i=1 xiyi .
Mnozenje vektorja z matriko yyy = Axxx si lahko predstavljamo na dvanacina:
yi = αααTi xxx : i-ti element yyy je produkt i-te vrstice A in vektorja xxx ,
yyy =∑n
i=1 xiaaai : yyy je linearna kombinacija stolpcev matrike A.
Podobno si lahko mnozenje matrik C = AB predstavljamo na tri nacine:
cij = αααTi bbbj : (i , j)-ti element C je produkt i-te vrstice A in j-tega
stolpca B,
ccc i = Abbbi : i-ti stolpec C je produkt A in i-tega stolpca B,
C =∑n
i=1 aaaiβββTi : C je vsota n produktov i-tega stolpca A in i-te
vrstice B.
Matriki oblike xxxyyyT , kjer je xxx ,yyy 6= 0, imenujemo diada in ima rang ena.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 3 / 53
Lastnosti matrik
Kvadratna n × n matrika A je neizrojena ali nesingularna, ce izpolnjujeenega izmed ekvivalentnih pogojev:
obstaja inverz A−1, tako da je AA−1 = A−1A = I ,
det(A) 6= 0,
rang(A) = n (maksimalno stevilo linearno neodvisnih vrstic alistolpcev),
ne obstaja xxx 6= 0, da je Axxx = 0.
Matrika A je simetricna, ce velja A = AT . Ce velja A = AH , je matrikahermitska. Simetricna matrika je pozitivno definitna, ce za vsak xxx 6= 0velja xxxTAxxx > 0. Podobno je hermitska matrika pozitivno definitna, ce zavsak xxx 6= 0 velja xxxHAxxx > 0.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 4 / 53
Lastnosti matrik
Ce za skalar λ in nenicelni vektor xxx velja
Axxx = λxxx ,
potem je λ lastna vrednost, xxx pa pripadajoci lastni vektor. Vsaka matrikaima n lastnih vrednosti, ki so nicle karakteristicnega polinoma
p(λ) := det(A− λI ) ali vcasih p(λ) := det(λI − A).
Pri prvi obliki je vodilni koeficient karakteristicnega polinoma (−1)n, pridrugi 1. Lastne vrednosti λ1, . . . , λn realne simetricne matrike so realne,lastne vektorje xxx1, . . . ,xxxn pa lahko izberemo tako, da tvorijoortonormirano bazo, kar pomeni xxxT
i xxx j = δij . Za lastne vrednostisimetricne pozitivno definitne matrike velja λi > 0.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 5 / 53
Vektorske in matricne norme
Definicija vektorske norme
Vektorska norma je preslikava ‖.‖ : Cn → R, za katero velja
1 ‖xxx‖ ≥ 0, ‖xxx‖ = 0⇐⇒ xxx = 0,
2 ‖αxxx‖ = |α| · ‖xxx‖,3 ‖xxx + yyy‖ ≤ ‖xxx‖+ ‖yyy‖ (trikotniska neenakost),
za vsak xxx ,yyy ∈ Cn in α ∈ C.
Najbolj znane vektorske norme so:
‖xxx‖1 =n∑
i=1
|xi | (1-norma),
‖xxx‖2 =
(n∑
i=1
|xi |2)1/2
(2-norma ali evklidska norma),
‖xxx‖∞ = maxi=1,...,n
|xi | (∞-norma ali max norma).
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 6 / 53
Ekvivalenca norm
Ker je po privzetku n vseskozi koncen, sta poljubni dve vektorski normi‖.‖a in ‖.‖b ekvivalentni. To pomeni, da obstajata konstanti C1,C2 > 0,da za vsak xxx ∈ Cn velja
C1‖xxx‖a ≤ ‖xxx‖b ≤ C2‖xxx‖a.
Za najpogostejse norme veljajo ocene:
‖xxx‖2 ≤ ‖xxx‖1 ≤√
n‖xxx‖2
‖xxx‖∞ ≤ ‖xxx‖2 ≤√
n‖xxx‖∞‖xxx‖∞ ≤ ‖xxx‖1 ≤ n‖xxx‖∞
Cauchy-Schwartzeva neenakost: |yyyHxxx | ≤ ‖xxx‖2‖yyy‖2.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 7 / 53
Matricna norma
Definicija matricne norme
Matricna norma je preslikava ‖.‖ : Cn×n → R, za katero velja
1 ‖A‖ ≥ 0, ‖A‖ = 0⇐⇒ A = 0,
2 ‖αA‖ = |α| · ‖A‖,3 ‖A + B‖ ≤ ‖A‖+ ‖B‖ (trikotniska neenakost),
4 ‖AB‖ ≤ ‖A‖ · ‖B‖ (submultiplikativnost),
za poljubni A,B ∈ Cn×n in α ∈ C.
Primer je Frobeniusova norma
‖A‖F =
m∑i=1
n∑j=1
|aij |2 1
2
.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 8 / 53
Operatorske norme
Operatorske matricne norme
Operatorske matricne norme so definirane z
‖A‖ := maxxxx 6=0xxx∈Cn
‖Axxx‖‖xxx‖
= max‖xxx‖=1
‖Axxx‖,
kjer je ‖ . ‖ vektorska norma.
Ker vektorska norma generira operatorsko matricno normo, ji dodamooznako pripadajoce vektorske norme, npr. za ‖ . ‖2 je pripadajocamatricna norma tudi druga norma, ‖A‖2.
Izrek
Za operatorske norme velja ‖Axxx‖ ≤ ‖A‖ · ‖xxx‖.
Dokaz. Za xxx = 0 trditev ocitno velja. Naj bo xxx 6= 0. Tedaj je
‖Axxx‖‖xxx‖
≤ maxxxx 6=0xxx∈Cn
‖Axxx‖‖xxx‖
= ‖A‖.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 9 / 53
Najpogostejse operatorske matricne norme
Izrek
Najpogosteje uporabljane matricne norme so
‖A‖1 = max‖xxx‖1=1
‖Axxx‖1 = maxj=1,...,n
∑i=1,...,n
|aij |
(1-norma)
‖A‖2 = max‖xxx‖2=1
‖Axxx‖2 = maxi=1,...,n
√λi (AHA) ( spektralna ali 2-norma )
‖A‖∞ = max‖xxx‖∞=1
‖Axxx‖∞ = maxi=1,...,n
n∑j=1
|aij |
(∞-norma).
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 10 / 53
1-norma
Lema
‖A‖1 = max‖xxx‖1=1
‖Axxx‖1 = maxj=1,...,n
(n∑
i=1
|aij |)
=n∑
i=1
|ai`|.
Dokaz.
‖A‖1 = max‖xxx‖1=1
‖Axxx‖1 ≥ ‖Aeee`‖1 =n∑
i=1
|ai`|,
kar dokazuje neenakost v eno smer. Po drugi strani je
‖Axxx‖1 =n∑
i=1
|n∑
j=1
aijxj | ≤n∑
i=1
n∑j=1
|aijxj | =n∑
j=1
|xj |n∑
i=1
|aij | ≤
(n∑
i=1
|ai`|
)‖xxx‖1.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 11 / 53
Spektralna norma
B = AHA je hermitska in nenegativno definitna, saj je BH = B inxHBx ≥ 0 za vsak x ∈ Cn. Lastne vrednosti B so nenegativne in jihlahko zapisemo urejene po velikosti kot
σ21 ≥ σ2
2 ≥ · · · ≥ σ2n ≥ 0.
Pozitivne kvadratne korene σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0 lastnih vrednostiAHA imenujemo singularne vrednosti matrike A.
Lema
‖A‖2 = σ1(A) = maxi=1,...,n
√λi (AHA) (spektralna norma).
Dokaz. Obstaja ortonormirana baza za Cn, ki jo sestavljajo lastnivektorji AHAuuui = σ2
i uuui , i = 1, . . . , n. Ce vektor xxx zapisemo kotxxx =
∑ni=1 αiuuui dobimo
‖Axxx‖22 = xxxH(AHAxxx) = (
n∑i=1
αiuuui )H(
n∑i=1
αiσ2i uuui )
=n∑
i=1
|αi |2σ2i ≤ σ2
1
n∑i=1
|αi |2 = σ21‖xxx‖2
2.
To pomeni ‖A‖2 ≤ σ1(A), enakost pa je dosezena pri xxx = uuu1.B. Plestenjak, J.Kozak: Numericne metode 2011-2012 12 / 53
∞-norma
Lema
‖A‖∞ = max‖xxx‖∞=1
‖Axxx‖∞ = maxi=1,...,n
(n∑
j=1
|aij |
)=
n∑j=1
|a`j |.
Dokaz. Naj bo xxx ∈ Rn vektor s komponentami
xi :=
{a`j|a`j | , a`j 6= 0,
0, sicer.
Tedaj
‖A‖∞ = max‖xxx‖∞=1
‖Axxx‖∞ ≥ ‖Axxx‖∞ =n∑
j=1
|a`j |,
kar dokazuje neenakost v eno smer. Po drugi strani je
‖Axxx‖∞ = maxi=1,...,n
|n∑
j=1
aijxj | ≤ maxi=1,...,n
n∑j=1
|aij ||xj | ≤ ‖xxx‖∞ maxi=1,...,n
n∑j=1
|aij |.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 13 / 53
Ekvivalenca matricnih norm
Frobeniusova norma ni operatorska, saj za operatorske norme velja‖I‖ = 1, medtem ko je ‖I‖F =
√n.
Zgled vrednosti norm
Za A =
3 −1 24 1 −81 −5 0
, ATA =
26 −4 −26−4 27 −10−26 −10 68
dobimo
‖A‖1 = 10, ‖A‖∞ = 13, ‖A‖F = 11, ‖A‖2 = 9.02316.
Matricne norme so medsebojno ekivalentne. Z naslednjimi ocenami lahkoocenimo ‖A‖2 z lazje izracunljivimi normami:
1√n‖A‖F ≤ ‖A‖2 ≤ ‖A‖F
1√n‖A‖1 ≤ ‖A‖2 ≤
√n‖A‖1
1√n‖A‖∞ ≤ ‖A‖2 ≤
√n‖A‖∞
maxi,j=1,...,n
|aij | ≤ ‖A‖2 ≤ n maxi,j=1,...,n
|aij |
‖A‖2 ≤√‖A‖1‖A‖∞
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 14 / 53
Lastne vrednosti in norma
Realna matrika Q je ortogonalna, ce je Q−1 = QT , kompleksna matrikaU je unitarna, ce je U−1 = UH . Za mnozenje z unitarno matriko velja‖Uxxx‖2 = ‖xxx‖2, saj je
‖Uxxx‖22 = (Uxxx)H (Uxxx) = xxxHUHUxxx = xxxHxxx = ‖xxx‖2
2.
Lema
Frobeniusova in spektralna norma sta invariantni na mnozenje z unitarnomatriko:
‖A‖F = ‖UA‖F = ‖AU‖F in ‖A‖2 = ‖UA‖2 = ‖AU‖2.
Dokaz. Naj bo A = [aaa1,aaa2, . . . ,aaan]T in U unitarna matrika. Tedaj
‖UA‖2F =
n∑j=1
‖Uaaaj‖2 =n∑
j=1
‖aaaj‖22 = ‖A‖2
F .
Lema
Za vsako matricno normo in poljubno lastno vrednost λ matrike A velja
|λ| ≤ ‖A‖.B. Plestenjak, J.Kozak: Numericne metode 2011-2012 15 / 53
Inverz matrike, ki je blizu enotske
Lema
Ce je ‖X‖ < 1, potem velja
a) I − X je neizrojena (nesingularna) matrika,
b) (I − X )−1 =∞∑i=0
X i ,
c) Ce je ‖I‖ = 1, je ‖(I − X )−1‖ ≤ 1
1− ‖X‖.
Dokaz.
a) Ce je I − X singularna matrika, obstaja zzz 6= 0, da je (I − X )zzz = 0.To pomeni ‖zzz‖ = ‖Xzzz‖ ≤ ‖X‖ ‖zzz‖ < ‖zzz‖, protislovje.
b) Vrsta∑∞
i=0 X i je konvergentna, saj je konvergentna vrsta normclenov. Take vrste smemo odstevati. Torej
∞∑i=0
X i − X∞∑i=0
X i = I = (I − X )∞∑i=0
X i .
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 16 / 53
Obcutljivost linearnih sistemov
Zanima nas obcutljivost resitve linearnega sistema na spremembe podatkov.Naj bo Axxx = bbb in (A + δA)(xxx + δxxx) = bbb + δbbb. Tedaj
δxxx = (A + δA)−1(−δAxxx + δbbb)
= (I + A−1δA)−1A−1(−δAxxx + δbbb).
Ce predpostavimo, da je ‖A−1‖ · ‖δA‖ < 1, potem je I + A−1δA nesingularna invemo
‖(I + A−1δA)−1‖ ≤ 1
1− ‖A−1δA‖ ≤1
1− ‖A−1‖ · ‖δA‖ .
Dobimo
‖δxxx‖ ≤ ‖A−1‖1− ‖A−1‖ · ‖δA‖ (‖δA‖ · ‖xxx‖+ ‖δbbb‖).
Delimo z ‖xxx‖, stevec in imenovalec mnozimo z ‖A‖:
‖δxxx‖‖xxx‖ ≤
‖A−1‖1− ‖A−1‖ · ‖δA‖
(‖δA‖‖A‖ · ‖A‖+
‖δbbb‖ · ‖A‖‖xxx‖ · ‖A‖
).
Upostevamo ‖bbb‖ = ‖Axxx‖ ≤ ‖A‖‖xxx‖:
‖δxxx‖‖xxx‖ ≤
‖A−1‖ · ‖A‖1− ‖A−1‖ · ‖A‖ · ‖δA‖‖A‖
(‖δA‖‖A‖ +
‖δbbb‖‖bbb‖
).
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 17 / 53
Obcutljivost linearnih sistemov
Izpeljali smo oceno
‖δxxx‖‖xxx‖
≤ κ(A)
1− κ(A)‖δA‖‖A‖
(‖δA‖‖A‖
+‖δbbb‖‖bbb‖
),
kjer je κ(A) := ‖A−1‖ · ‖A‖ obcutljivost oz. pogojenostno stevilo matrikeA.Ce racunamo z natancnostjo ε, je torej normalno, da dobimo resitev znatancnostjo κ(A)ε.Za obcutljivost velja 1 ≤ κ(A), saj je 1 ≤ ‖I‖ = ‖AA−1‖ ≤ ‖A‖‖A−1‖.Za spektralno obcutljivost velja
κ2(A) =σ1(A)
σn(A).
Matrike, ki imajo spektralno obcutljivost 1, so le z nenicelnim skalarjempomnozene unitarne matrike.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 18 / 53
Determinanta ni merilo za obcutljivost
Obcutljivost κ(A) = ‖A−1‖ · ‖A‖ ni povezana z velikostjo determinantematrike! Tako ima npr. matrika αI lahko zelo veliko ali zelo majhnodeterminanto αn, njeno pogojenostno stevilo pa je 1. Po drugi strani paima npr. matrika
Bn =
1 −1 · · · −10 1 · · · −1...
.... . .
...0 0 · · · 1
, B−1n =
1 1 · · · 2n−2
0 1 · · · 2n−3
......
. . ....
0 0 · · · 1
determinanto 1, obcutljivost merjena v normi ‖ . ‖∞ pa n2n−1.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 19 / 53
Zgled zelo obcutljivega sistema
Naj bo f ∈ C ([0, 1]). Iscemo polinom p(x) := a1 + a2x + · · ·+ anxn−1,za katerega je napaka
E :=
∫ 1
0
(f (x)− p(x))2dx
minimalna. Potreben pogoj zahteva
∂E
∂ai= 2
∫ 1
0
(p(x)− f (x))x i−1dx = 0, i = 1, . . . , n.
To da pogoje∫ 1
0
f (x)x i−1dx =
∫ 1
0
(n∑
j=1
ajxj−1x i−1
)dx =
n∑j=1
aj
∫ 1
0
x i+j−2dx =n∑
j=1
aj1
i + j − 1.
Dobimo sistem linearnih enacb Hnaaa = bbb, kjer je Hn Hilbertova matrika zelementi hij = 1
i+j−1 . Hilbertove matrike so zelo obcutljive:
κ(H4) = 1.6 · 104, κ(H7) = 4.8 · 108 in κ(H10) = 1.6 · 1013.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 20 / 53
Ostanki
Denimo, da smo numericno resili linearni sistem Axxx = bbb in dobili priblizekxxx za tocno resitev. Kako lahko ugotovimo, ali je dobljena resitev dobra?Izracunamo lahko ostanek rrr := bbb − Axxx in pogledamo njegovo normo ‖rrr‖.Ker se ostanek spremeni, ce sistem Axxx = bbb pomnozimo s poljubnimskalarjem, resitev xxx pa ostane nespremenjena, je pravilno gledati relativniostanek
‖rrr‖‖A‖ · ‖xxx‖
.
Napaka pri xxx je z relativnim ostankom povezana z oceno
‖δxxx‖‖xxx‖
≤ κ(A)‖rrr‖
‖A‖ · ‖xxx‖.
To pomeni, da iz majhnega relativnega ostanka lahko sklepamo namajhno relativno napako resitve samo tedaj, ko je matrika A dobropogojena.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 21 / 53
Relativni ostanek je vedno majhen
Iz obratne napake (A + δA)xxx = bbb dobimo ‖rrr‖ ≤ ‖δA‖ · ‖xxx‖ oziroma
‖rrr‖‖A‖ · ‖xxx‖
≤ ‖δA‖‖A‖
.
Zaradi tega bo resitev, dobljena s stabilnim algoritmom, vedno imelamajhen relativni ostanek, to pa pomeni, da relativni ostanek sam ni pravomerilo za tocnost dobljene resitve.Ce hocemo imeti zagotovilo, da je izracunana resitev dobra, mora torejbiti poleg majhega relativnega ostanka se matrika dobro pogojena.Pogojenost matrike lahko ugotovimo iz κ(A), kjer pa potrebujemo‖A−1‖. Na sreco obstajajo algoritmi, s katerimi lahko dobimo dovoljdobro oceno za ‖A−1‖ brez racunanja A−1. Ce bi namrec izracunali A−1,bi za to potrebovali vec operacij, kot pa jih sicer potrebujemo, daizracunamo resitev linearnega sistema Axxx = bbb.Oceno
‖δxxx‖‖xxx‖
≤ ‖A−1‖ · ‖rrr‖‖xxx‖
,
uporabljamo v kombinaciji z algoritmi, ki ocenijo ‖A−1‖ brez racunanjaA−1.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 22 / 53
Permutacijske matrike in elementarne eliminacije
Osnovna ideja pri resevanju sistema linearnih enacb
Sistem enacb Axxx = bbb pretvorimo z matricnimi transformacijami naekvivaletno obliko, v kateri lahko izracunamo vrednosti neznank xxx .
Pretvorbo izpeljemo z uporabo dveh vrst matrik: permutacijske matrike
in elementarne eliminacije. Permutaciji σ =
(1 2 · · · nσ1 σ2 · · · σn
)ustreza
permutacijska matrika
Pσ =
eTσ1
...eTσn
.Lastnosti permutacijskih matrik
P−1σ = PT
σ
PσA: s σ premesane vrstice A.
APσ: s σ−1 premesani stolpci A.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 23 / 53
Elementarne eliminacije
Naj za vektor xxx ∈ Rn velja xk 6= 0. Za nesingularno matriko
Lk :=
1. . .
1−`k+1,k 1
.... . .
−`n,k 1
=: I − `keeeT
k , `k =
0...0
`k+1,k
...`n,k
,
kjer je `jk =xjxk
za j = k + 1, . . . , n, potem velja
Lk
x1
...xkxk+1
...xn
=
x1
...xk0...0
.
Matriko Lk imenujemo elementarna eliminacija. Unici vse elementevektorja xxx od (k + 1)-vega navzdol.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 24 / 53
Inverz matrike Lk je kar
L−1k = I + `k`k`kekekek
T =
1. . .
1`k+1,k 1
.... . .
`n,k 1
,
saj je(I − `k`k`kekekek
T) (
I + `k`k`kekekekT)
= I , ker je ekekekT`k`k`k = 0. Produkt matrik
L−11 L−1
2 · · · L−1n−1 je enak
1`21 1`31 `32 1...
.... . .
. . .
`n1 `n2 · · · `n,n−1 1
.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 25 / 53
LU razcep
Naj bo
A =
a11 a12 · · · a1n
a21 a22 · · · a2n
......
...an1 an2 · · · ann
in a11 6= 0. Z zaporedjem matricnih mnozenj jo pretvorimo v zgornjetrikotno matriko. Za eliminacijsko matriko na prvem koraku dobimo
L1 =
1−`21 1
.... . .
−`n1 1
,kjer je `21 = a21
a11, . . . , `n1 = an1
a11velja
L1
a11
a21
...an1
=
a11
0...0
, torej A(1) := L1A =
a11 a12 · · · a1n
0 a(1)22 · · · a
(1)2n
......
...
0 a(1)n2 · · · a
(1)nn
.B. Plestenjak, J.Kozak: Numericne metode 2011-2012 26 / 53
Na drugem koraku je
A(2) := L2A(1) =
a11 a12 a13 · · · a1n
0 a(1)22 a
(1)23 · · · a
(1)2n
0 0 a(2)33 · · · a
(2)3n
......
......
0 0 a(2)n3 · · · a
(2)nn
,
kjer je
L2 =
1
1−`32 1
.... . .
−`n2 1
,
in `32 =a
(1)32
a(1)22
, . . . , `n2 =a
(1)n2
a(1)22
.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 27 / 53
Po n − 1 korakih dobimo
U := Ln−1 · · · L2L1︸ ︷︷ ︸=:L−1
A =
a11 a12 · · · a1n
a(1)22 · · · a
(1)2n
. . ....
a(n−1)nn
,in
L = L−11 L−1
2 · · · L−1n−1 =
1`21 1`31 `32 1...
.... . .
. . .
`n1 `n2 · · · `n,n−1 1
.Izpeljali smo LU razcep brez pivotiranja ali Gaussov razcep brezpivotiranja
A = LU.
Diagonalni elementi a11, a(1)22 , . . . , a
(n−2)n−1,n−1, s katerimi delimo, se
imenujejo pivoti, `ij pa kvocienti. Pivoti morajo biti nenicelni, sicermetoda odpove.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 28 / 53
Izrek
Za matriko A je ekvivalentno:
1) Obstaja enolicni razcep A = LU, kjer je L spodnja trikotna matrika zenicami na diagonali in U nesingularna zgornja trikotna matrika.
2) Vse vodilne podmatrike A(1 : k , 1 : k) so nesingularne.
Dokaz. Pokazimo, da iz 1) sledi 2). Zapisimo razcep A = LU blocno,[A11 A12
A21 A22
]=
[L11 0L21 L22
] [U11 U12
0 U22
]=
[L11U11 L11U12
L21U11 L21U12 + L22U22
].
Tu je A11 poljubna vodilna podmatrika matrike A. Odtod A11 = L11U11
in det A11 = det (L11U11) = det U11 6= 0, saj je U11 neizrojena. Dokaz vobratni smeri izpeljemo z indukcijo po velikosti vodilne podmatrike k. Zak = 1 trditev velja, saj za a11 6= 0 obstaja razcep a11 = 1u11, u11 6= 0.Naj trditev velja za dani k . Naj bo sedaj
A(1 : k + 1, 1 : k + 1) =
[A11 A12
A21 A22
], A11 = A(1 : k, 1 : k),
blocni razrez vodilne podmatrike pri k + 1. Ocitno je A21 vrstica, A12
stolpec in A22 skalar.B. Plestenjak, J.Kozak: Numericne metode 2011-2012 29 / 53
Gaussova eliminacija brez pivotiranja
Ce obstaja LU razcep matrike A(1 : k + 1, 1 : k + 1), je nujno oblike[A11 A12
A21 A22
]=
[L11 0L21 L22
] [U11 U12
0 U22
]=
[L11U11 L11U12
L21U11 L21U12 + L22U22
].
kjer je L22 = 1 in po induktivni predpostavki je A11 = L11U11. Tu je L11
neizrojena spodnje trikotna matrika z enicami na diagonali in U11
neizrojena zgornje trikotna matrika. Torej je U12 = L−111 A12,
L21 = A21U−111 in U22 = A22 − L21U12. Pri tem mora biti U22 6= 0, saj je
U22 det U11 = det A(1 : k + 1, 1 : k + 1) 6= 0.
Algoritem:
za j = 1, . . . , n − 1
za i = j + 1, . . . , n
`ij =aijajj
;
za k = j + 1, . . . , n
aik = aik − `ijajk ;
Stevilo operacij je∑n−1
j=1
∑ni=j+1
(1 +
∑nk=j+1 2
)= 2
3 n3 − 12 n2 − 1
6 n.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 30 / 53
Zgled LU razcepa brez pivotiranja
Zgled: Izracunajmo LU razcep za A =
2 2 34 5 61 2 4
.
A(1) =
1 0 0−2 1 0− 1
2 0 1
· A =
2 2 30 1 00 1 5
2
U = A(2) =
1 0 00 1 00 −1 1
· A(1) =
2 2 30 1 00 0 5
2
.
L =
1 0 02 1 012 1 1
.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 31 / 53
Resevanje sistema Axxx = bbb
1) A = LU,
2) Lyyy = bbb,
3) Uxxx = yyy .
Sistem Lyyy = bbb resujemo s premo substitucijo. Iz1`21 1...
. . .. . .
`n1 · · · `n,n−1 1
y1
y2
...yn
=
b1
b2
...bn
dobimo
`i1y1 + · · ·+ `i,i−1yi−1 + yi = bi , i = 1, . . . , n,
od tod pa algoritem
za i = 1, . . . , n
yi = bi −∑i−1
j=1 `ijyj ;
Stevilo operacij je∑n
i=1(1 + 2(i − 1)) = n2.B. Plestenjak, J.Kozak: Numericne metode 2011-2012 32 / 53
Sistem Ux = yyy resujemo z obratno substitucijo. Izu11 · · · u1n
. . ....
unn
x1
...xn
=
y1
...yn
dobimo
uiixi + ui,i+1xi+1 + · · ·+ uinxn = yi , i = 1, . . . , n,
od tod pa algoritem
za i = n, n − 1, . . . , 1
xi = 1uii
(yi −
∑nj=i+1 uijxj
);
Stevilo operacij je∑n
i=1(2 + 2(i − 1)) = n2 + n (se deljenja na diagonali).
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 33 / 53
Sistemov ne resujemo s pomocjo inverzne matrike
Za LU razcep je potrebnih 23 n3 +O(n2) operacij, ko pa L in U ze
poznamo, za resevanje Axxx = bbb porabimo se dodatnih 2n2 +O (n)operacij.Za resevanje sistema Axxx = bbb nikoli ne uporabljamo inverzne matrike A−1,saj:
za mnozenje A−1bbb porabimo 2n2 operacij, kar ni ceneje od resevanjaobeh trikotnih sistemov z matrikama L in U;
za izracun A−1 potrebujemo 2n3 operacij, kar je trikrat toliko kotLU razcep;
numericne napake so kvecjemu vecje.
Tudi kadar je potrebno izracunati A−1B, to naredimo tako, da resimosistem AX = B.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 34 / 53
Potreba za pivotiranjem
Metoda odpove, ce je kateri pivot enak 0, numericno pa odpove tudi, ceje pivot blizu 0.
LU razcep na tri decimalna mesta
Za A =
[0.0001 1
1 1
]izracunamo
L =
[1 0
10000 1
], U =
[0.0001 1
0 fl(1− 10000)
]=
[0.0001 1
0 −10000
].
Velja LU =
[0.0001 1
1 0
]6= A, napaka pa je ogromna.
Resitev obeh tezav je pivotiranje, kjer v algoritem vgradimo zamenjavovrstic (delno pivotiranje), lahko pa tudi stolpcev (kompletno pivotiranje).Pri delnem pivotiranju pred eliminacijo v j-tem stolpcu primerjamo|ajj |, |aj+1,j |, . . . , |anj | in zamenjamo j-to vrstico s tisto, ki vsebujemaksimalni element. Tako je pri nesingularni matriki v vsakem korakupivot nenicelen, ce je le prvotna matrika neizrojena.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 35 / 53
Kot rezultat dobimo razcep PA = LU, kjer je P permutacijska matrika.To preverimo takole. Razcep s pivotiranjem po vrsticah zapisemo kot
U = Ln−1Pn−1 · · · L2P2L1P1A,
kjer je Pj premutacijska matrika, ki zamenja vrstice na koraku j , torejvrstici j in q ≥ j . Torej je
Lj := (Pn−1 · · ·Pj+1) Lj (Pn−1 · · ·Pj+1)−1
tudi trikotna matrika. Od matrike Lj se razlikuje le v tem, da ima mordadele vrstic j : n v stolpcih 1 : j − 1, v drugacnem vrstnem redu. Ceizberemo
L := L−11 · · · L
−1n−1, P := Pn−1 · · ·P1,
dobimo iskani razcep. Zaradi pivotiranja so v matriki L vsi elementi poabsolutni vrednosti omejeni z 1.
Izrek
Ce je A nesingularna, potem obstaja taka permutacijska matrika P, daobstaja LU razcep PA = LU, kjer je L spodnja trikotna matrika z enicamina diagonali in U zgornja trikotna matrika.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 36 / 53
Delno pivotiranje
Pred eliminacijo v j-tem stolpcu primerjamo |ajj |, |aj+1,j |, . . . , |anj | inzamenjamo j-to vrstico s tisto, ki vsebuje maksimalni element. Dodatnodelo zahteva O
(n2)
primerjanj.
Algoritem:
za j = 1, . . . , n − 1poisci indeks vrstice q, da velja |aqj | = maxj≤p≤n |apj |;zamenjaj vrstici q in j , v matriki A, stolpci j : n,
in matriki L, stolpci 1 : j − 1;za i = j + 1, . . . , n`ij =
aijajj
;
za k = j + 1, . . . , naik = aik − `ijajk ;
Resevanje sistema Axxx = bbb z delnim pivotiranjem:
1) PA = LU,2) Lyyy = Pbbb,3) Uxxx = yyy .
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 37 / 53
Zgled za delno pivotiranje
LU razcep z delnim pivotiranjem za A =
0 1 21 2 31 0 1
.Vsakic, ko zamenjamo vrstici, zamenjavo naredimo tudi v P. Ker matrikoL hranimo v spodnjem trikotniku A, z zamenjavo vrstic opravimo tudipotrebno zamenjavo v L.
A(1) =
1 2 3
0 1 2
1 −2 −2
, P =
0 1 01 0 00 0 1
,
A(2) =
1 2 3
1 −2 −2
0 − 12 1
, P =
0 1 00 0 11 0 0
.
Dobimo L =
11 10 − 1
2 1
, U =
1 2 3−2 −2
1
in PA = LU.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 38 / 53
LU razcep s kompletnim pivotiranjem
V j-tem stolpcu pivotni element izbiramo iz cele podmatrikeA(j : n, j : n), nato pa izvedemo zamenjavo vrstic in stolpcev. Na koncudobimo razcep PAQ = LU, kjer sta P in Q permutacijski matriki zavrstice oziroma stolpce. Stevilo operacij je enako kot pri osnovnem LUrazcepu, stevilo primerjanj pa je O(n3). Pri kompletnem pivotiranjusistem Axxx = bbb resujemo po korakih:
1) PAQ = LU,
2) Lyyy = Pbbb =: bbb′,
3) Uxxx ′ = yyy ,
4) xxx = Qxxx ′.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 39 / 53
Zgled za kompletno pivotiranje
Sistem z A =
0 1 11 2 31 1 1
in bbb =
273
, resimo z LU razcepom s polnim
pivotiranjem.
A(1) =
3 2 113
13− 1
3
13
13
23
, P =
0 1 01 0 00 0 1
, Q =
0 0 10 1 01 0 0
,
A(2) =
3 1 213
23
13
13
− 12
12
, P =
0 1 00 0 11 0 0
, Q =
0 1 00 0 11 0 0
.
Razcep je PAQ = LU, kjer sta L =
113
113− 1
21
in U =
3 1 223
1312
.
Dobimo bbb′ = Pb =
732
, yyy =
723
0
, xxx ′ =
210
in xxx =
102
.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 40 / 53
Analiza napak za LU razcep
Naj bo xxx numericno izracunana resitev, xxx pa tocna resitev. Velja
(A + δA)xxx = bbb,
kjer je ‖δA‖∞ ≤ 3gn3u‖A‖∞ in g pivotna rast
g :=maxi,j |uij |maxi,j |aij |
.
Pri LU razcepu brez pivotiranja je lahko pivotna rast poljubno velika.
Pri delnem pivotiranju je pivotna rast omejena z 2n−1, ponavadi paje O(n2/3).
Pri kompletnem pivotiranju je pivotna rast se manjsa, vendar jedodatno delo ponavadi preveliko, da bi se to splacalo.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 41 / 53
Matlab
Za racunanje norme uporabimo ukaz norm. Uporaba:
norm(A) ali norm(A,2): spektralna ali 2-norma ‖A‖2
norm(A,1): 1-norma ‖A‖1
norm(A,’inf’): ∞-norma ‖A‖∞norm(A,’fro’): Frobeniusova norma ‖A‖F
Za resevanje linearnega sistema Axxx = bbb uporabljamo v Matlabu operator\ v obliki x = A\b. LU razcep z delnim pivotiranjem dobimo z ukazomlu. Uporaba:
[L,U,P]=lu(A): L je spodnje trikotna z enicami na diagonali, U jezgornja trikotna in P permutacijska matrika, da je LU = PA.
[L,U]=lu(A): U je spodnje trikotna, L pa po vrsticah spermutiranaspodnje trikotna z enicami na diagonali, da je LU = A.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 42 / 53
Za izracun oziroma oceno obcutljivosti imamo na voljo naslednje ukaze:
cond(A) ali cond(A,2) izracuna κ2(A) preko singularnih vrednostioziroma ukaza svd.
cond(A,1) izracuna κ1(A), uporablja inv(A) in porabi manj delakot cond(A,2).
cond(A,’inf’) izracuna κ∞(A), ukaz je ekvivalentenrbcond(A’,1).
condest(A) vrne oceno za κ1(A), ki jo izracuna po Highamoviizboljsavi Hagerjevega algoritma.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 43 / 53
Kompleksni sistem
Resujemo sistem linearnih enacb Axxx = bbb, kjer je A ∈ Cn×n in xxx ,bbb ∈ Cn.
Ce racunamo v kompleksni aritmetiki, potem lahko uporabimo karLU razcep z delnim pivotiranjem.
Sistem lahko prevedemo na dvakrat vecji realni sistem[A1 −A2
A2 A1
] [xxx1
xxx2
]=
[bbb1
bbb2
],
kjer je A = A1 + i A2, xxx = xxx1 + i xxx2 in bbb = bbb1 + i bbb2.
Ce primerjamo stevilo realnih operacij, je prvi nacin za polovico cenejsi.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 44 / 53
Tridiagonalne matrike
Razcep LU brez pivotiranja tridiagonalne matrike
A =
a1 b1
c2 a2 b2
. . .. . .
. . .
cn−1 an−1 bn−1
cn an
je
L =
1`2 1
. . .. . .
`n 1
in U =
u1 b1
. . .. . .
un−1 bn−1
un
.Za razcep in nadaljnje resevanje sistema Axxx = bbb potrebujemo O(n)operacij in O(n) prostora, saj shranimo le nenicelne diagonale matrik A,L in U.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 45 / 53
Tridiagonalne matrike in delno pivotiranje
Pri delnem pivotiranju dobimo
U =
u1 v1 w1
. . .. . .
. . .
un−2 vn−2 wn−2
un−1 vn−1
un
,
pivotna rast pa je omejena z 2. To pomeni, da je resevanjetridiagonalnega sistema preko razcepa LU z delnim pivotiranjem obratnostabilno. Podobno velja za pasovne matrike, ki imajo poleg glavne se pdiagonal nad in q diagonal pod glavno diagonalo.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 46 / 53
Simetricne pozitivno definitne matrike
A ∈ Rn×n je simetricna pozitivno definitna (s.p.d.), ce je A = AT in
xxxTAxxx > 0
za vsak xxx 6= 0.
Izrek
Velja:
1) Naj bo det Y 6= 0. Potem je A s.p.d. ⇐⇒ Y TAY s.p.d.
2) A s.p.d. in H = A(1 : k , 1 : k) poljubna vodilna podmatrika, k ≤ n,=⇒ H s.p.d.
3) A s.p.d. in H = A([i1 i2 · · · ik ], [i1 i2 · · · ik ]) poljubna podmatrika,simetricna glede na diagonalo =⇒ H s.p.d.
4) A s.p.d. ⇐⇒ A = AT in vse lastne vrednosti A so pozitivne.
5) A s.p.d. =⇒ aii > 0 za ∀i in maxi,j |aij | = maxi |aii |.6) A s.p.d. =⇒ LU razcep brez pivotiranja se izvede in uii > 0 za ∀i .
7) A s.p.d. ⇐⇒ obstaja taka nesingularna spodnja trikotna matrika Vs pozitivnimi elementi na diagonali, da je A = VV T .
Razcep A = VV T imenujemo razcep Choleskega, V pa faktor Choleskega.B. Plestenjak, J.Kozak: Numericne metode 2011-2012 47 / 53
Razcep Choleskega
Ce iz A = VV T zapisemo enacbo za ajk , j ≥ k , dobimo
ajk =k∑
i=1
vjivki =k−1∑i−1
vjivki + vjkvkk ,
odtod pa algoritem za razcep Choleskega:
za k = 1, . . . , n
vkk =
(akk −
k−1∑i=1
v 2ki
)1/2
za j = k + 1, . . . , n
vjk =1
vkk
(ajk −
k−1∑i=1
vjivki
)
Stevilo operacij jen∑
k=1
(2k + 2(n − k)k) =1
3n3 +O(n2).
Poleg polovice manj operacij porabimo tudi polovico manj prostora kotpri LU razcepu.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 48 / 53
Zgled za razcep Choleskega
Vzemimo matriko
A =
4 −2 4 −2 4−2 10 1 −5 −54 1 9 −2 1−2 −5 −2 22 74 −5 1 7 14
.Razcep Choleskega da faktor
V =
2−1 32 1 2−1 −2 1 42 −1 −1 2 2
.
Ce A ni s.p.d., se v algoritmu pod korenom pojavi nepozitivna vrednost.Racunanje razcepa Choleskega je najcenejsa metoda za ugotavljanjepozitivne definitnosti simetricne matrike.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 49 / 53
Stabilnost razcepa Choleskega
Resevanje s.p.d. sistema Axxx = bbb:
1) A = VV T ,
2) Vyyy = bbb,
3) V Txxx = yyy .
Iz analize napak sledi, da izracunana resitev xxx zadosca (A + δA)xxx = bbb,kjer je
‖δA‖∞ ≤ 3n2ε‖A‖∞.
To pomeni, da je resevanje preko razcepa Choleskega numericno stabilno.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 50 / 53
Simetricne nedefinitne matrike
Pri simetricni matriki ne zelimo uporabljati razcepa LU, saj ne ohranjasimetrije. Za nesingularno A obstaja razcep
PAPT = LDLT ,
kjer je L spodnja trikotna matrika z enicami na diagonali, D pa blocnodiagonalna matrika z bloki 1× 1 ali 2× 2. Stevilo operacij za razcep je
n3
3+O(n2).
Zgled za to, da potrebujemo 2× 2 bloke v D je npr. A =
[0 11 0
].
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 51 / 53
Razprsene matrike
Matrika je razprsena, ce je vecina njenih elementov enakih 0, ostali panimajo kaksne posebne strukture. Pri taki matriki shranimo le indekse invrednosti nenicelnih elementov.Pri LU razcepu razprsene matrike oz. razcepu Choleskega za s.p.d.razprseno matriko so lahko faktorji L, U oziroma V dalec od razprsenosti.Pomaga lahko, ce stolpce in vrstice predhodno tako preuredimo, da bopri razcepu nastalo cim manj novih nenicelnih elementov. Obstajajorazlicni algoritmi in pristopi, ki za razlicne tipe matrik dajejo razlicnerezultate. Ponavadi se za razprsene matrike uporablja iterativne metodenamesto direktnih.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 52 / 53
Matlab in posebni sistemi
Razcep Choleskega dobimo z ukazom chol. Uporaba:
V = chol(A): V je taka zgornja trikotna matrika, da je A = V TV .Ce A ni simetricna pozitivno definitna, dobimo sporocilo o napaki.
Za delo z razprsenimi matrikami imamo na voljo vec ukazov, podrobenseznam dobimo z help sparfun, nekaj glavnih ukazov pa je:
sparse: konstrukcija razprsene matrike, tako npr. A=sparse(B)
naredi razprseno matriko A z nenicelnimi elementi matrike B,A=sparse(i,j,a,m,n) pa naredi razprseno matriko velikosti m × nz nenicelnimi elementi ak na indeksih (ik , jk).
B=full(A): iz razprsene matrike naredi nazaj polno.
spy(A): graficno prikaze strukturo matrike A in stevilo nenicelnihelementov.
nz(A): stevilo nenicelnih elementov.
normest(A): oceni 2-normo matrike A.
B. Plestenjak, J.Kozak: Numericne metode 2011-2012 53 / 53