En un hilo en MSE Propuse una rutina mía más antigua para el cálculo eficiente de los coeficientes; utilizo una rutina muy similar para el cálculo rápido y sucio de las constantes de Stieltjes.
Esto me motivó a intentar mejorar mis anteriores cálculos de juguete para calcular ahora los primeros 512 Stieltjes con una precisión de 1000 dígitos dec. No soy capaz de estimar el número de dígitos correctos mediante argumentos analíticos; al menos wolframalpha me permitió mostrar StieltjesGamma[511] a 400 dígitos, lo que satisfizo mis propios cálculos.
La única tabla disponible libremente parece ser la de S. Plouffe (enlazada a través de wikipedia ) pero sólo muestran los primeros 78 números con una precisión de 256 dígitos.
Actualización2: Esta es la fórmula efectiva a la que se reduce el código Pari/GP:
Dejemos que $ \qquad h_c = {1\over c!} \sum_{k=0}^\infty (-1)^k {\ln(1+k)^c\over1+k}$ Esto se hace utilizando el sumalt -procedimiento.
Siguiente $ \qquad r_c = - {\ln(2)^{c-1}\over c!} b_c$ donde $b_c$ son los números de Bernoulli
Entonces $ \qquad \gamma_c = c! \sum_{d=0}^{c+1} h_d \cdot r_{c+1-d} $
Así que mi pregunta:
¿cómo podría obtener una estimación del número de dígitos correctos basándome en mi rutina Pari/GP?
Alternativamente:
¿hay alguna tabla con una precisión comparable por ahí que me permita al menos comprobar la coincidencia de los primeros m dígitos (donde m debería llegar óptimamente a 1000)?
_(aquí está la tabla con mis cálculos actuales de 512 coeficientes por 1000 dígitos )_
Actualización1:
Heurísticamente encuentro, que empezando con cierta precisión, digamos $300$ dec dígitos en el primer $\gamma_0$ simplemente pierdo un dígito de precisión por paso en el índice, por lo que en $\gamma_k$ son aproximadamente $300-k$ dígitos correctos, tal vez un puñado menos.
Para ello he utilizado las diferencias cuando se calculan con precisión $200,300,400,500,600,700$ de eso con precisión $800$ , $\gamma_0$ tenía casi todos los dígitos iniciales constantes, cuando se aumentaba la precisión, por lo que siempre era correcto hasta la precisión total.
Eso significaría, que si quiero $1000$ dígitos correctos para $\gamma_{511}$ Necesito una precisión dec (al menos) $1550$ . Simple, si eso es cierto...
Esta es mi rutina. He reducido el parámetro de precisión para que pueda ser copiado y pegado en un entorno Pari/GP. Para la precisión de 1000 dígitos dec y 512 coeficientes esto debe ser optimizado debido al aumento exorbitante de la pila y el tiempo de cálculo de lo contrario
Preparar los cálculos con parámetros para la precisión del cálculo
termsforseries = 32
digitstocompute = 200; digitstoshow = 12;
default(realprecision,digitstocompute)
default(format,Str("g0.",digitstoshow))
default(seriesprecision,termsforseries)
Calcular los coeficientes de la expansión de Laurent de la zeta por conversión del mismo tipo de serie de la función eta (la zeta alternante)
\\ ========= Zeta Laurent-expansion providing Stieltjes-coefficients ====
ps_eta = sumalt(k=0,taylor((-1)^k/(1+k)^(1-x),x))
tmp = Vec(1-2*2^(-(1-x)));
tmp[1]=0; \\ make the first zero exact. this step is needed for
\\ allowing the reciprocal of the powerseries
ps_etatozeta=1/Ser(tmp)
ps_zeta = ps_eta * ps_etatozeta \\ contains now the Stieltjes-coefficients
tmp=Vec(ps_zeta);tmp=vector(#tmp-1,c,tmp[1+c]) \\ remove the first coefficient (at 1/x)
sti = vector(#tmp,r,tmp[r]*(r-1)!) \\ extract Stieltjes-constants by mult with factorials