Hi Mr. Rick; At first I would like to thank you for your cooperation with me. Here I tried to compute the values of "xi" to get it's roots,but when i computed the "xi" I need to compute a big factorial and here the large number appeared and the program stop because of the storage space. So i need to convert the large number to scientific notation to reduce the space. proc iml; start BigFactorial(n); start LogFact(n); return( sum(log(1:n)) ); finish; numDigits = ceil(logfact(n)/log(10)); f = j(1,numDigits,0); f[1] = 1; do i = 2 to n; carry = 0; digits = ceil(logfact(i)/log(10)); do j = 1 to digits ; g = i*f + carry; digit = mod(g, 10); f = digit; carry = (g - digit)/10; end; end; return( f[,ncol(f):1] ); finish; i={10 9 8 7 6 5 4 3 2 1 0}; do j=1 to 11; m=100; n=5; n=int(n); alpha=((m*(n-1))-2)/2; f = BigFactorial(10+alpha); Fact10alpha = rowcat(char(f,1)); f = BigFactorial(alpha+i ); Factalphaij = rowcat(char(f,1)); xi= (Fact10alpha*((-1)**i ))/(fact(10-i )*Factalphaij*fact(i )); xivector= xivector//xi; end; r = polyroot(xivector); print alpha; print xivector[format=E32.14]; print r; quit;
... View more