53
Oznake in osnovne definicije Sistem n linearnih enaˇ cb z n neznankami a 11 x 1 + a 12 x 2 + ··· + a 1n x n = b 1 a 21 x 1 + a 22 x 2 + ··· + a 2n x n = b 2 . . . a n1 x 1 + a n2 x 2 + ··· + a nn x n = b n na kratko zapiˇ semo v obliki Ax = b, A R n×n (C n×n ), x , b R n (C n ), kjer je A realna (kompleksna) matrika, x , b pa realna (kompleksna) vektorja. Pri tem (i , j )-ti element matrike A oznaˇ cimo z a ij , x i pa je i -ti element vektorja x . B. Plestenjak, J.Kozak: Numeriˇ cne metode 2011-2012 1 / 53

Oznake in osnovne de nicije - uni-lj.si

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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