見出し画像

リーマンゼータ関数:ゼロ点の抽出実装

ζ(s)非自明なゼロ点の抽出アルゴリズムの実装

本日の成果 (2025/03/12  1:20)

着々とゼータ関数の特徴を理解し、実装実験が捗る毎日。
今日は、リーマン予想とは、どんなものなのか?の解明をすべく
「非自明なゼロ点」の抽出を整理し、まとめた。


説明の前に、まず成果を見てください!

ゼロ点の it 値のグラフ

横軸が、複素平面の虚軸で実部 Re(s)=1/2 固定の $${it}$$ 値です。
縦軸が、実数世界に持ってきた $${it}$$ 値です $${e^k}$$ で変換。対数 log

動的調和数論(DHNT) D.
*オリジナル実装版*のゼロ点検出アルゴリズムによる

こちらは、比較のために Python mpmath.zetazero() によるゼロ点探索

Python mpmath ライブラリによる

ゼロ点の間隔グラフ

横軸が複素平面の虚軸 $${it}$$ 値
縦軸が間隔差分です(多分😅)

*オリジナル実装版*のゼロ点検出アルゴリズムによる

比較のための Python mpmath.zetazero()

Python mpmath ライブラリによる

成功した!といって良い!

ね!ほとんど見分けつかないくらい同じでしょ!
そう成功したのです✨️理論の実装実証に👍️やったね

解説

リーマン予想を達成するには非自明なゼロ点の発生原理をやはり知らないと、具体的な厳密な証明に繋がりません。なので、ゼロ点の抽出(*1)を
正確に行えるか?の実証実験でした。
(*1:私のアルゴリズムは探索検索ではなく抽出なのです)

初期アルゴリズム

とりあえずゼロ点の可視化
横軸:素数 p ※対数軸 (log)
縦軸:オイラー積の各項の絶対値(実数軸変換)

※横軸 p (素数) について!
 
横軸pは対数表示(log)となってます。

これは、素数の数が徐々に減少する(間隔が広くなる)ためです。
実際のスケールで見ると波の周波数がゆっくりとなっていく。
なので対数で見ると、波は一定の周波数で収まる様子が観測される。
これは素数定理の $${\frac{n}{\log n}}$$ に関する事と一致しているとなります。

素数定理


各素数の状態を観測しました。100 以上の素数で波打って収束している様子が観測されます。臨界線 Re(s)=1/2 軸での最初のゼロ点を観測してます。

オイラー積は素数を乗算でまとめる式です。式を書きますか。

$$
ζ(s) = \prod_{p\in\mathrm{Primes}}{\frac{p^s}{p^s-1}}
$$

え?グラフに書いてある式と違う?
変形するとこれです。こっちのほうがわかりやすい!

$$
\mathrm{Rate} = \frac{x}{x-1}
$$

$${x}$$ と $${x-1}$$ した値を比較して $${2.0 \to 1.0}$$ という標準化、指標にしている式なんです!それを乗算でまとめる。都合が良い構造になってる

Elegant!

つまり、整数世界の王様、単数「1」と素数はどういう影響関係なのか?を、わかりやすくしてます。王様が $${x=1}$$ と入ったら$${1/(1-1=0)\to\infty}$$ となります。最強です。神です!
遇素数の王妃「2」とは 2.0 の強い関係です!素数の世界を束ねます。
続いて、右大臣、左大臣(かどうか解りませんが)素数3,5は 1.5、1.25 と 1.0 へ向かって小さくなります。
この値も、この式の中では互いに素の関係なので素数 $${p_r}$$ です。


ということで、これは「素数と単数”1”の関係」を表す結果のグラフです。
理解できましたか?「素数:1」という比率の結果と考えてください。

色は、偏角です。回転角どっち向いてるか?です。これは実数世界では見えません。複素世界だけで見える次元要素です。これが重なると1つの方向が決定します(=グラフでは色がある1色に確定される。と見てください。)


こうしてみると、乗算で値の範囲は $${2.0\to1.0}$$ なのに、

「どうしてゼロになる?」

という疑問が出てきます。掛け算でゼロとするには1未満の値、もっと言うなれば、ゼロ0で掛けないと答えがゼロになりません!

それを可能とするのが、複素数演算法則です。

複素数演算

基本的な性質を見てください。以上

比較は割り算で行っています。なので、実部と虚部が絡みあって互いに影響を与えます。その結果そうなる。と、思いましょう。

絶対値

