火曜日, 12月 17, 2019

2019年の私的数学まとめ

数学熱は今年も続いている。ガロア理論講座は終わり、抽象代数学を学んでいる。なんと今のところ授業についていけている!ガロア理論は全然分からなかったが、やろうとしていることや5次方程式が一般に解けないことの証明の大まかな道筋は分かった気がしている。

世間的にも数学はブームだったように思うが、どうだろう。『はじめアルゴリズム』、『数字であそぼ。』『フェルマーの料理』など、数学(しかも大学レベル)をテーマにした漫画が描かれ、加藤文元先生の『宇宙と宇宙をつなぐ数学 IUT理論の衝撃』は7刷まで重版がかかったそうだ。色んな賞も受賞している。年末年始は先生が書かれた線形代数微分積分を勉強したい。他にもたくさん数学書を買った。理解できないものも多いので、なるべく図書館で借りることにしているが、明らかに読むのにかかる時間以上のペースで増えていっている。理工系の古本屋で200円くらいの文庫本を買うのが日々の楽しみになっているせいもある。

最近は趣味を聞かれた時には迷わず「数学」と言う。これは自分が数学を理解しているとか、高度な数学を研究しているとかではない。けれども、自分が面白いと思うことや分からないことを、誰かが解決してくれはしないという意味で、自分の数学ができているという確信を持てるようになった。

問題集には答えがあり、論文では色んなことが証明されている。しかし、自分が数学の何を面白いと思っているかは、どこにも書かれていない。もしかしたらあるのかも知れないけど、まだ見つかっていない。先生に聞いても分からないだろう。「正しい問いを立てられれば、問題は半分解けたも同然」と言われるように、まずは問いを立てなければならない。そしてその問いを立てられるのは自分しかいないのだ。

今年の夏に「ロマンティック数学ナイト」というイベントが開かれた。主催の「和から株式会社」が開講していた数学ゼミを受講していたため、その成果発表として枠をいただいたのだが、残念ながら都合により参加できなかった。代理で発表してもらったスライドがある(Githubにコードも上げている)。単純なものではあるが、1つまとまった形にできたのは大きい。アドベントカレンダーの趣旨に沿うならこれがベストだ。手法自体は既に他の人も実践しているので、新奇性というほどのものはない。ただ、ここに辿り着くまでに色々調べたりもしていて、あと2段階くらいブレイクスルーが起きればそれなりに誰もやってないところに行けそうな予感がある。数学が得意な人は自分のように形や色に興味を持ってないし、デザイナーで抽象数学に興味を持っている人もあまり見つからず、加えてある程度プログラムが書ける人、となるとさらに数が限られてくるので、これはもう自分がやるしかないな!という気持ち。

やりたいことは「何らかの規則を元に、形を作る。」これだけのことだ。そしてそこで大事なのは、実は幾何学ではなく数論だったりするんじゃないかな、というのが最近の気づきで、来年のテーマとしたい。具体的な目標としては大学の研究紀要に載せること。

この記事は2019 Advent Calendar 2019の第17日目の記事として書かれました。昨日は_ngmndaさん、明日はO-SHOW:THE:R!PPΣRさんです。お楽しみに。

火曜日, 12月 11, 2018

2017と比べて2018はどれだけベストだったか

とにもかくにも数学

去年唐突に始まった数学熱は今年も冷めず、というか分からないことだらけで数ページ読んでは本を閉じる、を繰り返してたらいつの間にか1年経っていたというのが正直なところ。代数幾何学の講座は終わり、今はガロア理論の講座を受けている。それとは別に個別指導の塾や、機械学習の数学的な解説の授業、数学ゼミなど、数学にかなりの時間とお金を費やした。

それで何か目に見える成果が得られたのかというと、全くない。そういう視点からすると、とにかくコスパが悪い。が、ここまでコスパが悪いものもそうそうなく、時間を潰すという意味では逆にコスパが良いとも言える。延々悩み続けられる、全く消費されないコンテンツなのだ。

こんなに面白いのだから、誰かもっと早くに教えてくれれば良かったのに、と思うけれども、面白すぎて、他のことが手に付かなくなってしまう。数学を志す人間が心を病んでしまう話はよく耳にするが、それもちょっと分かる気がする。高校までで習っていた数学は氷山の一角に過ぎない。

今まで何度か数学を勉強し直そうとして挫折してたのは、単純に高校のやり直しをしようとしていたからだ。大学数学は全然飽きない。高校数学であんなに難しかったんだから、大学数学なんてできる訳ないんじゃないの、と思ってしまうが、全く歯が立たないということはなく、導入部分であれば中学校の知識でも理解できる。プログラミングの学び方と同じで、必要になった時に遡れば良い。ハンズオン形式のチュートリアルと同じように、証明や式の流れを写経して理解できることも多い。

ここまで夢中になったのは、個別指導でベクトル空間について解説してもらい、高校で習った「向き」と「大きさ」だけじゃない、もっと抽象的なものの集まりを教わったのがきっかけだと思う。さらに演算も、足したり引いたり掛けたり割ったりだけじゃなくて、「あみだくじを繋げる」とか「立方体を回転させる」とかも含んでいて、学生時代に勉強していたアルゴリズム作曲などにうまく接続できそうな予感がした。

数じゃないものを扱ったり、四則以外の演算も数学として扱うということは、個人的には便器がアートになったくらいの衝撃だった。その衝撃を思い出させてくれる解説がYouTubeで公開されているので、観て欲しい。

【代数学】群がどうしても分からない君へ(群論超入門)【特別講義】

数学イベントや大人向け数学塾、カルチャーセンターの充実だけでなく、このような動画も沢山公開されていて、とにかく今年は数学を学ぶのにベストな年となった。教育系YouTuberと呼ばれる人達の中には「ビッグになりたいから」数学の分かりやすい解説を作り続けている人もいて、全く意味が分からないけど感謝しかないしビッグになって欲しい。数学書を買うためにメルカリやヤフオク!を使い始めた(売るような人なので状態が良い)り、仕事で神保町へ行く機会が増えたりした結果、明倫館書店や書泉グランデなどの鉱脈も見つけた。完全に趣味なので、できなくても怒られないし、自分のペースで続けていきたい。

このエントリは 2018 Advent Calendar 2018 の11日目の記事として書かれました。昨日はlesson5さん、明日はxKxAxKxさんです。

水曜日, 5月 09, 2018

AndroidのVrVideoViewで大きな動画ファイルを再生したい時

展示用にVR動画を再生するアプリを作っていた。Android開発は初めてだったがストア配布しないしサンプルあるし楽勝と考えていたら、はまった。loadVideoFromAsset()は大きなファイルの場合ヒープエラーになる。メモリに全部入れてるのだろうか?

そもそもストア配布するAPKには100MBの制限があるので、大きなファイルを再生することは想定してなさそう。拡張ファイルを使う方法があるみたいだけど、今回はコンピュータから直接動画とアプリを入れられれば良い。という訳でloadVideo()を使う。

Android File Transferで端末のDOWNLOADSフォルダ以下に動画を置き、

File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "MOVIEFILENAME.mp4");
Uri fileUri = Uri.fromFile(file);

とする。loadVideoFromAsset()はassets以下に置いたファイル名を指定すれば良かったが、loadVideo()にはファイルのUriオブジェクトを渡す。