2 rozw ukladow liniowych met be Nieznany (2)

background image

1

Rozwiązywanie algebraicznych

układów równań liniowych

metodami bezpośrednimi

background image

2

Plan wykładu:

1. Definicje macierzy, norm etc.
2. Metoda eliminacji Gaussa, Jordana
3. Rozkład LU metodą Gaussa
4. Układy równań z macierzą symetryczną. Rozkłady: LDL

T

, LL

T

5. Układy równań z macierzą trójdiagonalną
6. Iteracyjne poprawianie rozwiązań
7. Układy liniowe nadokreślone, układ normalny równań, metody

ortogonalizacji

background image

3

Pojęcia podstawowe

Macierz jest uporządkowanym układem
mxn liczb rzeczywistych lub zespolonych
A=(a

ij

) (i=1,..,m; j=1,...,n)

Jeśli m=n to A jest kwadratowa stopnia n.

Macierz diagonalna D=(

ij

d

ij

)

Macierz jednostkowa I=(

ij

)

A

m

£n

=

2
6

6

4

a

11

a

12

: : :

a

1n

a

21

a

22

: : :

a

2n

: : :

: : :

: : :

: : :

a

m1

a

m2

: : :

a

mn

3
7

7

5

D =

2
6

6

4

d

1

0

: : :

0

0

d

2

: : :

0

: : :

: : :

: : :

: : :

0

0

: : :

d

n

3
7

7

5

(A

T

)

T

= A

(®A)

T

= ®A

T

(A + B)

T

= A

T

+ B

T

(AB)

T

= B

T

A

T

(Ax)

T

= x

T

A

T

Transpozycja - A=(a

ij

) to A

T

=(a

ji

)

Ślad macierzy A=A

nxn

tr(A) =

n

X

i=1

a

ii

tr(A

T

) = tr(A)

background image

4

Jeśli

to macierz jest

nieosobliwa

i dla takiej macierzy

istnieje macierz odwrotna A

-1

Macierz symetryczna

Macierz ortogonalna Q=Q

m

x

n

Macierz idempotentna

det(A)

6= 0

AA

¡1

= A

¡1

A = I

(AB)

¡1

= B

¡1

A

¡1

A

T

= A

Q

T

Q = I

Macierz trójkątna lewa (dolna)

Macierz trójkątna prawa (górna)

Sumy, iloczyny i odwrotności macierzy trójkątnych
tego samego rodzaju są macierzami trójkątnymi.

Wyznacznik macierzy trójkątnej

L =

2
6

6

4

l

11

0

: : :

0

l

21

l

22

: : :

0

: : :

: : :

: : :

: : :

l

n1

l

n2

: : :

l

nn

3
7

7

5

R =

2
6

6

4

r

11

r

12

: : :

r

1n

0

r

22

: : :

r

2n

: : :

: : :

: : :

: : :

0

0

: : :

r

nn

3
7

7

5

det(L) = l

11

l

22

: : : l

nn

det(R) = r

11

r

22

: : : r

nn

det(A) = det(A

T

)

det(AB) = det(A)det(B)

Q

¡1

Q = I

Q

T

= Q

¡1

A

2

= A

background image

5

Macierzą hermitowską nazywamy macierz, która
po transpozycji i sprzężeniu zespolonemu jej
elementów jest równa macierzy pierwotnej

Elementy diagonalne macierzy hermitowskiej są
rzeczywiste (pozostałe mogą być zespolone lub
rzeczywiste).

Macierzą dodatniookreśloną nazywamy macierz
rzeczywistą lub hermitowską o własności:

Macierz dodatnio określona jest zawsze odwracalna.
Macierz odwrotna jest
również dodatnio określona.

Przestrzenią liniową (wektorową) nad ciałem
liczb rzeczywistych (zespolonych) nazywamy zbiór
obiektów (wektorów) z określonym działaniem
dodawania elementów przestrzeni oraz mnożenia ich
przez liczbę i oznaczamy R

N

(C

N

).

Aksjomaty: łączność, przemienność, element
neutralny, element odwrotny,....

A

H

=

¡

A

T

¢

¤

x

T

Ax > 0;

x

2 R

n

;

x

6= 0

Uporządkowany zbiór liczb rzeczywistych
(zespolonych) tworzy wektor

Przestrzeń wektorowa będąca zbiorem takich
obiektów ma wymiar n.
Dowolny zbiór n wektorów liniowo niezależnych w
R

N

tworzy bazę przestrzeni. Każdy element
przestrzeni można zapisać jako kombinację
liniową elementów bazy

Podprzestrzeń linową R w R

N

tworzy zbiór

wszystkich wektorów

Macierz możemy traktować jako obiekt
zbudowany z wektorów ( wektory wierszowe lub
kolumnowe).
Rzędem macierzy A=A

mxn

r=rank(A)
nazywamy największą liczbę niezależnych liniowo
wektorów wierszowych lub kolumnowych. Jeśli
r=m=n to macierz jest nieosobliwa.

x = (x

1

; x

2

; x

3

; : : : ; x

n

)

y

1

; y

2

; : : : ; y

n

x = ®

1

y

1

+ ®

2

y

2

+ : : : + ®

n

y

n

y

1

; y

2

; : : : ; y

k

;

k

· n

background image

6

Normy wektorów i macierzy
Normy wprowadza się w celu ilościowego
określania własności wektorów i macierzy.
Normą wektora nazywamy funkcję, która
każdemu elementowi w R

N

przyporządkowuje liczbę

rzeczywistą. Dla dowolnych

