海森矩阵(德语:Hesse-Matrix;英语:Hessian matrix 或 Hessian),又译作黑塞矩阵、海塞(赛)矩阵或海瑟矩阵等,是一个由多变量实值函数的所有二阶偏导数组成的方阵,由德国数学家奥托·黑塞引入并以其命名。
假设有一实值函数
,如果
的所有二阶偏导数都存在并在定义域内连续,那么函数
的黑塞矩阵为

或使用下标记号表示为

显然黑塞矩阵
是一个
方阵。黑塞矩阵的行列式被称为黑塞式(英语:Hessian),而需注意的是英语环境下使用Hessian一词时可能指上述矩阵也可能指上述矩阵的行列式[1]。
由高等数学知识可知,若一元函数
在
点的某个邻域内具有任意阶导数,则函数
在
点处的泰勒展开式为

其中,
。
同理,二元函数
在
点处的泰勒展开式为
![{\displaystyle f(x_{1},x_{2})=f(x_{10},x_{20})+f_{x_{1}}(x_{10},x_{20})\Delta x_{1}+f_{x_{2}}(x_{10},x_{20})\Delta x_{2}+{\frac {1}{2}}[f_{x_{1}x_{1}}(x_{10},x_{20})\Delta x_{1}^{2}+2f_{x_{1}x_{2}}(x_{10},x_{20})\Delta x_{1}\Delta x_{2}+f_{x_{2}x_{2}}(x_{10},x_{20})\Delta x_{2}^{2}]+\cdots \,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6f716863c511e8df89e2239a014ac68cb4552072)
其中,
,
,
,
,
,
,
。
将上述展开式写成矩阵形式,则有

其中,
,
是
的转置,
是函数
在
的梯度,矩阵

即函数
在
点处的
黑塞矩阵。它是由函数
在
点处的所有二阶偏导数所组成的方阵。
由函数的二次连续性,有

所以,黑塞矩阵
为对称矩阵。
将二元函数的泰勒展开式推广到多元函数,函数
在
点处的泰勒展开式为

其中,
为函数
在
点的梯度,

为函数
在
点的
黑塞矩阵。若函数有
次连续性,则函数的
黑塞矩阵是对称矩阵。
说明:在优化设计领域中,黑塞矩阵常用
表示,且梯度有时用
表示。[2]
函数
的黑塞矩阵和雅可比矩阵有如下关系:

即函数
的黑塞矩阵等于其梯度的雅可比矩阵。
对于一元函数
,在给定区间内某
点处可导,并在
点处取得极值,其必要条件是

即函数
的极值必定在驻点处取得,或者说可导函数
的极值点必定是驻点;但反过来,函数的驻点不一定是极值点。检验驻点是否为极值点,可以采用二阶导数的正负号来判断。根据函数
在
点处的泰勒展开式,考虑到上述极值必要条件,有

若
在
点处取得极小值,则要求在
某一邻域内一切点
都必须满足

即要求

亦即要求

在
点处取得极大值的讨论与之类似。于是有极值充分条件:
设一元函数
在
点处具有二阶导数,且
,
,则
- 当
时,函数
在
处取得极小值;
- 当
时,函数
在
处取得极大值。
而当
时,无法直接判断,还需要逐次检验其更高阶导数的正负号。由此有一个规律:若其开始不为零的导数阶数为偶数,则驻点是极值点;若为奇数,则为拐点,而不是极值点。
对于二元函数
,在给定区域内某
点处可导,并在
点处取得极值,其必要条件是

即

同样,这只是必要条件,要进一步判断
是否为极值点需要找到取得极值的充分条件。根据函数
在
点处的泰勒展开式,考虑到上述极值必要条件,有
![{\displaystyle f(x_{1},x_{2})=f(x_{10},x_{20})+{\frac {1}{2}}[f_{x_{1}x_{1}}(x_{0})\Delta x_{1}^{2}+2f_{x_{1}x_{2}}(x_{0})\Delta x_{1}\Delta x_{2}+f_{x_{2}x_{2}}(x_{0})\Delta x_{2}^{2}]+\cdots \,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ee48435bd67521c76d889b01677bf7c454a822b1)
设
,
,
,则
![{\displaystyle f(x_{1},x_{2})=f(x_{10},x_{20})+{\frac {1}{2}}[A\Delta x_{1}^{2}+2B\Delta x_{1}\Delta x_{2}+C\Delta x_{2}^{2}]+\cdots \,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ae8df8836f38fe763c0bbb2c3d54910d98b40110)
或
![{\displaystyle f(x_{1},x_{2})=f(x_{10},x_{20})+{\frac {1}{2A}}[(A\Delta x_{1}+B\Delta x_{2})^{2}+(AC-B^{2})\Delta x_{2}^{2}]+\cdots \,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/74791d552062316bab8b1607f69c415631ebb6df)
若
在
点处取得极小值,则要求在
某一邻域内一切点
都必须满足

即要求
![{\displaystyle {\frac {1}{2A}}[(A\Delta x_{1}+B\Delta x_{2})^{2}+(AC-B^{2})\Delta x_{2}^{2}]>0\,}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f005560ba6efd5567601712a8164c01a2c94bd19)
亦即要求
,
即


此条件反映了
在
点处的黑塞矩阵
的各阶主子式都大于零,即对于

要求


在
点处取得极大值的讨论与之类似。于是有极值充分条件:
设二元函数
在
点的邻域内连续且具有一阶和二阶连续偏导数,又有
,同时令
,
,
,则
- 当
,
时,函数
在
处取得极小值;
- 当
,
时,函数
在
处取得极大值。
此外可以判断,当
时,函数
在
点处没有极值,此点称为鞍点。而当
时,无法直接判断,对此,补充一个规律:当
时,如果有
,那么函数
在
有极值,且当
有极小值,当
有极大值。
由线性代数的知识可知,若矩阵
满足


则矩阵
是正定矩阵,或者说矩阵
正定。
若矩阵
满足


则矩阵
是负定矩阵,或者说矩阵
负定。[3]
于是,二元函数
在
点处取得极值的条件表述为:二元函数
在
点处的黑塞矩阵正定,则取得极小值;在
点处的黑塞矩阵负定,则取得极大值。
对于多元函数
,若在
点处取得极值,则极值存在的必要条件为
取得极小值的充分条件为

正定,即要求
的各阶主子式都大于零,即




取得极大值的充分条件为

负定。[4][5][6]