function [g,badg] = a0lhgrad(x0,s,nobs,nvar,a0indx); %function [g,badg] = a0lhgrad(x0,s,nobs,nvar,a0indx); % computes analytical gradient for use in csminwel.m % x0 (parameter vector), % s (covariance matrix of innovations): note divided by "nobs" % nobs (no of obs), % nvar (no of variables), % a0indx (matrix indicating the free parameters in A0, and each column in A0 corresponds % to an equation) % % Written by Tao Zha %%a = zeros(nvar*nvar,1); a = zeros(nvar); %%g = zeros(nvar*nvar,1); % 4/27/97: not necessary. TAZ badg = 0; a(a0indx) = x0; b = -nobs*inv(a') + nobs*s*a; b = reshape(b,nvar*nvar,1); g = b(a0indx);