長さを変えた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]

実行結果は冒頭の動画の通り。UMMでも確かめられる。

最後の部分を次のようにすれば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]

参考

ピタゴラス3体問題 (Burrau’s problem of three bodies)


機械で「心」を作る~「AIの父」ミンスキー氏が早稲田大学で講演

コンピュータサイエンスは重要だがコンピュータそのものが重要なわけではない、とミンスキー氏は強調した。それは解けない方程式があっても、コンピュータを使うことで何が起こるかを見る事ができるからだ。それがコンピュータがなく数学しかなかった時代との違いだとミンスキー氏はいわゆる「3体問題」など力学の問題を例に出して説明した。

「3体問題」の有名なものに、ピタゴラス3体問題があります。図のような3:4:5の直角三角形の頂点上に静止させた、質量3, 4, 5の質点の運動を調べるというものです。

天体力学のパイオニアたち―カオスと安定性をめぐる人物史〈上〉 (シュプリンガー数学クラブ) (単行本)この問題は1893年には知られていましたが、数値的にでさえ、解決は1966年になってからです。ディアク,ホームズ『天体力学のパイオニアたち』によれば、粒子の2つが連星を形成し、第3体が高速度ではじき飛ばされるという結論は、驚くべきものだったそうです。

これを数値的に解くのは、コンピュータ無しではまあ無理ですよね。「この問題をちゃんと解くのは大変ですよ」と言っていた天体力学の教授の言葉が思い出されますが、ちょうど、Mathematicaならケプラー問題の数値解を簡単に求められるという記事に対して、「でも、計算精度は大丈夫でしょうか」と訊かれたところだったので、コンピュータがあれば簡単だということを確認してみましょう。

必要な精度は状況によるので、絶対大丈夫とは言えませんが、たいていの場合には、十分よい精度で計算すると思います。有名なピタゴラス3体問題で調べてみましょう。

運動エネルギーとポテンシャルエネルギーから運動方程式を導き、数値的解きます。解く時は、保存量(全エネルギーと運動量、角運動量)が保存されるようにします(UMMでも計算できます)。

Wolfram CDF Playerがインストールされていれば操作できます。


計算の正しさを証明するものではありませんが、この結果はBurrau’s problem of three bodiesで紹介されているものとだいたいあっています。(リンク先にはこの問題を数値的に解いたSzebehelyの論文があります。)

最後に、保存量が実際に保存されているかどうかを見ておきましょう。

保存量の変化

ケプラー問題の数値解


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

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

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

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の定理によって・・・となるね」と言って話を合わせればいいんですよ。

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

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