You are on page 1of 26

Analiza algorytmw

Mnoenie macierzy i pokrewne operacje

Kordian A. Smoliski
Uniwersytet dzki

2007/2008

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

1 / 26

Zbadamy asymptotyczn zoono obliczeniow mnoenia macierzy


o elementach z dowolnego piercienia. Zwyky algorytm mnoenia
macierzy n n, o zoonoci O(n 3 ) mona asymptotycznie ulepszy do
O(n 2.81 ). Pokaemy dalej, e rozkad LUP, odwracanie macierzy
i obliczanie wyznacznika s redukowalne do mnoenia macierzy, a take, e
mnoenie macierzy jest redukowalne do odwracania macierzy, zatem
poprawa asymptotycznego czasu dla jednej operacji automatycznie
poprawia czas drugiej.
Przedstawione algorytmy trudno uzna za praktyczne dla obecnego sprztu
komputerowego, niedostatecznie znana jest take kwestia kontroli bdw
numerycznych dla tych algorytmw. Stanowi one jednak ilustracj faktu,
e nie zawsze oczywiste algorytmy s najlepsze.

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

2 / 26

Mnoenie macierzy i pokrewne operacje


Wykad 1

Podstawy

Algorytm Strassena mnoenia macierzy

Odwracanie macierzy

Rozkad LUP
Zastosowania rozkadu LUP

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

3 / 26

Podstawy

Podstawy
Definicja
Piercie (S , +, , 0, 1) jest struktur algebraiczn, w ktrej S jest zbiorem
elementw, + i dziaaniami dwuargumentowymi w S . Dla kadych a, b
i c z S zachodz:
1

(a + b) + c = a + (b + c) i (a b) c = a (b c) (czno + i );

(a + b) = (b + a) (przemienno +);

(a + b) c = a c + b c i a (b + c) = a b + a c (rozdzielno
wzgldem +);

a + 0 = 0 + a = 0 (element neutralny +);

a 1 = 1 a (element neutralny );

dla kadego a nalecego do S istnieje element przeciwny a taki, e


a + (a) = (a) + a = 0.

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

4 / 26

Podstawy

Jeeli dziaanie jest przemienne, to piercie jest przemienny. Jeeli


w piercieniu przemiennym dla kadego elementu a istnieje element a 1
odwrotny ze wzgldu na taki, e a a 1 = a 1 a = 1, to piercie jest
ciaem.
Istnienie elementw przeciwnych nie musi przysugiwa ppiercieniowi
domknitemu, a w piercieniu nie musi zachodzi istnienie i jednoznaczno sum
nieskoczonych.

Przykad
1

Liczby rzeczywiste tworz piercie, w ktrym + i oznaczaj arytmetyczne


dodawanie i mnoenie; nie tworz jednak ppiercienia domknietego.

Ukad ({0, 1}, +, , 0, 1), w ktrym + jest sum mod 2, a arytmetycznym


mnoeniem tworzy piercie, ale nie ppiercie domknity.
Jeeli dziaanie + zmienimy tak, aby a + b = 0, gdy a = b = 0 i a + b = 1
w przeciwnym razie, otrzymamy ppiercie domknity S1 .
Ppiercie domknity S2 nie tworzy piercienia 1 nie ma elementu
przeciwnego.

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

5 / 26

Podstawy

