2021-10-16

数学・物理 素数夜曲の写経と数学・物理のためのプログラミング/相転移プロダクション

今回のテーマ

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

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

感想をください

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

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

ではまたメールします.

高校での位置ベクトルとは何か

高校の数学とはだいぶ離れた別の話題として, 以下でツイートを引用しているように, 線型空間自体の認知度が恐ろしく低い中, アフィン空間は言葉でさえほぼ知られていないのではないかという気分があります.

アフィン空間という言葉を知っているか, 大雑把でいいので定義を知っているか, 定義を知らなかったが Wikipedia での定義を読んだだけで何を意図しているかわかったか, などいくつかの段階があるでしょう. そもそもゴリゴリの数学科でもない限り線型空間の議論自体通じていない公算が高いとさえ思っていますが, とりあえずアフィン空間の認知がどの程度が知りたいですね. 今回のアンケートで回答してもらえると嬉しいです.

ツイート引用

位置ベクトルはベクトルの分類ではありません。点からベクトルへの写像φがφ(P)=\vec{OP}で定められるとき、φ(P)をPの位置ベクトルと呼びます。点を実数の組で表すことができ、その組を点の座標と呼ぶのと同様に、点をベクトルで表すことができ、そのベクトルを点の位置ベクトルと呼ぶだけです。

ユークリッド平面に原点はアプリオリに存在するのではなくどれかの点を原点に選ぶのだという感覚を持たないと、位置ベクトルの理解は混乱するでしょう。

まずユークリッド平面(空間)の定義というかよくある使われ方自体がかなり厳しい気分があります。ユークリッド空間でアフィン空間を指す場合とベクトル空間を指す場合があって、後者の方が多いくらいの気分があります。

これに関して物理学科出という背景を追加して言うと、アフィン空間という言葉を知っている人自体がかなり少ないのではないか、「アフィン空間も要はベクトル空間みたいなものだろう」からいつの間にかベクトル空間とほぼ変わらない何か的な認識にシフトしているのでは、とか色々な想像があります。

多体量子系の数理: Twitterで見かけた数学コミュニケーション

数学科学生と思しき人が物理のゼミに顔を出したときの応答に対する反応をツイートしていました. たくさんツッコミが来たからかアカウント自体消されてしまっていましたが, 冗談抜きで数学的にきちんと詰め切れない, もしくは詰め切るにしても学部卒程度の知識・修士終了の力は必要なことはよくあります.

詳しくは以下のツイート引用を見てもらいたいのですが, そこで書いていないことで一つ気になっていることとして教養レベルの古典力学での常微分方程式の解の一意性があります. 具体的に歴史的な力学の一里塚である, 万有引力場のもとでの粒子軌道の問題です.

そもそもあまりきちんと考えたことがないのですが, ニュートンポテンシャルは原点での特異性があり, 微分方程式も非線型です. 常微分方程式入門レベルでよく議論される正規形の常微分方程式の議論で, 古典力学での解の存在と一意性がどこまでカバーできるのかよくわかっていません.

ちなみに古典力学の金字塔である万有引力場のもとでの運動は, 教養で触れていてよく知られているから簡単そうに思われているだけで, 実際には非常に鬱陶しいです. 何が鬱陶しいかと言えば方程式中のパラメーターから定義される離心率の値によって楕円・放物線・双曲線軌道と, 全然違う軌道を取ることです. もちろん射影空間で考えればこの三つの曲線は等価ですが, ふつう古典力学までの範囲で射影空間上での常微分方程式論まで行かないでしょう.

私自身, 微分方程式論には完全に疎いので状況を全く把握・制圧できていないのですが, パラメーターによる分岐を持つ現象は力学系の基本的なテーマでもあるはずで, 反応拡散系の偏微分方程式などでは動的にパラメーターが変わる現象などもあるのだろうと思います.

話がだいぶずれてきたので元に戻すと, アカウントを消してしまった自称数学徒の人, 物理以前に数学を知らなさすぎるのではないかというのが私の印象です.

ツイート引用

数学的な厳密さを保ってどの程度の物理ができると思っている?

面倒なので以下 Twitter 的によろしくない文章だけの引用.

物理サイドもそうだが「数学的な厳密さ」にどんな意味を込めるのかが曖昧で、しかも双方でイメージする内容がずれているのも大きな問題なのだろう。

