見出し画像

楕円曲線で遊ぶ

何事も世界の最先端は、その分野を専門にしていなければ意味不明の世界が広がっています。偉人と呼ばれる人たちが、開拓しているまさにその最前線に協力することはほとんど不可能です。しかし、開拓された後の整備された土地で遊ぶことは可能ですし、やはり楽しいことです。ちょっと遊んでみましょう。

今日のテーマは楕円曲線!といっても楕円と関係ないらしいです。歴史の混乱が見られます。

さて、wikipediaでもみながら楕円曲線を調べましょう。

数学における楕円曲線(だえんきょくせん、英: elliptic curve)とは種数 1 の非特異な射影代数曲線、さらに一般的には、特定の基点 O を持つ種数 1 の代数曲線を言う[1]。

はい。いつも思うんですけど、wikipediaで数学の内容について調べたとき、疑問が解決することってまずないんですよね。たとえば、中学校でならう一次関数とか調べてみましょう。

数学、特に初等解析学における(狭義の)一次関数(いちじかんすう、英: linear function)は、(一変数(英語版)の)一次多項式関数(first-degree polynomial function)、つまり次数 1 の多項式が定める関数

x ↦ a x + b
 
をいう。ここで、係数 a (≠ 0), b は x に依存しない定数であり、矢印は各値 x に対して ax + b を対応させる関数であることを意味する。特に解析幾何学において、係数および定義域は実数の範囲で扱われ、その場合一次関数のグラフは平面直線である。 より広義には、係数や定義域として複素数やその他の環を考えたり、多変数の一次多項式函数や、あるいは一次式をベクトル空間や作用を持つ加群の文脈で理解することもある。

これ、理解できますか?いや、まあ理解できる人はそれなりに多いかもしれませんが、少なくとも中学二年生が見てわかる代物じゃないですよね。

おそらくwikipediaは専門家やそれに準ずる方たちが書いていると思うんですが、レベル5くらいの人がレベル6の分野を知りたくて、wikipedia見るぞーと思って調べるとレベル35くらいの用語でタコ殴りにされる、みたいな現象が起きますよね。レベル35くらいの人が、そういえばレベル4の分野ってもっと面白いことないのかな、と思って調べるとレベル30くらいの世界に連れて行ってくれる、みたいな利用法はできるのですが・・・。そんなこんなで楕円曲線についてwikipediaで調べることはあきらめましょう。

いろいろ条件はあるみたいですが、

という形で表される式のグラフが楕円曲線らしいです。

まあ、適当にa=-1、b=0でも代入してみましょう。

さて、これをグラフ描画ソフトdesmosを使って描画しますよ。

余談なんですが、圧倒的にここら辺は手書きのほうが書きやすいですね。なんとかコンピュータを使ってやっていますが、ほとんど精神修養です。

さて、楕円曲線のグラフが出来上がりました。まあ、なんというか一番有名なやつです。左側に歪んだ輪っかがあり、右側は(90度回転させてみると)なだらかな火山型をしていますね。90度回転させてみれば、おめでたそうです。

富士山にかかる初日の出。なんちゃって。

さて、こんな感じでも楕円曲線と戯れることはできるのですが、まあ、もう少し数学的に興味深いことをやってみたい・・・と、思いますよね。さて、ここで見ても仕方がないと言っていたwikipediaを参照します。

はい。楕円曲線は群構造を持つそうです。ヴァイエルシュトラスの標準形とか言ってる式が、複雑すぎでどこが標準じゃい!みたいなツッコミをしつつ、

P と Q が曲線上の二点であれば、一意に第三の点 P + Q を次の方法で定義することができる。まず、P と Q を通る直線を引く。この直線は一般に第三の点 R で曲線と交わる。P + Q を R の反対の点である −R とする。

この部分は読めるのでこれで遊んでみましょう。

その前に、群という単語について確認します。

今日の裏テーマは「wikipediaのわからない感じを楽しむ」です。わからないことって楽しくないですか?