Definicja
Niech R = (S , +, , 0, 1) bdzie piercieniem i niech Mn bdzie zbiorem
macierzy n n utworzonych z elementw R. Niech 0n bdzie macierz
n n zer i niech In bdzie macierz tosamociow n n, majc na
gwnej przektnej jedynki, a poza ni zera. Dla A i B z Mn niech A +n B
bdzie macierz C n n tak, e C [i , j ] =
, j ] + B [i , j ] i niech A n B
PA[i
n
bdzie macierz D n n, gdzie D[i , j ] = k =1 A[i , k ] B [k , j ].
Lemat
(Mn , +n , n , 0n , In ) jest piercieniem.
Dowd.
Elementarny.

Mnoenie n w Mn nie jest przemienne dla n > 1 nawet, gdy w R jest


przemienne. Jeeli nie zachodzi obawa pomyki z dziaaniami w R, piszemy +,
zamiast +n , n , bd zupenie pomamy znak mnoenia.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

6 / 26

Podstawy

Niech R piercie, Mn piercieniem macierzy n n o elementach


z R i n parzyste. Macierz z Mn mona podzieli na czetry macierze
n
n
n
n
2 2 . Niech R2, 2 piercie macierzy 2 2 o elementach z M 2 .
Lemat


A1 A2
Niech f : Mn R2, n2 bdzie takie, e f (A) =
, gdzie A1 , A2 ,
A3 A4
A3 i A4 s odpowiednio lewym grnym, prawym grnym, lewym dolnym
i prawym dolnym kwadratem A. Wwczas:
f (A + B ) = f (A) + f (B ) ,

f (A B ) = f (A) f (B ) .

Dowd.
Podstawienie definicji + i z Mn do definicji + i w R2, n2 .

Lemat pozwala na konstrukcj algorytmu mnoenia macierzy n n z algorytmw


mnoenia macierzy 2 2 i n2 n2 .
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

7 / 26

Podstawy

Definicja
Niech A macierz n n o elementach z pewnego ciaa. Macierz
odwrotna A1 do A, o ile istnieje, to macierz n n taka, e AA1 = In .
Jeeli A1 istnieje, to jest jedyna i AA1 = A1 A = In ; (AB )1 = B 1 A1 .

Definicja
Niech A macierz n n. Wyznacznik det(A) macierzy A jest to suma
po wszystkich permutacjach
Q p = (i1 , i2 , . . . , in ) liczb cakowitych od 1
do n z iloczynw (1)kp nj=1 A[j , ij ] , gdzie kp = 0, gdy permutacja p
jest parzysta i kp = 1, gdy p jest nieparzysta.
Przykad

a11 a12 a13


A = a21 a22 a23 . Permutacje parzyste: (1, 2, 3), (2, 3, 1), (3, 1, 2);
a31 a32 a33
nieparzyste: (1, 3, 2), (2, 1, 3), (3, 2, 1). Zatem
det(A) = a11 a22 a33 a11 a23 a32 a12 a21 a33 + a12 a23 a31 + a13 a21 a32 a13 a22 a31 .
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

8 / 26

Podstawy

Niech A macierz n n o elementach z pewnego ciaa. A1 istnieje


wtedy i tylko wtedy, gdy det(A) 6= 0 oraz det(AB ) = det(A) det(B ).
O macierzy A, dla ktrej det(A) 6= 0, mwimy, e jest nieosobliwa.
Definicja
Macierz A m n jest trjktn grn, jeeli A[i , j ] = 0 dla
0 j < i m; trjktn doln, jeeli A[i , j ] = 0 dla 1 i < j n.
Lemat
Jeeli macierz kwadratowa A jest grn lub doln macierz trjktn, to:
Q
1 det(A) jest iloczynem elementw na gwnej przektnej (
i A[i , i ]);
2

A jest nieosobliwa wtedy i tylko wtedy, gdy aden element na gwnej


przektnej nie jest zerem.

Dowd.
Kada permutacja (i1 , i2 , . . . , in ) prcz (1, 2, . . . , n) ma element ij taki, e ij < j oraz
element ik taki, e ik > k . Zatem kady wyraz det(A) prcz wyrazu dla (1, 2, . . . , n)
jest zerem.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

9 / 26

Podstawy

Definicja
Macierz jedynkowa to macierz z jedynkami na gwnej przektnej.
Definicja
Macierz permutacji to macierz zero-jedynkowa, w ktrej kady wiersz
i kolumna ma dokadnie jedn jedynk.
Definicja
Podmacierz dla A otrzymujemy przez wykrelenie pewnych wierszy
i kolumn A. Podmacierz gwna dla A n n to jej kwadratowa
podmacierz zoona z pierwszych k wierszy i k kolumn, 1 k n.
Rzd rank(A) dla A jest wymiarem jej najwikszej nieosobliwej
podmacierzy kwadratowej.
Jeeli A = BC , to rank(A) min(rank(B ), rank(C )).

Definicja
Transpozycj AT dla A otrzymujemy zamieniajc A[i , j ] z A[j , i ].
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

10 / 26

Algorytm Strassena mnoenia macierzy

Algorytm Strassena mnoenia macierzy


Niech A i B macierze n n, gdzie n jest potg 2. Moemy podzieli
A i B na cztery macierze n2 n2 i wyrazi przez nie iloczyn A i B jako;


 

A11 A12 B11 B12
C11 C12
=
A21 A22 B21 B22
C21 C22
gdzie
C11 = A11 B11 + A12 B21 ,

C12 = A11 B12 + A12 B22 ,

C21 = A21 B11 + A22 B21 ,

C22 = A21 B12 + A22 B22 .

Przypumy, e C mona obliczy zuywajc m mnoe i a dodawa


macierzy n2 n2 . Stosujc ten algorytm rekurencyjnie, moemy obliczy
iloczyn dwch macierzy n n w czasie T (n), gdzie dla n bdcego
potg 2:
 n  an 2
T (n) mT
+
, n > 2.
2
4
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

11 / 26

Algorytm Strassena mnoenia macierzy

Lemat (Strassen)
Iloczyn dwch macierzy 2 2 o elementach z dowolnego piercienia mona
obliczy przez 7 mnoe i 18 dodawa (odjemowa).
Dowd.

Aby obliczy

c11
c21


c12
a11
=
c22
a21

a12
a22

m1 = (a12 a22 )(b21 + b22 ) ,

b11
b21

b12
, obliczamy iloczyny:
b22
m2 = (a11 + a22 )(b11 + b22 ) ,

m3 = (a11 a21 )(b11 + b12 ) ,

m4 = (a11 + a12 )b22 ,

m5 = a11 (b12 b22 ) ,

m6 = a22 (b21 b11 ) ,

m7 = (a21 + a22 )b11 ;


a nastpnie:
c11 = m1 + m2 m4 + m6 ,

c12 = m4 + m5 ,

c21 = m6 + m7 ,

c22 = m2 m3 + m5 m7 .

Rachunek liczby dziaa jest prosty. Dowd poprawnoci wyniku jest elementarny.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

12 / 26

Algorytm Strassena mnoenia macierzy

Twierdzenie
Dwie macierze n n o elementach z dowolnego piercienia mona
pomnoy wykonujc O(n log 7 ) operacji arytmetycznych.
Dowd.
Niech n = 2k . Niech T (n) liczba operacji arytmetycznych potrzebnych do
pomnoenia dwch macierzy n n. Z ostatniego lematu mamy
n 2
n
+ 18
, n 2.
T (n) 7T
2
2
Wobec tego T (n) jest O(7log n ) lub rwnowanie O(n log 7 ).
Jeeli n nie jest potg 2, wpisujemy obie macierze odpowiednio do dwch macierzy
wymiaru, ktry jest najmniejsz potg 2 wiksz od n. Wymiar ulegnie co najwyej
podwojeniu, a staa zostanie pomnoona przez czynnik co najwyej 7. Wobec tego T (n)
jest O(n log 7 ) dla n 1.

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

13 / 26

Odwracanie macierzy

Odwracanie macierzy
Lemat
h

A11 A12
Podzielmy A na A
. Zamy istnienie A1 . Niech
21 A22
1
= A22
A12 i niech istnieje 1 . Wwczas
 1A21 A11

1
A11 + A11 A12 1 A21 A1
A1
A12 1
1
11
11
A =
.
1 A21 A1
1
11

Dowd.

A=

A11
A21


I
A12
=
A22 .
A21 A1
11

0
I

A11
0

I
0

A1
11 A12
,
I

gdzie = A22 A21 A1


11 A12 . Zatem
A1 =

I
0

A1
11
I

I
0
A1
0
11
0
1 A21 A1
I
11
1
1
1
A11 + A11 A12 A21 A1
11
=
1 A21 A1
11

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

1
A11
A12 1
.
1

2007/2008

14 / 26

Odwracanie macierzy

Lemat
Jeeli A jest nieosobliw macierz trjktn grn (doln), to macierze
A11 i , o ktrych mowa w poprzednim lemacie, maj macierze odwrotne
i s one trjktnymi grnymi (dolnymi) nieosobliwymi macierzami.
Dowd.
Zamy, e A jest trjktna grna. A11 jest oczywicie nieosobliwa, wic A1
11 istnieje.
Zauwamy, e A21 = 0, wobec tego = A22 A21 A1
11 A12 = A22 i jest nieosobliw
macierz trjktn grn. Dowd dla macierzy trjktnej dolnej przebiega podobnie.

Twierdzenie
Niech M (n) bdzie czasem wymaganym do pomnoenia dwch macierzy
n n nad pewnym piercieniem. Jeeli dla kadego m,
8M (m) M (2m) 4M (m), to istnieje staa c taka, e macierz
odwrotn do dowolnej nieosobliwej macierzy n n trjktnej grnej
(dolnej) A mona obliczy w czasie cM (n).
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

15 / 26

Odwracanie macierzy

Dowd.
Zamy, e n jest potg 2. Moemy podzieli A na cztery podmacierze n2 n2
i stosowa rekurencyjnie wzr z pierwszego lematu. Mamy A21 = 0, wic = A22 .
Odwrcenie macierzy trjktnych wymaga czasu 2T ( n2 ), nietrywialne mnoenia czasu
2
2M ( n2 ), a zmiana znaku prawej grnej podmacierzy czasu n4 . Z zaoenia twierdzenia
2
i std, e M (1) 1, mamy n4 M ( n2 . Wobec tego
T (1) = 1 ,
T (n) 2T

n
2

+ 3M

n
2

n 2.

Dowd, e pociga to T (n) 23 M (n), jest atwy.


Jeeli n nie jest potg 2, to A mona zapisa w macierzy postaci

A 0
,
0 Im
gdzie m + n 2n jest potg 2. Wobec tego mnoc c co najwyej przez 8, otrzymamy
twierdzenie dla dowolnego n.

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

16 / 26

Rozkad LUP

Rozkad LUP
Definicja
Rozkadem LU macierzy A wymiaru m n, m n, jest para macierzy L
i U takich, e A = LU , gdzie L jest jedynkow macierz trjktn doln
m m, a U jest macierz trjktn grn m n.
Rwnanie Ax = b mona rozwiza wzgldem x, gdzie A macierz
n n, x wektor kolumnowy rozmiaru n niewiadomych, b wektor
kolumnowy rozmiaru n, jeeli zapiszemy A w postaci iloczynu jedynkowej
macierzy trjktnej dolnej L przez macierz trjktn grn U , o ile
czynniki takie istniej. Wtedy Ax = b zapisujemy jako LU x = b. Aby
wyznaczy x, rozwizujemy najpierw Ly = b wzgldem y, a nastpnie
U x = y wzgldem x.
Wad tej metody jest to, e A moe nie mie rokadu LU nawet wtedy,
gdy jest nieosobliwa. Jednak jeeli A jest nieosobliwa, to istnieje macierz
permutacji P taka, e AP 1 ma rozkad LU. Macierze L, U i P takie, e
A = LUP nosz nazw rozkadu LUP macierzy A.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

17 / 26

Rozkad LUP

Algorytm (Rozkad LUP)


Wejcie: M , nieosobliwa macierz n n, gdzie n potga 2
Wyjcie: macierze L, U i P takie, e M = LUP
(L, U , P ) factor(M , n, n)
function factor(A, m, p)
if m = 1 then
L[1] 1
znajd kolumn c macierzy A zawierajc niezerowy element
niech P macierz permutacji p p zamieniajca kolumny 1 i c.
U AP
. P = P 1
retrun (L, U , P )
else
podziel A na macierze m
p B i C
2
(L1 , U1 , P1 ) factor(B , m/2, p)
1
D CP1
niech E i F podmacierze odpowiednio U1 i D z pierwszych m
kolumn
2
G D FE 1 U1
niech G 0 podmacierz G z p m
kolumn od prawej
2
(L2 , U2 , P2 ) factor(G 0 , m/2, p m/2)
niech P3 macierz permutacji p p z I m w lewym grnym i P2 w prawym dolnym rogu
2

H U1 P31
L macierz m m zoona z L1 , 0 m , FE 1 i L2
2
U macierz m p zoona z H i U2
P P3 P1
return (L, U , P )

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

18 / 26

Rozkad LUP

Twierdzenie
Powyszy algorytm oblicza L, U i P takie, e A = LUP dla kadej
nieosobliwej macierzy A.
Dowd.
Niech A macierz m n. Indukcyjnie wzgldem m, gdzie m jest potg 2, udowodnimy,
e jeeli A jest rzdu m, to factor oblicza L, U i P , o rzdach odpowiednio m, m i n,
takie, e A = LUP , przy czym pierwsze m kolumn U jest rzdu m. Jeeli m = 1, to A
musi mie niezerowy element, wic twierdzenie zachodzi. Zamy, e m = 2k , k 1.
Skoro A ma m kolumn i jest rzdu m, to B i C maj po m kolumn i s rzdu m2 .
Wywoanie factor dla B oblicza L1 , U1 i P1 z za. ind. oraz pierwsze m2 kolumn U1
jest rzdu m2 . Zatem macierz E 1 istnieje.
Po tym kroku algorytmu A jest iloczynem trzech macierzy i na jedn z nich skadaj si
U1 i G. Poniewa A jest rzdu m, wic macierz ta te jest rzdu m. Zatem G ma rzd
m
. Poniewa pierwsze m2 kolumn G tworz zera, a G 0 powstaje z G przez wykrelenie
2
pierwszych m2 kolumn, to G 0 take musi mie rzd m2 . Z za. ind. factor oblicza
poprawnie macierze L2 , U2 i P2 . Implikacja zachodzi natychmiast.
Pozostaa cz dowodu nie nastrcza trudnoci.

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

19 / 26

Rozkad LUP

Zauwamy, e macierz permutacji ma reprezentacj w postaci tablicy P


takiej, e P [i ] = j wtedy i tylko wtedy, gdy kolumna i ma jedynk
w wierszu j . Dwie macierze permutacji n n mnoymy w czasie O(n),
biorc P1 P2 [i ] = P1 [P2 [i ]]. Macierz odwrotn do macierzy permutacji
w tej reprezentacji take obliczamy w czasie O(n).
Twierdzenie
Zamy, e dla kadego n mona pomnoy dwie macierze n n w czasie
M (n), gdzie dla kadego m i pewnego  > 0 mamy M (2m) 22+ M (m).
Istnieje wtedy taka staa k , e dla dowolnej nieosobliwej macierzy algorytm
rozkadu LUP wymaga co najwyej czasu kM (n).
Dowd.
Wykonajmy algorytm rozkadu LUP dla pewnej macierzy n n. Niech T (m) czas
zuywanym przez wywoanie factor(A, m, p), gdzie A macierz m p, m p n.
Z czci 1. procedury mamy T (1) = bn dla pewnej staej b. Rekurencyjne wywoania
factor zuywaj po T ( m2 ) czasu. Obliczanie macierzy odwrotnej do macierzy
permutacji wymaga czasu O(n); obliczanie iloczynu macierzy przez macierz permutacji
wyznaczamy przez przestawienie kolumn, co wymaga czasu O(mn).
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

20 / 26

Rozkad LUP

Dowd (cd.).
Obliczenie E 1 i iloczynu FE 1 wymagaj oba czasu po O(M ( m2 ). Poniewa U1 jest
co najwyej wymiaru m2 n, to iloczyn (FE 1 )U1 mona obliczy w czasie
n
O( m
M ( m2 )). m dzieli n bez reszty, gdy s to potgi 2 i m n. Pozostae kroki s
w najgorszym razie O(mn). Mamy rekurencj
(
bn ,
n = 1,
` m cn ` m
T (m) =
2T n + m M 2 + dmn , n > 1 ,
dla staych b, c i d .
` 2
Z za. i std, e M (1) = 1, mamy M ( m2 ) m2 , czyli moemy poczy drugi i trzeci
wyraz w rekurencji.
Dla pewnej staej e
(
bn ,
n = 1,
` en ` m
T (m) =
2T m
+
M
,
n > 1.
n
m
2

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

21 / 26

Rozkad LUP

Dowd (dokoczenie).
Na tej podstawie
T (m)

Z za. 4i M

m
m
i
en h
4M
+ 42 M
+ + 4log m M (1) + bmn
2
4m
2
2
log m
en X i m
+ bmn .
4M

4m i=1
2i
`m
2i

1 i
2

M (m). Wobec tego


T (m)

i

X
en
1
M (m)
+ bm, .
4m
2
i=1

Poniewa szereg jest zbieny i M (m) m 2 , wic istnieje taka staa k , e


T (m) kn
M (m). Dla algorytmu rozkadu LUP n = m i std T (n) kM (n).
m

Wniosek
Dla danej nieosobliwej macierzy A jej rozkad LUP mona znale
w O(n log 7 ) krokach.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

22 / 26

Rozkad LUP

Zastosowania rozkadu LUP

Zastosowania rozkadu LUP


Twierdzenie
Niech  > 0 i a 1. Niech M (n) bdzie czasem wymaganym, by
pomnoy dwie macierze nad pewnym piercieniem. Jeeli
M (2m) 22+ M (m) dla pewnego  > 0, to macierz odwrotn do
dowolnej macierzy nieosobliwej mona obliczy w czasie O(M (n)).
Dowd.
Niech A nieosobliwa macierz n n. W czasie O(M (n)) moemy znale A = LUP .
A1 = P 1 U 1 L1 . P 1 atwo obliczy w O(n) krokach. Macierze U 1 i L1
istniej i mog by obliczone w O(M (n)) krokach. Iloczyn P 1 U 1 L1 take mona
obliczy w O(M (n)) krokach.

Wniosek
Macierz odwrotn do macierzy n n mona wyznaczy w O(n log 7 )
krokach.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

23 / 26

Rozkad LUP

Zastosowania rozkadu LUP

Twierdzenie
Jeeli M (n) jest czasem jak w poprzednim twierdzeniu i A jest macierz
n n, to det(A) mona obliczy w O(M (n)) krokach.
Dowd.
Stosujemy dla A algorytm rozkadu LUP. Jeeli algorytm nie dziaa, to nie mona
znale niezerowej kolumny lub nie istnieje E 1 , to A jest osobliwa i det(A) = 0.
W przeciwnym przypadku A = LUP . Wtedy det(A) = det(L) det(U ) det(P ). Biorc
iloczyny elementw na gwnej przektnej znajdujemy det(L) i det(U ). Poniewa L jest
jedynkowa trjktna dolna, to det(L) = 1. Poniewa U jest trjktna grna, to det(U )
znajdujemy w O(n) krokach. Poniewa P jest macierz permutacji, to det(P ) = 1,
zalenie od tego, czy permutacja reprezentowana przez P jest parzysta, czy nieparzysta,
a to mona sprawdzi tworzc t permutacj z (1, 2, . . . , n) zliczajc przestawienia,
ktrych potrzeba co najwyej n 1.

Wniosek
Wyznacznik macierzy n n mona obliczy w O(n log 7 ) krokach.
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

24 / 26

Rozkad LUP

Zastosowania rozkadu LUP

Twierdzenie
Jeeli M (n) jest czasem jak w poprzednim twierdzeniu i A jest macierz
nieosobliw n n, b wektorem kolumnowym wymiaru n, a x wektorem
kolumnowym [x1 , x2 , . . . , xn ]T , to rozwizanie ukadu rwna liniowych
Ax = b mona uzyska w O(M (n)) krokach.
Dowd.
Wyznaczmy rozkad A = LUP . Wtedy LU x = b rozwizujemy w dwch krokach.
Wpierw ukad Ly = b rozwizujemy wzgldem wektora niewiadomych y, a nastpnie
UP x = y rozwizujemy wzgldem x. Kade z tych podzada mona rozwiza w czasie
O(n 2 ) przez podstawienia za niewiadome, tzn. przez przeksztacenie ze wzgldu na y1 ,
podstawienie za y1 ; przeksztacenie ze wzgldu na y2 , itd. Rozkad LUP mona uzyska
w O(M (n)) krokach, wic rozwizanie LUP x = b mona uzyska w czasie O(n 2 ).

Wniosek
Ukad n rwna liniowych o n niewiadomych mona rozwiza w czasie
O(n log 7 ).
Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

25 / 26

Rozkad LUP

Zastosowania rozkadu LUP

Twierdzenie
Niech M (n) i I (n) bd odpowiednio czasem wymaganym, by
pomnonoy dwie macierze n n, i czasem wymaganym, by odwrci
macierz n n. Zamy, e 8M (m) M (2m) 22+ M (m) dla pewnego
 > 0 i podobnie dla I (n). Funkcje M (n) i I (n) s asymptotycznie rwne
z dokadnoci do staego czynnika.
Dowd.
I (n) c1 M (n) dla pewnego c1 . Niech A i B dla ustalenia zwizku M (n) c2 I (n)
przy pewnym c2 bd macierzami n n. Wtedy
2
31 2
3
I A 0
I A AB
40 I B 5 = 40
I
B 5 .
0 0 I
0
0
I
Iloczyn AB mona uzyska przez odwrcenie macierzy 3n 3n. Std wynika, e
M (n) I (3n) I (4n) 64I (n).

Kordian A. Smoliski (Uniwersytet dzki)

Analiza algorytmw

2007/2008

26 / 26