https://twitter.com/AtRuins/status/1447605979583975428 これ、意図するところで本当によくわからなくて極端に言えば「流体では解が不連続になりうるので、微分方程式の議論の前にまずはベゾフ空間論からはじめる」みたいなことを言われても困ると思うのだが、どうしてほしいのだろうか。 他には一次元だとソリトンが出てくるのでまずは無限次元グラスマン多様体から始めようとか言われると、いい加減に処理できる物理こそ困らなくても、数学サイドがたぶん死ぬほど困る。特に関数解析系PDEのために流体をやってみたい勢が。 数学が物理に混ぜてもらう前提なのになぜそんなに居丈高なのかもわからないが。

言い出すときりがなくて、例えば物理では学部一年で超関数のフーリエ解析もバリバリ出てくる。現代数学では普通に扱えるとはいえ、解析系であっても学部三年後半でようやく追いつく話を数学的な厳密性も担保しつつ展開できる人類がそもそもどれだけいるかという話もある。 自分の数学力によほど自信があるのだろうか。量子力学でも現代的には解析学だけでどうにかなるわけでもなく、解析学にしてもPDEだけでどうにかなるわけでもない。 元ツイートの人、物理とかいう以前に数学を知らないのではないだろうか。常微分方程式でさえほんの少し先に魔界が広がっているというのに。

私が知る多体量子系の数理の風景

杓子定規に数学的に言うと、多体(量子)系の数学は本当に面倒で、ハバードくらいのレベルで言っても、正体がよくわかっているラプラシアンの離散化とオンサイトの相互作用の和の行列の振る舞いだけで既によくわからないことだらけで研究マターというレベルで本当に鬱陶しい。

多体系と言っていいかは微妙だが、相互作用する環境が場で形式的には無限多体系であるスピンボソンモデルも、数学者が満足できるレベルで数学的にはちゃんと制御し切れる人類あまりいないのではないか。そもそもそんなことをやりたがる人間がどれだけいるかはともかく。 あとLiebあたりがやっている物質の安定性もかなり面倒でつらい。他に私が学部三年の講義で出会った非相対論的QEDは2000年ごろに発散処理と基底状態の議論がとりあえず最低限できたが、いまだに平衡状態周りの話、存在さえわかっていないのでは? この間のオンラインすうがく徒のつどいで広義中高数学の話として適当に存在を仮定するとひどいことになる話をしたが、数学としては存在の議論をしないことには始まらない部分がたくさんあり、量子・古典以前に物理に関わる数学、大体何もできていないのではなかろうか。

常微分方程式にしても、この間NTTで話題になった若山正人さんの量子ラビ模型も行列係数の調和振動子の問題で、これのスペクトル解析からリーマンのゼータが出てくるくらいに数学的には面倒がボコンと出てくる。 専門外なので詳しいことは全く知らないが、2006年時点で磯崎さんの量子力学系の散乱理論で三体の時点ですでに現代数学最前線という話もあったし、15年経ったからと言ってそんなに状況が好転しているとも思えない。 物理周りの話、数学的にはきちんとやると大抵何でも研究マターに一気に上り詰める感じがある。

数学史メモ

ツイートが消えたときのための自分用備忘録: 参照1は吉田洋一「零の発見」, 参照2はベルの「数学をつくった人びと」, 参照3は矢野健太郎の「数学物語」です.

Twitterで見かけた数学コミュニケーション

これに関して以前作った通信講座にもいろいろ書いたのですが, 「これをやって何の役に立つのか」と言われるとき, 相手の意図をきちんと確認する必要があります. 単に「数学がやりたくなくて, そのためにもっともらしいよく使われる言い訳として言っているだけ」という場合もあるからです. 実際, 以前受験生と思しきアカウントに「ネット検索に関わるグーグルのページランクなど多変数の連立一次方程式が使われている」とリプライしたら, 「私はグーグルのページなんて使わない」という (ピント外れの) 回答が返ってきたことがあります. ネットショッピングでのセキュリティと暗号なり何なり役に立つ事例自体はいくらでも挙げられますが, そういうのを求めている人ではないなと思ってそれ以上は触れませんでしたが, 相手が何を求めているのかは確認しないとお互い徒労に終わります.

他の場合のケースについての面倒くささは以下のやり取りの記録も見てみてください.

鍵アカウントのツイートとやり取り

昨日の知識のネットワーク?だったかの話そのもの。どの段階でも初見概念を勉強したり人に教えるのは難しい. 「xとかyが出てくる」のくだりはともかく、教科書を見るとサインもコサインもタンジェントもlogも意味がちゃんと書いてある。もちろん「書いてあるから意味も分かりますよね?」とは言わないけど、書いてあることを書かれた通りに読む(理解する)ってのは特殊な訓練を経て得られる能力なんだな.

つい今しがた書いたこの事案だと思うのですが、「意味」という言葉で何を意味するのかがまず大きくずれていて、そこのすり合わせが必要なところ、「数学が苦手」サイドが恐らくそれに付き合ってくれない(そういう忍耐に耐えようとしたときにまともに答えてもらえなくて諦めさせてしまった)のがお互いにとってかなり厳しくつらい事案だろうと推測しています。

よく物理で「式の物理的な意味」みたいなことを言いますが、線型代数の話にしても情報系だと符号理論や擬似乱数では有限体上の議論が必要ですし、「有限体の議論がやりたい自分にとって、RやC上の線型代数が何の役に立つの?」みたいな話にもなり得ます。距離にしても符号理論的にはハミング距離が直観的に意味のある距離で、相手の興味関心をきちんと確認しないとそれこそ意味のある話にならないのに、その辺のコミュニケーションが本当におろそかです。数学関係者はそういう応用をそもそも知らないので聞かれても困る面もあってとにかく至る所非自明です。

コンテンツのシェア

単なるシェアです. ツイートまたはページへのリンクをペタペタ張っておきます.

立川さんの結晶群の講義ノート

幾何・数理物理の講義ノート

小澤正直さんの量子測定理論プレプリント

物理としてヒルベルト空間をどう捻り出すかこそがポイントのようなので, それはそれで別途追う必要はあるものの, 頭の整理としては非常に重要です.

素数夜曲の写経が (だいたい) 終わった

一つ継続に関わる部分で, D.15 節のコードのバグ (私の転記ミスの可能性もあり) が修正できていません. ここは D.16 以降で使われていないこともあり, 面倒になったのでとりあえず放置です.

素数夜曲は必ずしも完全な形ではない再実装も込めて, Scheme についてはほぼ全ての実装が書いてあります. 簡単な再実装版は Scheme 標準では任意引数の関数を二引数にしてしまっている部分はいいとして, グラフに関する Gnuplot のコードが載っていない部分がたくさんありました. Scheme やその他の記述が鬱陶しいくらいあるのに Gnuplot は人類の常識で説明がろくにないのには一人ブチ切れていました.

あと, 行列の演算などは二引数限定で, 多数の和を取るコードがかなり冗長になっています. ただ, これはこれで Julia などで現代的な実装を見たときの感動ポイントにもなりうるのと, 実際に一度は直接実装して面倒さを実感してみるという意味ではいいのかなとは思います. 数学でも「面倒だから二度はやりたくないが, 一度はやっておくべき計算・証明」はあり, そういうタイプのコーディングを具体的に実践するいい機会でしょう.

ほぼ写経しただけなので Scheme への理解が深まったとは言えませんが, Lisp 系の言語, もっと言えば括弧の嵐と処理には前よりも遥かに慣れました. 優先度はちょっと考え中ですが, せっかく Scheme に慣れ親しんだので改めて Functional Dirrential Geometry に再挑戦しようかとも思っています. これは MIT Scheme と scmutils のセットが Unix 系前提らしく, Windows ではインストールさえ面倒そうだったので挫折したままでした. いま改めて Common Lisp 版がないか探したら, Clojure 移植はあるようです.

起動が遅い JVM 上なのでどうかとかいろいろ思うところはありますが, 最近の言語なのでシンタックスが Common Lisp よりも綺麗なので, せっかくだからちょっとやってみるかという気分にはなっています. プログラミング言語マニアでもなく, 数学方面に集中したいのでそんなにいろいろな言語をまたぎたくもないのですが, 一つの言語に集約するにもまずは Scheme なり Clojure なり本に書かれている言語で動かして, 実際に出力・挙動を確認してからそれと同じ挙動を取るようにしないと移植コードの正しさも検証できないので, まずは地道に Clojure 版でやろうと思っています. 次のようなライブラリも見つけたので, Clojure は Clojure で少し気になっています.

