Я пытаюсь решить пример нелинейной задачи и хочу установить предварительный обработчик для решателя newton_krylov из scipy.optimize.
Я установил предварительный обработчик с помощью LinearOperator, используя spilu.Матрица изменяется с независимой переменной, т. Е. Матрица M (x) и M (x) должны обновляться как F (x), остаток, в каждой нелинейной итерации.
Кажется,Параметр «inner_M» в newton_krylov вызывается только один раз LinearOperator в начале процесса.Как я могу установить параметр предобусловливателя "inner_M" для выполнения обновления M (x) в каждой итерации ньютона?
В частности, я не могу понять описание в https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.optimize.newton_krylov.html для установки "inner_M":
"... Если в предварительном кондиционере есть метод с именем« update », он будет вызываться как update (x, f) после каждого нелинейного шага, где x указывает текущую точку, а f - текущее значение функции. "
Большое спасибо.