1.函数矩阵
定义
若矩阵A=(aij)的所有元素aij均是变量t的函数,则A(t)是函数矩阵
A(t)=⎛⎜⎝a11(t)a12(t)......an1(t)an2(t)...ann(t)⎞⎟⎠
变量t可是是实数,也可以是向量,甚至还可以是矩阵
极限
若所有元素aij(t)在t=t0时,存在极限,即有
limt→t0aij(t)=aij
则称矩阵A(t)有极限,且极限值为A(常数矩阵)
limt→t0A(t)=A=⎛⎜⎝a11a12......an1an2...ann⎞⎟⎠
求导
A(t0)′=dA(t)dt|t=t0=⎛⎜
⎜⎝a′11(t0)a′12(t0)......a′n1(t0)a′n2(t0)...a′nn(t0)⎞⎟
⎟⎠
A(t),B(t),f(x),A−1(x)均可导的情况下
- ddt(A(t)±B(t))=A(t)′±B(t)′
- ddt(k(t)A(t))=k(t)′A(t)+k(t)A(t)′
- ddt(A(t)B(t))=A(t)′B(t)+A(t)B(t)′
- dA−1(t)dt=−A−1(t)A′(t)A−1(t)
- t=f(x)是x的实值函数,dA(t)dx=dA(t)dtf′(x)=f′(x)dA(t)dt
A任一常量方阵,注意A是方阵,是实值,不是函数矩阵
- ddteAt=AeAt=eAtA,eAt表示矩阵的每个元素都做f(x)=ex处理,x是矩阵At的每个元素
- ddtcosAt=−A(sinAt)=−(sinAt)A
- ddtsinAt=A(cosAt)=(cosAt)A
2.数量函数求导
2.1数量函数对于向量的求导
x=(x1,x2,...,xn)T,f(x)=f(x1,x2,....,xn)是以向量x为自变量的数量函数
则
dfdx=(∂f∂x1,∂f∂x2,...,∂f∂xn)T
基本上是梯度的意思
注意布局:出来的导数形式和自变量向量x的形式一样
若还有向量x的数量函数
h(x)=h(x1,x2,...,xn)
则有
- d[f(x)±h(x)]dx=df(x)dx±dh(x)dx
- d[f(x)h(x)]dx=df(x)dxh(x)+f(x)dh(x)dx
2.2 数量函数对于矩阵的求导
设A∈Rm×n,f(A)为矩阵A的数量函数,则规定数量函数f(A)对于矩阵A的导数为
dfdA=⎛⎜
⎜
⎜⎝∂f∂a11...∂f∂a1n...∂f∂am1...∂f∂amn⎞⎟
⎟
⎟⎠
注意布局:出来的导数形式和自变量矩阵A的形式一样
3.矩阵函数求导
3.1矩阵函数对矩阵求导
设矩阵F是以A∈Cm×n为自变量的p×q矩阵,即
F(A)=⎛⎜⎝f11(A)f12(A)...f1q(A)...fp1(A)fp2(A)...fpq(A)⎞⎟⎠p×q
其中,自变量是矩阵A=(aij)m×n,则规定F(A)对于矩阵A的导数为
dF(A)dA=⎛⎜
⎜
⎜⎝∂F∂a11∂F∂a12...∂F∂a1n...∂F∂am1∂F∂am2...∂F∂amn⎞⎟
⎟
⎟⎠m×n
其中矩阵中的每个元素又是一个矩阵
dFdaij=⎛⎜
⎜
⎜
⎜⎝∂f11∂aij∂f12∂aij...∂f1q∂aij...∂fp1∂aij∂fp1∂aij...∂fp1∂aij⎞⎟
⎟
⎟
⎟⎠p×q
注意布局:出来的导数形式和自变量矩阵A的形式一样,导数内的嵌套矩阵布局和矩阵F(A)布局一样

3.2矩阵函数对向量求导
将向量视作矩阵,套入上面的公式
案例1

案例2

计算矩阵导数的思路
- 1.看目标变量,判断函数是普通函数还是函数矩阵(包括函数向量)
- 2.看自变量,判断自变量是一元变量还是,向量变量,还是矩阵变量
- 3.看自变量的格式,是行排列,还是列排列,决定求导后的布局,布局很重要
- 4.套用上面的求导公式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)