function [QUAD,LAM] = sp_lag_lik_plot(y,X,W)

%SP_LAG_LIK is the (negative) likelihood function for SP_LAG
%
%INPUTS: (i)  y,X,W  = regression data
%        

   
val = real(eig(full(W)));
  
[II,JJ,V] = find(val); %find nonzero values

v0 = min(V);

v1 = max(V) ;

low = 1/v0;

high = 1/v1 ;

low = low + .001;

high = high - .001;

LAM = [low:.01:high];

m = length(LAM);
 

%Augment X with unit vector

[n,k] = size(X) ;

X0 = X ;

clear('X') ;

X(:,1) = ones(n,1) ;

X(:,2:k+1) = X0 ;

M = eye(n) - X*inv(X'*X)*X' ;

e0 = M*y ;

e1 = M*(W*y) ;


m = length(LAM);

LDET = zeros(m,1);

QUAD = zeros(m,1);

LIK = zeros(m,1);

for i = 1:m
   
   lam = LAM(i);
   
   e = e0 -lam*e1 ;
   
   LogDet = sum(log(1 - lam*val));
   
   LDET(i) = LogDet;
   
   QUAD(i) = -(n/2) * log((1/n)*e'*e);
   
   LIK(i) =  -(n/2) * log((1/n)*e'*e) + LogDet;
   
end

plot(LAM,LIK,'LineWidth',3);

title('LOG LIKELIHOOD');

pause;

clf;

plot(LAM,LDET,'r','LineWidth',3);

title('LOG DETERMINANT');

pause;

clf;

plot(LAM,QUAD,'r','LineWidth',3);

title('QUADRATIC TERM');