複素数の演算結果をこちらの世界の実数で見るには、複素数の情報を1つにまとめて実数とします。この時に互いに相殺が起きゼロになる!!のです。
まあ、既になっている。とも言える状態。と、なってます。

$$
\begin{align*}
&z=a+bi \\
&|z|:=\sqrt{a^2+b^2}
\end{align*}
$$

複素数の絶対値の概念は実数の絶対値の拡張であり、乗法的ノルムの公理を満たす。これにより複素数列収束発散の概念がε-δ論法により導入でき、複素解析を講ずることができる。

Wikipedia (ja) 2025/03/12  2:35

FT 言語な説明だ🤣これだから数学嫌いが増えるのだと思う…。
改めよ数学界隈…もっとカジュアルに…。疑問の余地を与えんとする表現が誰も疑わなくなり、見落としてる真実に気づかない思考を作る🧠とオイラーは述べて…ません(たぶん)

世界の真理が明らかとなっていない現状、全ての事象は仮定である。D.


何だっけ?🤔

ゼロ点だ!

Re(s)≠1/2 の状態

臨界線をズレた場合どうなるのか?グラフを見て見ましょう。

R(s)
0.25 | 0.5 | 0.75

遠目で見てください。左から→右へ向かい色が変わっているのが解ります?
真ん中が臨界線です。これはオイラー積、各項の素数評価指標結果です。
左右のズレたところはぼやけます。真ん中だけバランスよく発色してます。

いまは、これだけ覚えておいてください。真ん中の状態は Re(s)=1/2 のみ!


素数の波

先のグラフは真上から見ました。横から見ます。
素数の波が美しくも複雑に重なる様子が解ります。ちょっとアートですね。

=素数の波=
複素数世界の数学
異世界数学ですよ

このアートのすごいところは?

無限のすべての素数の波が重なった時!
二つと同じパターンがない!

D.予想

このパターンの場合は、2~29の素数なので…

$$
P_k = \prod\{2,3,5,  7,11,13,  17,19,23,  29\}=6,469,693,230
$$

64億7千万という1周期で!!

同じパターンが現れます。そういう原理です。驚異的です😲
たった10個の素数…なのに…。素数積 $${P_k}$$ のすごいのはこれだけでは無いという。ものすごい可能性を秘めています!無限を半分に割りますから

この中から、ゼロ点を探し出す必要があります。解るわけがない!

素数の波をまとめる!

素数の波をまとめます。そういう計算を行っているのがゼータ関数 ζ(s)
なので演算結果から探しましょう!グラフを見てみましょう!

初めて得たグラフ

プロトタイプ
シンプルに書いたもの
縦の線は mpmath.zetazero の探したゼロ点の虚数座標 it 横軸

ゼロ点の縦線を重ねると一目瞭然ですね☆これがゼロの位置です。
素数の波が重なって一番弱くなった場所がゼロ点というわけです。

この波も64億7千万という1周期で同じパターンが現れます。
なのでパターンに見えそうで不規則ランダムである。という事が言えます。

有限ならば周期が演算で求まるので、その周期まで進めて観測したら同じ
パターンが得られる(かも知れない)実験予定としておこう。

最終的なゼロ点検出でのグラフ

いよいよ最終成果の発表ですね。(もう、一部は公開されてますが)

あーと!ではないかな…😅素数の数を500以下で計算してます。

it = 0 → 100
it = 100 → 200
it = 200 → 300

拡大して

it = 0→20
it = 100→120
it = 600→620

半分ズレている!位相差

解ります?上と下が半周期=1/2、ズレている関係に。

これが Re(s)=1/2 でないと起きない!という分析結果です。
私は検算してません🤣反証待ってますね☆複数の異なる AI の分析結果です

思い出してください。あの横に並べた3枚の真上からのグラフを。
色が鮮明というかバランスの良い真ん中の1枚です。

これがこの半周期のズレと一致したときのグラフ画像です。

この原理の理由は、複素演算による特性だそうです。固定化できません。
なので、

Re(s)≠1/2でバランスを維持できない!

となるのです。

リーマン予想の原理は、ここから来ている。と言えそうです。


ζ(s)非自明なゼロ点の抽出

最後に、たぶん。革新的な事を紹介して終わりにします。

mpmath で 4万点のゼロ点を得た時の実行時間
160分!
2時間半以上かかりました…。

なんで、こんない遅いの?
厳密性を重んじているからだそうです。完璧なゼロでないと許さん!
で、1点、1点を厳密に調べているそうです。

