• 締切済み

減衰を持つ系のシンプレティック積分

 ず~っと、必ず減衰のある構造系分野に住んでいました。ある時、保存系の数値積分に迫られ、それに今まで日常的使っていた、ニューマークβ法やウィルソンのθ法を適用してみると、余りにあっけなく解が発散するので、びっくりしました。もちろんエネルギーを保存するように、β,γ,θを選びました。ルンゲ・クッタは多次元への拡張が面倒そうだったので、最初から無視していましたが、いずれそうなった(発散した)と思います。仕方ないので、小さな減衰を入れて対処しましたが、非常に不満が残りました。  その後、シンプレティック積分法というのを見つけ、やってみると、保存系に対して、ものすごい威力を発揮してくれました。以下簡単のため、一次元運動を考え、一般化運動量と一般化変位を(p,q)で表します。  シンプレティック積分法の解が、何故あれほど安定なのかを考えました。保存系であれば、エネルギー曲線E=H(p,q)があります。シンプレティック法は、一種の蛙跳び法ですが、pとqの各増分ステップにおいて、必ずエネルギー曲線Eを横切る事が、定性的に保証されているので、解が安定なのだと思います。そうすると同じ時間ステップ幅に対しては、ニューマークβ法やウィルソンθ法,ルンゲ・クッタ法よりも精度が落ちる事にはなりますが、発散しないという意味においては、シンプレティックの方が、よほど精度が良い事になります。  さらにシンプレティックは、アルゴリズムを簡単に出来ます。実際、保存系の一次のシンプレティック法は陽解法で、一次のオイラー法とアルゴリズムの手間は同等であり、簡単でありながら発散しないという、夢の陽解法です。精度を求めたいなら、時間Δtステップを狭くすればいいだけの話です。そして、シンプレティック法の適用は、読んだ限りでは保存系に限られていました。  しかし以上の状況を考えると、非保存系にシンプレティック法を直接適用しても、けっこういけるのでは?、と思えるのです。何故ならシンプレティック法の要は、各増分ステップにおいて、ΔpとΔqが、必ずエネルギー曲線を横切る事です。  十分短いΔtを取れば、「その瞬間のE」を「ΔpとΔq」が横切るように出来る、と思えます。駄目だったらΔtを短くします。この場合、計算ステップは増えますが、  ・シンプレティックは、アルゴリズムをオイラー法なみに簡単にできる.  ・現在のPCは、恐ろしく速くて、昔では考えられないくらいのメモリとディスクを搭載している. ことを考えると、自分には、十分魅力的な方法に映ります。この辺りの情報って、ないでしょうか?。ちなみに参考書(あまりないですが)は、  計算物理入門,臨時別冊・数理科学SGCライブラリ10,上田顕,サイエンス社,2001年. を使っています。  よろしくお願いします。

noname#221368
noname#221368

みんなの回答

  • tomtom_
  • ベストアンサー率39% (43/110)
回答No.1

まず,ちょっとだけ違うような気がする文章がありました. === さらにシンプレティックは、アルゴリズムを簡単に出来ます。実際、保存系の一次のシンプレティック法は陽解法で、一次のオイラー法とアルゴリズムの手間は同等であり、簡単でありながら発散しないという、夢の陽解法です。精度を求めたいなら、時間Δtステップを狭くすればいいだけの話です。そして、シンプレティック法の適用は、読んだ限りでは保存系に限られていました。 === 1次のシンプレクティック法も無数なスキームが考えられますが,オイラー法を適用した場合,陰的オイラー法と同等になります.陽解法になるのは,ハミルトニアンが分離可能な場合の話だと思います. それから,あとで質問者さんが述べられている通り,もちろん保存系じゃなくても適用可能です. ===  しかし以上の状況を考えると、非保存系にシンプレティック法を直接適用しても、けっこういけるのでは?、と思えるのです。何故ならシンプレティック法の要は、各増分ステップにおいて、ΔpとΔqが、必ずエネルギー曲線を横切る事です。 === 細かいことですが,シンプレクティック法はエネルギーを保存するわけではなく,シンプレクティック性を保存する手法です. ただ,Δt→0の極限では,おっしゃるようにエネルギー保存と等価になります. ===  十分短いΔtを取れば、「その瞬間のE」を「ΔpとΔq」が横切るように出来る、と思えます。駄目だったらΔtを短くします。この場合、計算ステップは増えますが、  ・シンプレティックは、アルゴリズムをオイラー法なみに簡単にできる.  ・現在のPCは、恐ろしく速くて、昔では考えられないくらいのメモリとディスクを搭載している. ことを考えると、自分には、十分魅力的な方法に映ります。この辺りの情報って、ないでしょうか?。 === シンプレクティック法が優れていて,非保存系に適用しても良い性能を発揮する理由は,(たまたま?)時間対称性を保存するシンメトリック法になっていることが多い,(たまたま?)ラグラジアンや各運動量等,シンプレクティック性以外にも保存量を持つことが多い,など,シンプレクティック性以外にも良い特徴を持つことが多いからです. これらのことは,最初に出たシンプレクティック法を含む幾何的数値解析法の書籍に書かれています. Ernst Hairer, Christian Lubich, Gerhard Wanner ,Geometric Numerical Integration: Structure-Preserving Algorithms for Ordinary Differential Equations (Springer Series in Computational Mathematics) あと,Webで,東大から国立天文台に移られた牧野さんの解説が見つかると思います. それから雑誌「数理科学」誌のバックナンバーで,1995年6月号の,国立天文台の吉田晴夫さんの記事にも,シンプレクティック法はプログラムが簡単だ,ということが書かれています. ご参考までに.