norma wektora musi spełniać następujące
aksjomaty:

Dla n-wymiarowego wektora

najczęściej stosowane są normy z rodziny L

P

:

- norma pierwsza

- norma druga (euklidesowa)

- norma maksymalna

Dla dowolnego wektora x w przestrzeni R

n

prawdziwe są poniższe relacje pomiędzy normami:

Normy macierzy
Własności norm macierzy

Normy zgodne

– norma macierzy indukowana

przez normę wektora

x = [x

1

; x

2

; : : : ; x

n

]

T

jjxjj

p

= (

jx

1

j

p

+

jx

2

j

p

+ : : :

jx

n

j

p

)

1

p

p =

1;

kxk

1

= max

fjx

1

j; jx

2

j; : : : ; jx

n

jg

x; y

2 R

n

®

2 R

jjxjj ¸ 0;

jjxjj = 0 () x = 0

jj®xjj = j®j ¢ jjxjj
jjx + yjj · jjxjj + jjyjj

kxk

1

· kxk

2

· kxk

1

·

p

n

kxk

2

· nkxk

1

p = 2;

kxk

2

= (x

2

1

+ x

2

2

+ : : : + x

2

n

)

1=2

p = 1;

kxk

1

=

jx

1

j + jx

2

j + : : : + jx

n

j

jjAjj ¸ 0;

jjAjj = 0 () A = 0

jj®Aj = j®j ¢ jjAjj

jjA + Bjj · jjAjj + jjBjj

jjABjj · jjAjj ¢ jjBjj

jjAxjj · jjAjj ¢ jjxjj(normy zgodne)

background image

7

Macierz o m wierszach i n kolumnach można
traktować jako operator liniowy przekształcający
przestrzeń R

m

w R

n

. Normę takiej macierzy można

określić przy użyciu wektorów:

gdzie: p i q oznaczają normy wektorów w
przestrzeniach R

n

i w R

m

. Mówimy, że norma ||A||

pq

jest normą indukowaną przez normy ||.||

p

oraz ||.||

q

.

Dla p=q oznaczając

możemy określić następujące normy macierzy

- maksymalna suma modułów w kolumnie

- norma spektralna

kAk

p

=

kAk

pq

kAk

1

=

max

j=1;2;:::;n

m

X

i=1

ja

ij

j

kAk

2

= ( max

i=1;:::;n

¸

i

(AA

T

))

1=2

kAk

1

=

max

i=1;2;:::;n

n

X

j=1

ja

ij

j

kAk

1

1

= max

i;j

ja

ij

j

- maksymalna suma modułów w wierszu

- maksymalny moduł elementu

W przestrzeniach z normą ||

⋅||

2

często używa się

euklidesowej (Frobeniusa)

normy macierzy:

która nie jest indukowana żadną normą ale spełnia
ona z normą ||

⋅||

2

warunek zgodności:

Normy macierzy mają istotne znaczenie w analizie
błędów (np. błędów rozwiązania układów równań
liniowych).

kAk

E

=

v

u

u

t

m

X

i=1

n

X

j=1

a

2

ij

kAk

2

· kAk

E

kxk

2

;

x

2 R

n

kAk

pq

= sup

x

2Rn

x

6=0

kAxk

q

kxk

p

background image

8

Szukamy rozwiązania układu równań liniowych w
postaci:

Powyższy układ równań można zapisać w postaci
macierzowej:

gdzie:
- macierz współczynników układu

- szukany wektor - wektor wyrazów
rozwiązań wolnych

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

Ax = b

A =

2
6

6

4

a

11

a

12

: : :

a

1n

a

21

a

22

: : :

a

2n

: : :

: : :

: : :

: : :

a

n1

a

n2

: : :

a

nn

3
7

7

5

x =

2

6

6

6

4

x

1

x

2

..

.

x

n

3

7

7

7

5

b =

2

6

6

6

4

b

1

b

2

..

.

b

n

3

7

7

7

5

Warunek rozwiązywalności układu niejednorodnego:

R(A) – podprzestrzeń liniowa rozpięta na wektorach
kolumnowych macierzy A

Dla

warunek rozwiązywalności układu jest spełniony dla
każdego b i rozwiązanie ma postać

Jeśli rank(A)=r<n to rozwiązania tworzą rozmaitość
(n-r) wymiarową.

b

2 R(A)

R(A) = R

n

x = A

¡1

b

background image

9

Układ równań z macierzą trójkątną

Zakładamy, że elementy leżące na diagonali są niezerowe.
Rozwiązanie układu można znaleźć posługując się wzorem
rekurencyjnym, zaczynając od elementu x

n

:

W celu wyznaczenia wszystkich składowych wektora rozwiązania
x należy wykonać:

- M operacji mnożenia i dzielenia

- D operacji dodawania i odejmowania

a

11

x

1

+ a

12

x

2

+ : : : + a

1n

x

n

=

b

1

a

22

x

2

+ : : : + a

2n

x

n

=

b

2

: : : : : : : : : : : :

: : :

: : :

a

nn

x

n

=

b

n

M =

1
2

n

2

+

1
2

n

D =

1
2

n

2

¡

1
2

n

x

n

=

b

n

a

nn

x

i

=

b

i

¡ a

ii+1

x

i+1

¡ : : : ¡ a

in

x

n

a

ii

background image

10

Uwarunkowanie zadania - rozwiązania
układu równań

Wpływ błędów zaokrągleń na wynik można
oszacować analizując zaburzenia danych: A,b

a) zaburzamy wektor b:

