# ode_optional_output

ode ソルバのオプション出力の説明

## 説明

このページは, ode関数のオプションの左辺引数 `w` および`iw` に返される最も重要な値について記述するものです. これらは, `lsode` `lsoda` および `lsodar` ODEソルバの場合のみ有効です. より詳細については, `SCI/modules/differential_equations/src/fortran/lsod*.f 内の ソルバのFortranコードのコメントを参照ください.` .

w(11)

  直近に(成功裏に)使用した時間刻み t

w(12)

  次のステップで試行されるステップサイズ.

w(13)

  ソルバが実際に達した独立変数のカレントの値, すなわち,tのカレントの内部メッシュ点. 出力される tcur は最低でも引数 t となり, (補間が行われた場合には,) t 以降となる場合もあります.

w(14)

  許容誤差のスケールファクタで,1より大きく, 精度が過剰なリクエストが検出された場合に計算されます (問題の開始時に検出された場合: istate = -3, その他の場合: istate = -2). itol が変更されず rtol および atol が共に次のコールで `tolsf=w(14)` 倍に増やされる場合, ソルバは成功したとみなされます. (ユーザは `tolsf` を無視し, 他の適当な手段で許容誤差パラメータを変更することも可能です.)

w(15)

  (もしあれば,)直近の手法切替を行った時間における t の値. この値は `lsode` ソルバでは意味がありません.

iw(10)

  これまでに問題に関して`g`を評価した数. この値は `lsodar` ソルバでは意味がありません.

iw(11)

  これまでに問題に関して行われたステップ数.

iw(12)

  これまでに問題に関して行われた f の評価の回数.

iw(13)

  これまでに問題に関して行われたヤコビアン(および行列のLU分解)の評価の回数.

iw(14)

  (成功裏に)直近に使用された手法の次数.

iw(15)

  次のステップで試行される次数.

iw(16)

  重みつきローカル誤差ベクトル( e(i)/ewt(i) )における 最大の大きさの要素の添字, エラーの場合に istate = -4 または -5 と共に返されます.

iw(17)

  実際に必要な `w` の長さであり, rworkの長さが問題の残りの処理で固定され, 切替が発生すると仮定されます. この値は通常のリターン時に定義され, 異常な入力が行われた場合には不十分な記憶容量が返されます.

iw(18)

  実際に必要な `iw` の長さであり, `iw`の長さが問題の残りの処理で固定され, 切替が発生すると仮定されます. この値は通常のリターン時に定義され, 異常な入力が行われた場合には不十分な記憶容量が返されます.

iw(19)

  直近の処理が成功したステップに関する手法のインジケータです. 1 は adams (非スティッフ), 2 は bdf (スティッフ) を意味します. この値は `lsode` ソルバでは意味がありません.

iw(20)

  カレントの手法のインジケータです. 1 は adams (非スティッフ), 2 は bdf (スティッフ) を意味します. この値は次のステップで試行される手法です. よって, この値は,手法の切替が行われた直後のみ `iw(19)` の 値と異なります. この値は `lsode` ソルバでは意味がありません.