Mnożenie Macierzy Strassen

26
Analiza algorytmów Mnożenie macierzy i pokrewne operacje Kordian A. Smoliński Uniwersytet Lódzki 2007/2008 Kordian A. Smoliński (Uniwersytet Lódzki) Analiza algorytmów 2007/2008 1 / 26

description

Mnożenie Macierzy Strassen

Transcript of Mnożenie Macierzy Strassen

  • Analiza algorytmwMnoenie 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 macierzyo elementach z dowolnego piercienia. Zwyky algorytm mnoeniamacierzy n n, o zoonoci O(n3) mona asymptotycznie ulepszy doO(n2.81). Pokaemy dalej, e rozkad LUP, odwracanie macierzyi obliczanie wyznacznika s redukowalne do mnoenia macierzy, a take, emnoenie macierzy jest redukowalne do odwracania macierzy, zatempoprawa asymptotycznego czasu dla jednej operacji automatyczniepoprawia czas drugiej.Przedstawione algorytmy trudno uzna za praktyczne dla obecnego sprztukomputerowego, niedostatecznie znana jest take kwestia kontroli bdwnumerycznych 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 operacjeWykad 1

    1 Podstawy

    2 Algorytm Strassena mnoenia macierzy

    3 Odwracanie macierzy

    4 Rozkad LUPZastosowania rozkadu LUP

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 3 / 26

  • Podstawy

    Podstawy

    DefinicjaPiercie (S ,+, , 0, 1) jest struktur algebraiczn, w ktrej S jest zbioremelementw, + i dziaaniami dwuargumentowymi w S . Dla kadych a, bi c z S zachodz:

    1 (a + b) + c = a + (b + c) i (a b) c = a (b c) (czno + i );2 (a + b) = (b + a) (przemienno +);3 (a + b) c = a c + b c i a (b + c) = a b + a c (rozdzielno

    wzgldem +);4 a + 0 = 0 + a = 0 (element neutralny +);5 a 1 = 1 a (element neutralny );6 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. Jeeliw piercieniu przemiennym dla kadego elementu a istnieje element a1

    odwrotny ze wzgldu na taki, e a a1 = a1 a = 1, to piercie jestciaem.Istnienie elementw przeciwnych nie musi przysugiwa ppiercieniowidomknitemu, a w piercieniu nie musi zachodzi istnienie i jednoznaczno sumnieskoczonych.

    Przykad

    1 Liczby rzeczywiste tworz piercie, w ktrym + i oznaczaj arytmetycznedodawanie i mnoenie; nie tworz jednak ppiercienia domknietego.

    2 Ukad ({0, 1},+, , 0, 1), w ktrym + jest sum mod 2, a arytmetycznymmnoeniem tworzy piercie, ale nie ppiercie domknity.

    Jeeli dziaanie + zmienimy tak, aby a + b = 0, gdy a = b = 0 i a + b = 1w przeciwnym razie, otrzymamy ppiercie domknity S1.

    Ppiercie domknity S2 nie tworzy piercienia 1 nie ma elementuprzeciwnego.

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 5 / 26

  • Podstawy

    DefinicjaNiech R = (S ,+, , 0, 1) bdzie piercieniem i niech Mn bdzie zbioremmacierzy n n utworzonych z elementw R. Niech 0n bdzie macierzn n zer i niech In bdzie macierz tosamociow n n, majc nagwnej przektnej jedynki, a poza ni zera. Dla A i B z Mn niech A+n Bbdzie macierz C n n tak, e C [i , j ] = A[i , j ] + B [i , j ] i niech A n Bbdzie macierz D n n, gdzie D [i , j ] =

    nk=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 jestprzemienne. 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 elementachz R i n parzyste. Macierz z Mn mona podzieli na czetry macierzen2

    n2 . Niech R2, n2 piercie macierzy 2 2 o elementach z M n2 .

    Lemat

    Niech f : Mn R2, n2 bdzie takie, e f (A) =[A1 A2A3 A4

    ], gdzie A1, A2,

    A3 i A4 s odpowiednio lewym grnym, prawym grnym, lewym dolnymi 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 algorytmwmnoenia macierzy 2 2 i n2

    n2 .

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 7 / 26

  • Podstawy

    DefinicjaNiech A macierz n n o elementach z pewnego ciaa. Macierzodwrotna A1 do A, o ile istnieje, to macierz n n taka, e AA1 = In .

    Jeeli A1 istnieje, to jest jedyna i AA1 = A1A = In ; (AB)1 = B1A1.

    DefinicjaNiech A macierz n n. Wyznacznik det(A) macierzy A jest to sumapo wszystkich permutacjach p = (i1, i2, . . . , in) liczb cakowitych od 1do 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

    A =

    a11 a12 a13a21 a22 a23a31 a32 a33

    . Permutacje parzyste: (1, 2, 3), (2, 3, 1), (3, 1, 2);nieparzyste: (1, 3, 2), (2, 1, 3), (3, 2, 1). Zatemdet(A) = a11a22a33a11a23a32a12a21a33 +a12a23a31 +a13a21a32a13a22a31.

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 8 / 26

  • Podstawy

    Niech A macierz n n o elementach z pewnego ciaa. A1 istniejewtedy 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.

    DefinicjaMacierz A m n jest trjktn grn, jeeli A[i , j ] = 0 dla0 j < i m; trjktn doln, jeeli A[i , j ] = 0 dla 1 i < j n.

    LematJeeli macierz kwadratowa A jest grn lub doln macierz trjktn, to:

    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 orazelement 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

    DefinicjaMacierz jedynkowa to macierz z jedynkami na gwnej przektnej.

    DefinicjaMacierz permutacji to macierz zero-jedynkowa, w ktrej kady wierszi kolumna ma dokadnie jedn jedynk.

    DefinicjaPodmacierz dla A otrzymujemy przez wykrelenie pewnych wierszyi kolumn A. Podmacierz gwna dla A n n to jej kwadratowapodmacierz zoona z pierwszych k wierszy i k kolumn, 1 k n.

    Rzd rank(A) dla A jest wymiarem jej najwikszej nieosobliwejpodmacierzy 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 podzieliA i B na cztery macierze n2

    n2 i wyrazi przez nie iloczyn A i B jako;[

    A11 A12A21 A22

    ] [B11 B12B21 B22

    ]=[C11 C12C21 C22

    ]gdzie

    C11 = A11B11 + A12B21 , C12 = A11B12 + A12B22 ,C21 = A21B11 + A22B21 , C22 = A21B12 + A22B22 .

    Przypumy, e C mona obliczy zuywajc m mnoe i a dodawamacierzy n2

    n2 . Stosujc ten algorytm rekurencyjnie, moemy obliczy

    iloczyn dwch macierzy n n w czasie T (n), gdzie dla n bdcegopotg 2:

    T (n) mT(n

    2

    )+

    an2

    4, n > 2 .

    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 monaobliczy przez 7 mnoe i 18 dodawa (odjemowa).

    Dowd.

    Aby obliczyc11 c12c21 c22

    =

    a11 a12a21 a22

    b11 b12b21 b22

    , obliczamy iloczyny:

    m1 = (a12 a22)(b21 + 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

    TwierdzenieDwie macierze n n o elementach z dowolnego piercienia monapomnoy wykonujc O(n log 7) operacji arytmetycznych.

    Dowd.Niech n = 2k . Niech T (n) liczba operacji arytmetycznych potrzebnych dopomnoenia dwch macierzy n n. Z ostatniego lematu mamy

    T (n) 7Tn

    2

    + 18

    n2

    2, n 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 macierzywymiaru, ktry jest najmniejsz potg 2 wiksz od n. Wymiar ulegnie co najwyejpodwojeniu, 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

    Podzielmy A na[

    A11 A12A21 A22

    ]. Zamy istnienie A1. Niech

    = A22 A21A111 A12 i niech istnieje 1. Wwczas

    A1 =[A111 + A

    111 A12

    1A21A111 A111 A12

    1

    1A21A111 1].

    Dowd.

    A =A11 A12A21 A22 .

    =

    I 0

    A21A111 I

    A11 00

    I A111 A120 I

    ,

    gdzie = A22 A21A111 A12. Zatem

    A1 =I A1110 I

    A111 0

    0 1

    I 0

    A21A111 I

    =

    A111 + A

    111 A12

    1A21A111 A111 A12

    1

    1A21A111 1

    .

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 14 / 26

  • Odwracanie macierzy

    LematJeeli A jest nieosobliw macierz trjktn grn (doln), to macierzeA11 i , o ktrych mowa w poprzednim lemacie, maj macierze odwrotnei s one trjktnymi grnymi (dolnymi) nieosobliwymi macierzami.

    Dowd.Zamy, e A jest trjktna grna. A11 jest oczywicie nieosobliwa, wic A111 istnieje.Zauwamy, e A21 = 0, wobec tego = A22 A21A111 A12 = A22 i jest nieosobliwmacierz trjktn grn. Dowd dla macierzy trjktnej dolnej przebiega podobnie.

    TwierdzenieNiech M (n) bdzie czasem wymaganym do pomnoenia dwch macierzyn n nad pewnym piercieniem. Jeeli dla kadego m,8M (m) M (2m) 4M (m), to istnieje staa c taka, e macierzodwrotn 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 czasu2M ( n2 ), a zmiana znaku prawej grnej podmacierzy czasu

    n24 . Z zaoenia twierdzenia

    i std, e M (1) 1, mamy n2

    4 M (n2 . Wobec tego

    T (1) = 1 ,

    T (n) 2Tn

    2

    + 3M

    n2

    , n 2 .

    Dowd, e pociga to T (n) 32 M (n), jest atwy.Jeeli n nie jest potg 2, to A mona zapisa w macierzy postaci

    A 00 Im

    ,

    gdzie m + n 2n jest potg 2. Wobec tego mnoc c co najwyej przez 8, otrzymamytwierdzenie dla dowolnego n.

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 16 / 26

  • Rozkad LUP

    Rozkad LUP

    DefinicjaRozkadem LU macierzy A wymiaru m n, m n, jest para macierzy Li U takich, e A = LU , gdzie L jest jedynkow macierz trjktn dolnm m, a U jest macierz trjktn grn m n.

    Rwnanie Ax = b mona rozwiza wzgldem x, gdzie A macierzn n, x wektor kolumnowy rozmiaru n niewiadomych, b wektorkolumnowy rozmiaru n, jeeli zapiszemy A w postaci iloczynu jedynkowejmacierzy trjktnej dolnej L przez macierz trjktn grn U , o ileczynniki takie istniej. Wtedy Ax = b zapisujemy jako LU x = b. Abywyznaczy x, rozwizujemy najpierw Ly = b wzgldem y, a nastpnieU 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 macierzpermutacji P taka, e AP1 ma rozkad LU. Macierze L, U i P takie, eA = 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 2Wyjcie: macierze L, U i P takie, e M = LUP

    (L, U , P) factor(M , n, n)function factor(A, m, p)

    if m = 1 thenL[1] 1znajd kolumn c macierzy A zawierajc niezerowy elementniech P macierz permutacji p p zamieniajca kolumny 1 i c.U AP . P = P1retrun (L, U , P)

    elsepodziel A na macierze m2 p B i C(L1, U1, P1) factor(B , m/2, p)D CP11niech E i F podmacierze odpowiednio U1 i D z pierwszych m2 kolumnG D FE1U1niech G podmacierz G z p m2 kolumn od prawej(L2, U2, P2) factor(G, m/2, p m/2)niech P3 macierz permutacji p p z I m

    2w lewym grnym i P2 w prawym dolnym rogu

    H U1P13L macierz m m zoona z L1, 0 m

    2, FE1 i L2

    U macierz m p zoona z H i U2P P3P1return (L, U , P)

    end ifend function

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 18 / 26

  • Rozkad LUP

    TwierdzeniePowyszy algorytm oblicza L, U i P takie, e A = LUP dla kadejnieosobliwej 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 Amusi 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 U1jest rzdu m2 . Zatem macierz E

    1 istnieje.Po tym kroku algorytmu A jest iloczynem trzech macierzy i na jedn z nich skadaj siU1 i G. Poniewa A jest rzdu m, wic macierz ta te jest rzdu m. Zatem G ma rzdm2 . Poniewa pierwsze

    m2 kolumn G tworz zera, a G

    powstaje z G przez wykreleniepierwszych m2 kolumn, to G

    take musi mie rzd m2 . Z za. ind. factor obliczapoprawnie 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 Ptakiej, e P [i ] = j wtedy i tylko wtedy, gdy kolumna i ma jedynkw wierszu j . Dwie macierze permutacji n n mnoymy w czasie O(n),biorc P1P2[i ] = P1[P2[i ]]. Macierz odwrotn do macierzy permutacjiw tej reprezentacji take obliczamy w czasie O(n).

    TwierdzenieZamy, e dla kadego n mona pomnoy dwie macierze n n w czasieM (n), gdzie dla kadego m i pewnego > 0 mamy M (2m) 22+M (m).Istnieje wtedy taka staa k , e dla dowolnej nieosobliwej macierzy algorytmrozkadu LUP wymaga co najwyej czasu kM (n).

    Dowd.Wykonajmy algorytm rozkadu LUP dla pewnej macierzy n n. Niech T (m) czaszuywanym 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 wywoaniafactor zuywaj po T (m2 ) czasu. Obliczanie macierzy odwrotnej do macierzypermutacji wymaga czasu O(n); obliczanie iloczynu macierzy przez macierz permutacjiwyznaczamy przez przestawienie kolumn, co wymaga czasu O(mn).

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 20 / 26

  • Rozkad LUP

    Dowd (cd.).Obliczenie E1 i iloczynu FE1 wymagaj oba czasu po O(M (m2 ). Poniewa U1 jestco najwyej wymiaru m2 n, to iloczyn (FE

    1)U1 mona obliczy w czasieO( nm 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

    T (m) =

    (bn , n = 1 ,2T

    `mn

    + cnm M

    `m2

    + dmn , n > 1 ,

    dla staych b, c i d .Z za. i std, e M (1) = 1, mamy M (m2 )

    `m2

    2, czyli moemy poczy drugi i trzeciwyraz w rekurencji.Dla pewnej staej e

    T (m) =

    (bn , n = 1 ,2T

    `mn

    + enm M

    `m2

    , n > 1 .

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 21 / 26

  • Rozkad LUP

    Dowd (dokoczenie).Na tej podstawie

    T (m) en4m

    h4M

    m2

    + 42M

    m22+ + 4log mM (1)

    i+ bmn

    en4m

    log mXi=1

    4iMm

    2i+ bmn .

    Z za. 4iM`m

    2i` 1

    2i M (m). Wobec tego

    T (m) en4m

    M (m)X

    i=1

    12

    i+ bm, .

    Poniewa szereg jest zbieny i M (m) m2, wic istnieje taka staa k , eT (m) knm M (m). Dla algorytmu rozkadu LUP n = m i std T (n) kM (n).

    WniosekDla danej nieosobliwej macierzy A jej rozkad LUP mona znalew O(n log 7) krokach.

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 22 / 26

  • Rozkad LUP Zastosowania rozkadu LUP

    Zastosowania rozkadu LUP

    TwierdzenieNiech > 0 i a 1. Niech M (n) bdzie czasem wymaganym, bypomnoy dwie macierze nad pewnym piercieniem. JeeliM (2m) 22+M (m) dla pewnego > 0, to macierz odwrotn dodowolnej 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 = P1U1L1. P1 atwo obliczy w O(n) krokach. Macierze U1 i L1

    istniej i mog by obliczone w O(M (n)) krokach. Iloczyn P1U1L1 take monaobliczy 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

    TwierdzenieJeeli M (n) jest czasem jak w poprzednim twierdzeniu i A jest macierzn n, to det(A) mona obliczy w O(M (n)) krokach.

    Dowd.Stosujemy dla A algorytm rozkadu LUP. Jeeli algorytm nie dziaa, to nie monaznale niezerowej kolumny lub nie istnieje E1, to A jest osobliwa i det(A) = 0.W przeciwnym przypadku A = LUP . Wtedy det(A) = det(L)det(U )det(P). Biorciloczyny elementw na gwnej przektnej znajdujemy det(L) i det(U ). Poniewa L jestjedynkowa 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

    TwierdzenieJeeli M (n) jest czasem jak w poprzednim twierdzeniu i A jest macierznieosobliw n n, b wektorem kolumnowym wymiaru n, a x wektoremkolumnowym [x1, x2, . . . , xn ]T , to rozwizanie ukadu rwna liniowychAx = 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 nastpnieUPx = y rozwizujemy wzgldem x. Kade z tych podzada mona rozwiza w czasieO(n2) przez podstawienia za niewiadome, tzn. przez przeksztacenie ze wzgldu na y1,podstawienie za y1; przeksztacenie ze wzgldu na y2, itd. Rozkad LUP mona uzyskaw O(M (n)) krokach, wic rozwizanie LUPx = b mona uzyska w czasie O(n2).

    WniosekUkad n rwna liniowych o n niewiadomych mona rozwiza w czasieO(n log 7).

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 25 / 26

  • Rozkad LUP Zastosowania rozkadu LUP

    TwierdzenieNiech M (n) i I (n) bd odpowiednio czasem wymaganym, bypomnonoy dwie macierze n n, i czasem wymaganym, by odwrcimacierz 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 rwnez dokadnoci do staego czynnika.

    Dowd.I (n) c1M (n) dla pewnego c1. Niech A i B dla ustalenia zwizku M (n) c2I (n)przy pewnym c2 bd macierzami n n. Wtedy24I A 00 I B

    0 0 I

    351 =24I A AB0 I B

    0 0 I

    35 .Iloczyn AB mona uzyska przez odwrcenie macierzy 3n 3n. Std wynika, eM (n) I (3n) I (4n) 64I (n).

    Kordian A. Smoliski (Uniwersytet dzki) Analiza algorytmw 2007/2008 26 / 26

    PodstawyAlgorytm Strassena mnozenia macierzyOdwracanie macierzyRozklad LUPZastosowania rozkladu LUP