%% vecka 3 uppgift 1
%
%  f(x,y)=(x^2+xy+5y^2+x-y) exp(-(x^2+y^2))
%
% steg 1, konturplot

clear all; clf;
F=@(x,y) (x.^2+x.*y+5*y.^2+x-y).*exp(-(x.^2+y.^2)); 
x=linspace(-3,3);
y=linspace(-3,3);
[X,Y]=meshgrid(x,y);
Z=F(X,Y);
contour(X,Y,Z)

%%  steg 2, beräkna kritisk punkt med newton

clear all 
f=@(x) (x(1)^2+x(1)*x(2)+5*x(2)^2+x(1)-x(2))*exp(-(x(1)^2+x(2)^2)); 
Df=@(x) jacobi(f,x)';   % gradienten 
x0=[0;-1]               % en startpunkt, vald i figuren
y0=f(x0)                % testa funktionen
grad=Df(x0)             % testa gradienten
x1=newton(Df,x0,1e-6)   % kritisk punkt
y1=f(x1)                % funktionsvärdet 

%% steg 3, undersök typ av kritisk punkt 

D2f=@(x) jacobi(Df,x);  % andra-derivatan  
H=D2f(x1)               % Hesse-matrisen i kritiska punkten
egenv=eig(H) 
