hessian矩阵与鞍点关系浅析

首先绘制四个函数,四个函数的表达式是:
z 1 = x 2 + 2 x y + y 2 z1=x^2+2xy+y^2 z1=x2+2xy+y2
z 2 = x 2 − 2 x y + y 2 z2=x^2-2xy+y^2 z2=x22xy+y2
z 3 = x 2 − 2 x y − y 2 z3=x^2-2xy-y^2 z3=x22xyy2
z 4 = x 2 + 2 x y − y 2 z4=x^2+2xy-y^2 z4=x2+2xyy2
matlab代码如下:

[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);
z1=(x.^2+2*x.*y+y.^2);
colormap Jet

% ############################################################################################


subplot(2,2,1),mesh(z1)
x=xlabel('X轴');
y=ylabel('Y轴');        %y轴标题
z=zlabel('Z轴');        %z轴标题
% ############################################################################################
[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);
z2=(x.^2-2*x.*y+y.^2);
subplot(2,2,2),mesh(z2)
x=xlabel('X轴');
y=ylabel('Y轴');        %y轴标题
z=zlabel('Z轴');        %z轴标题
% ############################################################################################
[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);
z3=x.^2-2*x.*y-y.^2;
subplot(2,2,3),mesh(z3)
x=xlabel('X轴');
y=ylabel('Y轴');        %y轴标题
z=zlabel('Z轴');        %z轴标题

% ############################################################################################
[x,y]=meshgrid(-3:0.1:3,-2:0.1:2);
z4=(x.^2+2*x.*y-y.^2);
subplot(2,2,4),mesh(z4)
x=xlabel('X轴');
y=ylabel('Y轴');        %y轴标题
z=zlabel('Z轴');        %z轴标题




绘制结果如下:
hessian矩阵与鞍点关系浅析_第1张图片
我们分别计算这四个曲面的hessian矩阵,代码如下:

syms x y z z1 z2 z3
z1=(x.^2+2*x.*y+y.^2);
hessian(z1,[x,y])
z2=(x.^2-2*x.*y+y.^2);
hessian(z2,[x,y])
% ############################################################################################
z3=x.^2-2*x.*y-y.^2;
hessian(z3,[x,y])
z4=(x.^2+2*x.*y-y.^2);
hessian(z4,[x,y])

ans =

[ 2, 2]
[ 2, 2]

ans =

[ 2, -2]
[ -2, 2]

ans =

[ 2, -2]
[ -2, -2]

ans =

[ 2, 2]
[ 2, -2]

凹凸性是由这些函数的hessian矩阵来确立的.

鞍点存在的条件是不定矩阵,也就是hessian中既存在负特征值,存在正特征值
正定矩阵的特征值全部为正.
负定矩阵的特征值全部为负.

你可能感兴趣的:(Matlab)