code 34375; integer procedure EIGCOM(AR, AI, N, EM, VALR, VALI, VR, VI); value N; integer N; array AR, AI, EM, VALR, VALI, VR, VI; begin integer I; integer array INT[1:N]; array D, B, DEL, TR, TI[1:N]; EQILBRCOM(AR, AI, N, EM, D, INT); EM[1]:= COMEUCNRM(AR, AI, N - 1, N); HSHCOMHES(AR, AI, N, EM, B, TR, TI, DEL); I:= EIGCOM:= QRICOM(AR, AI, B, N, EM, VALR, VALI, VR, VI); if I = 0 then begin BAKCOMHES(AR, AI, TR, TI, DEL, VR, VI, N, 1, N); BAKLBRCOM(N, 1, N, D, INT, VR, VI); SCLCOM(VR, VI, N, 1, N) end end EIGCOM; eop