FIX option 編


分岐点検出時の動作を変更するには?

分岐点が検出された時の追跡動作をユーザーが選択することができる.考えられる動作パターンとしては,次の3通り:

  • Case 1: 分岐点を検出し,その表示はするが FIX の動作は停止しない.
  • Case 2: 分岐点が検出された時点で FIX の動作が停止.
  • Case 3: 分岐点が検出された時に,パラメータのステップサイズをコントロールし,分岐発生の詳細パラメータ値を得る.

    operateFIX.png

FIX の停止動作を設定するには,次の様にする.

  1. Setting -> Detection を選択.

    operateFIX2.png

  2. 設定 window が起動.

    operateFIX3.png

  3. 停止モードを選択.

    operateFIX4.png

    • I:Case 1 に相当.分岐点が検出されても FIX は停止しない
    • II:Case 2 に相当.分岐点が検出された時点で FIX は停止
    • III:Case 3 に相当.分岐点が検出された時,より分岐点にパラメータ値を近づけるように step size を変化させて計算を続ける.分岐条件に十分パラメータが近付いたのを確認し,FIX は停止する*1



計算の度,固有値変化の様子を表示したい.

FIX を利用して分岐点を探索する際,固有値の配置変化を表示する Figure が起動する.Default 設定では,計算の度,前回の結果をクリアし,同じ Window 内にその固有値配置変化を表示する.

異なるパラメータ設定での固有値変化の違いなどを見たい状況が発生するかもしれない.そのような場合には,計算毎に表示 Window を起動するように設定を変更する.

  1. Setting -> Graphic display を選択.

    operateFIX2.png

  2. 設定 window が起動.

    operateFIX3.png

  3. iograph 欄内の single figureのチェックを外す.

    operateFIX5.png



Newton 法の収束精度を変更したい

分岐点を検出する場合,平衡点,Poincare 写像の周期点に関する詳細な位置情報が必要になる.この位置の計算には,Newton 法を用いており,その収束精度が分岐発生パラメータの検出精度に直結する.

解析をする場合に,Newton 法の収束精度が荒い場合,

  • 分岐点発生の初期パラメータを自動的に決定できない.
  • 真の解ではない状態を追跡する. といった問題が発生する可能性がある.

FIX の初期起動時の Default 設定では,その収束精度は,1E-6 に設定されている.もし,分岐点の検出動作を Case 2(分岐点検出時の動作を変更するには?を参照.)に設定し,分岐点の探索を行っている場合に,FIX が停止しない状況が発生した場合は,収束判定の精度を上げることで動作を改善できるかもしれない.

Newton 法の収束判定精度を変更するには,次のように行う.

  1. Setting -> Newton's method を選択.

    startOP.png

  2. Option 設定パネルの起動.

    startOP2.png

  3. parameter for Newton's method 内の eps(さらには feps)を適当な精度に設定する.

    eps.png



Newton 法の発散条件を変更したい

Newton 法の発散条件として,現在は

  1. 繰り返し回数(iter)
  2. Newton 法で利用する Jacobi 行列の要素の和(gmax)
  3. 数値積分を行った際の変分方程式の状態変数の数値(emax) を基準に収束するか,発散するかを決定している*2

特に,iter は,この繰り返し回数以内に Newton 法が収束しない場合に発散 or 解なしとして判定される為,問題によっては,適切に変更しなければならない.また,gmaxemax は,数値計算中に,内部で異常な数値が検出される場合にプログラムを停止させる為に働く.

FIX の初期起動時の Default 設定では,一般的に適当であると思われる数値,

  • iter = 16
  • gmax = 1E+10
  • emax = 100 に設定されている.しかしながら,問題に依存して,これらの数値を変更する必要性があるかもしれない.

Newton 法の発散条件を変更するには,次のように行う.

  1. Setting -> Newton's method を選択.

    startOP.png

  2. Option 設定パネルの起動.

    startOP2.png

  3. parameter for Newton's method 内の gmax(もしくは emax)を適当な精度に設定する*3.また,繰り返し回数を意味する,iter を適当な回数に設定する.

    iter.png

    • Newton 法は,2次収束の性能を持つため,収束には,数回の繰り返しで十分であることに注意する.
    • iter の回数をあまり大きくし過ぎると,希望した解ではない解へ収束してしまう可能性があることに注意.
    • Saddle-node 分岐の検出時には,iter の数値を小さめに設定しておく方が良いかもしれない.



初期分割数を変更したい

すでに得られた結果を外挿して Newton 法の初期値に用いれば収束が速くなる.外挿法には,5次多項式による近似を利用しているため,曲線の最初の5点を求めるまではこれを適用できない.そのため, 最初の点と2つ目の点まではパラメータを分割しておくことが必要になる.この分割数を nnn の値で指定している.

Default 設定では,2点間を10分割するように設定されている.

分割数を変更するには,次のように行う.

  1. Setting -> Newton's method を選択.

    startOP.png

  2. Option 設定パネルの起動.

    startOP2.png

  3. parameter for Newton's method 内の nnnを適当な数に設定する(5以下に設定した場合は強制的に5が内部で割り当てられる.).

    nnn.png



分岐点の検出精度を変更したい

Newton 法が停止した時のパラメータ値は,パラメータ変化の step size に依存し,真の分岐発生点から遠い(すなわち,分岐発生に対応する固有値から停止した時の固有値のズレが大きい)場合,BF を利用した分岐曲線の追跡に失敗する可能性がある.

