function [] = testhess(gradname,x0,hessname)
% ======================================================================
% Funktion, dient zum Testen der Hesse-Matrix an der Stelle x0
% es werden folgende Angaben ben"otigt:
%
% gradname : Name des Gradienten;
% x0       : Startwert;
% hessname : Name des Hesse-Matrix;
% ======================================================================

[G0]=feval(gradname,x0);	%	g(x0)
[H]=feval(hessname,x0);		%	H(x0)

%	Numerische Differentiation von g, Approximation von H
h=1E-8;
[G]=feval(gradname,x0*ones(size(x0))'+h*eye(length(x0)));%	"g(x0+h)"
dG=(G-G0*ones(size(G0))')/h;	%	H~(x0) 

%	Bestimmung des maximalen Fehlers
[w,I]=max(abs(H-dG));
[ww,i]=max(w);

if ww>sqrt(sqrt(h) )
   error(['Hesse-Matrix "uberpr"ufen! Tip: ',int2str(I(i)),'. Zeile ',...
           int2str(i),'. Element falsch.'])
end;

return;






