Ficheiro:Digits in largest prime found as a function of time.svg

Imagem numa resolução maior(ficheiro SVG, de 540 × 408 píxeis, tamanho: 59 kB)

Descrição do ficheiro

Descrição
English: Plot of the number of digits in largest known prime by year, since the electronic computer. Note that the vertical scale is logarithmic. The green line is the exponential curve of best fit that was followed roughly until 1999; the red curve is a linear fit, more accurate after 1999. Run the source code below to get actual
Русский: График зависимости числа цифр в наибольшем известном простом числе по годам с момента появления первого компьютера. Вертикальная шкала логарифмическая. Зеленая линия - экспоненциальная кривая наилучшего приближения, которой примерно следовал рост числа цифр до 1999 года; красная кривая - это линейная аппроксимация, более точное приближение после 1999 г.
Data
Origem Obra do próprio
Autor Nicoguaro
Outras versões
SVG desenvolvimento
InfoField
 
O código-fonte desta imagem SVG é válido.
 
Este(a) desenho vetorial foi criado com o Matplotlib
Código fonte
InfoField

Python code

"""
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
from matplotlib import rcParams

rcParams['font.size'] = 14

# Data
data = np.array([[
            1952,     1952,     1957,     1961,     1961,     1963,
            1963,     1971,     1978,     1979,     1979,     1982,
            1983,     1985,     1989,     1992,     1994,     1996,
            1996,     1997,     1998,     1999,     2001,     2003,
            2004,     2005,     2005,     2006,     2008,     2013,
            2016,     2018,     2018],
       [     157,      687,      969,     1281,     1332,     2917,
            3376,     6002,     6533,     6987,    13395,    25962,
           39751,    65050,    65087,   227832,   258716,   378632,
          420921,   895932,   909526,  2098960,  4053946,  6320430,
         7235733,  7816230,  9152052,  9808358, 12978189, 17425170,
        22338618, 23249425, 24862048]])
year = data[0, :]
primes = data[1, :]

year_of_lin_growth = 1998

plt.plot(year, primes, color="#377eb8", marker=".", drawstyle='steps-post')
plt.yscale('log')
# Fit function
def lin_fun(x, a, b):
    return a*x + b

def exp_fun(x, a, b):
    return np.exp(a*x + b)
    
## Plot the older part which follows exponential growth of digits with time
popt, pcov = curve_fit(lin_fun, year[year <= year_of_lin_growth], np.log(primes[year <= year_of_lin_growth]))
x_vals = np.linspace(np.min(year), year_of_lin_growth, 20)
y_vals = exp_fun(x_vals, *popt)
plt.plot(x_vals, y_vals, color="#1ae41c", linestyle="dashed", label='digit number doubling every {:.1f} y'.format(np.log(2)/popt[0]))
print('Exponential fit (green curve): y = exp({:.4f} * t  +  {:.4f})'.format(*popt))



year_of_lin_growth = 1998
## Plot the newer part which follows linear growth of digits with time
popt, pcov = curve_fit(lin_fun, year[year >= year_of_lin_growth], primes[year >= year_of_lin_growth])
x_vals = np.linspace(year_of_lin_growth, np.max(year), 100)
y_vals = lin_fun(x_vals, *popt)
plt.plot(x_vals, y_vals, color="#e41a1c", linestyle="dashed", label='digit number growing by $10^6$ every {:.2f} y'.format(1e6/popt[0]))
print('Linear fit (red curve): y = {:.4g} * t  +  {:.4g}'.format(*popt))

# Plot details
plt.legend(prop={'size':10})
plt.xlabel("Year")
plt.ylabel("Number of digits in largest known prime")
plt.savefig("Digits_in_largest_found_prime_as_a_function_of_time.svg", bbox_inches="tight")
plt.show()

Licenciamento

Eu, titular dos direitos de autor desta obra, publico-a com a seguinte licença:
w:pt:Creative Commons
atribuição
A utilização deste ficheiro é regulada nos termos da licença Creative Commons Atribuição 4.0 Internacional.
Pode:
  • partilhar – copiar, distribuir e transmitir a obra
  • recombinar – criar obras derivadas
De acordo com as seguintes condições:
  • atribuição – Tem de fazer a devida atribuição da autoria, fornecer uma hiperligação para a licença e indicar se foram feitas alterações. Pode fazê-lo de qualquer forma razoável, mas não de forma a sugerir que o licenciador o apoia ou subscreve o seu uso da obra.

Legendas

Adicione uma explicação de uma linha do que este ficheiro representa

Elementos retratados neste ficheiro

retrata

Histórico do ficheiro

Clique uma data e hora para ver o ficheiro tal como ele se encontrava nessa altura.

Data e horaMiniaturaDimensõesUtilizadorComentário
atual12h09min de 22 de agosto de 2020Miniatura da versão das 12h09min de 22 de agosto de 2020540 × 408 (59 kB)Gap9551fixed error in linear rate (red line fit) in legend
11h46min de 22 de agosto de 2020Miniatura da versão das 11h46min de 22 de agosto de 2020540 × 408 (59 kB)Gap9551Reverted to version as of 11:22, 22 August 2020 (UTC) file appears fine now
11h39min de 22 de agosto de 2020Miniatura da versão das 11h39min de 22 de agosto de 2020540 × 408 (59 kB)Gap9551another attempt to upload file with 4.3 yr doubling time. the previous upload did not overwrite the existing file.
11h22min de 22 de agosto de 2020Miniatura da versão das 11h22min de 22 de agosto de 2020540 × 408 (59 kB)Gap9551doubling time fixed in legend
13h17min de 24 de junho de 2020Miniatura da versão das 13h17min de 24 de junho de 2020540 × 409 (56 kB)FDominecUpdated datasets to 2020; added exponential and linear portions of the curve fit.
20h30min de 13 de setembro de 2016Miniatura da versão das 20h30min de 13 de setembro de 2016659 × 504 (63 kB)NicoguaroUser created page with UploadWizard

A seguinte página usa este ficheiro:

Utilização global do ficheiro

Metadados