計算数学演習第14回

Chaosについて+期末レポート

今日の演習

  •  具体的な問題をといてもらう。

なぜ天気の長期予報は難しい?:大気の流れのカオス

地球上の気象は、地球を取り巻く大気の流れ、地熱や太陽の熱の流れ、水蒸気ー水の相転移といった様々な出来事が絡み合うことで、非常に複雑に変動します。
気象学者のエドワード・ローレンツは特殊な状況下の大気の流れを表す流体力学の方程式を簡略化することにより次のような方程式を導きだしました。

(1)   \begin{eqnarray*} \frac{dx}{dt} &=& P(y-x) \\ \frac{dy}{dt} &=& -y -xz + Rx \\ \frac{dz}{dt} &=& xy - bz \end{eqnarray*}

この方程式は「ローレンツ方程式」と呼ばれていて、カオスを示すモデルとして最も有名なものの一つです。

カオスの厳密な定義はここでは触れません(実は人によって定義が違ったりします)。
ですが、カオスのもっている初期値鋭敏性という性質(ちょっとした初期値のずれが時間とともに指数関数的に増大すること)を理解してもらうために、以下の課題(特に課題2)をやってもらいます。


題1

ローレンツ方程式(以降、全てパラメータはP = 10.0, b = 8.0/3.0, R=28)を初期値(x(0)=1.0, y(0)=0.5, z(0)=0.5)のもとオイラー法あるいはルンゲ・クッタ法で解き、どのような3次元空間上でどのような軌道を描くかgnuplotを用いて確認せよ。
この際、時間の刻み幅h=0.001としt=100まで計算するものとする。
ただし、このままだと若干出力されるデータが多すぎるので、tが0.01変化する毎に t, x, y, zを出力すること。

splot "output.txt" using 2:3:4 w l

と打ち込めば、3次元のグラフが得られる。(第一成分はtなので、using 2:3:4とした)

また、(t, x)のグラフをみていると、二つの渦(?)の間の移り変わりが周期的ではない事がわかる。


課題2(ローレンツ方程式の初期値鋭敏性)

微分方程式は初期値を与えるとその後の振る舞いが一意的に定まる。
だが、物理現象のモデルであると考えると、初期値というものを無限に精度良く知る事は一般には不可能である。
(例えば、計算の為に現在の気温が必要だったとしても、我々の身の回りの温度計ではせいぜい10分の1度程度の精度までしかわからない。
25.3℃と読み取れても、もしかしたら25.32℃かもしれないし25.29℃かもしれない)
初期値がわずかに違っていたとしても、tが小さいうちはそのずれはあまり問題にならないはずである。
では、tがどれくらい大きくなったら、その初期値の曖昧さが無視できなくなるだろうか?
初期値を少しだけずらすと、その後の振る舞いがどのように変化するかを調べる。
初期値をx(0)=1.0+k, y(0)=0.5, z(0)=0.5として、k=0 のときとk=0.0001のときのデータを比較してみよ。
3次元のグラフをみるより、横軸t・縦軸x(t)のグラフをみるとわかりやすい。
また、そのずれを10分の1にしてみたら(k=0.00001とおいたら)どうなるだろうか?
kを10分の1にしたら、10倍長い時間精度よく計算できるといえるだろうか?


発展問題(ローレンツ方程式の極大値の規則性)

ローレンツ方程式において、x(t), y(t), z(t)の時系列は明らかに周期的ではなく、一見不規則に移り変わっているように見える。
だが、実は完全に不規則な訳ではなく、ある種の規則性があること示す為に、次のことをやってもらう。

t > 100という条件のもと、tが小さい方から数えてn番目のz(t)の極大値をZ(n)とおく。
(Z(n), Z(n+1) )をn =1, 2, … , 200まで出力するプログラムを作成せよ。
また、得られた出力をもとに(Z(n), Z(n+1))の散布図(データを線で結ばない図)を作図し、データがどのような形の分布を持つのか確認すること。

例: Z(1) = 3, Z(2)= 5, Z(3) = 6, Z(4) = 4,..のときは、
二次元平面上に点(3, 5), (5, 6), (6, 4), .. がプロットされる。

これらの点は、二次元平面状にまばらに広がっているのではなく、
ある種の構造を持っていることがわかるはずである。
これは、Z(n)からZ(n+1)が予測可能であることを意味している。


期末レポート問題

以下の問いに対する答えをWordやTeXなどを用いて作成し、PDFファイルに変換してMoodleから提出せよ。
TeXサンプルファイルはこちら
Windows PCでTeXを使う場合、TeX環境のインストールが必要です。詳しくは「TeXLive Windows」などで検索してください。
どうしてもうまくいかない場合は授業時間外に藤井に聞いてください。
Wordの数式モードでもTeXのように数式が書けますので、そちらでも構いません。

