function L = sar_lik(z,low,high,val,W,y,X)

%SP_LAG_LIK is the (negative) likelihood function for SP_LAG
%
%INPUTS: (i)   z = vector of parameters
%              z(1) = lam, z(2:k+2) = b 
%        (ii)  [low,high] = permissible lamda range           
%        (iii) W = weight matrix
%        (iv)  y = n-vector
%        (v)   X = (nxkk)data matrix (kk = k+1 includes 1-vector) 
%        
%OUTPUT: L = value of likelihood 

[n,kk] =  size(X) ;

lam = min([z(1),high - .001]) ;

lam = max([lam,low + .001]) ;


b = z(2:kk+1)' ;

e = y -lam*W*y - X*b ;

u = ones(length(val),1);

LogDet = u'*log(1 - lam*val);


L =  (n/2) * log((1/n)*e'*e) - LogDet;
