new; cls; /* Steepest descent method with different step length */ x={4.2,4.8,6.0,3.7,4.5,3.2,5.3,4.9,4.8,6.8}; y={5.4,5.9,5.9,6.7,3.7,2.3,4.2,3.2,7.3,6.6}; x1=ones(rows(x),1)~x; b0={1,1}; print "b*=" sd2(&ll,b0)'; proc ll(b); local n,e; n=rows(x1); e=y-x1*b; retp( -sumc( -1/2*(1+ln(2*pi)-ln(n))-1/2*e^2 ) ); endp; proc sd2(&f,beta); local step,maxiter,tol,d,i,g,j1,j2,temp,zmin,ztemp,f:proc; maxiter=1e+3; tol=1e-5; d=1/10000; i=1; do while i<=maxiter; g=gradp(&f,beta); if abs(g)