code 34310;
procedure CHLDEC2(A, N, AUX); value N; integer N;
array A, AUX;
begin integer K, J; real R, EPSNORM;
R:= 0;
for K:= 1 step 1 until N do
if A[K,K] > R then R:= A[K,K];
EPSNORM:= AUX[2] * R;
for K:= 1 step 1 until N do
begin R:= A[K,K] - TAMMAT(1, K - 1, K, K, A, A);
if R <= EPSNORM then
begin AUX[3]:= K - 1; goto END end;
A[K,K]:= R:= SQRT(R);
for J:= K + 1 step 1 until N do
A[K,J]:= (A[K,J] - TAMMAT(1, K - 1, J, K, A, A)) / R
end;
AUX[3]:= N;
END:
end CHLDEC2;
eop