b) zaburzamy elementy macierzy A:

ostatnią nierówność zapisujemy w postaci

A(x + ±x)

=

b + ±b

±x

=

A

¡1

±b

jj±xjj · jjA

¡1

jj ¢ jj±bjj

(A + ±A)(x + ±x) = b
A±x + ±A(x + ±x) = 0
±x =

¡A

¡1

±A(x + ±x)

jj±xjj · jjA

¡1

jj ¢ jj±Ajj ¢ jjx + ±xjj

jj±xjj

jjx + ±xjj

· ·(A)

jj±Ajj

jjAjj

·(A) =

jjAjj ¢ jjA

¡1

jj

gdzie

jest

wskaźnikiem uwarunkowania macierzy

Korzystając z wyniku (a) oraz nierówności

dostajemy oszacowanie na błąd względny
rozwiązania:

Wniosek - duży wskaźnik uwarunkowania macierzy
może powodować duże względne zaburzenia
rozwiązania nawet dla małych zaburzeń wektora
danych. Zadanie jest wówczas

źle uwarunkowane

.

jjbjj = jjAxjj · jjAjj ¢ jjxjj

jj±xjj

jjxjj

· ·(A)

jj±bjj

jjbjj

background image

11

Metoda eliminacji Gaussa rozwiązania układu
równań liniowych. Metoda jest dwuetapowa:

1) Eliminacja zmiennych. Układ pierwotny:

Odejmujemy od i-tego wiersza (i=2,3,...,n) wiersz
pierwszy pomnożony przez współczynnik

Z równań i=2,3,..,n wyeliminowana została
zmienna x

1

.

a

(1)
11

x

1

+ a

(1)
12

x

2

+ : : : + a

(1)
1n

x

n

=

b

(1)
1

a

(1)
21

x

1

+ a

(1)
22

x

2

+ : : : + a

(1)
2n

x

n

=

b

(1)
2

: : : : : : : : : : : : : : : : : : : : : : : : : : :

=

: : :

a

(1)
n1

x

1

+ a

(1)
n2

x

2

+ : : : + a

(1)

nn

x

n

=

b

(1)

n

A

(1)

x = b

(1)

l

i1

=

a

(1)
i1

a

(1)
11

A

(2)

x = b

(2)

a

(2)
11

x

1

+ a

(2)
12

x

2

+ : : : + a

(2)
1n

x

n

=

b

(2)
1

a

(2)
22

x

2

+ : : : + a

(2)
2n

x

n

=

b

(2)
2

: : : : : : : : : : : : : : : : : : : : :

=

: : :

a

(2)
n2

x

2

+ : : : + a

(2)

nn

x

n

=

b

(2)

n

Powtarzamy operację, ale odejmujemy od i-tego
wiersza (i=3,4,...,n) wiersz drugi pomnożony przez
współczynnik

Postępując dalej w ten sposób eliminujemy z
każdego następnego równania jedną zmienną.
Eliminację kończymy po (n-1) krokach, gdy
uzyskamy trójkątny układ równań w postaci:

l

i2

=

a

(2)
i2

a

(2)
22

A

(n)

x = b

(n)

a

(n)
11

x

1

+ a

(n)
12

x

2

+ : : : + a

(n)
1n

x

n

=

b

(n)
1

a

(n)
22

x

2

+ : : : + a

(n)
2n

x

n

=

b

(n)
2

: : : : : : : : : : : :

=

: : :

a

(n)

nn

x

n

=

b

(n)

n

background image

12

2) Etap drugi nazywany jest
postępowaniem odwrotnym
.
Rozwiązanie (kolejne składowe wektora x)
znajdujemy stosując wzór rekurencyjny dla
macierzy trójkątnej. Wyznaczenie rozwiązania
metodą Gaussa wymaga wykonania:

- M op. mnożenia i dzielenia

- D op. dodawania i odejmowania

Metoda eliminacji w tej postaci jest niestabilna
numerycznie – problem dzielenia przez 0 lub
liczbę bliską zeru. Rozwiązanie:

a) częściowy wybór elementów głównych
b) pełny wybór elementów głównych

Częściowy wybór elementów głównych
W k-tym kroku szukamy elementu

i przestawiamy wiersze r oraz k.

M =

1
3

n

3

+ n

2

¡

1
3

n

D =

1
3

n

3

+

1
2

n

2

¡

5
6

n

ja

(k)
rk

j = max

k

·i·n

ja

k

ik

j

Pełny wybór elementów głównych
W k-tym kroku szukamy elementu

i przestawiamy wiersze: k i r oraz kolumny: k i s

ja

(k)

rs

j = max

k

·i;j·n;

ja

k

ij

j

r

k

r

k

s

k

background image

13

Stosując wybór elementu głównego
rozwiązanie otrzymujemy zawsze.
W trakcie wyboru elementu głównego należy
zmienić także kolejność w x i b.
Modyfikacji tej można nie stosować dla:

a) macierzy z dominującą przekątną

b) macierzy symetrycznej i jednocześnie
dodatniookreślonej

Metoda eliminacji Jordana
(eliminacji zupełnej)
W układzie równań:

równanie pierwsze dzielimy obustronnie przez
współczynnik:

ja

ii

j ¸

n

X

j=1;j

6=i

ja

i;j

j (i = 1; : : : ; n)

a

(1)
11

x

1

+ a

(1)
12

x

2

+ : : : + a

(1)
1n

x

n

=

b

(1)
1

a

(1)
21

x

1

+ a

(1)
22

x

2

