code 31370;
procedure ALL JAC ZER(N, ALFA, BETA, ZER);
value N, ALFA, BETA ; integer N;
real ALFA, BETA ; array ZER;
if ALFA = BETA then
begin integer I, M;
array A, B[0:N//2], EM[0:5];
real MIN, GAMMA, SUM, ZERI;
M:= N//2; if N ^= 2*M then
begin GAMMA:= + 0.5; ZER[M + 1]:= 0 end
else GAMMA:= - 0.5;
MIN:= 0.25 - ALFA*ALFA; SUM:= ALFA + GAMMA + 2;
A[0]:= (GAMMA - ALFA)/SUM; A[1]:= MIN/SUM/(SUM + 2);
B[1]:= 4*(1 + ALFA)*(1 + GAMMA)/SUM/SUM/(SUM + 1);
for I:= 2 step 1 until M - 1 do
begin SUM:= I + I + ALFA + GAMMA;
A[I]:= MIN/SUM/(SUM + 2); SUM := SUM*SUM;
B[I]:= 4*I*(I + ALFA + GAMMA)*(I + ALFA)*(I + GAMMA)/
SUM/(SUM - 1)
end;
EM[0]:=ARREB; EM[2]:="-10; EM[4]:= 6*M;
ALL ZER ORT POL (M, A, B, ZER, EM);
for I:= 1 step 1 until M do
begin ZER[I]:= ZERI:= - SQRT((1 + ZER[I])/2);
ZER[N + 1 - I]:= - ZERI
end
end else
begin integer I; real SUM, MIN;
array A, B[0:N], EM[0:5];
MIN:= (BETA - ALFA)*(BETA + ALFA);
SUM:= ALFA + BETA + 2; B[0]:= 0;
A[0]:= (BETA - ALFA)/SUM;
A[1]:= MIN/SUM/(SUM + 2);
B[1]:= 4*(1 + ALFA)*(1 + BETA)/SUM/SUM/(SUM + 1);
for I:= 2 step 1 until N - 1 do
begin SUM:= I + I + ALFA + BETA;
A[I]:= MIN/SUM/(SUM + 2); SUM:= SUM*SUM;
B[I]:= 4*I*(I + ALFA + BETA)*(I + ALFA)*(I + BETA)/
(SUM - 1)/SUM
end;
EM[0]:=ARREB; EM[2]:= 1.0"-8; EM[4]:= 6*N;
ALL ZER ORT POL(N, A, B, ZER, EM)
end ALL JAC ZER;
eop