長さを変えた15個の振り子を一斉に揺らす実験

長さを変えた15個の振り子を一斉に揺らす実験(動画)をMathematicaでシミュレートする。

2次元

3次元

手順は以下のとおり。

  1. 運動方程式の確認(g=1、m=1、糸はたるまないことを仮定)
  2. 1分間の振動数が整数になるような振り子の長さを求める
  3. 運動方程式を解いて結果をアニメーションにする

ラグランジの運動方程式は次のように確認できる。

lagrangian = (r \[Theta]'[t] )^2/2 - r Cos[\[Theta][t]];
D[D[lagrangian, \[Theta]'[t]], t] + D[lagrangian, \[Theta][t]]

r Sin[theta[t]] + r^2 theta''[t]

これを使って、シミュレーションを作る。

(* 1分間の振動数が整数になる長さを求める *)
tMax = 60; (* maximum time *)
n = 15; (* number of objects *)
theta = Table[Unique[], {n}];
initialAngle = Pi/6;
r = Table[
   First[x /. Solve[
      tMax/(4 Sqrt[x] EllipticK[Sin[initialAngle/2]^2]) == (20 + i), x]
    ], {i, 1, n}];

(* 運動方程式を解く *)
equations = Flatten[Table[{
     (* ラグランジの運動方程式 *)
     r[[i]] Sin[theta[[i]][t]] + r[[i]]^2 theta[[i]]''[t] == 0,
     theta[[i]][0] == Pi/6,
     theta[[i]]'[0] == 0},
    {i, 1, n}]];
solution = NDSolve[equations, theta, {t, 0, 1.1 tMax}];

(* 2次元アニメーション *)
Animate[
 points = Table[First[
    {r[[i]]  Sin[theta[[i]][t]], -r[[i]]  Cos[theta[[i]][t]]}
      /. solution /. t -> T], {i, 1, n}];
 Graphics[{
     Black, Disk[#, 0.005],
     Gray, Line[{{0, 0}, #}]} &
   /@ points,
  PlotRange -> {{-0.8 Max[r], 0.8 Max[r]}, {0, -1.1 Max[r]}}],
 {T, 0, 1.1 tMax}, DefaultDuration -> 1.1 tMax, 
 SaveDefinitions -> True]

実行結果は冒頭の動画の通り。

最後の部分を次のようにすれば3次元になる。

(* 3次元アニメーション *)
Animate[
 points = Table[First[
    {i Max@r/n, r[[i]] Sin[theta[[i]][t]], -r[[i]] Cos[theta[[i]][t]]}
      /. solution /. t -> T], {i, 1, n}];
 Graphics3D[{
     Black, Sphere[#, 0.005],
     Gray, Line[{{#[[1]], 0, 0}, #}]} &
   /@ points,
  PlotRange -> {{0, 1.1 Max@r}, {-0.7 Max@r, 
     0.7 Max@r}, {0, -1.1 Max@r}}],
 {T, 0, 1.1 tMax}, DefaultDuration -> 1.1 tMax, 
 SaveDefinitions -> True]

参考

ケプラー問題の数値解

逆二乗の中心力のもとで物体がどのように運動するかを調べるケプラー問題。微分方程式を解く能力がなければ楽しめないかと言えば、そういうわけでもない(物理を勉強する人にはもちろん必須)。

最近の強力なプログラミング環境を使えば、物体の軌道を簡単に視覚化できる。インタラクティブなものにするのも簡単(さすがに、微分方程式は立てられないといけない)。

Mathematicaならこんな感じ(インタラクティブに操作できるのは、重力の強さを決めるkと時間の上限tmax、初速度v0、初期座標pos)。Wolfram CDF Playerがインストールされていれば実際に動かすことができる。

Manipulate[
 s = NDSolve[{
    x''[t] == -k x[t]/(x[t]^2 + y[t]^2)^(3/2),
    y''[t] == -k y[t]/(x[t]^2 + y[t]^2)^(3/2),
    x[0] == pos[[1]], y[0] == pos[[2]],
    x'[0] == v0[[1]], y'[0] == v0[[2]]},
   {x[t], y[t]},
   {t, 0, tmax}];
 ParametricPlot[Evaluate[{x[t], y[t]} /. s], {t, 0, tmax}],
 
 {{k, 5}, 1, 10},
 {{tmax, 10}, 1, 100},
 {{pos, {2, 1}}, Locator},
 {{v0, {-1, -1}}, {-5, -5}, {5, 5}}]


Mathematicaの微分方程式ソルバーNDSolveはかなり強力で、このエントリのような単純なものだけではなく、摂動があるような問題も扱える。

解析的に解きたい人は、ランダウ=リフシッツ『力学・場の理論』のような教科書を参照して欲しい(福島登志夫『天体の位置と運動』の方がやさしいかな )。

参考:Mathematicaで解くケプラー問題

ジンマーマン, オルネス『物理学のためのMathematica』では、ハミルトン=ヤコビ方程式を使う方法が紹介されている。

関連:プリンキピアを読む

プリンキピアを読む

ニュートン力学の聖書『プリンキピア』は、その著者が微積分学の創始者(の一人)であるにも拘わらず、解析学ではなく初等幾何の言葉で書かれています。そのため、今日の基準からすると親しみにくく難解です。物理というよりは科学史への興味から読まれることがほとんどでしょう。

しかし、力学を解析的にとらえるのが主流の今日において、初等幾何的にとらえるニュートンの試みには、知的な価値を見いだすことができます。物事を複数の視点から見ようとする態度を忘れてはいけませんし、何より新しい(?)ことに挑戦するのは楽しいことでしょう。

そうは言っても、(英訳なら無料で読める)『プリンキピア』そのものに取り組んでもたいていの人(含私)は挫折してしまうので、エッセンスだけを取り出したガイドのようなものがあるとうれしいです。

プリンキピアを読む―ニュートンはいかにして「万有引力」を証明したのか? (ブルーバックス) (単行本)和田純夫『プリンキピアを読む』は、『プリンキピア』へのガイドとして、とてもよいものだと思います(もっと本格的なものが欲しい人は、偉大な『チャンドラセカールの「プリンキピア」講義』にあたるといいでしょう)。特に、3部構成からなる『プリンキピア』の第3編「世界の体系」の紹介がいいです。「ライオンは爪を見ればわかる」とまでは言えませんが、次のようなことを書いていたことについては感心せずにはいられません。

規則1 自然現象の原因は、それらの諸現象を真にかつ十分に説明するもの「以外」を認めるべきではない。(p.41)

しかし、肝心の力学についてはというと、ちょっと物足りない気もします。ニュートン力学のもっとも重要な事実の解説が、あっさりしすぎているからです。楕円軌道から逆二乗則を導くという命題については詳しく解説されているのに、逆二乗則から楕円軌道を導くという命題は簡単に紹介されているだけなのです。

ファインマンさん,力学を語る (単行本(ソフトカバー))前者が重要であることに異論はありません。これが、法則の発見を追体験するものだからです。しかし、法則を使って自然現象を説明する後者も、前者に劣らず重要でしょう。これが近代科学の態度なのです。実際、一見本書と同じテーマに思える『ファインマンさん,力学を語る』の主要なテーマは後者です。

ニュートンはその著プリンキピアの中で「惑星は太陽のまわりを楕円軌道を描いて回転している」ことを重力の逆2乗の法則から示した。これはニュートン力学の「へそ」にあたるもっとも重要な事実であり、このことが分水嶺となって近代科学は誕生したのだった。(ソデ)

ニュートンが言ったこと、そして一個の惑星に関してやったことは、次のようにまとめることができる。それは、等時間での速度の変化はみな太陽の方向を向くこと、それからその大きさは距離の二乗に反比例することである。われわれのいまの問題は、そのことから、軌道が楕円であることを証明することである。それがこの講義の主な目的なのである。(p.169)

解析学的アプローチにおいては、前者は微分方程式を立てることに、後者は微分方程式を解くことに相当します。まとめると、次のようになります。

  • 楕円→逆二乗則:法則の発見の追体験。解析学的には微分方程式を立てることに相当する。和田さんが詳しく解説している。
  • 逆二乗則→楕円:現象の説明の追体験。解析学的には微分方程式を解くことに相当する。ファインマンが詳しく解説している。いわゆるケプラー問題(参考:ケプラー問題の数値解

404 Blog Not Foundに、「遠山啓の『数学入門』下巻に登場する、楕円を極座標表現してから微分方程式を立て、それを淡々と解いていくやり方」という記述がありますが、『数学入門』下巻でなされているのは前者であり、後者つまりそこで立てた微分方程式の解法は紹介されていません。淡々と解いてなんかいません。

閑話休題。実は後者を初等幾何的に証明するのは並大抵のことではありません。実際、あのファインマンでさえ、ニュートンの議論の筋道をたどるのをあきらめて、独自の方法を工夫しています(前掲書p.123)。とはいえ、その工夫を量子力学の発見の一因となるラザフォード散乱に話に繋いで講義をまとめているのはさすがです。ニュートン力学最大の成果とニュートン力学打倒に至る道筋を、逆二乗則というたった1つの話題でエレガントに見せてくれるのですから。(力学の教科書で散乱を扱うことの重要性については、ランダウ=リフシッツ 『物理学小教程 力学・場の理論』の山本義隆さんの解説を参照)

そう言えば、高校物理のカリキュラムは、初等幾何的なアプローチを採用していました。ファインマンのような天才でさえ手を焼くものを、高校生が容易にマスターできるはずはありませんから、高校物理が暗記科目になるのは当然です。幸いなことに私は、文科省のカリキュラムにとらわれない塾や参考書に出会うことができたので、高校物理で苦しむということはありませんでした。しかし、そういう出会いがないために苦しむ高校生が今もまだたくさんいるであろうことを考えると、胸が痛みます。もし、そういう高校生が近くにいたら、あの山本義隆さんの『新・物理入門』をそっと渡してあげてください。私が使った時には「新」は付いていませんでしたが、大学受験の枠を超えて読まれていい名著だったと思います。

対称性

素粒子研究で日本人三人に2008年ノーベル物理学賞(スラッシュドット)

受賞したのは、南部陽一郎(87歳、米シカゴ大名誉教授)、小林誠(64歳、高エネルギー加速器研究機構)、益川敏英(68歳、京都大名誉教授)の三氏。受賞理由は、南部氏は、「自発的対称性の破れの発見」、小林氏と益川氏は、「CP対称性の破れの起源の発見」であった。

対称性これからしばらく「対称性」についての解説がメディアを賑わすのだろうけど、「どうもよくわからない」ということになりそうな向きにおすすめなのが、レオン・レーダーマンとクリストファー・ヒルによる、そのものずばりの書、『対称性』

昔、物理数学の教授が言ってました。

「・・・」という話が出たときには、「それはNoetherの定理によって・・・となるね」と言って話を合わせればいいんですよ。

追記:「大きな賞を受賞した物理学者が対称性について訊かれる」という特殊な状況で効果を発揮するユーモア

授賞理由になった「対称性の自発的破れ」について説明を求められた南部さんは「説明は難しいですね」といいつつ、「(ばらばらな方向を向いていた)大勢の人が突然、私の方向を向いたりする。そういうことなんです」などとユーモラスな身ぶり手ぶりで話し、笑いを誘った。(朝日

ランダウの物理教程が文庫に

と言っても、有名な理論物理学教程ではなく、物理学小教程だけど。

天文学科卒と言っても、受けたのは学部教育で、その内容は物理学科のものとかなりかぶっている。だから、ランダウの教科書なんかは当然持っているのだが、知らない人のためにちょっとまとめておこう(情報の人はもう少し現代的なものから入った方がいいだろうけど)。

物理学に生きて―巨人たちが語る思索のあゆみハリコフ(大学)で彼は、理論物理学教程と、一般物理学教程を書こうと決めました。ランダウの生涯にわたる目標は、様々なレベルの物理学の本を書くことでした。彼は大学生向けの特別講義の他に、中等学校向けの教科書も書きました。(中略)彼は物理学者のための数学の教程も書くつもりでいました。(中略)彼の考えでは、物理学者は、少なくとも一般論としては、解こうとしている問題の物理的な面に意識を集中できるくらいには、数学的手法が巧みに使いこなせなくてはならないと考えていました。(中略)それでランダウは、彼の弟子になりたいと思う者すべてに、数学の、特に計算に関するまんべんない知識を要求したのです。この数学的知識を得た学生が、理論物理学の全分野にわたる基本的知識からなる『理論ミニマム』の七つの項目を学ぶことを許されるのでした。(『物理学に生きて―巨人たちが語る思索のあゆみ』

誰か、『情報ミニマム』なんてものも作ってほしい(名前に問題があるのはわかっている)。いつも “I think you can find that in Knuth” というわけにはいかない。

ランダウの物理教程は次の3種類。

  1. 一般物理学教程
  2. 物理学小教程
  3. 理論物理学教程

以下ではもう少し詳しく紹介する。

一般物理学教程

理系向け。1冊だけ。現在入手困難。文庫版「物理学小教程」が売れたらこちらもお願いしたい。

『物理学―力学から物性論まで』

物理学小教程

物理の人向け。全2巻(計画は3巻)。

文庫化された! 筑摩書房、すごい(ちなみに前掲の『物理学に生きて』もちくま学芸文庫)。

  1. 力学・場の理論力学・場の理論
  2. 量子力学量子力学

理論物理学教程

理論物理の人向け。全10巻。

闘う物理学者! 天才たちの華麗なる喧嘩世界中で読み継がれている2大物理学教科書がある。ひとつは言わずとしれたリチャード・ファインマンの『ファインマン物理学』、もうひとつはランダウ=リフシッツの『理論物理学教程』である。(中略)敷居の高い教科書だったが、学生の間では『ランダウ=リフシッツ』という愛称で呼ばれ、とにかく「なんだかスゲェ教科書」というイメージが定着していた。『ファインマン物理学』が臨場感あふれる親しみやすい講義録なのに比べて、『ランダウ=リフシッツ』は飛び抜けて優秀な学生のための教科書だった。(竹内薫『闘う物理学者! 天才たちの華麗なる喧嘩』 p.124)

原書はロシア語。英語でもいい人は英訳を読むのがいいかもしれない(Internet Archiveにもある)。日本語訳だと『力学』と『場の古典論』以外は入手困難なことが多いし、東京図書と岩波書店が混ざるせいで本棚で栄えないし(『統計物理学』は常に入手可能にしておく責任が岩波書店にはあると思う)。

筑摩書房さん、こちらも文庫化すると、世界にその名が轟きますよ。

日本語訳 英語訳
1 力学力学 MechanicsMechanics
2 場の古典論 原書第6版―電気力学、特殊および一般相対性理論場の古典論―電気力学、特殊および一般相対性理論 The Classical Theory of FieldsThe Classical Theory of Fields
3 量子力学―非相対論的理論 (1), (2) Quantum Mechanics (Non-Relativistic Theory)Quantum Mechanics (Non-Relativistic Theory)
4 相対論的量子力学 (1), (2) Quantum ElectrodynamicsQuantum Electrodynamics
5 4000057200統計物理学 上, 4000057200 Statistical PhysicsStatistical Physics
6 流体力学 (1), (2) Fluid MechanicsFluid Mechanics
7 弾性理論 Theory of ElasticityTheory of Elasticity
8 電磁気学―連続媒質の電気力学 (1), (2) Electrodynamics of Continuous MediaElectrodynamics of Continuous Media
9 量子統計物理学 Statistical Physics (Pt 2)Statistical Physics (Pt 2)
10 物理的運動学 (1), (2) Physical KineticsPhysical Kinetics

学生の時に読んだ本では、朝永振一郎の『量子力学 (1)』『量子力学 (2)』『角運動量とスピン』、ディラック『量子力学』なんかが文庫化されるとうれしい(1冊ものは1冊で)。