さて、これを読んで理解できる人はそもそも群について知っていると思うので、私が大雑把に説明します。

足し算と引き算ができる数の集まり

もしくは

掛け算と割り算ができる数の集まり

のように、「二つの要素を合わせて、一つの要素をつくる計算があって、その逆の計算もできるような要素の集まり」
というのがかみ砕いた説明になるでしょうか。

整数{...,-3,-2,-1,0,1,2,3,...}

はどの二つの要素を持ってきても足し算も引き算もできますね。たとえば

3-(-5)=8

と、3も-5も8も整数になります。なので、整数は+に対して群になります。

自然数{1,2,3,...}はそうもいきません。

3-5=-2

となって、-2は自然数でないので、引き算ができないためです。

他に0を除いた有理数(分数で表せる数)は常にかけ算と割り算ができるので、×に対して群になります。

さて、群はほかにもいろいろあって、図形の回転だったり、順番の入れ替えだったり、ルービックキューブだったり、そういうのも群になります。

ある操作を加えても、ルービックキューブはルービックキューブのまま、というように、一種の不変性が担保されているのが重要なようです。

wikipediaで群を調べるとルービックキューブがでてきます。

さて、話が大幅に反れたので元に戻します。

なんと、なんと、

楕円曲線は群になる

というのです!

・・・いや、意味わからないですよね。楕円曲線って、あの輪っかと富士山で、あの図形が群になる、と言われても意味不明です。そもそも足し算とかどうやるんですか、って感じです。その方法が先ほど引用した部分で、再掲します。

P と Q が曲線上の二点であれば、一意に第三の点 P + Q を次の方法で定義することができる。まず、P と Q を通る直線を引く。この直線は一般に第三の点 R で曲線と交わる。P + Q を R の反対の点である −R とする。

はい。曲線上に二点取ります。
赤い方をP、緑色の方をQと考えてください。

ちなみに、この二点、フリーハンドで取っています。拡大して取っているので100万分の1くらいの精度はあります。desmosの使い方がまだよくわかっていない・・・。

さて、

まず、P と Q を通る直線を引く。

はい。

この直線は一般に第三の点 R で曲線と交わる。P + Q を R の反対の点である −R とする。

えーと、右下のほうで交わっていますね。この点がRです。でも、これがP+Qという訳ではありません。

この反対側の点-R (1.615, 1.612)をとります。

さて、左上の赤い点P (-0.947, 0.311)と、その右下の緑色の点Q (-0.104, -0.321)の二つの点を足すと、右上の黒い点-R (1.615, 1.612)になると言っています。

・・・はぁ。そうですか。

いや、かなり謎ですよね。こんな複雑な足し算は見たことがありません。

なお、同じ点を足したときは、その点における接線と交わるもう一つの点が和となり、反対側の点同士を足したときはこの場合に限り曲線と交わることが無いので、無限遠点を和とする、らしいです。

無限遠点と言われるとまたこれも難しい話ですが、y軸の無限の彼方にある点だと思っておきましょう。(真上に進み続ければ交わえる点)

ここまでで、感動ポイントといえば、この和の定義で群として成立することを人類が発見している、ということですね。しかし、それが成り立つために、たとえば適当に二点とって結ぶと、それがx軸に対称な点でない限り、その直線は必ずもう一度楕円曲線上の別の点で交わるか、接している、っていうところもものすごい性質ですよね。なにかうまくいっている図形のようです。

さて、長くなってきたので、続きは次回に譲ります。

なんと、楕円曲線の群構造はトーラス(ドーナツの表面)と同型(同一の構造を持っているとみなせる)らしいのです!

そんなまさか!?


--ここから先に有料記事はありません。この記事が面白いと思っていただければ是非サポートと同じように投げ銭していただければ嬉しいです。次のテーマを書く助けとさせて頂きます--

ここから先は

0字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

記事のお読みいただきありがとうございます。 即興演奏を通した様々な活動と、これからの執筆活動のために、サポートしていただけたら幸いです。