+ : : : + a

(1)
2n

x

n

=

b

(1)
2

: : : : : : : : : : : : : : : : : : : : : : : : : : :

=

: : :

a

(1)
n1

x

1

+ a

(1)
n2

x

2

+ : : : + a

(1)

nn

x

n

=

b

(1)

n

w

1

= a

(1)
11

Następnie odejmujemy od i-tego wiersza (i=2,3,...,n)
wiersz pierwszy przemnożony przez

i otrzymujemy

Podobnie postępujemy z równaniem drugim. Dzielimy
je przez

Następnie od i-tego wiersza (i=1,3,4,...,n)
odejmujemy wiersz drugi pomnożony przez
współczynnik:

w

1i

= a

(1)
i1

x

1

+ a

(2)
12

x

2

+ : : : + a

(2)
1n

x

n

=

b

(2)
1

a

(2)
22

x

2

+ : : : + a

(2)
2n

x

n

=

b

(2)
2

: : : : : : : : : : : : : : : : : : : : :

=

: : :

a

(2)
n2

x

2

+ : : : + a

(2)

nn

x

n

=

b

(2)

n

A

(2)

x = b

(2)

A

(1)

x = b

(1)

w

2

= a

(2)
22

w

2i

= a

(2)
i2

background image

14

Otrzymujemy zmodyfikowany układ równań:

Po przeprowadzeniu (n-1) eliminacji zmiennych

układ równań ma poniższą postać:

czyli gotowe rozwiązanie. Liczba operacji:

A

(3)

x = b

(3)

x

1

+ 0

¢ x

2

+ a

(3)
13

x

3

+ : : : + a

(3)
1n

x

n

=

b

(3)
1

x

2

+ a

(3)
23

x

3

+ : : : + a

(3)
2n

x

n

=

b

(3)
2

: : : : : : : : : : : : : : : : : : : : :

=

: : :

a

(3)
n3

x

3

+ : : : + a

(3)

nn

x

n

=

b

(3)

n

x

1

=

b

(n)
1

x

2

=

b

(n)
2

: : :

=

: : :

x

n

=

b

(n)

n

M =

1
2

n

3

+

1
2

n

2

D =

1
2

n

3

¡

1
2

n

2

Rozkład LU metodą Gaussa-Crouta(GCW)

Metodę Gaussa można użyć do znalezienia takich
macierzy L i U, które z macierzą A związane są
relacją:

Procedura wyznaczania elementów tych

macierzy nosi nazwę

rozkładu LU

.

Sposób postępowania (wykorzystujemy

metodę eliminacji Gaussa):

1) mnożenie wiersza pierwszego przez

czynnik

i odjęcie go od i-tego wiersza (i=2...n),

zastępujemy mnożeniem przez macierz:

co można zapisać macierzowo:

A = L

¢ U

l

i1

=

a

(1)
i1

a

1

11

L

(1)

=

2
6

6

6

6

4

1

0

: : :

: : :

0

¡l

21

1

0

: : :

0

¡l

31

0

1

0

0

: : :

: : :

: : :

1

0

¡l

n1

0

0

: : :

1

3
7

7

7

7

5

n

£n

L

(1)

A

(1)

= A

(2)

L

(1)

b

(1)

= b

(2)

background image

15

Macierze L

(i)

są nieosobliwe (można znaleźć dla każdej

macierz odwrotną). Przemnażając obie strony
powyższych równań przez (L

(n-1)

)

-1

, (L

(n-2)

)

-1

....,

otrzymamy:

wprowadzamy oznaczenia

Jak znaleźć macierze (L

(i)

)

-1

?

Eliminacja zmiennej z równań (i=3,4,...,n)
wygląda podobnie. Mnożymy wiersze
zmodyfikowanego układu równań o indeksach
i=3,4,...,n przez czynnik

i odejmujemy od nich wiersz drugi. Operację tą
można przeprowadzić mnożąc układ równań
obustronnie przez macierz L

(2)

:

Zapis macierzowy operacji:

Po wykonaniu (n-1) takich operacji dostajemy

l

i2

=

a

(2)
i2

a

2

2

L

(2)

A

(2)

=

A

(3)

L

(2)

b

(2)

=

b

(3)

L

(2)

=

2
6

6

6

6

4

1

0

: : :

: : :

0

0

1

0

0

: : :

0

¡l

32

1

0

0

: : :

: : :

: : :

1

0

0

¡l

n2

0

0

1

3
7

7

7

7

5

L

(n

¡1)

L

(n

¡2)

: : : L

(1)

A

(1)

=

A

(n)

L

(n

¡1)

L

(n

¡2)

: : : L

(1)

b

(1)

=

b

(n)

A

(1)

=

³

L

(1)

´

¡1

³

L

(2)

´

¡1

: : :

³

L

(n

¡1)

´

¡1

A

(n)

b

(1)

=

³

L

(1)

´

¡1

³

L

(2)

´

¡1

: : :

³

L

(n

¡1)

´

¡1

b

(n)

L

(1)

=

2

6

6

4

1

0

: : :

0

¡l

21

1

: : :

0

: : :

: : :

1

0

¡l

n1

0

: : :

1

3

7

7

5

³

L

(1)

´

¡1

=

2

6

6

4

1

0

: : :

0

l

21

1

: : :

0

: : :

: : :

1

0

l

n1

0

: : :

1

3

7

7

5

L

=

(L

(1)

)

¡1

(L

(2)

)

¡1

: : : (L

(n

¡1)

)

¡1

U

=

A

(n)

=