いろいろ見ていて結局, 速度・グラフ描画・情報量・数学系コードの充実度でやはり素直に Julia を使うのがよさそうなので, Julia もちょこちょこ勉強を進めています. 的確なライブラリを探して試す労力も馬鹿にならないので, プログラミングのプロは本当にすごいなと日々感心します.

現代数学観光ツアーのコメントへの回答

「集合を設定してからその元をベクトルと呼ぶ」→集合を設定するということは元の内包表記と違い、集合に構造を付加するということ?

内包表記がプログラミングの気分で書かれているような気がしますが, そもそもとして (たぶん) プログラミングでのリスト内包表記は, 哲学での外延と内包から数学の集合論に輸入された集合の外延的記法と内包的記法に由来すると思うので, 内包表記という言葉に関しては視点がそもそもいろいろとおかしい感じがします.

それはそれとして本体部分の回答はちょっと面倒です. コンテンツでのもとの書き方がいい加減でミスリーディングな部分があるからです. メルマガ読者全員が元のコンテンツを読んでいるわけではないと思うので, 周辺の記述に関しては次のページにある PDF を読んでください.

話を元に戻すと, この質問では「集合を設定する = 集合に構造を付加する」でこれが問題です. (上に書いたように内包表記の話はたぶん全然違う話.) 集合を設定するのは単に集合を考えるだけで特に構造の視点はありません. むしろ集合に構造を載せてベクトル空間にすると言うべきところです.

「集合の設定」と「集合に線型構造を付加する」の間にギャップがあるので, ここが認識できているならその認識は正しいです.

あとはたぶん直接口頭 (オンライン会議的な形態含む) で細かいところを確認しないと回答できないように思います. テンポのいいやり取りの中で「この辺怪しそう」というのを掴んで掘っていかないと適切・的確な回答にならないでしょう. 最近改めて個人指導をはじめて, 勉強会形式で講義的に話すのと, 個人指導で細かく掘るのがかなり違うことの意味・意義と重要性を改めて実感しています.

前回も Mathpedia の個人指導サービスを紹介しましたが, 個人指導は個人指導で大きな意義があるので興味がある人はぜひ使ってみてください. 個人指導はやってくれている人達がいるので, 私はどちらかと言えば価格 (受講者負担) をおさえること, 「ともに戦う仲間がいる」的な意味でコミュニティを作る方向を模索していてはいますが, もし私に個人指導を受けたいという方がいれば, それはそれで相談には乗ります. 実際, 松尾さんと話をしていてまがりなりにも数学・物理・プログラミングにまたがってそこそこ話せる人もなかなかいないそうなので. いずれか二つならゴリゴリのプロのレベルで一定数存在していて, 三つにまたがると途端に数が減るようです.

基礎から勉強する大変さ・面白くなさ

上で素数夜曲を勉強していて今まさに実感しているところです. 数学・物理で考えても基礎の部分はやっていても必ずしも楽しくありません. 例えばホモロジー代数の初歩はもういい加減何度かやっていて面倒なのですが, 改めて一からノートを取らないとあとで困るのがわかっています. 適当に優先度を決めていつかはきちんとノートを作る予定です.

それはともかく, 基礎から勉強する上での工夫が必要です. まず何らかの意味で自分なりに楽しくする方法を考える必要があります. そして楽しくする以外の工夫も必要です. 例えばまずは概要を大きく掴むことも大事です. ついでに必要な能力が鍛えられることをやるのも大事で, その一つとしてプログラミングも併用して馬鹿みたいに大量に計算する方向で進めています.

もちろん諦めて歯を食いしばって勉強するのも大事です. これに関しては人を巻き込むのが大事です. 公開していない勉強会があるのですが, そこでの内容として Julia の基礎やデータ構造・アルゴリズムをじっくり進めています. 忙しい大人を何人か巻き込んで勉強会をしているので, きちんと準備しないと失礼だというところで勉強のモチベーション, そして必ず勉強時間を作る拘束力生成に役立てています.

前から何度か書いているように, 他人を巻き込むと勉強が捗りますし, やるなら話す側の方が身につきます. メルマガ読者の皆さんもぜひ勉強会を主催して教える側でやってみてほしいです. いまはオンライン勉強会が本当にやりやすくなっているので.

語学 多言語学習のご利益/相転移プロダクション

今回の内容

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

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

感想をください

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

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

ではまたメールします.

英語とフランス語

