%%  vecka 3 uppgift 3
%    
%    f(x,y,z) = xyz
%    g(x,y,z) = x^2+y^2+z^2-12
%    L(x,y,z,lambda) = f(x,y,z) + lambda g(x,y,z)

clear all 
f = @(x) ( x(1)*x(2)*x(3) );              % funktionen
g = @(x) ( x(1)^2+x(2)^2+x(3)^2 - 12 );   % bivillkoret
L = @(x) ( f(x(1:3)) + x(4)*g(x(1:3)) );  % Lagrange-funktionen
                                          % x(4) Lagrange-multiplikatorn
DL = @(x) ( jacobi(L,x)' );   % gradienten 

x0 = [1;1;1;1];               % startgissning for newton
grad=DL(x0)                   % test av gradienten
%%

x = newton(DL,x0,1e-6)        % kritisk punkt
y = f(x(1:3))                 % det optimala vardet

%%
% Följande beräkning är onödig.  
% Det blir alltid sadelpunkt för Lagrange-problem.

D2L = @(x) ( jacobi(DL,x) );    % andra-derivatan 
H = D2L(x);                     % Hesse-matrisen
egenv = eig(H)
% sadelpunkt i 4 dimensioner, typiskt for Lagrange-problem




