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