template<class Type>
Type objective_function<Type>::operator() ()
{
int i,j;
Type res=0;
vector<Type> eta(n);
eta = X*b + exp(log_sigma)*u;
for (i=0;i<n;i++)
{
cov(i,i)=Type(1);
for ( j=0;j<i;j++)
{
cov(i,j)=exp(-a*dd(i,j));
cov(j,i)=cov(i,j);
}
}
res+=neg_log_density(u);
for(i=0;i<n;i++) res -= y[i]*eta[i]-exp(eta[i]);
return res;
}
License: