It do not run but exist with this error
Error in fn(par, ...) : unused argument (par)
Use optim to minimalist maximum likelihood function
x=sleepstudy$Days
group=sleepstudy$id
y=sleepstudy$Reaction
mylmax=function(y,x,group){
n=length(y)
x=cbind(x,group)
sigma2=1000
tau2=1000
beta=matrix(1:1,2,1)
v=sigma2*diag(n)+tau2+diag(n)
inv=(1/sigma2)*(diag(n)-tau2/(sigma2+n*tau2)*diag(n))
reml=FALSE
l=-0.5*(log(det(v))+t(y-x%*%beta)%*%inv%*%(y-x%*%beta))
if(reml==TRUE){
l=l-0.5*log(det(t(v)%*%inv%*%x))
}
}
optim(par=c(0,0,0),fn=mylmax,y=y,x=x,group=group, method = "L-BFGS-B",hessian = TRUE,control = list(fnscale = -1))