16.01.2015 Views

OPTIM´ALN´I ROZHODOV´AN´I AˇR´IZEN´I

OPTIM´ALN´I ROZHODOV´AN´I AˇR´IZEN´I

OPTIM´ALN´I ROZHODOV´AN´I AˇR´IZEN´I

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

KAPITOLA 3. MINIMALIZACE KVADRATICKÝCH FOREM 38<br />

Triangulizace matice (to je úprava matice na horní trojúhelníkový tvar) se provádí pomocí<br />

specielní ortogonální matice T, zvané matice planárních rotací, nebo také<br />

Givensova rotace. Ortogonální matice je taková matice, pro kterou platí T T T = I.<br />

Matici T volíme takovou, aby platilo<br />

[ ] [ ]<br />

ϕF ¯F<br />

T =<br />

h 0<br />

Potom platí<br />

M =<br />

[<br />

ϕF<br />

h<br />

] T [<br />

ϕF<br />

h<br />

]<br />

=<br />

[<br />

ϕF<br />

h<br />

] T [<br />

ϕF<br />

T T T<br />

h<br />

]<br />

=<br />

[ ¯F<br />

0<br />

] T [ ¯F<br />

0<br />

]<br />

= ¯F T ¯F<br />

Přitom předpokládáme, že matice F je horní trojúhelníková [ ] matice. Triangulizace spočívá<br />

F<br />

v podstatě ve vynulování posledního řádku matice (faktor zapomínání ϕ nebudeme<br />

h<br />

pro jednoduchost uvažovat).<br />

Triangulizaci provádíme sekvenčně tak, že nejprve vynulujeme první prvek posledního<br />

řádku vhodně zvolenou ortogonální maticí T, potom vynulujeme druhý prvek posledního<br />

řádku opět vhodně zvolenou ortogonální maticí T a tak postupně vynulujeme všechny<br />

další prvky posledního řádku. Při tom matice F mění koeficienty, ale zachovává trojúhelníkový<br />

tvar a postupně se mění na horní trojúhelníkovou matici ¯F.<br />

Postup ukážeme při nulování i-tého prvku posledního řádku, to je při (i)-té iteraci<br />

popisovaného sekvenčního postupu. Ortogonální matice T je v tomto případě rovna<br />

⎡<br />

⎤<br />

1<br />

. . .<br />

T =<br />

1<br />

c i . . . s i<br />

⎢<br />

⎥<br />

⎣ . . .<br />

⎦<br />

−s i c i<br />

Ortogonální matice T je rovna jednotkové matici s výjimkou prvků T i,i = c i , T i,ν = s i ,<br />

T ν,i = −s i a T ν,ν = c i , kde ν je dimenze matice T. Aby matice T byla ortogonální maticí,<br />

musí být koeficienty [ ] c i a s i omezeny vztahem c 2 i +s 2 i = 1. Násobíme-li takovou ortogonální<br />

F<br />

maticí matici , pak se ve výsledné matici změní pouze i-tý a poslední ν-tý řádek.<br />

h<br />

Pro tyto řádky platí<br />

[<br />

F<br />

T<br />

h<br />

]<br />

i,ν; .<br />

=<br />

=<br />

⎡<br />

⎢<br />

⎣<br />

⎡<br />

⎢<br />

⎣<br />

⎤<br />

c i . . . s i<br />

⎥<br />

. . . ⎦<br />

−s i . . . c i<br />

⎡<br />

. . . 0 F i,i F i,i+1 . . . F i,ν<br />

⎢<br />

⎣ . . .<br />

. . . 0 h (i−1)<br />

i<br />

⎤<br />

. . . 0 ¯Fi,i ¯Fi,i+1 . . . ¯Fi,ν<br />

. . .<br />

. . . 0 0 h (i)<br />

i+1 . . . h (i)<br />

ν<br />

⎥<br />

⎦<br />

h (i−1)<br />

i+1 . . . h (i−1)<br />

ν<br />

⎤<br />

⎥<br />

⎦ =<br />

kde horním indexem v závorce jsme označili krok (iteraci) algoritmu. Protože chceme<br />

nulovat i-tý prvek posledního řádku, musí platit h (i)<br />

i = −s i F i,i + c i h (i−1)<br />

i = 0. Odtud

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!