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