C++ Bc. 2: Porovnání verzí
m (+kategorie programovani) |
m (odkaz na wikipedii) |
||
Řádek 1: | Řádek 1: | ||
;[http://en.wikipedia.org/wiki/Power_method Mocninná metoda] | |||
Napište funkci, která pro zadanou čtvercovou diagonalizovatelnou matici <math>\mathbf{A} \in R^{n\times n} </math> vypočítá odhad jejího dominantního vlastního čísla <math>\lambda_\max</math>. | Napište funkci, která pro zadanou čtvercovou diagonalizovatelnou matici <math>\mathbf{A} \in R^{n\times n} </math> vypočítá odhad jejího dominantního vlastního čísla <math>\lambda_\max</math>. | ||
double dominantni_vlastni_cislo_matice(const GNU_gama::Mat<>& A, double rel_chyba = 1e-5); | |||
'''Algoritmus:''' | '''Algoritmus:''' | ||
Verze z 10. 10. 2006, 14:44
Napište funkci, která pro zadanou čtvercovou diagonalizovatelnou matici vypočítá odhad jejího dominantního vlastního čísla .
double dominantni_vlastni_cislo_matice(const GNU_gama::Mat<>& A, double rel_chyba = 1e-5);
Algoritmus:
- zvolíme libovolný jednotkový vektor (můžeme zvolit libovolný nenulový vektor)
- vypočteme vektor
- vypočteme vektor , kde označuje euklidovskou normu (tj. je normovaný vektor )
- posloupnost konverguje k hodnotě Opakujeme krok 2, dokud není dosažena požadovaná relativní přesnost odhadu (např. na 4 dekadické cifry).
Příklad:
Pro matici je
Pro matici je