C++ Bc. 2: Porovnání verzí

Z GeoWikiCZ
Bez shrnutí editace
Bez shrnutí editace
Řádek 8: Řádek 8:
# vypočteme vektor <math>z_i = \mathbf{A}q_{i-1}</math>
# vypočteme vektor <math>z_i = \mathbf{A}q_{i-1}</math>
# vypočteme euklidovskou normu <math>\lambda_i = ||z_i||</math>
# vypočteme euklidovskou normu <math>\lambda_i = ||z_i||</math>
# vypočteme vektor <math>q_i = z_i /\lambda_i, </math> &nbsp; tj. normujeme wektor <math>z_i</math> na velikost 1
# vypočteme vektor <math>q_i = z_i /||z_i||, </math> &nbsp;  
kde <math>||z_i||</math> označuje euklidovskou normu
# posloupnost <math>\lambda_1, \lambda_2, \lambda_3, ... </math> konverguje k hodnotě <math>\lambda_\max.</math> Opakujeme krok 2, dokud neni dosažena požadovaná relativní přesnost odhadu (např. na 4 dekadické cifry).
# posloupnost <math>\lambda_1, \lambda_2, \lambda_3, ... </math> konverguje k hodnotě <math>\lambda_\max.</math> Opakujeme krok 2, dokud neni dosažena požadovaná relativní přesnost odhadu (např. na 4 dekadické cifry).



Verze z 25. 2. 2006, 11:16

Mocninná metoda

Napište funkci, která pro zadanou čtvercovou diagonalizovatelnou matici vypočítá odhad jejího dominantního vlastního čísla .

Algoritmus:

  1. zvolíme libovolný jednotkový vektor   (můžeme zvolit libovolný nenulový vektor)
  2. vypočteme vektor
  3. vypočteme euklidovskou normu
  4. vypočteme vektor  

kde označuje euklidovskou normu

  1. posloupnost konverguje k hodnotě Opakujeme krok 2, dokud neni dosažena požadovaná relativní přesnost odhadu (např. na 4 dekadické cifry).

Příklad: Pro matici

-261 209  -49
-530 422  -98
-800 631 -144

je