function H = df3(x)
% gibt die Hessematrix der n-dimensionalen Rosenbrockfunktion aus
%
% Eingabe:
%   x...n-dimensionaler Vektor (n beliebig)
%
% Ausgabe:
%   H...n x x duennbesetzte Matrix
%
% Markus Grasmair,
% Wien, Mai 2011

n = length(x);
Hd_main = zeros(n,1);
Hd_main(1:end-1) = 2-400*x(2:end)+1200*x(1:end-1).^2;
Hd_main(2:end) = Hd_main(2:end) + 200;

Hd_lower = zeros(n,1);
Hd_lower(1:end-1) = -400*x(1:end-1);

Hd_upper = zeros(n,1);
Hd_upper(2:end) = -400*x(1:end-1);

H = spdiags([Hd_lower,Hd_main,Hd_upper],[-1,0,1],n,n);