Здравствуйте, товарищи, помогите разобраться в коде реализации метода степенной итерация для подсчёта максимального собственного значения и соответствующего собственного вектора. Сам метод я понял, но вот как он реализуется в системе Mathematica ...  
(код взят с сайта 
http://math.fullerton.edu/mathews/n2003/PowerMethodMod.html)
1)Для чего нужно вот это, т.е. как мы выбираем это число m
Код:
  While[ count <= m,
    count = count + 1; 
    Y = A.X0; 
    \[Lambda] = maxsize[Y]; 
    X = 1/\[Lambda] Y;
2)Вот эта функция что нам даёт, и как мы можем заходить в -1 ячейку списска, и зачем ?
Код:
maxsize[W_] := Module[{w = Sort[W], msize},
   If[ Abs[w[[-1]]] >= Abs[w[[1]]],
    msize = w[[-1]],
    msize = w[[1]]]; 
   Return[msize]; ];
Код:
PowerMeth[A0_, V0_, \[Epsilon]_, m_] :=
  Module[{A = N[A0], c1, count, err, \[Lambda], \[Lambda]0, X , 
    X0 = N[V0], Y},
   
   maxsize[W_] := Module[{w = Sort[W], msize},
     If[ Abs[w[[-1]]] >= Abs[w[[1]]],
      msize = w[[-1]],
      msize = w[[1]]]; 
     Return[msize]; ]; 
   
   norm[V_] := Sqrt[V.V]; 
   \[Lambda]0 = 0; 
   count = 0; 
   
   While[ count <= m,
    count = count + 1; 
    Y = A.X0; 
    \[Lambda] = maxsize[Y]; 
    X = 1/\[Lambda] Y; 
    
    Print[NumberForm[\[Lambda], 6], " , ", PaddedForm[X, {6, 6}]]; 
    
    err = Max[{ Abs[\[Lambda] - \[Lambda]0], norm[X - X0]}]; 
    If[ err < \[Epsilon], Return[{\[Lambda], X}] ];  
    X0 = X; 
    \[Lambda]0 = \[Lambda];  ]; 
   Return[{\[Lambda], X}]; ]; 
Print["A = ", MatrixForm[A], ", X_0 = ", MatrixForm[X0]];
{ \[Lambda], X} = PowerMeth[A, X0, 0.000001, 100]
Print[""]
Print["A = ", MatrixForm[A]];
Print["Eingenpar dominante é: "];
Print[" \[Lambda] = ", \[Lambda], ", X= ", MatrixForm[X]];