code 34365; procedure BAKHRMTRI(A, N, N1, N2, VECR, VECI, TR, TI); value N, N1, N2; integer N, N1, N2; array A, VECR, VECI, TR, TI; begin integer I, J, R, RM1; real C, S, T, QR, QI; for I:= 1 step 1 until N do for J:= N1 step 1 until N2 do VECI[I,J]:= 0; C:= 1; S:= 0; for J:= N - 1 step - 1 until 1 do begin COMMUL(C, S, TR[J], TI[J], C, S); COMROWCST(N1, N2, J, VECR, VECI, C, S) end J; RM1:= 2; for R:= 3 step 1 until N do begin T:= A[R,R]; if T > 0 then for J:= N1 step 1 until N2 do begin QR:= (TAMMAT(1, RM1, R, J, A, VECR) - MATMAT(1, RM1, R, J, A, VECI)) / T; QI:= (TAMMAT(1, RM1, R, J, A, VECI) + MATMAT(1, RM1, R, J, A, VECR)) / T; ELMCOL(1, RM1, J, R, VECR, A, - QR); ELMCOLROW(1, RM1, J, R, VECR, A, - QI); ELMCOLROW(1, RM1, J, R, VECI, A, QR); ELMCOL(1, RM1, J, R, VECI, A, - QI) end; RM1:= R; end R end BAKHRMTRI eop