C++ Bc. 2: Porovnání verzí
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 1: | Řádek 1: | ||
Napište funkci, která pro zadanou čtvercovou matici <math>\mathbf{A}</math> vypočítá odhad jejího maximálního vlastního čísla <math>\lambda_\max</math>. | Napište funkci, která pro zadanou čtvercovou (pozitivně definitní) matici <math>\mathbf{A}</math> vypočítá odhad jejího maximálního vlastního čísla <math>\lambda_\max</math>. | ||
'''Algoritmus:''' | '''Algoritmus:''' | ||
Řádek 8: | Řádek 8: | ||
# vypočteme vektor <math>v_i = w_i \times (1/\lambda_i), </math> tj. normujeme wektor <math>w_i</math> na velikost 1 | # vypočteme vektor <math>v_i = w_i \times (1/\lambda_i), </math> tj. normujeme wektor <math>w_i</math> na velikost 1 | ||
# 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). | ||
'''Příklad:''' Pro matici | |||
226 99 204 88 116 | |||
99 131 171 55 45 | |||
204 171 279 108 97 | |||
88 55 108 106 44 | |||
116 45 97 44 71 | |||
je <math>\lambda_\max. = 639.6488</math> |
Verze z 25. 2. 2006, 09:34
Napište funkci, která pro zadanou čtvercovou (pozitivně definitní) matici vypočítá odhad jejího maximálního vlastního čísla .
Algoritmus:
- zvolíme libovolný nenulový vektor stejné dimenze, jako je rozměr matice
- vypočteme vektor vypočteme vektor
- vypočteme euklidovskou normu
- vypočteme vektor tj. normujeme wektor na velikost 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
226 99 204 88 116 99 131 171 55 45 204 171 279 108 97 88 55 108 106 44 116 45 97 44 71
je