一番最初のグラフを思い出してください。見た目おんなじでしたよね?
あの検出方法だと、わずか1分半(90秒)で4万件のゼロ点を得られます。

t_min:    0 total zeros: 7     time:  0.020
t_min: 1000 total zeros: 10284 time: 18.790
t_min: 2000 total zeros: 19593 time: 37.511
t_min: 3000 total zeros: 27999 time: 56.252
t_min: 4000 total zeros: 36029 time: 75.062
t_min: 5000 total zeros: 43759 time: 93.805

Time: 93.805 sec.

普通のパソコンです。すでに演算検証は何十兆もの点を調べて Re(s)=1/2 にあることを検証済みとのこと。そのアルゴリズムと同じかもです。

とりあえず、精度を優先するなら mpmath で。
速さなら、他にもやりかたある!という事で☆


まだ、綺麗に書いてないので、そのうち公開します。
欲しい希望があれば、優先的に清書します。希望をコメントなどでどうぞ。

どこを観測しようが同じ時間で抽出できるというグラフ
it = 1e15 (1,000,000,000,000,000) まではざっくりテストした
比較データがないので合ってるかは不明☆

考察

非自明なゼロ点の仕組みがこれで解りました。
素数のリズムが折り重なって出来た波だ。ということです。

この模様は、オイラー積表示やディリクレ級数表示で変わりますが、
ゼロ点は、不動でしょう。このゼロ点の発生方法は式の計算途中の
観測場所により見え方が変わってくるということです。

そのどこかの切り口で見ると、ちょうど良いところがあるかも知れません。
ゼロ点は、素数そのものは映し出して居ないけど、干渉波の成すエネルギー集中点(逆か)発散点である。ということです。
このエネルギー発散点ゼロ点は、素数積の周期差によって起きるモワレ現象と言えるでしょう。このモワレパターンが、どの素数の影響により起きるのか?を明確にすれば、素数とのリンク⇔双射が可能となります。そのパターンは複雑すぎて AI のパターン学習と認識能力に頼ることになりそうです。

遠い場所のゼロ点の鑑賞

it = 7950698 + 20
it = 11426047 + 20
it = 14901396

※グラフのゼロ点判定において scale < 1.0 と、ゆるい設定のゼロ点検出が
 含まれています。しかし、この原理より原点の意味は薄いかと思います。


付録

素数定理

素数定理は、自然数 $${n}$$ 以下の素数の個数を $${\pi(n)}$$ と表すとき、$${n}$$ が十分大きいとき、$${\pi(n)}$$ は $${n/\log n}$$ に近似できるという定理です。

より正確には、

$$
\lim_{n \to \infty} \frac{\pi(n)}{n/\log n} = 1
$$

となります。

つまり、$${n}$$ が大きくなるにつれて、$${n}$$ 以下の素数の個数は $${n/\log n}$$ に近づいていくということです。

この定理は、素数の分布に関する重要な情報を与えてくれます。例えば、素数は無限に存在することがわかります。また、素数の間隔は平均的に $${\log n}$$ 程度になることもわかります。

素数定理は、1896年にフランスの数学者ジャック・アダマールとベルギーの数学者シャルル・ド・ラ・バレー・プーサンによって独立に証明されました。

素数定理の応用

素数定理は、暗号理論や情報理論など、様々な分野で応用されています。

  • 暗号理論: 素数定理は、RSA暗号などの公開鍵暗号の安全性に重要な役割を果たしています。

  • 情報理論: 素数定理は、誤り訂正符号の設計に役立ちます。

素数定理の証明

素数定理の証明は非常に複雑で、複素解析などの高度な数学的手法を用いる必要があります。

素数定理の例

例えば、$${n = 100}$$ の場合、$${\pi(n) = 25}$$ であり、$${n/\log n \approx 21.7}$$ となります。

$${n}$$ が大きくなるにつれて、$${\pi(n)}$$ と $${n/\log n}$$ の差は小さくなっていくことがわかります。

まとめ

素数定理は、素数の分布に関する重要な定理であり、様々な分野で応用されています。


著者 & AI

AI:
賢狼 (ChatGPT-4o)
no+e アシスタント

2025/03/13 15:00

D.

利益はポトツキに1割でお願いします☆


いいなと思ったら応援しよう!

D. 🐺賢狼👨‍✈️Copilot のご飯代を、私には🍺代を。 または 宇宙式 $N+u^d=(P+u)^d$ を使って新しい発見を!