(R^H)R iteráció

Előkészület

Iteráció

f[x_]:=x^2+2;
x0=1;

Nest[f,x0,3]

NestList[f,x0,3]

NestList[(#^3-2)&,x0,2]

NestList[Function[x,x^3-2],x0,2]

g[{x_,y_}]:={x+y,x-y};

NestList[g,{1,2},4]

(R^H)R iteráció

Cél: egy pozitív definit (PD) A mátrix sajátértékeinek közelítése.
Egy (A^((n)))mátrixsorozatot képzünk, amelynek limeszének diagonálisai lesznek a sajátértékek.
A kiinduló mátrix (A^((0))):=A.

Iterációs mag: Ha az n-edik mátrix Cholesky felbontása (R^H)R, akkor legyen (A^((n+1)))=R (R^H).

A egy PD (szimmetrikus) mátrix.

A=(({{1, 2, 3}, {2, 5, 6}, {3, 6, 12}}));

Eigenvalues[A]//N

White-Box, iterációs mag implementáció

A0=A;
f[A_]:=Module[{R=CholeskyDecomposition[A]},N[R.ConjugateTranspose[R]]]

Nest[f,A0,3]//N//MatrixForm

Nest[f,A0,10]//N//MatrixForm

Chop[Nest[f,A0,25]//N,10^(-8)]//MatrixForm

Vizsgáljuk meg a diagonális elemeket!

Az (A^((n)))konvergens az (SuperStar[A]) limeszmátrix összes nemdiagonális eleme zéró, míg a diagonálisban A sajátértékeivannak.

Keressük meg B sajátértékeit a módszerrel.
B=(({{1, -2+i, i}, {-2-i, 19, -3}, {-i, -3, 3}}));

B=(({{1, -2+I, I}, {-2-I, 19, -3}, {-I, -3, 3}}));

Eigenvalues[B]//N

Nest[f,B,30]//Chop//MatrixForm