Я пытаюсь вычислить гессиан моей функции. Вот код моей функции
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.
Можете ли вы предложить мне, какие изменения мне нужно сделать, чтобы получить гессенскую матрицу?