分岐点の検出動作を Case III(分岐点検出時の動作を変更するには?を参照.)に設定し,分岐点の探索を行っている場合,分岐点が検出されると,パラメータの step size を半分にして,再度追跡を試みる.これを複数回繰り返して,分岐発生パラメータの十分に良い近似値を得ることができるようになっている.

Seig_tol は,十分に良い近似値を得るためのプログラム停止判定に利用される.すなわち,真の分岐発生点での固有値 eq_img01.gif に対して,現在のパラメータ値での固有値を eq_img02.gif としたとき,

eq_img03.gif Seig_tol

となった時点で,Program は停止する.解析対象である系に依存して,初期分岐点を得る為に,この Seig_tol を調整する必要があるかもしれない.この停止判定を変更するには,次のように行う.
  1. Setting -> Detection を選択.

    startOP.png

  2. Option 設定パネルの起動.

    startOP2.png

  3. SeigTol_val 内の SeigTol_valを適当な数に設定する(Default 設定では,0.01,すなわち1%の誤差まで真の分岐点に近づけるように設定されている.).

    seig.png

    • 例えば,平衡点の Saddle-node 分岐点の場合は,真の固有値からのズレが10%程度(それ以上)でも十分良く収束する.
    • リミットサイクル,周期解の Saddle-node 分岐点の場合は,1%〜数%程度の誤差が適当かと思うが,これも問題依存で大きく変動する.試行錯誤する必要があるかもしれない.



数値積分 Solver を変更したい(注意!)

リミットサイクル,周期解の分岐点を探索する際,その解の周期分を数値積分する必要がある.そのため,どの Solver を使って,数値積分を行うか?は重要な問題であり,問題によっては,Stiff solver を選択しなければならない場合もある.

基本的には,安定リミットサイクル,周期解を見つけるために,PP を利用したシミュレーションを行い,アトラクタ情報を得ている.その際に利用した Solver 情報がそのまま FIX へと引き継がれるため,この段階で使用する Solver を変更することは出来るだけ避けた方が数値計算としては安全である.

しかしながら,Newton 法の収束が悪かったり,収束しない状況が見られたりする場合には,利用している Solver と問題との相性が悪い可能性もある.Newton 法の収束が悪い,収束しないといった状況がみられる場合,Solver を変更して再度計算を試みる必要がある.

Solver を変更するには,次のように行う.

  1. Setting -> ODE solver を選択.

    startOP.png

  2. Option 設定パネルの起動.

    startOP2.png

  3. parameter for ODE solver 内にある各種 Solver を選択しする.各 solver の詳細は,例えば parameters for ODE solver を参照.

    solver.png

    • 注意:もし,Solver を変更することで,うまく動作したとしても,PP を同じ条件で使用し,アトラクタ情報を再度得てから,FIX を動かす方が数値計算としては安全である.



数値積分 Solver の精度を上げたい(注意!)

数値積分 Solver を変更したいにもあるように,リミットサイクル,周期解の分岐点を探索する際,その解の周期分を数値積分する必要がある.その数値積分の精度は,分岐点の探索には重要である.

基本的には,安定リミットサイクル,周期解を見つけるために,PP を利用したシミュレーションを行い,アトラクタ情報を得ている.その際に利用した Solver 情報(その精度も含む)がそのまま FIX へと引き継がれるため,この段階で数値積分の精度を変更することは出来るだけ避けた方が数値計算としては安全である.

しかしながら,Newton 法の収束が悪かったり,収束しない状況が見られたりする場合には,設定した数値積分の精度が悪いといった可能性が考えられる.Newton 法の収束が悪い,収束しないといった状況がみられる場合,数値積分の精度を変更して再度計算を試みる必要がある.

数値積分の精度を変更するには,次のように行う.

  1. Setting -> ODE solver を選択.

    startOP.png

  2. Option 設定パネルの起動.

    startOP2.png

  3. parameter for ODE solver 内にある各種 Solver を選択しする.各 solver の詳細は,例えば parameters for ODE solver を参照.

    tol.png

    • 注意:もし,数値積分の精度を変更することで,うまく動作したとしても,PP を同じ条件で使用し,アトラクタ情報を再度得てから,FIX を動かす方が数値計算としては安全である.
    • 注意2:数値積分の精度を上げるということは,真の解との誤差を設定精度内に抑えるために,ステップサイズを小さくとるということになる.そのため,計算速度を犠牲にしなければならない.




*1 Default 設定では,この停止モードが選択されている.
*2 iter, gmax, emax それぞれの意味は例えば,FIX マニュアル内:parameters for Newton's methods を参照のこと.
*3 これらはそれほど変更の必要は無いかもしれない.

Attach file: fileeq_img03.gif 333 download [Information] fileeq_img02.gif 341 download [Information] fileeq_img01.gif 349 download [Information] filetol.png 362 download [Information] filestartOP2.png 378 download [Information] filestartOP.png 374 download [Information] filesolver.png 364 download [Information] fileseig.png 380 download [Information] fileoperateFIX5.png 370 download [Information] fileoperateFIX4.png 365 download [Information] fileoperateFIX3.png 367 download [Information] fileoperateFIX2.png 381 download [Information] fileoperateFIX.png 368 download [Information] filennn.png 387 download [Information] fileiter.png 380 download [Information] fileeps.png 387 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2009-07-23 (Thu) 20:18:53 (3376d)