将形如 f = x T A x f=\boldsymbol{x^TAx} f=xTAx称为二次型,其中 x \boldsymbol x x是 n n n维列向量, A \boldsymbol A A为 n × n n\times n n×n的矩阵, f f f为标量。二次型由于其良好的正定性、凸性在控制理论中经常用在判断系统稳定性、最优控制等。但是有个数学上的疑问,如何求二次型函数对自变量向量的导数
(1) d f d x = ? \frac{\text df}{\text d\boldsymbol x}=? \tag{1} dxdf=?(1)
1. 标量对向量导数的定义
控制理论中都会使用到标量函数对向量的导数,比如在李雅普诺夫第二法判断稳定性中,但大多数控制理论的教材都没有给出如何对向量求导数,实际上高等数学也未明确地讲这件事情。最近在看《最优控制理论与应用》-解学书编著,一本很老的书,发现该书花了一章来讨论数学基础。
标量函数 f ( x ) f(\boldsymbol x) f(x)对 n n n维列向量 x = [ x 1 , x 2 . . . x n ] T \boldsymbol x=[x_{1},~x_{2}...~x_{n}]^{\text T} x=[x1, x2... xn]T的导数定义为
(2) d f d x = Δ [ d f d x 1 , d f d x 2 , . . . d f d x n ] T \frac{\text df}{\text d \boldsymbol x}\overset{\Delta}{=} \left[\frac{\text d f}{\text d x_1},~\frac{\text d f}{\text dx_2},...\frac{\text d f}{\text d x_n}\right]^{\text{T}} \tag{2} dxdf=Δ[dx1df, dx2df,...dxndf]T(2)
实际上,式(2)的定义高等数学下中的梯度 g r a d f \bold{grad }f gradf,或者记为 ∇ f \nabla f ∇f。也就是说,对列向量的导数是一个列向量。类似地,可以定义对行向量的导数。
(3) d f d x T = Δ [ d f d x 1 , d f d x 2 , . . . d f d x n ] \frac{\text d f}{\text d \boldsymbol x^{\text T}} \overset{\Delta}{=} \left[\frac{\text d f}{\text d x_1},~\frac{\text d f}{\text d x_2},...\frac{\text d f}{\text d x_n}\right] \tag{3} dxTdf=Δ[dx1df, dx2