µ

L

(n

¡1)

L

(n

¡2)

: : : L

(1)

A

(1)

A

=

L

¢ U

background image

16

Dysponując macierzami L i U można rozwiązać układ
równań:

poprzez rozwiązanie 2 układów równań

Rozwiązanie każdego z równań wiąże się z nakładem
obliczeń jak dla układu z macierzą trójkątną (~1n

2

).

Rozkład LU (eliminacja Gaussa) to nakład rzędu
~0.5n

3

.

Sprawdzenie

macierz L jest macierzą dolną z jedynkami
na diagonali:

macierz U jest macierzą górną z
niezerowymi elementami na diagonali:

L

(i)

³

L

(i)

´

¡1

= I

L

=

(L

(1)

)

¡1

(L

(2)

)

¡1

: : : (L

(n

¡1)

)

¡1

L

=

2
6

6

6

6

4

1

0

: : :

: : :

0

l

21

1

0

: : :

0

l

31

l

32

1

0

0

: : :

: : :

: : :

1

0

l

n1

l

n2

l

n3

: : :

1

3
7

7

7

7

5

Ax = b
LU x = b

Ly = b

U =

2
6

6

6

6

4

u

11

u

12

u

13

: : :

u

1n

0

u

22

u

23

: : :

u

2n

0

0

u

33

: : :

u

nn

: : :

: : :

: : :

: : :

: : :

0

0

0

: : :

u

nn

3
7

7

7

7

5

U x = y

background image

17

Jaki jest

wektor reszt

rozwiązania?

Norma maksymalna wektora reszt może być mała nawet
dla źle uwarunkowanych macierzy.

Zalety:

1) Duża wydajność dla dużej liczby równań. Rozkład LU

opłaca się stosować w przypadku rozwiązywania wielu
układów równań z tą samą macierzą współczynników
układu A. Każdy układ równań różni się wtedy tylko
wektorem wyrazów wolnych. Rozkład LU wykonuje się
w takim przypadku tylko raz (ilość operacji ~n

3

).

Rozwiązanie pojedynczego układu równań można
znaleźć przy zastosowaniu algorytmu postępowania
odwrotnego (ilość operacji ~n

2

).

2) Oszczędność zajmowanej pamięci. Elementy macierzy

L i U mogą zostać zapisane w macierzy A.

3) Jeśli macierz A jest symetryczna i dodatniookreślona

to nie trzeba dokonywać wyboru elementów
podstawowych.

r = b

¡ A~x = (A + ±A)~x ¡ A~x = ±A~x

jjrjj

1

=

jjb ¡ A~xjj

1

· k

2

"

jj±Ajj

1

jj~xjj

1

background image

18

Układy równań z macierzą symetryczną.
Rozkład LDL

T

Oznaczmy rozkład LU jako:

Szukamy rozkładu macierzy A w postaci:

gdzie: L – macierz trójkątna dolna z jedynkami na
diagonali, D – macierz diagonalna z elementami
diagonalnymi macierzy , U – macierz trójkątna
górna z jedynkami na diagonali

Wykorzystujemy symetrię macierzy

co prowadzi do rozkładu dla macierzy
symetrycznych:

Rozwiązanie układu Ax=b:

A = LU

A = LDU

A = LDL

T

Elementy rozkładu wyznaczamy rekurencyjnie

a dla i=2,3,...,n oblicza się na przemian:

Nakład obliczeń:

Zalety:
- nakład obliczeń dwukrotnie mniejszy niż w GCW
- dzięki symetrii macierzy wystarczy zapamiętać

elementów

d

1

= a

11

l

ij

=

a

ij

¡

P

j

¡1

k=1

c

ik

l

jk

d

j

c

ij

= d

j

l

ij

;

j = 1; 2; : : : ; i

¡ 1

d

i

= a

ii

¡

i

¡1

X

k=1

c

ik

l

ik

M =

1
6

n

3

+ n

2

¡

7
6

n

D =

1
6

n

3

¡

1
6

n

¹

U

U

T

DL

T

= A

T

= A

) U = L

T

N =

n(n + 1)

2

Lz = b

Dy = z

L

T

x = y

background image

19

Rozkład LL

T

