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))
 
    