Google ColabのJulia言語でDifferentialEquationsパッケージを使ってピタゴラスの三体問題を35段14次ルンゲクッタFeagen法で計算し、Colab上でGIFアニメにしてみた。dtminを小さくしないと途中で止まってしまうことにハマった…
今回はピタゴラスの三体問題。質量mが3,4,5の三体が辺の長さが3,4,5の直角三角形の頂点におかれている場合にどのような動きをするか、というもの。
以前、Python、Visual C#, Unityで計算したがJuliaでもやってみよう。
まずはめちゃくちゃ時間がかかるが
using DifferentialEquations
using Plots
function threebody!(du, u, p, t)
m1 = p[1]
m2 = p[2]
m3 = p[3]
qx1 = u[1]
vx1 = u[2]
qy1 = u[3]
vy1 = u[4]
qx2 = u[5]
vx2 = u[6]
qy2 = u[7]
vy2 = u[8]
qx3 = u[9]
vx3 = u[10]
qy3 = u[11]
vy3 = u[12]
Ra = sqrt((qx2 - qx1)^2.0 + (qy2 - qy1)^2.0)^3.0
Rb = sqrt((qx3 - qx1)^2.0 + (qy3 - qy1)^2.0)^3.0
du[1] = vx1
du[2] = m2 * (qx2 - qx1) / Ra + m3 * (qx3 - qx1) / Rb
du[3] = vy1
du[4] = m2 * (qy2 - qy1) / Ra + m3 * (qy3 - qy1) / Rb
Ra = sqrt((qx1 - qx2)^2.0 + (qy1 - qy2)^2.0)^3.0
Rb = sqrt((qx3 - qx2)^2.0 + (qy3 - qy2)^2.0)^3.0
du[5] = vx2
du[6] = m1 * (qx1 - qx2) / Ra + m3 * (qx3 - qx2) / Rb
du[7] = vy2
du[8] = m1 * (qy1 - qy2) / Ra + m3 * (qy3 - qy2) / Rb
Ra = sqrt((qx1 - qx3)^2.0 + (qy1 - qy3)^2.0)^3.0
Rb = sqrt((qx2 - qx3)^2.0 + (qy2 - qy3)^2.0)^3.0
du[9] = vx3
du[10] = m1 * (qx1 - qx3) / Ra + m2 * (qx2 - qx3) / Rb
du[11] = vy3
du[12] = m1 * (qy1 - qy3) / Ra + m2 * (qy2 - qy3) / Rb
nothing
end
tspan = (0, 100)
p = [3.0, 4.0, 5.0]
u0 = [big(1.0), big(0.0), big(3.0), big(0.0), big(-2.0), big(0.0), big(-1.0), big(0.0), big(1.0), big(0.0), big(-1.0), big(0.0)]
prob = ODEProblem(threebody!, u0, tspan, p)
sol = solve(prob, Feagin14(), dtmin = 1.0e-20, abstol = big(1.0e-30), reltol = big(1.0e-30))
|
これが何回やってもまともな精度がでないまま、途中でステップが小さくなり過ぎだと出て止まる。止まらないように精度を落とすと全然まともな波形が出ない。どのアルゴリズム使っても一緒。
なぜ?と思ったらデフォルトの最小刻み幅設定が~10^(-6)で、それはこの問題に対しては大きすぎていたから。ここにめっちゃくちゃハマった。dtminを設定するとうまく動いた。
Juliaは結果を簡単にGIFアニメにできるのでやってみた。ただ膨大なデータになったので500個飛ばしにしないといつまでたっても処理が終わらなかった。結果はこれ。
« 高周波・RFニュース 2025年3月26日 ルネサスが車載Bluetooth Soc発表、QorvoがUltra-Wideband(UWB)レーダについて解説、VNPTがQualcommの XGS-PONとWi-Fi 7ソリューション採用、SpirentのAIインフラのテストレポート | トップページ | 高周波・RFニュース 2025年3月27日 Qualcommが3GPP 6Gワークショップで議論された内容を紹介、Broadcomが00G/lane DSP PHYチップ発表、DreiとEricssonが5GのWバンド(92~115 GHz )テスト中、Siversが高性能レーザでWINセミコンダクタと提携、Semtechの50G PON »
「パソコン・インターネット」カテゴリの記事
- Google Gemini 2.5 Pro experimentalに高周波で使われるSパラメータのTouchstoneファイルを読み込んでプロットするC#コードを書いてもらうと570行のコードができて動いた。ファイルの拡張子snpのnでポート数を判別するが人間を信じないのでデータ数えて確認するのに笑った。(2025.04.21)
- Google ColabのJulia言語で搭載されているGeminiを使って一行もコードを書かずに2次元拡散方程式を差分法で計算してGIFアニメにする。次に同じように2次元波動方程式もやってもらう。(2025.04.09)
- Google ColabのJulia言語で主成分分析(PCA)をやってみる。データはおなじみアヤメ(iris)で、標準で特異値分解(SVD)が入っているのですぐできた。(2025.04.08)
- Google ColabのJulia言語でマンデルブロ集合、仏様のようなブッダブロ、燃える船・バーニングシップフラクタルを描いてみる。どれも計算が速い。(2025.04.04)
- Google ColabのJulia言語でソリトンを生み出すKdV方程式を計算してGIFアニメにしてみる。ZabuskyとKruskalが1965年に使った計算法(Leap frog法で非線形のところは周りとの平均値)を使ったが、当時は数日かかっていただろう計算が20秒ほどでできる。(2025.04.01)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2025年4月25日 方向性結合器の解説記事、バイアスTの解説記事、インターデジタルが6GにおけるAIについて語る、NASAがエアロゲルを使った超軽量アンテナテスト中、ロームがOBC向けSiCモジュール発表(2025.04.25)
- 高周波・RFニュース 2025年4月24日 グラーツ工科大学のBösch教授のミリ波フロントエンドセミナーが広島と名古屋で開催、MediaTekがDimensity Auto発表、TMYTEKがmmW-OAI発売、MVGとアンリツがWi-Fi 7 OTA測定で協業、SPARK MicrosystemsのUWBトランシーバー(2025.04.24)
- 高周波・RFニュース 2025年4月23日 SRGが5G Massive MIMOは大きいほど性能がいいか調査、Ericssonがインドでアンテナ製造、5Gがシャノン限界に2つの意味で近づいているという論説、Mini-CircuitsがXバンドのデュアル信号発生器を発売(2025.04.23)
- 数理科学5月号 情報と物理学 ― エントロピーがつなぐ数理の世界を買った。データ圧縮、マクスウェルの悪魔&シラードエンジン、ブラックホール、量子情報、量子統計力学、テンソルネットワーク、ニューラルネットワーク、高分子の自己複製など話題が豊富で面白かった。(2025.04.23)
- 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売(2025.04.22)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2025年4月25日 方向性結合器の解説記事、バイアスTの解説記事、インターデジタルが6GにおけるAIについて語る、NASAがエアロゲルを使った超軽量アンテナテスト中、ロームがOBC向けSiCモジュール発表(2025.04.25)
- 高周波・RFニュース 2025年4月24日 グラーツ工科大学のBösch教授のミリ波フロントエンドセミナーが広島と名古屋で開催、MediaTekがDimensity Auto発表、TMYTEKがmmW-OAI発売、MVGとアンリツがWi-Fi 7 OTA測定で協業、SPARK MicrosystemsのUWBトランシーバー(2025.04.24)
- 高周波・RFニュース 2025年4月23日 SRGが5G Massive MIMOは大きいほど性能がいいか調査、Ericssonがインドでアンテナ製造、5Gがシャノン限界に2つの意味で近づいているという論説、Mini-CircuitsがXバンドのデュアル信号発生器を発売(2025.04.23)
- 高周波・RFニュース 2025年4月22日 Signal Houndが40GHzまでのUSBネットアナ発売、EDI CON ONLINE2025は4月23日開催、5G、6G、IoTなど、MathWorksがアンテナとTRモジュールのモデルベース設計解説、EECLが85GHzまでのアップ/ダウンコンバータ発売(2025.04.22)
- 高周波・RFニュース 2025年4月21日 6GWorldがサイトリニューアル、ITUがAI Native Telecom Networkの会議を開催、SEMCOが150℃保証の車載MLCC発表、Samsung Galaxy A26分解動画、Maury Microwaveが測定・モデリングソフト発表(2025.04.21)
« 高周波・RFニュース 2025年3月26日 ルネサスが車載Bluetooth Soc発表、QorvoがUltra-Wideband(UWB)レーダについて解説、VNPTがQualcommの XGS-PONとWi-Fi 7ソリューション採用、SpirentのAIインフラのテストレポート | トップページ | 高周波・RFニュース 2025年3月27日 Qualcommが3GPP 6Gワークショップで議論された内容を紹介、Broadcomが00G/lane DSP PHYチップ発表、DreiとEricssonが5GのWバンド(92~115 GHz )テスト中、Siversが高性能レーザでWINセミコンダクタと提携、Semtechの50G PON »
コメント