code 34371; integer procedure QRIHRM(A, N, VAL, VR, VI, EM); value N; integer N; array A, VAL, VR, VI, EM; begin integer I, J; array B, BB[1:N], TR, TI[1:N - 1]; HSHHRMTRI(A, N, VAL, B, BB, EM, TR, TI); for I:= 1 step 1 until N do begin VR[I,I]:= 1; for J:= I + 1 step 1 until N do VR[I,J]:= VR[J,I]:= 0 end; B[N]:= BB[N]:= 0; I:= QRIHRM:= QRISYMTRI(VR, N, VAL, B, BB, EM); BAKHRMTRI(A, N, I+1, N, VR, VI, TR, TI); end QRIHRM; eop