code 34401;
procedure CHLINV1(A, N); value N; integer N; array A;
begin integer I, II, I1, J, IJ; real R;
array U[1:N];
II:= (N + 1) * N // 2;
for I:= N step - 1 until 1 do
begin R:= 1 / A[II]; I1:= I + 1; IJ:= II + I;
for J:= I1 step 1 until N do
begin U[J]:= A[IJ]; IJ:= IJ + J end;
for J:= N step - 1 until I1 do
begin IJ:= IJ - J; A[IJ]:= -SYMMATVEC(I1, N, J, A, U) * R
end;
A[II]:= (R - SEQVEC(I1, N, II + I, 0, A, U)) * R;
II:= II - I
end
end CHLINV1
eop