+1; i <= n; i + +)
{= j-1; = ap :: vdotproduct (a.getcolumn (i, 1, jm1), a.getcolumn (j, 1, jm1));
a (j, i) = a (j, i)-v;
} = 1/ajj; = j +1; :: vmul (& a (j, jp1), ap :: vlen (jp1, n), v);
}
}
}
{
//
// Compute the Cholesky factorization A = L * L '.
// (j = 1; j <= n; j + +)
{
//
// Compute L (J, J) and test for non-positive-definiteness.
// = j-1; = ap :: vdotproduct (& a (j, 1), & a (j, 1), ap :: vlen (1, jm1)); = a (j, j)-v; (ajj <= 0)
{= false; result;
} = sqrt (ajj); (j, j) = ajj;
//
// Compute elements J +1: N of column J.
// (j
{(i = j +1; i <= n; i + +)
{= j-1; = ap :: vdotproduct (& a (i, 1), & a (j, 1), ap :: vlen (1, jm1)); ( i, j) = a (i, j)-v;
} = 1/ajj; = j +1; :: vmul (a.getcolumn (j, jp1, n), v);
}
}
} result;
}
.2 М - файли для системи MatLab
1. Метод скалярних творів для визначення найбільшого власного значення і відповідного йому власного вектора.
function [L1, x1] = iter_eg (A, n, ep)
for i = 1: n (i) = 1;; = 1; 1i = 1: n (i) = x1 (i);; i = 1: n = 0; j = 1 : n-1
break;; = L1;;
end
Результат 1:
>> A = [4,2,2; 2,5,1; 2,1,6];
>> [L1, x1] = iter_eg (A, 3,0.001)
L1 =
.3884% найбільшої власного значення
x1 =
.8080 0.7725 1.0000% відповідного йому власного вектора
>> (A-L1 * eye (3)) * x1 '
ans =
.0008
.0015
>>
Результат 2:
>> A = [2,1,4,1; 3,0,1,1; -1,2,3,4; 3,1,1,1] =
1 4 січня
0 1 1
2 3 4
1 1 січня
>> [L1, x1] = iter_eg (A, 4,0.001) =
.9176 =
.3033 0.8737 1.1341 1.0000
>> (A-L1 * eye (4)) * x1 '=
.0012
.0000
.0013
. function [x] = holecki (A, b, n)
<...