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

原本檔案(SVG檔案,表面大細: 540 × 408 像素,檔案大細:59 KB)

摘要

描述
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 г.
日期
來源 自己作品
作者 Nicoguaro
Other versions
SVG genesis
InfoField
 
The SVG code is valid.
 
This plot was created with Matplotlib.
原始碼
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()

協議

我,呢份作品嘅作者,決定用以下許可發佈呢件作品:
w:en:Creative Commons
署名
This file is licensed under the Creative Commons Attribution 4.0 International license.
你可以:
  • 去分享 – 複製、發佈同傳播呢個作品
  • 再改 – 創作演繹作品
要遵照下面嘅條件:
  • 署名 – 你一定要畀合適嘅表彰、畀返指向呢個授權條款嘅連結,同埋寫明有無改過嚟。你可以用任何合理方式去做,但唔可以用任何方式暗示授權人認可咗你或者你嘅使用方式。

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

圖中顯示嘅係

檔案歷史

撳個日期/時間去睇響嗰個時間出現過嘅檔案。

日期/時間縮圖尺寸用戶註解
現時2020年8月22號 (六) 12:09響2020年8月22號 (六) 12:09嘅縮圖版本540 × 408(59 KB)Gap9551fixed error in linear rate (red line fit) in legend
2020年8月22號 (六) 11:46響2020年8月22號 (六) 11:46嘅縮圖版本540 × 408(59 KB)Gap9551Reverted to version as of 11:22, 22 August 2020 (UTC) file appears fine now
2020年8月22號 (六) 11:39響2020年8月22號 (六) 11:39嘅縮圖版本540 × 408(59 KB)Gap9551another attempt to upload file with 4.3 yr doubling time. the previous upload did not overwrite the existing file.
2020年8月22號 (六) 11:22響2020年8月22號 (六) 11:22嘅縮圖版本540 × 408(59 KB)Gap9551doubling time fixed in legend
2020年6月24號 (三) 13:17響2020年6月24號 (三) 13:17嘅縮圖版本540 × 409(56 KB)FDominecUpdated datasets to 2020; added exponential and linear portions of the curve fit.
2016年9月13號 (二) 20:30響2016年9月13號 (二) 20:30嘅縮圖版本659 × 504(63 KB)NicoguaroUser created page with UploadWizard

以下嘅1版用到呢個檔:

全域檔案使用情況

下面嘅維基都用緊呢個檔案:

Metadata