2022-04-09

数学・物理 Haskellでの物理が楽しい/相転移プロダクション

今回のテーマ

式を含むこともよくあるため, 記事本体はアーカイブサイトへのリンク先にまとめています.

メルマガのバックナンバーは次のページにまとめてあります. 興味があればどうぞ.

感想をください

「読んだよ」だけでもいいのでぜひ感想をください. メルマガを書く励みになります. 最近感想を頂く機会が増えてきたので素直に嬉しいです.

メルマガへの返信でも構いませんし, 次のアンケートフォームへの回答でも構いません.

ではまたメールします.

オンラインすうがく徒のつどいの案内が出た

【スケジュール公開&参加者の募集開始!】 お待たせいたしました!第3回すうがく徒のつどい@オンラインの講演スケジュールを公開しました!

参加者の申込みを開始しました! HPの参加者募集要項をお読みの上、応募フォームから申込み下さい。期限は4月24日(日)までです。 https://tsudoionline.netlify.app/03/

聴講側の参加者申込がはじまりました. 私は講演者側で出ます. アブストにもあるように先日案内した素数判定プログラミング講座に関連する話をします. さらに以下で言及するWalckの本のネタなども紹介します.

江沢・中村・山本『演習詳解力学』に関連してプログラミングで遊ぶ話もコメントしているように, そうした話にも少し触れます. ただし数学関係者がいきなり独学でやるのは大変だから, あまり余計な知識が必要ないアルゴリズム, 特に数学関係のアルゴリズムからはじめようという話をする予定です.

ちなみにこの間ちょっとした提案をもらったので, ここで話す話を組み直して『プログラマーのための数学入門』として類似の話をする予定です. これはプログラムを一定程度読み書きできる人向けに, 逆にお絵描き系の勉強からはじめようという話をする予定で, これまた以前紹介したGeometry for Programmersなども案内する予定です.

今年の目標「たくさん計算しよう」がいい具合にいろいろ絡んできています. お待たせしているモノもたくさんあります. 一所懸命準備を進めているのでもうしばらくお待ちください.

通信講座はリリース最終段階

二週間くらい案内を続けている力学の通信講座, メインのPDFコンテンツを修正したので, あとは案内ページを作ればとりあえずはスタートできます. 今日書き切れれば, と思っていましたが全く間に合わなかったので正式な案内は来週です.

ちなみに何を直していたかというとベクトルの記号です. 数学だと物理と違ってベクトルの記号に太字を使いません. 数学の流儀に合わせて書いていたのですが, やはり物理向け計算のコンテンツとしてわかりにくいと思い, 一通り修正しました. 私も物理学科だったので力学は物理の風習に沿って勉強したため, やはり書き直したバージョンの方が読みやすいです. 物理っぽい計算の章は都度記号を書き直していく予定です.

例と計算編もちょこちょこ拡充していて, 単に項目出しだけの部分もあるとはいえ1100ページを越えています. そして1100ページあってこれからも増えていくので, いくらでも遊び倒せるコンテンツでありつつ, 一方では量が膨大すぎて途方に暮れるコンテンツにもなっています. そこをうまく再構成しつつサポートを入れるのがいま整備中の通信講座です. お待たせしていて申し訳ありませんが, もうしばらくお待ちください.

物理に集中的に触れてきたら私も物理熱が高まってきました. 偏微分の計算練習と線型代数の計算練習も兼ねた(特殊)相対性理論の計算に関する通信講座, 同じく偏微分の計算練習も兼ねた熱力学の通信講座, 線型代数の計算と絡めた量子情報的な通信講座, 微分積分と線型代数の融合(関数解析)を目指した電磁気学の通信講座など, 作りたい講座(自分が昔ほしかった講座)の作成予定がたくさんあります. そうすぐにはできないですが, 計算し倒す中で自分が計算していて楽しい例として外せない対象ばかりです.

江沢・中村・山本『演習詳解力学』が来た

先日宣伝した本です. ちょうど今日来たので本当にパラパラと眺めただけです. 文庫本の事情もありますが, 索引なども入れて665ページあります. これで1800円です. この1800円で人によっては一年遊び倒せるでしょう.

サービス内容が全然違うため単純な値段比較に意味はありませんが, いま準備中の力学の通信講座は当然これより値段が高いです. 独力で進められるなら本を買った方が遥かに安上がりです. 通信講座の初回に取り上げるくらいですし, 古典力学は本当に大事です.

数学的には常微分方程式論なので, ソルバーを使ったお絵描きも取り組みやすく, 曲線論(微分幾何)への発展も考えられます. いろいろな近似をかけたとき, 厳密解といろいろな近似解の数値比較も面白いでしょうし, 保存系の数値計算といった数値計算特有のテーマもあります. 今回の通信講座でここまで盛りだくさんにはできませんが, 力学は物理としても数学としてもネタの宝庫です. これまで挫折してきたならこの機会にぜひ取り組んでみてください. 単純な計算それ自体の楽しみも見つけられればなお良いです.

