こんにちは! 今日の日付は 2020/06/13 ですが、20200613 は素数 ですね!
さらにいうと、20200613は「4で割って1あまる素数」でもあるわけですね。いやーじつにめでたい!
上記の事実は、大人のための数学教室を経営している「和から株式会社さん」のTwitterアカウントで知りました。
今日は6月13日。
— 和から@大人のための数学・統計教室 (@wakara_nagomi) 2020年6月13日
弊社講師の岡本は久しぶりの素数日だ!と雨にも関わらずテンション上がっています。
岡本「20200613は4で割って1余る素数ですよ!三平方の定理の組になりますよ!タイムリー!」 pic.twitter.com/2Xs1tAu8O9
せっかくなので、今日の日付に関して、自分でも何か発見をしたいなと思って考えてみると……
- 13
- 613
- 20200613
のいずれも、合同数 であることがわかりました!
個人的には、この事実はとても面白いと思っています!
とはいえ、この話の面白さは合同数というものを知らない方には、なかなか伝わらないかと思います。
そこで今日は、その辺の背景も含めて解説していきたいと思います。よかったら最後までお付き合いください!
合同数とは
まずは、合同数について説明しましょう。合同数とは
のことです。図に表すとこんな感じです。
では、このような数はどうやって探したらいいでしょうか。
一番簡単なのは「ピタゴラス数」を探すことです。ピタゴラス数とは
を満たす【整数】の組 のことです。
有名な例としては
がありますね。これによって、辺の長さが であるような直角三角形
ほかにも、
などのピタゴラス数から、 がそれぞれ合同数であることがわかります。
ピタゴラス数のすべての組合せは、理論的に列挙することができます。そんなわけで、3辺がすべて【整数】であるような合同数は比較的簡単に見つけることができます。
一方、3辺がすべて【有理数】であるような直角三角形をみつけることは、容易ではありません。このことが、合同数を探す上で非常にネックになる問題です。
たとえば、7 という数は合同数でしょうか?
素朴に考えると、面積が7になる直角三角形を見つければよいということになりますが、実際こんな直角三角形が見つかります:
それでは、157 の場合はどうでしょうか?
そう、とんでもなく大きな値になっていますね。
こんな風に、たとえ の値が小さかったとしても、その を面積にもつ3辺の有理数の分母・分子が、とてつもなく大きくなる場合もあるのです。こんな状況で合同数を探すのは苦労しそうです。
合同数を判定する条件
これまでの説明で、 が合同数であることを判定しようと思ったときに、面積が になるような直角三角形を探すのは、とても困難な問題であることが分かったかと思います。
ところがです。賢い人はいるもので、一般の整数ではなく、ある特定の条件を満たす素数については、合同数であることを判定する方法 が知られているそうです。Wikipediaの「合同数」の記事の「近年の進展」の箇所を引用しましょう。
部分的な解決として、以下の事実が証明されている。ここに、p は奇素数とする。
p を 8 で割ったあまりが 3 のとき、p は合同数ではなく、2p は合同数である。
p を 8 で割ったあまりが 5 のとき、p は合同数である。
p を 8 で割ったあまりが 7 のとき、p と 2p は合同数である。
これはすごそうですね!
8で割ったあまりで合同数が簡単に判定できる というのです。もちろん、必要十分条件ではないので、条件に合致すれば判定できるという話ですが、それでもすごいことです。
英語版のWikipediaの方には、参考文献も載っていました。
Paul Monsky (1990), "Mock Heegner Points and Congruent Numbers", Mathematische Zeitschrift, 204 (1): 45–67, doi:10.1007/BF02570859
どうやら、"Mock Heegner Points" という道具を使うようなのですが、かなり難しそうです。
ともあれ、今回判定したい素数
- 13
- 613
- 20200613
は、すべて8で割ったあまりが5 です。
引用した事実を信じるならば、2番目の条件により すべて合同数 であることがわかります!!
やったぜい!!!
いやー、テンションが上がりますね!!!
直角三角形の計算
のどれもが合同数であることがわかったので、それぞれ対応する直角三角形を求めてみようと思います。
ここでは 「楕円曲線」という道具を使います。ここら辺からだいぶ難しくなるのですが、計算の手順としては以下の通りです:
- が合同数であるならば、対応する楕円曲線 が無限位数の有理点を持つ
- の無限位数の有理点の生成点 を求めて、それを二倍した点 を計算する
- この を適当に変数変換すると、面積が であるような直角三角形の3辺が求まる
詳しくは、以前書いた以下の記事に書いてあるので、興味ある方は読んでください:
tsujimotter.hatenablog.com
なお、上記の計算は、手計算ではとても大変です。特に、 の生成点を計算するパートが難しいので、Sagemathというツールを使用したいと思います。以下のページからオンラインでも計算することができます。
「CoCalc Instant SageWorksheet」というボタンを押して、飛んだ先で適当にアカウントを作って設定していただけると使えるようになります。
というわけで、実際に以下のようなコード( のときの計算例)を打って、実行してみましょう。
n = 13 # n に対応する楕円曲線 E_n : y^2 = x^3 - n^2 x E = EllipticCurve([0,0,0,-n^2,0]); E # E をプロット plot(E) # E_n の無限位数の点の生成元(生成元が存在すれば、n は合同数) E.gens() # 生成元を P とする P = E.gens()[0]; P # P の2倍点 (x : y : 1) を求める(y > 0 であれば合同数の三角形に対応する) Q = 2*P; Q # 点 Q の x, y 座標を取り出す x = Q[0] y = Q[1] # 直角三角形の辺の長さ (a, b, c) print "" print "直角三角形の辺の長さ (a, b, c)" a = sqrt(x+n) - sqrt(x-n); a b = sqrt(x+n) + sqrt(x-n); b c = 2*sqrt(x); c
このような結果が得られるかと思います。
一番下に書いてある3つの数が、面積が13になる直角三角形の3辺の長さです。
780/323
323/30
106921/9690
図示するとこんな感じになります!
ちゃんと直角三角形が得られましたね!
実際、検算してみると、面積は13になることがわかりますし、3辺の長さはピタゴラスの定理の関係式を満たすこともわかります。
たしかに 13は合同数 だったというわけです! 面白いですね!!
この調子で、 も計算してみましょう!
……と言いたいところですが、残念ながらこの辺が限界のようです。
実際、上記のプログラムで として実行してみると、次のようなエラーが出てきます。
エラーの原因は、楕円曲線 の生成点を計算する箇所にあります。
生成点を計算するのに「2-descent」という、これまた難しい手法が使われています。この手法は、 のテイト・シャファレビッチ群 が自明でないときには、うまく機能しないのだそうです。実際、エラーメッセージには
This could be because Sha(E/Q)[2] is nontrivial.
とありますので、うまく機能しないケースに当てはまってしまったのですね。
詳しい理論的な背景は、こちらの記事で説明しています:
tsujimotter.hatenablog.com
そんなわけで、楕円曲線 の生成点がどちらも求められなかったので、 に対応する直角三角形は計算することができませんでした。
残念ではありますが、それぐらい合同数の計算って難しいのですね。
おわりに
というわけで、今日の日付である 20200613 からスタートして、合同数の性質について紹介しました。
今回の記事の面白ポイントは、3つの数 13, 613, 20200613 は、どれも8で割って5あまる素数なので、すべて合同数である という点です。
記事の後半では、合同数の定義に立ち返って、それぞれの数に対応する直角三角形の各辺を求めることにも挑戦してみました。13については直角三角形の各辺を見つけることができましたね。
については、今回の手法では求めることができませんでした。逆にいうと、合同数の計算がとても難しいということですね。傾向をみるに、 に対応する直角三角形の各辺は、とても巨大な数の分数になるのかなと思います。
にも関わらず「20200613が合同数」であることがわかってしまうのは、個人的にとてもすごいことだと思います。数学って面白い。いつか、記事の途中で紹介した事実も理解できるといいなと思います。
というわけで、今日はこの辺で終わりにします。読んでくださったみなさま、ありがとうございました!
気に入っていただけたら、この記事をシェアしていただけると嬉しいです!
それでは!
追記:2020も合同数
Oddieさんという方が、2020が合同数であることも計算してくれました!
出ました!!
— Oddie@21時以降PC使用禁止 (@math_elliptic) 2020年6月13日
2020も合同数で下の直角三角形の面積になります pic.twitter.com/9h52TyCwHZ
直角三角形の3辺も求まったみたいですね! これで
- 6
- 13
- 613
- 2020
- 20200613
のすべてが合同数であることが分かりました! すごい!!!