ファイル:Digits in largest prime found as a function of time.svg
提供: testwiki
ナビゲーションに移動
検索に移動
この SVG ファイルのこの PNG プレビューのサイズ: 614 × 461 ピクセル. その他の解像度: 320 × 240 ピクセル | 639 × 480 ピクセル | 1,023 × 768 ピクセル | 1,280 × 961 ピクセル | 2,560 × 1,922 ピクセル。
元のファイル (SVG ファイル、614 × 461 ピクセル、ファイルサイズ: 52キロバイト)
このファイルはウィキメディア・コモンズのものであり、他のプロジェクトで使用されている可能性があります。 ウィキメディア・コモンズでのファイル解説ページにある説明を以下に示します。
概要
| 解説Digits in largest prime found as a function of time.svg |
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 |
| その他のバージョン |
|
| SVG 開発 InfoField | |
| ソースコード InfoField | Python codeimport 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, 2017, 2018, 2024],
[ 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, 41024320]])
year = data[0, :]
primes = data[1, :]
year_of_lin_growth = 1999
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()
|
ライセンス
この作品の著作権者である私は、この作品を以下のライセンスで提供します。
このファイルはクリエイティブ・コモンズ 表示 4.0 国際ライセンスのもとに利用を許諾されています。
- あなたは以下の条件に従う場合に限り、自由に
- 共有 – 本作品を複製、頒布、展示、実演できます。
- 再構成 – 二次的著作物を作成できます。
- あなたの従うべき条件は以下の通りです。
- 表示 – あなたは適切なクレジットを表示し、ライセンスへのリンクを提供し、変更があったらその旨を示さなければなりません。これらは合理的であればどのような方法で行っても構いませんが、許諾者があなたやあなたの利用行為を支持していると示唆するような方法は除きます。
キャプション
このファイルの内容を1行で記述してください
このファイルに描写されている項目
題材
ウィキデータ項目がない値
ファイルの履歴
過去の版のファイルを表示するには、その版の日時をクリックしてください。
| 日時 | サムネイル | 寸法 | 利用者 | コメント | |
|---|---|---|---|---|---|
| 現在の版 | 2024年10月27日 (日) 04:01 | 614 × 461 (52キロバイト) | wikimediacommons>JrandWP | Update M136279841, discovered in 2024 |
ファイルの使用状況
以下のページがこのファイルを使用しています: