このブログについて
主に自分の好きな音楽を紹介するブログです。もしかしたら、数学とかゲームとか音楽以外の趣味についても取り上げた記事を書くかもです。ちなみにプロフィールがてらにこれ書いている人について軽く事故紹介しておくと、どっかの工業大学の大学院生やっておきながら半ニートしているクソオタクです。
このブログを始めたきっかけは主に二つあって、一つは自分の趣味の会話をする事(特に音楽関係)があまりにも無いので、せめて記事の中だけでも趣味に関する話をして自分の好きなものを推していこうと思ったからです。もう一つは自分の得た情報をアウトプットする事の有用性を実感し始めたからです(と言っても、だいぶ前の話ですが)。特に後者については外の人に向けて情報をまとめるとなると、やっぱり情報の信頼性とかも一層気を払わなくてはならないので、信頼性の高い文献や記事を見て回る事になるのですが、そうするともっと詳しい知見が得られて「はえ~おもしろ~」ってなるんですよね。ともかく、自分の好きなものの紹介を積極的にしてみようというコンセプトでこのブログを作ってみました。
音楽関連の記事については、大きく分けて以下の四種類に別れると思います。
- ジャンルの紹介
- アーティストの紹介
- アルバムの紹介
- 最近見つけた良曲の紹介
1. については一つのジャンルについて簡単な特徴やルーツを説明した後にオススメのアルバムやトラックを最大五つずつ挙げる形式になります。2. についてはアーティストの概要だとか曲のスタイルだとかをこれまでの経緯を踏まえて紹介した上で、これもオススメのアルバムやトラックを最大五つずつ挙げる形式。3. については、一つのアルバムに対しての背景やアルバム通して聴いた場合のマクロな感想について挙げた後に、トラックの一つ一つに対してのミクロな感想を書いていきます。そして、4. についてはSpotifyなどで偶然見つけた良曲を取り上げていく感じですが、なるべく週一で書いていくのと新しいものを取り上げる方針でいきたいなと思っています。
音楽関連の記事以外もいつ書くかは分かりませんが、その内機会があれば書いてみたいなと思います。
【数学】ガロア理論学習メモpart3. ガロア群とガロア拡大
はじめに
この記事は以下の記事の続きとなっております。
前回ではガロア理論においてキーとなっていた可解群の構造について淡々と述べ、その答えとして乱暴にまとめると「巡回群というループ状の構造をした群によって形成されるマトリョーシカ」という風に結論づける事ができました。そして、最後に結構唐突ではありましたが、5次方程式の可解性について調べる際にラグランジュによって研究され、ガロア自身もヒントにしていた解の置換という考えに直結する群として、3次方程式の場合に対応する3次対称群が可解群であることも示しました。
この記事ではガロア理論の花形役者とも言える(?)ガロア群やガロア拡大がどのようなものなのかをざっくりと述べていきます。
続きを読む【数学】ガロア理論学習メモpart.2 可解群と対称群
はじめに
前回のpart.1から結構時間が立ってしまいましたが、part.2について書きます。当初としては群論の基礎について書きたいところでしたが、群論については既にいろんな書籍や記事などでかなり分かりやすい解説がいくつも上がっているので、基礎的なところは軽くやって、ガロア理論について理解するのに欠かせない可解群について書いていきたいと思います。
代数方程式からは解の置換のパターンによって構成されるガロア群というものを構成できるのですが、そのガロア群が可解群という群のクラスに入る時にその方程式は代数的解を持つ、つまり解の公式を持つというように言われています。ですので、このpart.2では可解群がどういう構造を持った集まりなのかをまとめていきたいと思います。
また、この記事は勉強したことのメモですので、数学科の人に怒られるのではと冷え冷えになるレベルでまともな証明がありませんが、あからさまに間違えている点があればご指摘を頂けるとありがたいです。
続きを読むガロア理論学習メモ part.1 ガロア理論の構成要素の確認
はじめに
代数学の1つの山場としてガロア理論(Galois theory)なるものがあります。これはエヴァリスト・ガロア(Evariste Galois)というフランスの数学者が19世紀に構築した理論で、これによって5次以上の代数方程式には一般的な代数的解が存在しないことを直感的に説明付けることに成功しました。いきなり難しい言葉を使ってしまったので分かりやすく言い直すと、5次以上の方程式には解の公式が存在しないことを説明付けたのです。
実は「5次以上の方程式には代数的解法、もとい解の公式が存在しない」と言うのは、ガロアと同じく若くして命を失ったノルウェーの天才数学者ニールス・アーベル(Niels Abel)によって示されていました。ユークリッドやディオファントスなどと言った偉大な数学者たちが古代に幾何学的な手法で2次方程式における解の公式
を発明してから、1545年にカルダノと言う数学者が『アルス・マグナ』にて3次方程式と4次方程式の一般的な解き方(特に3次方程式についてはカルダノの方法と呼ばれています)を公開し、だったらその流れで「5次の方程式についても解の公式が存在するだろう」と誰もが思うはずなので、そう考えるとこの事実はかなり衝撃的ですよね。実際に、数学の大巨匠として知られるガウスですらアーベルが提出したその内容に相当な不快感を露わにしてまともに相手にしなかったとの話があります(一方で、ヤコビやルジャンドルなどアーベルを支持する数学者たちもちゃんと居ました)。
で、アーベルの業績を基にその直感的な理由付けに成功したガロア理論ですが、一体どうやってやったのかと言うと、当時はまだ数学的概念として確立すらされていなかった群(group)や体(field)といったものを使って代数方程式の性質を特徴付け、それによって代数的に解けるか解けないか(可解性)を判断していました(”代数的に”の意味については後で説明したいと思います)。ただ、代数方程式を解く問題と体に付いては割と簡単に対応付けられるものの、代数方程式を解く問題と群の対応については簡単に掴めるものではありません。更に、その2つと代数方程式を解く問題の対応を得た後でも、それによってどうやって代数方程式の可解性を調べるかも簡単に分かるものではないと感じました。
なので、このシリーズでは
- ガロア理論における基本用語に何があるのか、およびその関係性を大まかに掴む
- 群と体の定義および直感的なイメージを掴む
- 群・体と代数方程式を解く問題の対応を結びつける
- その結びつきから代数方程式の可解性を調べ方を理解する
と言った方針で僕がガロア理論を理解するまでの思考を辿って行きたいと思います。ただ、僕も書いている時点ではガロア理論についてまだ分からないことだらけで、僕も今の時点ではまだ1と2について大体分かったところです。なので、書き進めている間に構成が変わるかもしれません。
続きを読むVScode + gcc でDXライブラリの環境構築をしてみた話
はじめに
前回の記事でも述べた通り今年の4月からゲームプログラマとして働くことになりました。内定先によるとゲーム業界ではC++が標準となっているらしい(パフォーマンスの向上を計りやすいから?)のですが、それに対して僕がプログラムでモノを作った経験というとUnityでテキトーにC#のスクリプトを打ち込んだり、MATLABで解析のプログラムをゴリ押しで書いたりしたくらいで、内定を頂いた時点ですら「ポインタ? なにそれ美味しいの?」とか「俺は雰囲気でビルドをやっている」とかそんな感じの知識しかありませんでした。
そこで、C++の練習用にDXライブラリを用いて簡単なゲームを作ることにしたのですが、せっかくだからビルド関連についてもちょっぴり詳しくなろうという野望を持ち始めたので、gccを用いてVScode上で開発環境を構築することにしました。
というわけで、実際に取り組んでみたところ、ビルドに関する知識が中途半端な上に外部ライブラリを使用した上でとなると、調べ方が悪かったのか分かりやすい手順が中々得られず、環境構築まで結構時間がかかったので、整理用のメモも兼ねて自分でチュートリアルを作ることにしました。チュートリアルと言っても、プログラムについては新参者もいいところって感じですので、もし詳しい人がこの記事をご覧になった場合、補足や要修正点があればご指摘を頂けると非常にありがたいです。
この記事を読むにあたって、ビルドについての大まかな知識(コンパイルとかリンクとかって手順があるのを知っている程度)を要求しますので、もし全く分からんって人が居たらこちらの記事に目を通してください。
続きを読むクラスを用いて有限体上の楕円曲線を構成してみる
はじめに
このブログはmotercontrolman様主催のMATLAB/Simulink Advent Calendar 2019の15日目に寄稿した記事です。普段は生体信号解析についての研究でMATLABを日々使っていたのですが、来年度からゲームプログラマとして某社に勤務することになったので、MATLABともこれでお別れという事になり、折角なので今回のAdvent Calenderに参加する事にしました。
今回の記事では楕円曲線という非常に面白い性質を持った代数曲線をMATLABに実装されているクラスを使って実装してみました。楕円曲線は暗号分野に用いられる(有名な例だとビットコインで楕円曲線暗号が使われています)他、数論の分野でもフェルマーの最終定理に使われていたりとかもしています。記事に書く内容を色々と試行錯誤していた関係もあって解説が足らない所がありますので、この記事を見る方は以下の3点を予め把握していると理解が早いかなと思います。
当初は楕円曲線暗号およびCM法と呼ばれる手法の実装まで手を出す予定でしたが、楕円曲線暗号(および楕円関数論)の想像を遥かに超える沼の深さにそのままズボズボと入っていき、気が付いたら後数日前というところまで十分に理解できずに終わってしまいました……(遅刻は本当にごめんなさい!)。なので、妥協案としてこの記事では恐らく被りがないと思われる、MATLABを用いたクラス設計の紹介をメインとし、おまけとして楕円曲線について勉強してなんとか感覚的に理解できたところをおまけとして紹介することにしました。
という訳で以下から本題に入っていきます! プログラムも数学も初心者ですが何か興味深い点が見つかれば幸いです!
続きを読む