code 34400;
procedure CHLINV2(A, N); value N; integer N; array A;
begin real R; integer I, J, I1;
array U[1:N];
for I:= N step - 1 until 1 do
begin R:= 1 / A[I,I]; I1:= I + 1;
DUPVECROW(I1, N, I, U, A);
for J:= N step - 1 until I1 do A[I,J]:=
- (TAMVEC(I1, J, J, A, U) + MATVEC(J + 1, N, J, A, U)) * R;
A[I,I]:= (R - MATVEC(I1, N, I, A, U)) * R
end
end CHLINV2;
eop