(Banachiewicza-Cholesky'ego)

Jeśli macierz A jest macierzą symetryczną
dodatnio określoną wówczas można dokonać
następującego rozkładu:

Macierz L jest macierzą trójkątną dolną z
elementami na diagonali mogącymi
się różnić od 1. Macierz

spełnia warunek

więc rozkład ten nie jest jednoznaczny. Jeśli
jednak liczby na diagonali macierzy L są
dodatnie wówczas rozkład jest jednoznaczny, a
elementy macierzy wyznaczamy ze wzorów:

A = LL

T

A = ¹

L ¹

L

T

l

ii

=

v

u

u

ta

ii

¡

i

¡1

X

k=1

l

2

ik

; i = 1; 2; : : : ; n

l

ji

=

a

ji

¡

P

i

¡1

k=1

l

jk

l

ik

l

ii

; j = i + 1; i + 2; : : : ; n

Nakład obliczeń:

Przykład

n

¡ p

D =

1
6

n

3

+

1
2

n

2

+

1
3

n

A =

2

4

4

2

2

2

5

3

2

3

6

3

5

i = 1 :

l

11

= 2;

l

21

= 1;

l

31

= 1

i = 2 :

l

22

= 2;

l

32

= 1

i = 3 :

l

33

= 2

A

=

2

4

4

2

2

2

5

3

2

3

6

3

5

=

2

4

2

0

0

1

2

0

1

1

2

3

5 ¢

2

4

2

1

1

0

2

1

0

0

2

3

5

¹

L =

¡L

M =

1
6

n

3

+

1
2

n

2

¡

2
3

n

background image

20

Inne zastosowania rozkładu LU.

Obliczanie wyznacznika

Aby obliczyć wyznacznik macierzy A możemy

posłużyć się rozkładem

Wyznacznik macierzy U jest iloczynem

elementów stojących na diagonali tej

macierzy (n-1 operacji mnożenia).

Odwracanie macierzy

Aby znaleźć przy pomocy macierzy L i U

macierz odwrotną A

-1

należy rozwiązać

n układów równań:

A = LU

det(L) = 1

det(A + E)

=

det(LU )

=

det(L)det(U ) = det(U )

LU x

(i)

= e

(i)

;

i = 1; 2; : : : ; n

e

(i)

= [0; 0; : : : ; 1; : : : ; 0]

T

Rozwiązania układów równań x

(i)

stanowią

kolumny macierzy odwrotnej A

-1

(po

uwzględnieniu ewentualnych przestawień

wierszy wynikających z wyboru elementu

podstawowego).

Przykład

Znaleźć macierz A

-1

jeśli macierz A jest

zdefiniowana:

A =

2

4

1

0

1

3

3

0

0

2

2

3

5

A

¡1

=

2

4

1
2

1
6

¡

1
4

¡

1
2

1
6

1
4

1
2

¡

1
6

1
4

3

5

P

n

=

2

4

2
3
1

3

5

L =

2

4

1

0

0

0

1

0

1
3

¡

1
2

1

3

5 U =

2

4

3

3

0

0

2

2

0

0

2

3

5

x

(1)

=

2

4

1=6
1=6

¡1=6

3

5 x

(2)

=

2

4

¡1=4

1=4
1=4

3

5

x

(3)

=

2

4

1=2

¡1=2

1=2

3

5

LU X = I

! X = A

¡1

background image

21

Układy równań z macierzą trójdiagonalną

Szukamy rozwiązania układu równań:

Zdarza się że macierz układu równań ma postać (np.
równania z ilorazami różnicowymi):

Można wykonać rozkład LU macierzy T, macierze te
mają postać:

L =

2
6

6

6

6

6

6

6

6

4

1

l

2

1

0

l

3

1

. .. ...

0

. .. ...

l

n

1

3
7

7

7

7

7

7

7

7

5

U =

2
6

6

6

6

6

6

6

6

4

u

1

c

1

u

2

c

2

0

u

3

c

3

. .. ...

0

. ..

c

n

¡1

u

n

3
7

7

7

7

7

7

7

7

5

Elementy macierzy rozkładu obliczamy
rekurencyjnie:

Rozwiązanie układu Tx=b:

l

i

=

a

i

u

i

¡1

U x = y

T x = b

T =

2
6

6

6

6

6

6

6

6

4

d

1

c

1

a

2

d

2

c

2

a

3

d

3

c

3

. .. ... ...

. .. ...

c

n

¡1

a

n

d

n

3
7

7

7

7

7

7

7

7

5

u

1

= d

1

u

i

= d

i

¡ l

i

c

i

¡1

;

i = 2; 3; : : : ; n

Ly = b

background image

22

Rozwiązanie:

nakład obliczeń: M=2n-2, D=n-1
liczba zajętych komórek: P=3n-2

Jeśli macierz jest

dominująca kolumnowo

to

rozkład T=LU jest równoważny rozkładowi z
częściowym wyborem elementu podstawowego
(niezawodność metody).

Iteracyjne poprawianie rozwiązania układu
równań

Błąd rozwiązania można sprawdzić obliczając

wektor reszt

:

Zazwyczaj współrzędne wektora r są różne od
zera. Oznacza to, że nie uzyskaliśmy dokładnego
rozwiązania, ale przybliżone. Rozwiązanie to
chcemy poprawić:

x

n

=

y

n

u

n

gdzie:

x jest poprawką, którą można łatwo

wyznaczyć rozwiązując układ:

Należy jednak pamiętać, że wyznaczona poprawka
do rozwiązania również jest przybliżeniem. Kolejne

poprawione rozwiązanie

, które uzyskamy będzie

miało postać:

Jeżeli wektor reszt r=b-Ax jest obliczony dokładnie,
poprawka

x została wyznaczona metodą Gaussa-

Crouta oraz zachodzi warunek:

wówczas norma wektora reszt obliczona w kolejnych
iteracjach maleje

A±x = r

r = b

¡ A~x

~

x = x

¡ ±x

¹

x = ~

x + ±x + ±(±x)

jjb ¡ A¹xjj

1

·

1
2

jjb ¡ Axjj

1

y

1

= b

1

y

i

= b

i

¡ l

i

y

i

¡1

x

i

=

y

i

¡ c

i

x

i+1

u

i

;

i = n

¡ 1; n ¡ 2; : : : ; 1

1
2

jjrjj

1

¸ "jjAjj

1

W

3

(n)

jj±xjj

1

+

jjAxjj

1

"

W

3

(n) =

9
2

n

3

+

61

2

n

2

¡ 18n ¡ 16

background image

23

Algorytm iteracyjnego poprawiania rozwiązania:

1. Rozwiązujemy układ Ax

(1)

=b metodą Gaussa

2. Obliczamy wektor reszt r

(1)

i sprawdzamy

rozwiązanie

3. Sprawdzamy czy poniższy warunek jest prawdziwy

jeśli nie to przerywamy obliczenia. Jeśli jest

spełniony to kontynuujemy.

4. Obliczamy poprawkę i wyznaczamy

5. Wyznaczamy wektor reszt r

(2)

i sprawdzamy

rozwiązanie. W razie konieczności powtarzamy

kroki 3,4,5 aż do skutku.

jjr

i

jj

1

>

jjAx

(1)

jj

1

"

±x

(1)

x

(2)

= x

(1)

+ ±x

(1)

background image

24

Rozwiązywanie układów liniowych
nadokreślonych

Jak rozwiązać poniższy problem?

dla warunku

Brak dokładnego rozwiązania w większości
przypadków. Można poszukiwać conajwyżej
„najlepszego” przybliżenia rozwiązania w sensie
średniokwadratowym.
Dla

rozwiązaniem średniokwadratowym problemu
nadokreślonego (

least square problem

) jest taki

wektor x, który minimalizuje normę:

2
6

6

6

6

6

6

6

6

4

a

11

: : :

a

1n

a

21

: : :

a

2n

: : :

: : :

: : :

: : :

: : :

: : :

: : :

: : :

: : :

: : :

: : :

: : :

a

m1

: : :

a

mn

3
7

7

7

7

7

7

7

7

5

¢

2

6

6

4

x

1

: : :
: : :

x

n

3

7

7

5 =

2
6

6

6

6

6

6

6

6

4

b

1

b

2

: : :
: : :
: : :
: : :

b

m

3
7

7

7

7

7

7

7

7

5

m > n

r = b

¡ Ax

jjrjj

2

= (r

T

r)

1=2

Jeśli macierz A jest macierzą o rozmiarach mxn i
elementach rzeczywistych, b jest wektorem m-
elementowym, a x wektorem n elementowym
spełniającym równanie

wówczas dla dowolnego n-elementowego wektora y
spełniona jest nierówność

Dla dowolnego wektora otrzymujemy warunek

skąd wynika że wektor r jest ortogonalny do
wszystkich wektorów z przestrzeni R(A) rozpiętej na
wektorach kolumnowych macierzy A.
Ponadto nadokreślony układ równań można
przekształcić do postaci

układu normalnego

Macierz A

T

A jest symetryczna, dlatego układ

normalny można rozwiązać metodą Cholesky'ego.
Jeśli kolumny macierzy A są niezależne liniowo to
macierz jest nieosobliwa.

A

T

(b

¡ Ax) = 0

jjb ¡ Axjj

2

· jjb ¡ Ayjj

2

(Az)

T

(b

¡ Ax) = 0

(A

T

A)x = A

T

b

x

6= 0 ! Ax 6= 0

x

T

(A

T

A)x

=

(Ax)

T

Ax =

jjAxjj

2

2

> 0

! det(A

T

A) > 0

background image

25

Gdy kolumny A są niezależne liniowo, wówczas
rozwiązanie układu jest jednoznaczne

gdzie macierz A

I

:

jest

pseudoodwrotnością

macierzy A.

P

A

jest operatorem rzutu ortogonalnego na

przestrzeń kolumnową macierzy A.

Uwaga: jeśli kolumny A są zależne liniowo
(

bardzo często

) to wówczas istnieje wiele

rozwiązań (średniokwadratowych ) dających ten
sam wektor reszt.

Przykład – wpływ uwarunkowania macierzy na
rozwiązanie układu normalnego

x = A

I

b

A

I

= (A

T

A)

¡1

A

T

r

=

(I

¡ P

A

)b

P

A

=

AA

I

= A(A

T

A)

¡1

A

T

A =

2

6

6

4

1

1

1

"

0

0

0

"

0

0

0

"

3

7

7

5 ; b =

2

6

6

4

1
0
0
0

3

7

7

5 ; j"j ¿ 1

Przekształcamy do układu normalnego

Dla precyzji obliczeń rzędu

i macierz A

T

A staje się osobliwa – układ nie posiada

rozwiązania.

Metody wykorzystujące rozkład QR

Dla macierzy A o rozmiarach mxn, w której kolumny
są niezależne liniowo istnieje jednoznaczny rozkład
w postaci

Q jest macierzą o rozmiarach mxn taką że:

D jest macierzą diagonalną

A

T

A

=

2

4

1 + "

2

1

1

1

1 + "

2

1

1

1

1 + "

2

3

5

A

T

b

=

2

4

1
1
1

3

5

"

2

¼ 0

A = QR

Q

T

Q = D

D = diag(d

1

; d

2

; : : : ; d

n

)

d

k

> 0; k = 1; : : : ; n

background image

26

R jest macierzą trójkątną górną z elementami

Warunek minimalizacji normy wektora reszt w
sensie średniokwadratowym przyjmuje postać

Jak wyznaczyć macierze Q i R?

Zmodyfikowana metoda Grama-Schmidta

Wyznaczamy ciąg macierzy

r

kk

= 1; k = 1; : : : ; n

A = A

(1)

; A

(2)

; : : : ; A

(n+1)

= Q

q

i

=

2

6

6

4

q

1;i

: : :
: : :

q

m;i

3

7

7

5

a

(k)
i

=

2

6

6

6

4

a

(k)
1;i

: : :
: : :

a

(k)
m;i

3

7

7

7

5

A

(k)

=

³

q

1

; : : : ; q

k

¡1

; a

(k)
k

; : : : ; a

(k)

n

´

Założenia

1) k-1 pierwszych kolumn w A

