В файле справки для нелинейной функции минимизатора stats::nlm
говорится, что один из аргументов f
(выделено мной):
минимизируемая функция, возвращающая одно числовое значение. Это должна быть функция с первым аргументом - вектором длины p, за которым следуют любые другие аргументы, указанные в аргументе .... Если значение функции имеет атрибут, называемый градиентом, или атрибуты градиента и гессиана, они будут использоваться при вычислении обновленных значений параметров.
Означает ли это, что градиенты и гессианы задаются такой командой, как:
attr(f, 'gradient') <- function(...){...}
Какими должны быть входы и выходы этой функции?
Сравните это с общим оптимизатором stats::optim
:
optim(par, fn, gr = NULL, ...,
method = c("Nelder-Mead", "BFGS", "CG", "L-BFGS-B", "SANN",
"Brent"), ...)
где градиент явно указан в качестве аргумента для optim
, в качестве примера см .: как правильно указать функцию градиента для использования в optim () или другом оптимизаторе
Изучение внутреннего кода nlm
не помогло.