najdu vlastni hodnoty leve dolni 2x2 submatice >> A([3,4],[3,4]) ans = 2 1 1 2 >> eig(A([3,4],[3,4])) ans = 1 3 Vezmu tu hodnotu ktera je (v absolutni hodnote) blize levemu dolnimu rohu (ted je to nastejno, vezmu 1) >> Ashifted = A- 1* eye(4) Ashifted = 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Shiftnutou matici >> [Q,R]=qr(Ashifted) Q = -0.70711 0.00000 -0.40825 0.57735 -0.70711 0.00000 0.40825 -0.57735 -0.00000 -1.00000 0.00000 0.00000 -0.00000 -0.00000 0.81650 0.57735 R = -1.41421 -1.41421 -0.70711 0.00000 0.00000 -1.00000 -1.00000 -1.00000 0.00000 0.00000 1.22474 0.81650 0.00000 0.00000 0.00000 0.57735 vynasobím v opačném pořadí a znovu >> A1 = R * Q + 1*eye(4) A1 = 3.00000 0.70711 0.00000 -0.00000 0.70711 2.00000 -1.22474 0.00000 0.00000 -1.22474 1.66667 0.47140 0.00000 0.00000 0.47140 1.33333 >> eig(A1([3,4],[3,4])) ans = 1 2 >> Ashifted = A1 - 2* eye(4) Ashifted = 1.00000 0.70711 0.00000 -0.00000 0.70711 0.00000 -1.22474 0.00000 0.00000 -1.22474 -0.33333 0.47140 0.00000 0.00000 0.47140 -0.66667 >> [Q,R]=qr(Ashifted) Q = -0.81650 0.18257 -0.47809 -0.26726 -0.57735 -0.25820 0.67612 0.37796 -0.00000 -0.94868 -0.27603 -0.15430 -0.00000 0.00000 -0.48795 0.87287 R = -1.22474 -0.57735 0.70711 0.00000 0.00000 1.29099 0.63246 -0.44721 0.00000 0.00000 -0.96609 0.19518 0.00000 0.00000 0.00000 -0.65465 >> A2 = R * Q + 2*eye(4) A2 = 3.33333 -0.74536 -0.00000 -0.00000 -0.74536 1.06667 0.91652 -0.00000 0.00000 0.91652 2.17143 0.31944 0.00000 0.00000 0.31944 1.42857 ... jeste jednu iteraci >> eig(A2([3,4],[3,4])) ans = 2.2899 1.3101 >> Ashifted = A2 - 1.3101 * eye(4) Ashifted = 2.02323 -0.74536 -0.00000 -0.00000 -0.74536 -0.24343 0.91652 -0.00000 0.00000 0.91652 0.86133 0.31944 0.00000 0.00000 0.31944 0.11847 >> [Q,R]=qr(Ashifted) Q = -0.93835 -0.16197 -0.29449 -0.08086 0.34569 -0.43966 -0.79939 -0.21950 -0.00000 0.88344 -0.45182 -0.12406 -0.00000 0.00000 -0.26479 0.96431 R = -2.15616 0.61525 0.31683 -0.00000 0.00000 1.03744 0.35798 0.28220 0.00000 0.00000 -1.20640 -0.17570 0.00000 0.00000 0.00000 0.07461 >> A2 = R * Q + 1.3101 *eye(4) A2 = 3.54602 0.35863 -0.00000 0.00000 0.35863 1.17024 -1.06578 0.00000 0.00000 -1.06578 1.90170 -0.01976 0.00000 0.00000 -0.01976 1.38205 Vidime ze mimodiagonalni prvky v poslednim radku (a poslednim sloupci) se postupne zmensuji... az budou dostatecne male, vezmeme prvek z leveho horniho rohu, prohlasime ho za vlastni hodnotu. Algoritmus pokracuje pro matici s odstranenym poslednim radkem a poslenim sloupcem.