(k)

to także k-1

pierwszych kolumn w Q

2) kolumny

są ortogonalne do kolumn

Proces ortogonalizacji polega na rekurencyjnej
ortogonalizacji kolumn o indeksie od k do n w k-tej
iteracji względem kolumny q

k

w ten sposób wyznaczamy k-tą kolumnę R (elementy
r

kj

) oraz kolumnę k+1 macierzy Q (elementy a

j

(k+1)

).

Klasyczna met. GS:

q

1

; : : : ; q

k

¡1

q

k

= a

(k)
k

;

d

k

= q

T

k

q

k

;

r

kk

= 1

a

(k)
k

; : : : ; a

(k)

n

Ax = b

) A

T

Ax = A

T

b

R

T

Q

T

QRx = R

T

Q

T

b

R

T

DRx = R

T

Q

T

b

DRx = Q

T

b

Rx = D

¡1

Q

T

b = y

a

(k+1)
j

=

a

(k)
j

¡ r

kj

a

(k)
k

r

kj

=

q

T

k

a

(k)
j

d

k

j

=

k + 1; : : : ; n

background image

27

klasyczna met. GS
różni się kolejnością
obliczeń:

Jednocześnie przekształcamy wektor b tj.:

Po n+1 krokach b

(n+1)

jest to część wektora