勝手に宣伝: Learn You a Haskell for Great GoodのJupyter notebook

「すごいH本」の元になった Learn You a Haskell for Great Good が IHaskell を使って Jupyter notebook に移植されてる!Binder を使えばWeb上で実行しながら読み進められるのも便利👀 https://github.com/jamesdbrock/learn-you-a-haskell-notebook

これはとても良い本なのでもしあなたがHaskellに興味があるならぜひ取り組んでみてください. いちいちコピペする必要がなくなっただけでも勉強が非常に楽です.

Walck, Functional Programming for Physics Geeksを軽く眺めた感想

先日紹介した本です.

まだ書きかけ状態の本である上, まだ物理パートの前のHaskellの言語説明のところまでしか読めていません. 型クラスが終わったくらいです. ちょうどすごいH本の紹介をしたのでちょうどいいと思ったので軽くコメントします.

すごいH本は一般的なHaskellの本なのである程度一般的な領域に踏み込んで解説しています. しかしこの本はあくまで物理に応用する本なので, 物理に必要なところに絞って解説しています. 型クラスも数値クラスに限定されていて, 入門としてはいいのではないでしょうか.

他にも「プログラムを書いてコンピューターを教育する」体で書かれているため, 自然と関数設計の形でプログラムの設計にも触れられています. 計算しながら暗号の勉強をしようと思ってJavaを使った暗号の本を読んだことがあります. 型を意識してプログラムを書く習慣がなかった上, コンパイルが必要な言語にも触れたことがなく, 全く何もできずに時間も本を買ったお金もドブに捨てたようなものでした. 型を意識した設計はなかなか面白いのでそこを読むだけでも楽しいでしょう.

ちなみにこの型を意識した読解, ドイツ語やロシア語, ラテン語などを読むときにも役に立ちます. これらの言語は格の支配が強く, 格の支配を型支配のようにみなして読むと文が読めるようになります. ちょうどこの間, 私が語学・言語学を教わっている言語学者が「ドイツ語やロシア語では動詞を中心にした読解が大事」と言っていて, それに関連して私のロシア語の学習ログ(語学メルマガで共有している内容)をシェアしました. 私はこの感覚をまさにHaskellで学びました. 別に何でどう勉強してもいいわけで私の学習経路はふつうではないと思いますが, 型を重視した思考法が他でも役立つ事例として紹介しておきます.

ちなみに英語・フランス語・イタリア語・スペイン語あたりは格がほぼなく, 代わりに語順が重要です. 語順が型になっているとも言えるでしょう. このあたりは『理工系の総合語学』ネタとしてとても大事にしています.

まだ読み進めていないのでどこまでカバーされているか見えていないのですが, Gnuplotを使ったお絵描きをする意志が見える(Gnuplotのライブラリを使うプログラムが出てきているのと, Githubのlearn-physicsにもGnuplot連携がある)ので, 上で書いたお絵描き用の訓練はこの本の勉強からでも得られるでしょう.

実はライブラリはhmatrixを使っていてBLASやLAPACKの導入が必要です. 昔, Walck論文を見つけたときにWindowsで導入しようとして挫折した苦い経験があります. いまならDockerで何とかなるとは思いますが. あといま仕事でMacを使っているのですが, M1になってから余計に不自由になったようで, プログラミング環境の構築が死ぬ程大変です. その辺が書籍でどう扱われるかはかなり気になっています. 正式出版が10月らしいですが, 早めにコメントを入れれば環境構築まわりもドキュメント化してくれると思うので, いまがんばって読んでコメントを入れようとしている最中です. これも通信講座というか勉強会で採用したいと思っています. Haskellを勉強してみたい人もいるはずで, 私のメルマガの読者なら数学・物理と絡めてやりたいはずなので. 楽しみしかないです.

Julia(のStatsbase)に少しだけ貢献したので

貢献というのもおこがましいのですが, いまやっている統計学の勉強会でJuliaの統計学ライブラリを眺めていて, ドキュメントのタイポを見つけたので「ここおかしくない?」とissueを立てたら, 「確かにおかしいね」と修正してmasterに入れてもらえました.

OSSはみんなで応援して育てて行くべき対象なので, こんな程度でもちゃんと開発者の人達は応えてくれますよ, ということで.

今週の問題

半群理論なりベクトル場の局所一係数部分群の議論なり, もっと言えば行列の指数関数の処理を知っていれば, 歪対称行列の指数関数化$e^X$の特殊直交性は苦労なく示せます.

