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

Z GeoWikiCZ
Bez shrnutí editace
Bez shrnutí editace
Řádek 5: Řádek 5:
'''Algoritmus:'''
'''Algoritmus:'''


# zvolíme libovolný nenulový, vektor <math>v_0 \in R^n</math>  
# zvolíme libovolný nenulový, vektor <math>q_0 \in R^n</math>  
# vypočteme vektor <math>w_i = \mathbf{A}v_{i-1}</math> vypočteme vektor
# vypočteme vektor <math>w_i = \mathbf{A}q_{i-1}</math> vypočteme vektor
# vypočteme euklidovskou normu <math>\lambda_i = ||w_i||</math>
# vypočteme euklidovskou normu <math>\lambda_i = ||w_i||</math>
# vypočteme vektor <math>v_i = w_i /\lambda_i, </math> &nbsp; tj. normujeme wektor <math>w_i</math> na velikost 1
# vypočteme vektor <math>v_i = w_i /\lambda_i, </math> &nbsp; tj. normujeme wektor <math>w_i</math> na velikost 1

Verze z 25. 2. 2006, 10:56

Mocninná metoda

Napište funkci, která pro zadanou čtvercovou diagonalizovatelnou matici Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \mathbf{A} \in R^{n\times n} } vypočítá odhad jejího dominantního vlastního čísla Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \lambda_\max} .

Algoritmus:

  1. zvolíme libovolný nenulový, vektor Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle q_0 \in R^n}
  2. vypočteme vektor Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle w_i = \mathbf{A}q_{i-1}} vypočteme vektor
  3. vypočteme euklidovskou normu Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \lambda_i = ||w_i||}
  4. vypočteme vektor Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle v_i = w_i /\lambda_i, }   tj. normujeme wektor Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle w_i} na velikost 1
  5. posloupnost Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \lambda_1, \lambda_2, \lambda_3, ... } konverguje k hodnotě Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \lambda_\max.} 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 Nelze pochopit (SVG, alternativně PNG (MathML lze povolit skrze prohlížečový plugin): Neplatná odpověď („Math extension cannot connect to Restbase.“) od serveru „https://wikimedia.org/api/rest_v1/“:): {\displaystyle \lambda_\max = 10}