pierwotnego ortogonalna do R(A) i stanowi wektor
reszt.
Po przeprowadzeniu procesu ortogonalizacji do
końca (kolumny macierzy A są liniowo niezależne)
dostajemy

Wyznaczenie R i y wymaga wykonania mn(n+1)
operacji a rozwiązanie układu n(n+1)/2.

Metoda Grama-Schmidta dla macierzy o
liniowo zależnych kolumnach

S=R

-1

jest macierzą trójkątną górną.

Stąd wynika

Może się okazać że a

1

, a

2

,...,a

k-1

są niezależne

liniowo, ale a

k

jest już ich kombinacją (oraz

wektorów q

1

, q

2

,...). Wtedy

(w macierzy Q)
i powinniśmy przerwać proces ortogonalizacji.
Jeśli jednak

to istnieje wektor

Można więc przestawić kolumny j i k oraz
prowadzić proces ortogonalizacji do momentu
gdy pozostałe wektory a

j

(k)

nie będą liniowo

zależne. Szukamy wektora o największej normie:

a następnie za kolumnę k
podstawiamy kolumnę s.

b = b

(1)

; b

(2)

; : : : ; b

(n+1)

b

(k+1)

= b

(k)

¡ y

k

q

k

;

y

k

=

q

T

k

b

(k)

d

k

Q

=

(q

1

; : : : ; q

n

)

R

=

(r

kj

)

y

=

(y

1

; y

2

; : : : ; y

n

)

T

A

=

QR

b

=

Qy + r

Rx

=

y

A = QR

! AR

¡1

= Q

! Q = AS

q

k

= s

1k

a

1

+ s

2k

a

2

+ : : : + s

kk

a

k

rank(A) > k

a

(k)
j

6= 0;

k

· j · n

jja

k

s

jj

2

= max

k

·j·n

jja

(k)
j

jj

2

q

k

= a

k

¡

k

¡1

X

i=1

r

ik

q

i

r

ik

=

q

T

i

a

k

d

i

; i = 1; 2; : : : ; k

¡ 1

a

(k)
k

= 0

background image

28

Dla rank(A)=r

A

<n rozkład QR ma postać

gdzie: R

rxr

-macierz trójkątna górna (r

kk

=1)

S- macierz o rozmiarach r

A

x

(n-r

A

)

Rozwiązania szukamy rozwiązując układ

gdzie: x

1

- ma r składowych, x

2

– jest dowolnym

wektorem o n-r składowych (np. x

2

=0).

(R; S)x = y

x = (x

1

; x

2

)

T

x

1

= R

¡1

y

¡ R

¡1

Sx

2

Przykład

zakładamy

Q =

2

6

6

4

1

0

0

"

¡" ¡"=2

0

"

¡"=2

0

0

¡"=2

3

7

7

5 ;

r =

¡

1
3

"

2

6

6

4

0
1
1
1

3

7

7

5

R =

2

4

1

1

1

0

1

1=2

0

0

1

3

5 ; y =

2

4

1

1=2
1=3

3

5

x =

2

4

1=3
1=3
1=3

3

5 ; x

dok

=

2

4

1=(3 + "

2

)

1=(3 + "

2

)

1=(3 + "

2

)

3

5

"

¿ 1;

"

2

¼ 0

Q

=

(q

1

; q

2

; : : : ; q

r

A

)

A

=

Q(R; S)

b

=

Qy + r


Wyszukiwarka

Podobne podstrony:
DYNAMIKA UKLADOW LINIOWYCH id 1 Nieznany
Algebra liniowa1 id 57289 Nieznany
Instrukcja obslugi Stojak do be Nieznany
DYSKRETYZACJA CIĄGŁYCH UKŁADÓW LINIOWYCH
Algebra liniowa 1 3 id 57241 Nieznany
w 3 dynamika ukladów liniowych
badop gry liniowe id 78528 Nieznany (2)
04 Własności dynamiczne układów liniowych
IV.13.14.15 Metody numeryczne rozwiązywania układów liniowyc, IV
Scilab rozwiazywanie ukladow liniowych
2 Regresja liniowa dla danych Nieznany (2)
Cw 3 Liniowe i nieliniowe eleme Nieznany
09 Synteza układów liniowych sterowania automatycznego

więcej podobnych podstron