雅可比(jacobian)、黑塞矩阵(Hessian)

一、雅克比矩阵

雅可比矩阵和行列式(Jacobian)_雅可比行列式_JasonKQLin的博客-CSDN博客

 在牛顿迭代法、L-M中求解非线性方程组,都会用到雅可比(一阶偏导数) 和黑塞矩阵(2阶偏导数)矩阵。

雅可比矩阵 是一阶偏导数以一定方式排列成的矩阵, 其行列式称为雅可比行列式。



  是一个从欧式 n 维空间转换到欧式 m 维空间的函数. 这个函数由 m 个实函数组成:,记作
这些函数的偏导数(如果存在)可以组成一个 m 行 n 列的矩阵, 这就是所谓的雅可比矩阵:

 

 若m=n,那么其就是一个方阵,其行列式也叫雅可比行列式

雅可比矩阵的作用:

雅可比矩阵J f ( p ) 就是函数f在n维空间某点p处的导数,它是一个线性映射(因为它是一个矩阵,矩阵本身代表着线性变换),它代表着函数f在点p处的最优线性逼近,也就是当x足够靠近点p时,我们有:

 eg:

 matlab 求解雅可比矩阵:

syms x1 x2  x3 x4
f1=x1;
f2=5*x3;
f3=4*x2^2-2*x3;
f4=x3*sin(x1);

J =jacobian([f1;f2;f3;f4],[x1 x2  x3])

 二、黑塞矩阵

定义

黑塞矩阵(Hessian Matrix),又译作海森矩阵、海瑟矩阵、海塞矩阵等,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。黑塞矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。黑塞矩阵常用于牛顿法解决优化问题,利用黑塞矩阵可判定多元函数的极值问题。在工程实际问题的优化设计中,所列的目标函数往往很复杂,为了使问题简化,常常将目标函数在某点邻域展开成泰勒多项式来逼近原函数,此时函数在某点泰勒展开式的矩阵形式中会涉及到黑塞矩阵。

一句话来讲,Hessian matrix是多元函数(单因变量)的二阶偏导数组成的方阵,它也可以被理解为该函数的一阶导数向量的Jacobi matrix!当函数满足(前提是再一定的范围内是2阶连续可导):

 推导:

谷歌搜索:

二元函数的黑塞矩阵

 

 对称性

 

 应用

示例1:

 示例2:

https://www.cnblogs.com/ybqjymy/p/13646488.html

matlab 代码实现:

clear all;
clc;
syms x y z
f1=x^2+y^2+3*x*y*z;
%f2=x^3+y^2+4*x*y*z^3;
%f3=x^3+y^2+5*x*y^3*z^3;
% 1 直接计算hessian矩阵
H0=hessian(f1,[x;y;z])
% 2 先求雅可比矩阵,然后再计算 hessian 矩阵
J0=jacobian(f1,[x,y,z]) % 雅可比矩阵
H2=jacobian(J0,[x,y,z])
% 3、先计算梯度,然后再计算hessian 矩阵
G=gradient(f1,[x,y,z])
H3=jacobian(G,[x,y,z])

% 结果:

H0 =
 
[  2, 3*z, 3*y]
[3*z,   2, 3*x]
[3*y, 3*x,   0]
 
 
J0 =
 
[2*x + 3*y*z, 2*y + 3*x*z, 3*x*y]
 
 
H2 =
 
[  2, 3*z, 3*y]
[3*z,   2, 3*x]
[3*y, 3*x,   0]
 
 
G =
 
2*x + 3*y*z
2*y + 3*x*z
      3*x*y
 
 
H3 =
 
[  2, 3*z, 3*y]
[3*z,   2, 3*x]
[3*y, 3*x,   0]
 
>> 

补充:

正定矩阵

(1)广义定义:设M是n阶方阵,如果对任何非零向量z,都有zTMz> 0,其中zT 表示z的转置,就称M为正定矩阵。

例如:B为n阶矩阵,E为单位矩阵,a为正实数。在a充分大时,aE+B为正定矩阵。(B必须为对称阵)

版权声明:本文为博主作者:Σίσυφος1900原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_39354845/article/details/128280556

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2024年4月22日
下一篇 2024年4月22日

相关推荐