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

Z GeoWikiCZ
Bez shrnutí editace
m (oprava preklepu)
Řádek 7: Řádek 7:
# zvolíme libovolný jednotkový vektor <math>q_0 \in R^n</math> &nbsp; (můžeme zvolit libovolný nenulový vektor)
# zvolíme libovolný jednotkový vektor <math>q_0 \in R^n</math> &nbsp; (můžeme zvolit libovolný nenulový vektor)
# 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 vektor <math>q_i = z_i /||z_i||, </math> &nbsp; kde <math>||z_i||</math> označuje euklidovskou normu (tj. <math>q_i</math> je normovaný vektor <math>z_i</math>)
# vypočteme vektor <math>q_i = z_i /||z_i||\,</math>, kde <math>||z_i||\,</math> označuje euklidovskou normu (tj. <math>q_i</math> je normovaný vektor <math>z_i</math>)
# <math>\lambda_i = q^T_i\mathbf{A}q_i</math>
# <math>\lambda_i = q^T_i\mathbf{A}q_i</math>
# 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 <math>\lambda_\max</math> (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 není dosažena požadovaná relativní přesnost odhadu <math>\lambda_\max</math> (např. na 4 dekadické cifry).





Verze z 12. 3. 2006, 08:55

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 vektor , kde označuje euklidovskou normu (tj. je normovaný vektor )
  4. 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

[ Zpět | C++ ]