仕事をしていてテナントという言葉が出てきました. 割と日常的なところでもビルのテナントなどとして出てきます. 調べたらやはりフランス語の tenir, そしてラテン語が語源のようです.

最近強制的にフランス語を勉強する機会を作るため, 手持ちのフランス語単語帳をもとに, 基本単語に自分なりの追加解説を突っ込む形でフランス語単語を紹介していますが, これまで以上に英語の中にあるフランス語・ラテン語に気付くようになっています.

少なくとも現状, 究極的には英語のためのフランス語・ラテン語・ドイツ語などの他言語を緩く勉強しています. 応用系の人の数学への態度を見ていると私自身時々感じるように, 言語畑の人から見るとこういうスタイルの勉強は見ていて気に食わない部分はあるのだろうとも思っています. 一方でプログラミング関係の文化・知見からすると, そこまで深くなくてもいいから他の言語・設計思想に触れるのは大事とも言われるので, それを信じて自然言語もつまんでいます.

一応最終的には多言語をまたぐことで自身の基盤言語である日本語, ひいては言語感覚それ自体を研ぎ澄ませるのが目的ではあります. これを目指してメルマガ発行をペースメーカーにして地道に勉強を進めています.

英語とドイツ語

いい感じに調べるのが大変というかどうすればいいのかよくわかっていないのですが, 英語はゲルマン語の系統なので, きちんと調べるとドイツ語単語と英語の単語にもいろいろな語源の関係があると聞いています.

例えばこのページ. ここでは英語の book とブナを表す beech の関係が書かれています.

beech と book は形態上たまたま関係しているわけではなく,確かに語源的な関係がある.この場合,前者から後者が派生されたとされている.かつてブナの灰色で滑らかな樹皮の板にルーン文字が書かれたことから,ブナは文字や本の象徴となったのである.

数学・物理・プログラミングでも, 考えている「言語」の表現力をぎりぎり限界まで引き出して使い倒すのが大事です. これを自然言語でもできるようになりたいわけで, 英語を通じて日本語, そして一般的に言語のセンスを磨けないかと思っています.

ドイツ語の語源のサイトとして Wiktionary と DWDS はあるのですが, Wiktionary で book と beech のような話は書いていないようですし, DWDS は完全にドイツ語なので私のドイツ語の能力では読めないという難点があります. いいドイツ語語源と英語比較文献がないか探しています. 見つかればそれをもとに勉強ノートを作る体でメルマガで勉強ログをつけていこうと思っています.

フランス語で遊ぼう

tenir

たまたま今回はテナントに関連して上でも少し書いた tenir です. 活用は英語の come にあたる venir と同じです. よく ir-動詞と呼ばれるクラスの動詞です.

意味の中心はモノを「持っている」「掴んでいる」ことです. 英語でも基本単語は極端に多義的であるのと同じく, フランス語でも tenir は多義的です. 例えば「人を掴まえている・拘束する」, 「あるモノ・ある状態を保持する・維持する」から, 「管理・経営する」の意味まで持ちます.

目的語 (フランス語では直接補語?) によって的確な訳語を選ぶ必要があります. 例えば tenir sa parole は直訳すれば「発言を維持する」で, 発言したことを変えないことから「約束を守る」の意味です. parole は動詞の parler から来ていて「話すこと」の意味で, これはこれで英単語で parlor (「話すところ」から「客間・喫茶店」など), parliament (「話すところ」から「議会」) のような展開があります. この辺の意味のうつろいは発展は日本語にもよくある話で, こうした議論を丁寧に積んでいくのが言語センスの涵養に役立つと思って, 自分用の勉強メモも兼ねてメルマガコンテンツとして記録を取っています.

他には tenir は自動詞としても使えます. ある姿勢・位置を保つ意味から「しっかりしている・持ちこたえる」といった意味が出てきます. 特に tenir à --- はあるモノ・行為に関する立ち位置を変えずにいるという意味から, 「あるモノ・行為に愛着を持つ, 執着する・こだわる」という意味が出てきます. 英語でも have は日本語の意味を越えていろいろなモノが持てるのと同じく, tenir もいろいろなモノを持てます. こうなるといわゆる have である avoir との違いも気になってきます. ちなみに「いわゆる have」と書いたのは, avoir は英語の have が完了形を表す助動詞としても使えるように, avoir も時制を表す助動詞に使えることを想定して書きました.