参考URL:
http://www.amazon.co.jp/Geometric-Numerical-Integration-Structure-Preserving-Computational/dp/3540306633

関連するQ&A

  • オイラー法とルンゲ・クッタ法

    「オイラー法とルンゲ・クッタ法の計算精度を数値的に比較しなさい」と課題を出されましたがさっぱりわからないのです. 最低でもオイラー法と2次のルンゲ・クッタ法を比較しないといけないのですがどのような方法でどのような結果になるのでしょうか? お願いします

  • 差分法のいい点・悪い点

    差分法のいい点と悪い点は何でしょうか? 悪い点はルンゲ・クッタ法に比べて精度が悪いってことをは知ってるのですが.他の悪い点と特に良い点について教えてください.

  • 数値積分の誤差の問題

    数値解析は初心者です。 惑星の運動を調べるために(3つの星です)、 微分方程式を数値的に解こうとしています。 エネルギーが保存する系では、 シンプレクティック法というもの方が良いと 教えてもらいいろいろな人のものを参考にして 使っています。 問題点は、シンプレクティック法の結果は、 ルンゲクッタよりエネルギーの保存の 精度はいいのですが 1~10万ステップくらいの挙動が 計算するコンピューターで違うことが 分かりました。誤差が出ているのだと思います。 ルンゲクッタは保存は悪い代わりに 10万ステップくらいまでマシンに依存した 結果はでません。 エネルギーは高い精度で保存しているので バグではないと思います。 シンプレクティック法は6次と8次を使っています。 どなたかシンプレクティック法を使って 不安定な系を扱っている方で シンプレクティック法の精度を上げる方法を ご存知の方がいらっしゃったらお教えください。

  • ルンゲクッタ法について

    初期値問題 d^2y/dx^2=dy/dx-(dy/dx)^2 (0<x<5) , y(0)=1+log(3/2) , y'(0)=1/3 を1階連立系に直し、コンピュータを用いて古典的ルンゲ・クッタ公式によって数値解を求め、真の解と比較せよ。但し、ステップ幅hは1/4 , 1/8 ,...のように二通り以上とることとし、数値解の誤差の振る舞いを吟味せよ。ルンゲ・クッタ公式のプログラムも添付し出来れば解の様子をx‐y平面に図示すること。 という問題があるのですが、全然手がつきません。誰か数学の偉い方、ご指導お願いします。お礼もいたします。

  • 数値解析の手法(差分法)について

    現在、とある2元の1階偏微分方程式(解はu,vでそれぞれ右と左に進行する波)を数値解析によって解こうと考えています。 数値解析の手段として、差分法がよく用いられると思いますが、 現在、私は、場所に関してはuは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って解いています。 ネットでは場所に関しては中心差分、時間に関してはルンゲ=クッタやリープフロッグなどが 使われていることが多く、私もこの2つを用いて解いてみました。 偏微分方程式には線形項が含まれていたため、 線形問題に対する制約であるΔt/Δx << 1は最低満たすように刻み幅をいろいろ取り、 計算時間も辞さず計算機を動かしてみましたが、 ノイズが消えず、解析解に限りなく近づくには至りませんでした。。 Δt/Δx=0.0001なども試したのですが・・・ そこで、諦めて違う差分法を試し、 場所に関して、uは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って見たところ、 Δt/Δx=0.01程度で解析解に近い、なかなか精度の良い数値解を得ることが出来ました。 2次の差分では上手くいかず、1次の差分だとわりかし上手くいく・・・ 精度的には中心差分やルンゲ=クッタなどの方がいいと思うのですが・・ 正直不思議でなりませんでした。。。 最初に試した差分法のコードミスかと思い、何回もコードを確認し直しましたが、 やはり解析解に近づくには至りませんでした。 こんなことってあるのでしょうか?? 差分法でも場合によって使い分ける必要があるということでしょうか・・? その場合分けするときの指標など、知っておられる方、教えて頂けると助かります。 問題によって

  • 無限積分?の収束・発散

    ∫sin(x^p)dx (積分範囲は1→∞)の収束・発散を判定せよ(pは定数)、という問題があるのですが、判定法がわかりません。ヒントをください(>_<)

  • 微積分で解く問題だと思いますが、次の問題の解法が分かりません。

    微積分で解く問題だと思いますが、次の問題の解法が分かりません。 曲線がある時、曲線上の点P(α,f(α))とし、 曲線に対する点Pのでの接線とX軸との交点Qとする時 |PQ|が一定であるような曲線の式を求めよ、という問題です。 曲線がy=f(x)のような素直な式なのかどうかすら定かではありません。 何かいい解法がございましたら、ご教授願います。

  • 積分法の問題

    積分法の問題をまとめて出されたのですが、 どれもさっぱりわかりません…。 5問あるのですが、どれか1つでもわかる方がいらっしゃいましたら、回答していただけるとありがたいです。考え方だけでも、大歓迎です。 Q1.次の面積を求めよ。 (1)曲線 y=3^X+2^X-2x と x軸とで囲まれる部分 (2)2^(x-1)+2^(y-2)≦5 かつ y≧2^x で表される領域 Q2.曲線C:y=-2^x と D:y+a=2^(x-a) が相異なる2点で交わる時、 (1) aはどんな範囲にならなくてはならないか、その範囲を求めよ。 (2) CとDで囲まれた部分の面積S(a)を求めよ。 (3) S(a)が最大となるaの値を求めよ。 Q3.曲線C:y=3^x+px+q と C上の点P(a,3^a+pa+q) (aは正の定数)における接線l(エル)とで囲まれる部分の面積を求めよ。 Q4.2つの曲線y=3^x-x と y=2^x-a が1点Pを通り、Pにおいて共通の接線を持っている。この2つの曲線で囲まれた部分の面積を求めよ。 Q5.関数f(x)=3^x-2a2^x+2^ax (a>0)について、曲線y=f(x)と直線y=mxで囲まれた2つの部分の面積が等しくなるようなmの値を求めよ。 ただし、0<m<2^aとする。 それでは、よろしくお願い致します。

  • 線積分

    二点P,Qを両端とする曲線をCとし、C上の上で一価連続である函数をf(x,y,z)とする。曲線Cを点P1,P2…Pn-1においてn個の微小な弧に分割し、その各々の長さを Δs1,Δs2…Δsnとし、各弧の上に点Q1,Q2…Qnをとり、それらに対する函数地をf1,f2…fnとして、次の和を作る。 Σ(i=1,nまで)fiΔsi = f1Δs1 + f2Δs2 +…fn+Δsn ここで、なぜfとΔsを掛けているのかわかりません。 なぜか教えてください。 ちなみに、線積分というものをよく理解していませんのでw よろしくお願いしますm(_ _)m

  • 積分(回転体)の問題です。

    xy平面上の曲線C:y=1/x(x>0)を考える。0<p<qのとき、C上の2点P(p,1/p)、Q(q,1/q)を通る直線とCで囲まれる図形の面積をSとし、その図形をx軸の周りに1回転してできる回転体の体積をV とする。 第1問 r=q/pとおくとき、SおよびVの値をp、rを用いて表せ。 第2問 自然数nに対して、p=3^(n-1)、q=3^nのときのVの値をV[n]とおく。無限級数Σ[n=1..∞]V[n]の和を求めよ。 第1問のSに関しては直線PQをy={(-1)/(pq)}x+1/p+1/qと求めて曲線Cで引いてq~p区間を積分しS=(1-r^2)/(2r)+log(r)となりました。あってるかどうかわかりませんが… V以降でわからなくなってしまいました。 解答よろしくお願いします。