Estoy tratando de entender el teorema de Gauss :
Tomé la lista de los primeros 1000 números primos del sitio de la universidad de Utah , los guardé en un archivo
2
3
5
7
...
y trazó estos valores contra sus números de línea correspondientes:
x | y
--+--
2 | 1
3 | 2
5 | 3
7 | 4
...
Si entiendo correctamente es lo mismo que la función de conteo de números primos , excepto eso no está definido para compuestos o no enteros .
Usé gnuplot para dibujar el gráfico:
gnuplot> plot '1000primes.txt' using 1:($0+1)
En 1:($0+1)
el primero 1
representa la primera columna en el archivo para los x
puntos y $0+1
significa el número de línea + 1 como los y
puntos (el recuento de números de línea comienza desde 0). De esta manera, el primer punto de datos estaba en (2,1)
.
Del teorema, esperaría que este gráfico se fusionara con para grande , pero no lo haría - pasaría por encima , aunque se le asemeja en forma. Así que pensé en multiplicar por una constante:
gnuplot> f(x) = a*x/log(x)
Usando el comando de gnuplot, fit
encontré el mejor valor de coincidencia para a=1.13926
:
gnuplot> fit f(x) '1000primes.txt' using 1:($0+1) via a
De modo que la relación asintótica es
El gráfico resultante:
gnuplot> plot '1000primes.txt' using 1:($0+1), x/log(x), f(x)
¿Qué estoy entendiendo/haciendo mal?
Creo que el caso aquí es que la convergencia es muy lenta, y puede haberlo engañado... por ejemplo, vea: esta imagen
Solo para que conste, hay funciones que convergen más rápidamente (un ejemplo es el de la parte inferior de la imagen de arriba).
aloizio macedo
xaxa
aloizio macedo
xaxa
a
se redujo a 1.08756. Probablemente deberías publicar esto como respuesta, para que pueda aceptarlo.