言われて見れば当たり前ですが, これの逆, つまり全ての特殊直交行列に対して$e^X$をみたす歪対称行列が取れるかを真面目に考えたことがありませんでした. リー群・リー環対応で前者は簡単にわかるので, そこで思考を止めていたのです. 上で書いたような話を知っていなくても線型代数の理論と計算が一定水準のレベルにあればそれほど苦労なく示せます. 行列の対数とも関わる話でなかなか趣深い面もあります.

何はともあれ, 逆も具体的にきちんと示したことがなかったのでいい勉強になりました. リー群とリー環は有名ですし, 耳学問レベルで「知ってはいるが証明したことがない」話がたくさんあります. 特にハール測度の存在はいまだにきちんと議論したことがありません. 具体的な計算モードに入っているので多様体論と表現論が深く絡む理論的な部分はだいぶ後回しになる予定ですが, いつかはきちんと埋めたいところではあります. リー群・リー環の表現論は量子力学のスピンはもちろんのこと, 素粒子系でも出てくるので, これも例と計算編マターとして取り込む予定だけはあります.

現状このコーナーは線型代数の宣伝のようになっています. ぜひ積極的に日々の学習に取り入れてみてください.

例と計算編は私自身のためにも日々せっせと計算して更新しています. 購入された方はぜひ参考にしてください.

例と計算編は次のリンク先から購入できるので, 興味がある方はどうぞ.

語学 特殊相対性理論ロシア語版第四文/相転移プロダクション

今回の内容

数物系のメルマガが式を含むことも多いため, 記事本体はアーカイブサイトへのリンク先にまとめています.

メルマガのバックナンバーは次のページにまとめてあります. 興味があればどうぞ.

感想をください

「読んだよ」だけでもいいのでぜひ感想をください. メルマガを書く励みになります.

メルマガへの返信でも構いませんし, 次のアンケートフォームへの回答でも構いません.

ではまたメールします.

今週のロシア語: アインシュタインの相対性理論の原論文, ロシア語版第四文

文構造

まず動詞を確認すると過去分詞のнаблюдаемое (observe), 三人称単数現在形のзависит (depend), 三人称単数現在形のдвижется (move), 原形のбыть (be)があります. したがって主文の他に従属文が二本あり, 接続詞・関係代名詞も二つあります. これにしたがって上にように分けました. 各要素を詳しく見ましょう.

Наблюдаемое явление зависит здесь только от относительного движения проводника и магнита

動詞はзависит (depend)で三人称単数現在形なので, 主語は三人称単数, зави́сеть от + 属格でdepend onなので属格の名詞も必要です. ここではявление (phenomenon)が中性名詞の単数主格・対格なのでこれが主語, Наблюдаемое (observed)はявлениеにかかります. здесь (here), только (only)は副詞なので文構造上は無視できます. относительного (relative)は男性形で属格の形容詞, движения (движение, motion)は中性で単数属格または複数主格・対格なのでこのセットでзави́сеть отのотの支配を受けます. 最後にпроводника и магнита (conductor and magnet)は男性名詞単数形の属格, 男性名詞単数形の属格なので, of conductor and magnetの形でmotionを修飾します.

まとめると次のように英訳できます.

в то время как, два случая, должны быть строго разграничены

動詞はбытьです. (TODO 不定形なのはどういうこと?)

まず冒頭のв то время какは熟語でwhile, whereasの意味です. должны (obligated, distinguished)は形容詞で複数形, строго (strictly)は副詞, разграничены (TODO これ何?)

согласно обычному представлению,

これは前置詞が導く副詞句です.

先頭のсогласно (according to)は与格支配の前置詞, обычному (usual)は男性与格, представлению (notion)は中性名詞の単数形与格です. (TODO 格は噛み合うが性が合わない. どう理解すべき?)

в которых движется либо одно, либо другое из этих тел,

これの動詞はдвижется (move)で不完全動詞の直説法三人称単数現在形です. ここから主語が決まります.

冒頭のвは前置詞格または対格支配の前置詞です. 次のкоторыхはwhichにあたる男性名詞・疑問詞・関係代名詞で, 複数形の属格または前置詞格, 活動体の対格です. (TODO 関係代名詞が受けるのは何? 文章からすればこれはслучая <- случайを受けるべきだが, случаяは単数(属格)では? случаяはдваを修飾し, これが複数だとみなす?)

ли́бо оди́н, ли́бо друго́й=either one or the otherの熟語表現に注意して続きを読みましょう. либо (if)は接続詞, одно (one)は男性名詞の中性単数主格・対格, другое (other, another)は限定詞で中性単数の主格・対格, из (from, out of)は属格支配の前置詞, этихはэтот (this)の複数属格・前置詞格・活動体与格, тел (body)は中性名詞の複数形属格です. したがってлибо одно, либо другоеがセットでeither one or the other, из этих телがセットでout of these bodiesです. либо одно, либо другоеは単数の主格と見るべきで, 動詞からしてもこの見立てが正しいです.

まとめると次のように訳せます.

単語