Ошибка в hessian.default (func = Obj_fun, x = x0): метод Ричардсона для гессиана предполагает скалярную функцию - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь вычислить гессиан моей функции. Вот код моей функции

Obj_fun=function(x)
{
  l=length(x)
  goal=0
  lo2=as.integer(l/2)
  z=lo2+1
  for (i in (1:lo2))
    goal=goal+data$score[i]*x[i]
  for (i in (z:l))
  {
    goal=goal+(1-data$score[i-lo2])*x[i]
  }

}

Я использую следующий код, чтобы получить гессиан

Len=nrow(data)*2
x0=runif(Len)
hess <- hessian(func=Obj_fun, x=x0)

Но я получаю сообщение об ошибке как

Error in hessian.default(func = Obj_fun, x = x0) : 
  Richardson method for hessian assumes a scalar valued function.

Можете ли вы предложить мне, какие изменения мне нужно сделать, чтобы получить гессенскую матрицу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...