二次型对自变量向量的导数

将形如 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, dx2df,...dxndf](3)

2. 向量对向量导数的定义

函数 f ( x ) = [ f 1 ( x ) ,   f 2 ( x ) . . .   f m ( x ) ] T \boldsymbol f(\boldsymbol x)=[f_{1}(\boldsymbol x), ~f_{2}(\boldsymbol x)...~f_{m}(\boldsymbol x)]^{\text{T}} f(x)=[f1(x), f2(x)... fm(x)]T 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 m m m维函数向量。该向量函数对向量的导数定义为
(4) d f d x = Δ d f d x T = Δ [ d f 1 d x 1 ,   d f 1 d x 2 , ⋯ d f 1 d x n d f 2 d x 1 ,   d f 2 d x 2 , ⋯ d f 2 d x n ⋮ ⋮ ⋯ ⋮ d f m d x 1 ,   d f m d x 2 , ⋯ d f m d x n ] \frac{\text d \boldsymbol f}{\text d \boldsymbol x}\overset{\Delta}{=}\frac{\text d \boldsymbol f}{\text d \boldsymbol x^{\text T}}\overset{\Delta}{=} \begin{bmatrix} \frac{\text d f_{1}}{\text d x_{1}},&~ \frac{\text d f_{1}}{\text d x_{2}}, &\cdots&\frac{\text d f_{1}}{\text d x_{n}} \\ \frac{\text d f_{2}}{\text d x_{1}},&~ \frac{\text d f_{2}}{\text d x_{2}}, &\cdots&\frac{\text d f_{2}}{\text d x_{n}} \\ \vdots &\vdots& \cdots& \vdots\\ \frac{\text d f_{m}}{\text d x_{1}},&~ \frac{\text d f_{m}}{\text d x_{2}}, &\cdots&\frac{\text d f_{m}}{\text d x_{n}} \end{bmatrix} \tag{4} dxdf=ΔdxTdf=Δdx1df1,dx1df2,dx1dfm, dx2df1, dx2df2, dx2dfm,dxndf1dxndf2dxndfm(4)
可以根据上面的定义直接得到
(5) d x d x T = d x T d x = I \frac{\text d \boldsymbol x}{\text d \boldsymbol x^{\text T}}=\frac{\text d \boldsymbol x^{\text T}}{\text d \boldsymbol x}=\boldsymbol I \tag{5} dxTdx=dxdxT=I(5)

3. 二次型的导数

有了上述的定义之后,可以根据定义得出对向量求导数的一些性质。
(6) d ( a T b ) d x = d a T d x b + d b T d x a \frac{\text d (\boldsymbol{a^{\text{T}}b})}{\text d \boldsymbol x}=\frac{\text d \boldsymbol{a^{\text{T}}}}{\text d \boldsymbol x}\boldsymbol b+\frac{\text d \boldsymbol{b^{\text{T}}}}{\text d \boldsymbol x}\boldsymbol a \tag{6} dxd(aTb)=dxdaTb+dxdbTa(6)
A = [ a 1 ,   a 2 ⋯ a m ] \boldsymbol A=[\boldsymbol a_{1},~\boldsymbol a_{2}\cdots\boldsymbol a_{m}] A=[a1, a2am] n × m n\times m n×m的矩阵,可以根据上面的定义和性质计算
(7) d ( x T A ) d x = [ d d x ( x T a 1 ) ,   d d x ( x T a 2 ) ⋯ d d x ( x T a m ) ] \frac{\text d (\boldsymbol {x^{\text{T}}A})}{\text d\boldsymbol {x}}= [\frac{\text d}{\text d \boldsymbol x}\boldsymbol ({x^{\text{T}}}\boldsymbol a_{1}),~\frac{\text d}{\text d \boldsymbol x}(\boldsymbol {x^{\text{T}}}\boldsymbol a_{2})\cdots\frac{\text d}{\text d \boldsymbol x}(\boldsymbol {x^{\text{T}}}\boldsymbol a_{m})] \tag{7} dxd(xTA)=[dxd(xTa1), dxd(xTa2)dxd(xTam)](7)
又因为,
(8) d d x ( x T a i ) = d x T d x a i + d a i T d x x = a i \frac{\text d}{\text d \boldsymbol x}\boldsymbol ({x^{\text{T}}}\boldsymbol a_{i})=\frac{\text d\boldsymbol {x^{\text{T}}}}{\text d \boldsymbol x}\boldsymbol a_{i}+\frac{\text d{\boldsymbol a_{i}^{\text{T}}}}{\text d \boldsymbol x}\boldsymbol x=\boldsymbol a_{i} \tag{8} dxd(xTai)=dxdxTai+dxdaiTx=ai(8)
所以,
(9) d ( x T A ) d x = A \frac{\text d (\boldsymbol {x^{\text{T}}A})}{\text d\boldsymbol {x}}=\boldsymbol A \tag{9} dxd(xTA)=A(9)
根据式(6)得到二次型函数 f = x T A x f=\boldsymbol{x^TAx} f=xTAx对自变量 x \boldsymbol{x} x的导数可以表为
(10) d f d x = d x T d x A x + d ( A x ) T d x x = d x T d x A x + d ( x T A T ) d x x = A x + A T x = ( A + A T ) x \begin{matrix} \frac{\text df}{\text d\boldsymbol x} = \frac{\text d\boldsymbol{x^\text T}}{\text d\boldsymbol x}\boldsymbol{Ax}+\frac{\text d\boldsymbol{(Ax)^\text T}}{\text d\boldsymbol x}\boldsymbol{x}\\ = \frac{\text d\boldsymbol{x^\text T}}{\text d\boldsymbol x}\boldsymbol{Ax}+\frac{\text d\boldsymbol{(x^\text TA^{\text T})}}{\text d\boldsymbol x}\boldsymbol{x}\\ = \boldsymbol{Ax}+\boldsymbol{A^{\text T}x}\\ = (\boldsymbol{A+A^{\text T})x} \end{matrix} \tag{10} dxdf=dxdxTAx+dxd(Ax)Tx=dxdxTAx+dxd(xTAT)x=Ax+ATx=(A+AT)x(10)
如果 A \boldsymbol A A是对称阵,则有
(11) d f d x = d ( x T A x ) d x = 2 A x \frac{\text df}{\text d\boldsymbol x} =\frac{\text d(\boldsymbol{x^TAx})}{\text d\boldsymbol x} = 2\boldsymbol{Ax} \tag{11} dxdf=dxd(xTAx)=2Ax(11)
这就是在教材上给出的结果。

  • 27
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值