# ode_optional_output

описание необязательных выходных данных программы решения ОДУ

## Описание

Эта страница описывает большинство важных значений, возвращаемых в необязательных аргументах левой части ОДУ `w` и `iw`. Они корректны только для программы решения ОДУ `lsode`, `lsoda` и `lsodar`. Больше подробностей можно узнать в комментариях к fortran-коду программы решения в `SCI/modules/differential_equations/src/fortran/lsod*.f`.

w(11)

  размер шага в последнее используемое t (успешно).

w(12)

  размер шага, который будет опробован на следующем шаге.

w(13)

  текущее значение независимой переменной, которое программа решения фактически достигла, то есть текущая внутренняя точка сетки в t. На выходе tcur будет всегда по меньшей мере до аргумента t, но может быть и дальше (если была сделана интерполяция).

w(14)

  масштабный коэффициент допуска более 1.0, вычисленный, когда был обнаружен запрос на гораздо бОльшую точность (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`.