CN - curs 04 - 2015

  • Published on
    17-Sep-2015

  • View
    213

  • Download
    0

Embed Size (px)

DESCRIPTION

cn

Transcript

<ul><li><p>Calcul Numeric </p><p>Cursul 4 </p><p>2015 </p><p>Anca Ignat </p></li><li><p> 1</p><p>Algoritmul de eliminare Gauss </p><p>Algoritmul se realizeaz n n-1 pai prin transformarea sistemului dat ntr-un sistem echivalent cu matrice triunghiular superior. Pas 1 </p><p>la acest pas se obine sistemul: </p><p> unde1 1 1,A x b Ax b A are prima coloan n form superior triunghiular. </p></li><li><p> 2</p><p>Pas 2 se construiete sistemul </p><p> unde2 2 2,A x b Ax b A are primele dou coloane n form superior triunghiular. </p><p> Pasul r se obine sistemul unde,r r rA x b Ax b A are primele r coloane n form superior triunghiular. </p><p> Pasul n-1 : se obine sistemul </p><p> unde1 1 1,n n nA x b Ax b A are primele n-1 coloane n form superior triunghiular. </p></li><li><p> 3</p><p>Dac la un anumit pas matricea A(r) nu poate fi construit aceasta ne va arta c matricea A este singular. n realizarea acestor pai se utilizeaz urmtoarele operaii elementare: nmulirea unei ecuaii cu un factor i adunarea la alt </p><p>ecuaie; </p><p> interschimbarea a dou linii i/sau dou coloane n matricea A. </p></li><li><p> 4</p><p>Pasul 1 </p><p> Intrare : sistemul Ax=b Ieire : sistemul 1 1 ,A x b Ax b matr A(1) are prima coloan n form superior triunghiular. Fie ecuaia i, cu i=1,,n </p><p>1 1 2 2:i i i in n iE a x a x a x b . Presupunem 11 0a . Operaiile efectuate au ca obiectiv anularea coeficienilor lui x1 din ecuaiile de la 2 la n i sunt descrise n continuare: </p></li><li><p> 5</p><p> 1 1211 2 2 21</p><p>11</p><p>0aE E E aa</p><p> 1 111 1</p><p>11</p><p>0i i i iaE E E a</p><p>a </p><p> 1 111 1</p><p>11</p><p>0n n n naE E E a</p><p>a </p></li><li><p> 6</p><p>Sistemul obinut prin aceste operaii are forma: </p><p>1 1 1 111 1 12 2 1 1</p><p>1 1 122 2 2 2</p><p>1 1 12 2</p><p>1 1 12 2</p><p>n n</p><p>n n</p><p>i in n i</p><p>n nn n n</p><p>a x a x a x b</p><p>a x a x b</p><p>a x a x b</p><p>a x a x b</p><p>sau </p></li><li><p> 7</p><p>1 11 1 1 1</p><p>1 11</p><p>11</p><p>11</p><p>1 11</p><p>11</p><p>, 1, , , .</p><p>, 2, , ; 2, , .</p><p>0, 2, , .</p><p>, 2, , .</p><p>j j</p><p>iij ij j</p><p>i</p><p>ii i</p><p>a a j n b b</p><p>aa a a i n j na</p><p>a i nab b b i na</p></li><li><p> 8</p><p>Pas 2 </p><p> Intrare : 1 1A x b Ieire : 2 2 2,A x b Ax b A are primele dou coloane n form superior triunghiular. Se presupune 122 0a i se urmrete anularea elementelor 2 2 232 42 2, , , na a a (transformarea coloanei 2 n form superior </p><p>triunghiular). Operaiile efectuate asupra ecuaiilor 1 , 3, ,iE i n sunt urmtoarele : </p></li><li><p> 9</p><p>11 1 2 232</p><p>2 3 3 32122</p><p>11 1 2 22</p><p>2 2122</p><p>11 1 2 22</p><p>2 2122</p><p>0;</p><p>0;</p><p>0;</p><p>ii i i</p><p>nn n n</p><p>aE E E aa</p><p>aE E E aa</p><p>aE E E aa</p></li><li><p> 10</p><p>Obinem pentru matricea A(2) i vectorul b(2) relaiile: </p><p>21 1</p><p>2 12 2</p><p>12 1 12</p><p>2122</p><p>21</p><p>22</p><p>2 2 11 1 2 2</p><p>12 1 (1)2</p><p>2122</p><p>, 1, ,</p><p>, 2, ,</p><p>, 3, , ; 3, ,</p><p>0, 2, ,</p><p>0, 3, ,</p><p>,</p><p>, 3, , .</p><p>j j</p><p>j j</p><p>iij ij j</p><p>i</p><p>i</p><p>ii i</p><p>a a j n</p><p>a a j n</p><p>aa a a i n j na</p><p>a i n</p><p>a i n</p><p>b b b b</p><p>ab b b i na</p></li><li><p> 11</p><p> Se observ c nu se schimb forma superior triunghiular a primei coloane. </p><p>Pas r </p><p> Intrare : 1 1r rA x b Ieire : ,r r rA x b Ax b A are primele r coloane n form superior triunghiular. </p></li><li><p> 12</p><p>Sistemul are forma urmtoare: </p><p>1 1 1 111 1 1 1 1</p><p>1 1 1</p><p>1 1 11 1 1</p><p>r r r rr r n n</p><p>r r rrr r rn n r</p><p>r r rr r r r n n r</p><p>rir</p><p>a x a x a x b</p><p>a x a x b</p><p>a x a x b</p><p>a</p><p>1 1 1</p><p>1 1 1</p><p>r rr in n i</p><p>r r rnr r nn n n</p><p>x a x b</p><p>a x a x b</p></li><li><p> 13</p><p>Presupunem 1 0.rrra </p><p>Vom urmri anularea elementelor 1 2, , , .r r r</p><p>r r r r nra a a </p><p>11 11</p><p>1 1 11</p><p>11 1</p><p>1</p><p>11 1</p><p>1</p><p>0;</p><p>0;</p><p>0;</p><p>rr r r rr r</p><p>r r r r rrrr</p><p>rr r r rir</p><p>r i i irrrr</p><p>rr r r rnr</p><p>r n n nrrrr</p><p>aE E E aa</p><p>aE E E aa</p><p>aE E E aa</p></li><li><p> 14</p><p>1 1</p><p>1</p><p>11 1</p><p>1</p><p>1 1</p><p>1</p><p>11 ( 1</p><p>21</p><p>, 1, , ,</p><p>, 2, , , , ,</p><p>, 1, , ; 1, , .</p><p>0, 1, , , 1, , .</p><p>,</p><p>, 2, , ,</p><p>rj j</p><p>r kkj kj</p><p>rr r rir</p><p>ij ij rjrrr</p><p>rij</p><p>r</p><p>r jj j</p><p>rr r rir</p><p>i i rrr</p><p>a a j n</p><p>a a k r j k n</p><p>aa a a i r n j r na</p><p>a j r i j n</p><p>b b</p><p>b b j r</p><p>ab b ba</p><p> ) , 1, , .i r n</p></li><li><p> 15</p><p>Se observ c nu se schimb forma superior triunghiular a primelor r-1 coloane. La fiecare pas s-a fcut ipoteza 1 0rrra</p><p> . Elementul 1rrra poart numele de pivot. n cazul n care elementul pivot este nul se pot aplica urmtoarele strategii, numite de pivotare: </p></li><li><p> 16</p><p>Pivotare ( ( 1) 0 ?rrra ) </p><p> 10 Fr pivotare Se caut primul indice 0 , 1, ,i r r n astfel nct </p><p>0</p><p>1 0ri ra . Se interschimb liniile i0 i r. </p><p>S observm c n procesul de calcul la pasul r intervine </p><p>factorul 11r</p><p>rra astfel c valori mici ale lui </p><p> 1rrra conduc la </p><p>amplificarea erorilor de calcul. Pentru a asigura stabilitatea numeric a procesului de calcul este de dorit ca 1rrra</p><p> s fie </p><p>mare. </p></li><li><p> 17</p><p> 20 Pivotare parial Se determin indicele i0: </p><p> 0 1 1max ; , ,r ri r ira a i r n i se interschimb liniile dac0 0, .i r i r 30 Pivotare total Se determin indicii i0 i j0: </p><p> 00 1 1max ; , , , , ,r ri j ija a i r n j r n i se interschimb liniile dac0 0,i r i r i coloanele </p><p>dac0 0,j r j r </p></li><li><p> 18</p><p>Schimbarea coloanelor implic schimbarea ordinii variabilelor astfel nct n final va trebui refcut ordinea iniial a variabilelor. Dac dup pivotare elementul pivot rmne nul, 1 0 ,rrra atunci putem deduce c A(r-1) este singular. </p><p> n adevr, dac n procesul de pivotare parial 1 0 ,rrra atunci </p></li><li><p> 19</p><p>11 12 1</p><p>( 1)</p><p>1 1 1 111 22 1 1</p><p>00</p><p>det det 0</p><p>0</p><p>n</p><p>rr rnr</p><p>nn</p><p>rn</p><p>r r r rr r</p><p>nn</p><p>a a a</p><p>a aA</p><p>aa</p><p>A a a a</p><p>a</p></li><li><p> 20</p><p> Deoarece operaiile efectuate (cele de inetrschimbare de linii i/sau coloane) nu au schimbat dect semnul determinantului avem: </p><p> 1det det 0 det 0rA A A prin urmare matricea A iniial este singular. i n cazul procesului de pivotare total dac 1 0 ,rrra atunci: </p></li><li><p> 21</p><p>11 12 1</p><p>( 1)</p><p>1 1 1 111 22 1 1</p><p>0</p><p>00 00 0</p><p>det det 0</p><p>0 0</p><p>n</p><p>rrr</p><p>r r r rr r</p><p>a a a</p><p>aA</p><p>A a a a</p><p> 1det det 0rA A A este matrice singular. </p></li><li><p> 22</p><p>1;pivotare( );while ( -1 i | | &gt; )</p><p>// Pas rfor 1, ,</p><p> - ;</p><p> for 1, , * ;</p><p>rr</p><p>ir</p><p>rr</p><p>ij ij rj</p><p>rr</p><p>r n a</p><p>i r nafa</p><p>j r na a f a</p><p>( 1) ( 1)</p><p> 0; * ; 1;</p><p>pivotare( );if (| | ) 'MATRICE SINGULARA'</p><p>else { ,se rezolv sistemul triunghiular superior </p><p>ir</p><p>i i r</p><p>rrn n</p><p>ab b f b</p><p>r rr</p><p>aA A b b</p><p>Ax</p><p> }b</p></li><li><p> 23</p><p>Numrul de operaii efectuate la pasul r i n total este: </p><p>1 12</p><p>1 11 1</p><p>2</p><p>1 1</p><p>3 32 2</p><p>( ) 1 1 1</p><p>1 2 5M : 2 ,</p><p>61 1A : ,</p><p>3</p><p>M : ; :3 3</p><p>n n</p><p>r rn n</p><p>r r</p><p>n r M n r A n r M A M</p><p>n n nn r n r</p><p>n n nn r n r</p><p>n nn n</p></li><li><p> 24</p><p> Eliminarea chinezeasc 200-100 .Cr. China 9 capitole despre arta matematic metod de rezolvare foarte asemnatoare eliminrii Gauss Avem 3 tipuri de gru. tim c 3 baloturi din primul tip, 2 baloturi din al doilea tip i 1 balot din al treilea tip cntresc 39 msuri. Deasemenea, 2 baloturi din primul tip, 3 baloturi din al doilea tip i 1 balot din al treilea tip cntresc 34 msuri i 1 balot din primul tip, 2 baloturi din al doilea tip i 3 baloturi din al treilea tip cntresc 26 msuri. Cte msuri cntrete un balot din fiecare tip de gru </p></li><li><p> 25</p><p>Notaia actual: Notaia chinezeasc </p><p>1 2 3</p><p>1 2 3</p><p>1 2 3</p><p>3 2 392 3 34</p><p>2 3 26</p><p>b b bb b b</p><p>b b b</p><p>1 2 32 3 23 1 126 34 39 </p></li><li><p> 26</p><p> Pasul 1 Se nmulete coloana a doua cu 3 i se scade din ea coloana a treia att timp ct este posibil. Se nmulete prima coloan cu 3 i se scade din ea coloana a treia att timp ct este posibil. Se ajunge la forma: </p><p>0 0 34 5 28 1 139 24 39 </p></li><li><p> 27</p><p> Pasul 2 Se nmulete prima coloan cu 5 i se scade din ea coloana a doua att timp ct este posibil. Se ajunge la forma: </p><p>0 0 30 5 236 1 199 24 39 </p><p>Pentru rezolvare se folosete metoda substituiei inverse pe sistemul obinut mai sus. </p></li><li><p> 28</p><p>Descompuneri LU </p><p>n nA , A=LU, L inferior triunghiular i U superior triunghiular </p><p>, n nL U soluiasoluia</p><p>1== = ,=</p><p>Ly b yAx b LUx b x A b</p><p>Ux y x</p></li><li><p> 29</p><p> Fie minorul principal principal al matricii A: </p><p>11 12 1</p><p>21 22 2</p><p>1 2</p><p>, 1, ,</p><p>p</p><p>p p pp</p><p>p p pp</p><p>a a a</p><p>a a aA p n</p><p>a a a</p></li><li><p> 30</p><p>Teorem (descompunere LU) Fie n nA o matrice real ptratic de dimensiune n astfel nct det 0pA , = 1, ,p n . Atunci exist o unic matrice inferior triunghiular , =1,...,= ( )ij i j nL l cu = 1, = 1, ,iil i n i o unic matrice superior triunghiular , =1,...,= ( )ij i j nU u astfel nct A = LU (1) </p><p> Demonstraie. Existena: demonstraia se face prin inducie dup n dimensiunea matricii A. </p></li><li><p> 31</p><p>Algoritmul Doolittle de calcul al descompunerii LU </p><p>Fie n nA o matrice real ptratic de dimensiune n care satisface ipotezele teoremei de mai sus. Algoritmul de calcul al matricilor L i U are n etape. La fiecare pas se determin simultan: </p><p>- cte o linie din matricea U i - cte o coloan din matricea L. </p><p>Descriem n continuare, un pas oarecare. Pasul p ( = 1,2, ,p n ) </p><p> Se determin elementele liniei p ale matricii U , , = , ,piu i p n , i elementele coloanei p ale matricii L, </p></li><li><p> 32</p><p>, = 1, ,ipl i p n = 1ppl (upi= lip =0, i=1,,p-1). lin. a matr. 10 0 pp pp pnu u u p U </p><p>col. a matr. </p><p>1</p><p>00</p><p>1</p><p>p p</p><p>np</p><p>p Ll</p><p>l</p></li><li><p> 33</p><p>Se cunosc de la paii anteriori: - elementele primelor p-1 linii din U (elemente kju cu = 1, , 1,k p j ) i - elementele primelor p-1 coloane din L (elemente ikl cu = 1, , 1,k p j ). </p><p> Calculul elementelor liniei p din matricea U, </p><p>= , ,piu i p n se face folosind elementul api i (LU)pi. Avem: </p><p>=1 =11</p><p>=1</p><p>= ( ) ( = 0, = 1, , ) = =pn</p><p>pi pi pk ki pk pk kik k</p><p>p</p><p>pp pi pk kik</p><p>a LU l u l k p n l u</p><p>l u l u</p></li><li><p> 34</p><p>Pentru = , ,i p n avem: </p><p>1</p><p>1, , ,</p><p>p</p><p>pi pi pk kik</p><p>u a l u i p n</p><p> (2) </p><p> ( = 1ppl , pkl , kiu = 1, , 1k p sunt elemente de pe coloane din L i linii din U calculate la paii anteriori) Calculul elementelor coloanei p din matricea L: </p><p>, = 1, ,ipl i p n ( = 0 , = 1, , 1 , = 1ip ppl i p l ) se face analog: </p></li><li><p> 35</p><p>=1 =11</p><p>=1</p><p>= ( ) ( = 0, = 1, , ) = =pn</p><p>ip ip ik kp kp ik kpk k</p><p>p</p><p>ip pp ik kpk</p><p>a LU l u u k p n l u</p><p>l u l u</p><p>Dac 0ppu putem calcula elementele nenule ale coloanei p din matricea L astfel: </p><p>1</p><p>1( )</p><p>, 1, ,</p><p>p</p><p>ip pk kik</p><p>ippp</p><p>a l ul i p n</p><p>u</p><p> (3) (elementele pkl , kiu = 1, , 1k p sunt calculate anterior pasului p) </p></li><li><p> 36</p><p>Dac = 0ppu , calculele se opresc, descompunerea LU nu poate fi calculat - matricea A are un minor pA cu determinantul 0. Unicitatea: Demonstraie prin reducere la absurd. Facem observaia c inversa unei matrici nesingulare triunghiular inferior (superior) este o matrice de acelai tip. Presupunem c 1 1A L U L U (4) </p></li><li><p> 37</p><p>Din ipoteza A nesingular rezult existena inverselor matricilor 1 1, , ,L L U U . nmulind egalitatea (4) la stnga cu L-1i cu 11U la dreapta obinem </p><p>1 11 1U U L L . </p><p>Matricea 1 1L L este inferior triunghiular cu elementele </p><p>diagonale egale cu 1 iar matricea 11U U este superior </p><p>triunghiular. Rezult c: 1 11 1 nU U L L I</p><p> , deci L=L1 , U=U1. </p></li><li><p> 38</p><p> Descompunerea Cholesky </p><p> O matrice n nA se numete pozitiv definit dac: </p><p> , 0 , 0n nAx x x x Notaie: A &gt; 0 </p><p>Fie n nA o matrice simetric (A=AT ) i pozitiv definit. Descompunerea Cholesky pentru matricea A este de forma: </p><p>A = LLT , L matrice inferior triunghiular </p></li><li><p> 39</p><p>11 11 21 111 1</p><p>21 22 22 2</p><p>11 2</p><p>0 00 0</p><p>0 0</p><p>nn</p><p>nT</p><p>n nnn n nn nn</p><p>l l l la a</p><p>l l l lA LL</p><p>a al l l l</p><p> Matricea L se calculeaz n n pai, coloan dup coloan. </p></li><li><p> 40</p><p> Pas r (r=1,,n) Se calculeaz elementele coloanei r a matricii L: nti elementul diagonal lrr apoi celelalte elemente lir (i=r+1,n) Coloana r a matricii L: 10 0 Trr r r ir nrl l l l - se cunosc elementele primelor (r-1) coloane ale matricii L </p></li><li><p> 41</p><p> Calcul lrr: </p><p>1</p><p>1</p><p>1 1 1</p><p>12 2 2 2 21 2 1</p><p>1</p><p>0 00</p><p>0</p><p>r</p><p>rrT</p><p>rr r rr rr rrrr</p><p>r</p><p>r r rr rr rr rr rkk</p><p>l</p><p>la LL l l l l</p><p>l l l l l a l</p></li><li><p> 42</p><p>Calcul lir (i=r+1,,n): </p><p>1</p><p>1</p><p>1 1</p><p>1</p><p>11 1 2 2 1 1</p><p>00</p><p>0</p><p>r</p><p>rrT</p><p>ir i ir ir ii rrir</p><p>r</p><p>ir ik rkk</p><p>i r i r ir rr ir rr irrr</p><p>l</p><p>la LL l l l l l</p><p>a l ll l l l l l l l l</p><p>l</p></li><li><p> 43</p><p>Algoritmul de eliminare Gauss fr schimbare de linii descompunere LU </p><p> Presupunem c la fiecare pas al algoritmului de eliminare </p><p>Gauss pivotul este nenul ( ( 1) 0rrra ), deci nu e nevoie de </p><p>schimbare de linii. </p><p>Algoritmul se poate scrie astfel: </p></li><li><p> 44</p><p>for 1, , 1for 1, ,</p><p>;</p><p>/ /for 1, ,</p><p>;</p><p>0;;</p><p>ir</p><p>rr</p><p>i i r</p><p>ij ij rj</p><p>ir</p><p>i i r</p><p>r ni r n</p><p>afa</p><p>E E f Ej r na a f a</p><p>ab b f b</p><p> Considerm vectorul i matricea: </p></li><li><p> 45</p><p>( ) ( )( )</p><p>1</p><p>( )</p><p>0</p><p>0, :r n r T n nr r n r</p><p>r</p><p>rn</p><p>t T I t et</p><p>t</p></li><li><p> 46</p><p>col r</p><p>lin</p><p>( )( )</p><p>( )11</p><p>( )( )</p><p>0 0 0 0 0</p><p>0 0 0 0 00 1 0 00 0 0 1)</p><p>0 0 0</p><p>r Trr</p><p>rrr</p><p>rrn</p><p>n</p><p>t et t r</p><p>t t</p></li><li><p> 47</p><p>Matricea Tr este matrice triunghiular inferior cu 1 pe diagonala principal: </p><p>( )1</p><p>( )</p><p>col</p><p>1 0 0 00 1 0 0</p><p>0 0 1rr</p><p>r</p><p>rn</p><p>r</p><p>Tt</p><p>t</p></li><li><p> 48</p><p>Inversa matricii Tr este </p><p>1 ( )r Tr n rT I t e . </p><p> 1 ( ) ( ) ( ) ( ) ( ) ( )</p><p>( ) ( ) ( ) ( )</p><p>( )( )</p><p>(0 )</p><p>r T r T r T r T r T r Tr r n r n r n r r r r</p><p>r r T r T rn r r n r r</p><p>T T I t e I t e I t e t e t e t e</p><p>I t t e I t e t</p><p> Dac A este o matrice oarecare, vrem s vedem cum se poate construi matricea B=Tr A fr a face nmulire matricial. Vom studia legtura ntre liniile matricilor A i B. </p></li><li><p> 49</p><p>( ) ( )</p><p>( )</p><p>( ) ( )</p><p>( )</p><p>T T T r T T T r Ti i r i n r i i r</p><p>T r Ti i r</p><p>e B e T A e I t e A e A e t e A</p><p>e A t e A</p><p> Linia i a noii matrici B se obine din linia i a matricii A la care se adaug linia r a matricii A nmulit cu factorul ( )rit . </p><p>( )</p><p>( )</p><p>1, , ( 0)</p><p>( ) 1, ,</p><p>T ri iT</p><p>i T r Ti i r</p><p>e A i r te B</p><p>e A t e A i r n</p><p> . </p></li><li><p> 50</p><p>Operaia TrA descrie Pasul r al algoritmului de eliminare Gauss dac: </p><p>( ) ( )( )( ) ( ) ( )1</p><p>1 ( ) ( ) ( ), , , ,r rr</p><p>r r rir nrr rr i nr r r</p><p>rr rr rr</p><p>a aat t ta a a</p><p> . </p><p> Algoritmul de eliminare Gauss fr schimbare de linii poate fi descris astfel: </p><p>cu ( )1 2 1r T</p><p>n r n rT T T A U T I t e , ( ) ( )( )</p><p>( ) 1( ) ( ) ( )0 0 ( ) ( ) ( )</p><p>Tr rrr ir nrr r</p><p>r r rrr rr rr</p><p>a aata a a </p><p> . </p></li><li><p> 51</p><p>Avem: </p><p>1 1 1 1 1 11 2 1 1 2 1, :n nA T T T U LU L T T T </p><p>1 1 (1) (2) (1) (2) (1) (2)1 2 1 2 1 2 1 2</p><p>(1) (2) (1) (2) (1) (2) (2)1 2 1 2 1 2 1</p><p>( )( )</p><p>( 0)</p><p>T T T T T Tn n n</p><p>T T T T Tn n</p><p>T T I t e I t e I t e t e t e t e</p><p>I t e t e t t e I t e t e t</p><p> Prin inducie se arat c: </p><p>1 1 1 (1) (2) ( 1)1 2 1 1 2 1</p><p>T T n Tn n nL T T T I t e t e t e</p></li><li><p> 52</p><p>21</p><p>11(1)</p><p>31 32(1)</p><p>11 22</p><p>1</p><p>11</p><p>1 0 0 0</p><p>1 0 0</p><p>0 0</p><p>r</p><p>aaa aa a</p><p>L aa</p><p>(1)2</p><p>(1)22</p><p>(1) ( 1)11 12 1</p><p>(1) ( 1)11 22</p><p>(1) ( 1)1 2</p><p>(1) ( 1)11 22</p><p>0</p><p>0</p><p>r</p><p>rr r r r</p><p>rrr</p><p>rn n nr</p><p>rrr</p><p>aa</p><p>a a aa a a</p><p>a a aa a a</p></li></ul>