問題文の後に書いてある注意事項をよく読むこと。(注意事項が守れていない場合は0点にもなり得ます

問題1

オイラー法の誤差の各時刻での誤差(局所誤差)が時間刻み幅h^2に比例し、全体的な誤差(大域誤差)がhに比例する理由を説明せよ。

問題2

ルンゲ・クッタ法について、本演習では主に大域誤差の精度が4次の方法を用いたが、より簡単な大域精度が2次の方法(陽的中点法や修正オイラー法としても知られる)である以下の解法を導出し、大域精度がh^2に比例することを示せ。

(2)   \begin{equation*} \dot{y}(t)=f(t,y(t)), y(0)=y_0 \end{equation*}

に対して

(3)   \begin{equation*} y_{j+1}=y_j+hf\left(t_j+\frac{h}{2},y_j+\frac{h}{2}f(t_j,y_j)\right) \end{equation*}

ただしt_j=jh, y_j = y(t_j)を表す。

問題3

課題1、課題2、発展問題から、ローレンツ方程式(P = 10.0, b = 8.0/3.0, R=28)について、どのようなことがわかったか図などを用いてわかりやすくまとめよ。
(発展問題までできていない人は、できている範囲でわかったことを議論すること。)

問題4(自由解答)

ローレンツ方程式はカオスで有名ですが、P,b,Rの値によってはカオス以外の様々な解(一点に収束する場合や、周期解をもつ場合など)が現れるので、余裕のある人はそれについても調べてみて、実際にシミュレーション結果やパラメータ依存性を定量的に示してください。(秀を目指す人やこれまでの課題の点数が思わしくないと思う人は解答を推奨)

注意事項

  • 数値計算はルンゲ・クッタ法を用いて、時間の刻み幅hはh<0.02であること。(オイラー法を用いた場合も受け付けるがそれなりの減点はする)
    レポート問題3または4に関連するプログラムの内一つをMoodle
    から提出すること。冒頭にコメントとして、どのようなプログラムであるか説明すること。高度な内容であるほどポイントは高い。
  • 数値計算結果のグラフは自分で作成したgnuplotの図を用いること。イメージを伝える為に手書きの図を使うことは許可するが、手書きのグラフを「数値計算の結果」としては認めないので注意。
    また、各図のタイトルに学籍番号を入れること(盗用防止のため)。
  • 参考にした文献やWebサイトがある場合は、引用箇所がわかるようにし、最後に参考文献として必ず記載すること。(Wikipediaやブログは参考文献にならない)正しく引用していない場合、盗用・剽窃に該当し、採点以前の問題である。
    参考文献の書き方は、科学技術情報流通技術基準の「参考文献の書き方」のページ(http://jipsti.jst.go.jp/sist/handbook/sist02_2007/main.htm)や様々な論文誌で実際にどのように引用されているかを参考にすると良い。
  • レポート作成に際して、友人や先輩などの助言・協力がなければ完成できなかった、と思う場合、謝辞として記載すること。ただし、当然ながらレポート内容を写した/写されたと思われる場合は双方減点する。
  • 手書きの場合は減点あり。
  • 数式は数式モード等を使い、「読みやすいレポート」を作成することを心がけること。
  • 提出期限:2024年2月11日(土)0:00(時間厳守)
    提出場所:Moodleの期末レポート提出ページ。

 

参考:レポートの書き方

TeXを使う場合

TeXは自分のPCに環境をインストールする方法とWebサービス(OverLeaf(日本語設定必要あり)やCloud LaTeX(同必要なし))を使う方法があります。
とりあえず使用だけできれば良いのであれば、Webサービスの無料版で十分ですが、例えば卒論や修論などの学位論文や学術論文を書く場合は、念の為自分のPCにTeX環境をインストールする方が良いでしょう。

Microsoft Wordを使う場合

Microsoft Wordで挿入した数式では、TeXのコマンドがほとんど使えます。
「挿入」タブ → 「数式」をクリックすると、本文内に「ここに数式を入力します」と出てきます。
例えばここで、a_n^xと打って、スペースを押すとa_n^xという数式ができます。
TeXのように数式を打ち、こまめにスペースを押すと随時変換されますので、上記のTeXサンプルファイルやmoodle上の参考ファイル、Webページを参考に、書いてみましょう。
慣れてくると、いちいち上のパレットから選択するより断然早くかつ綺麗に作成できます。

 

Department of Mathematical and Life Sciences, Graduate School of Integrated Sciences for Life, Hiroshima University