code 31427;
procedure GSS LAG WGHTS(N, ALFA, X, W);
value N, ALFA; integer N; real ALFA; array X, W;
begin integer I, J; real H0, S, R0, R1, R2, XI;
array A, B[0:N];
A[0]:= 1 + ALFA; A[1]:= 3 + ALFA; B[1]:= SQRT(A[0]);
for I:= 2 step 1 until N - 1 do
begin A[I]:= I + I + ALFA + 1;
B[I]:= SQRT(I*(I + ALFA))
end;
ALL LAG ZER(N, ALFA, X); H0:= GAMMA(1 + ALFA);
for I:= 1 step 1 until N do
begin XI:= X[I]; R0:= 1;
R1:= (XI - A[0])/B[1]; S:= 1 + R1*R1;
for J:= 2 step 1 until N - 1 do
begin R2:= ((XI - A[J - 1])*R1 - B[J - 1]*R0)/B[J];
R0:= R1; R1:= R2; S:= S + R2*R2
end;
W[I]:= H0/S
end
end GSS LAG WGHTS;
eop