code 34602; procedure HSHDECMUL(N,A,B,DWARF);value N,DWARF;integer N; real DWARF;array A,B; begin array V[1:N];integer J,K,K1,N1;real R,T,C; K:=1;N1:=N+1; for K1:=2 step 1 until N1 do begin R:=TAMMAT(K1,N,K,K,B,B); if R>DWARF then begin R:=if B[K,K]<0 then -SQRT(R+B[K,K]*B[K,K]) else SQRT(R+B[K,K]*B[K,K]);T:=B[K,K]+R;C:=-T/R; B[K,K]:=-R;V[K]:=1; for J:=K1 step 1 until N do V[J]:=B[J,K]/T; HSHVECMAT(K,N,K1,N,C,V,B);HSHVECMAT(K,N,1,N,C,V,A) end;K:=K1 end end HSHDECMUL; eop