向量(矩阵)对求导运算总结。
向量(矩阵)求导
1 向量(矩阵)对元素求导
1.1 行向量对元素求导
设 yT=[y1,⋯,yn] 为 n 维行向量,x 为元素,则
∂x∂yT=[∂x∂y1,⋯,∂x∂yn]
1.2 列向量对元素求导
设 y=[y1,⋯,ym]T 为 m 维列向量,x 为元素,则
∂x∂y=⎣⎢⎡∂x∂y1⋮∂x∂ym⎦⎥⎤
1.3 矩阵对元素求导
设 Y=[yij] 为 m×n 矩阵,x 为元素,则
∂x∂Y=⎣⎢⎡∂x∂y11⋮∂x∂ym1⋯⋮⋯∂x∂y1n⋮∂x∂ymn⎦⎥⎤
2 元素对向量(矩阵)求导
2.1 元素对行向量求导
设 y 为元素,xT=[x1,⋯,xq] 为 q 维行向量,则
∂xT∂y=[∂x1∂y,⋯,∂xq∂y]
2.2 元素对列向量求导
设 y 为元素,x=[x1,⋯,xp]T 为 p 维行向量,则
∂x∂y=⎣⎢⎢⎡∂x1∂y⋮∂xp∂y⎦⎥⎥⎤
2.3 元素对矩阵求导
设 y 为元素,X=[xij] 为 p×q 矩阵,则
∂X∂y=⎣⎢⎢⎡∂x11∂y⋮∂xp1∂y⋯⋮⋯∂x1q∂y⋮∂xpq∂y⎦⎥⎥⎤
3 行(列)向量对列(行)向量求导
3.1 行向量对列向量求导
设 yT=[y1,⋯,yn] 为 n 维行向量,x=[x1,⋯,xp]T 为 p 维行向量,则
∂x∂yT=⎣⎢⎢⎡∂x1∂y1⋮∂xp∂y1⋯⋮⋯∂x1∂yn⋮∂xp∂yn⎦⎥⎥⎤
3.2 列向量对行向量求导
设 y=[y1,⋯,ym]T 为 m 维列向量,xT=[x1,⋯,xq] 为 q 维行向量,则
∂xT∂y=⎣⎢⎢⎡∂x1∂y1⋮∂x1∂ym⋯⋮⋯∂xq∂y1⋮∂xq∂ym⎦⎥⎥⎤
4 行(列)向量对行(列)向量求导
4.1 行向量对行向量求导
设 yT=[y1,⋯,yn] 为 n 维行向量,xT=[x1,⋯,xq] 为 q 维行向量,则
∂xT∂yT=[∂x1∂yT,⋯,∂xq∂yT]
4.2 列向量对列向量求导
设 y=[y1,⋯,ym]T 为 m 维列向量,x=[x1,⋯,xp]T 为 p 维行向量,则
∂x∂y=⎣⎢⎡∂x∂y1⋮∂x∂ym⎦⎥⎤
5 矩阵对行(列)向量求导
5.1 矩阵对行向量求导
设 Y=[yij] 为 m×n 矩阵,xT=[x1,⋯,xq] 为 q 维行向量,则
∂xT∂Y=[∂x1∂Y,⋯,∂xq∂Y]∈Rm×nq
记 Y=[y1T,⋯,ymT]T,则可以视为多个行向量对单个行向量求导
∂xT∂Y=⎣⎢⎢⎡∂xT∂y1T⋮∂xT∂ymT⎦⎥⎥⎤=⎣⎢⎢⎡∂x1∂y1T⋮∂x1∂ymT⋯⋮⋯∂xq∂y1T⋮∂xq∂ymT⎦⎥⎥⎤∈Rm×nq
5.2 矩阵对列向量求导
设 Y=[yij] 为 m×n 矩阵,x=[x1,⋯,xp]T 为 p 维列向量,则
∂x∂Y=⎣⎢⎡∂x∂y11⋮∂x∂ym1⋯⋮⋯∂x∂y1n⋮∂x∂ymn⎦⎥⎤∈Rmp×n
记 Y=[y1,⋯,yn],则可以视为多个列向量对单个列向量求导
∂xT∂Y=[∂x∂y1,⋯,∂x∂yn]∈Rmp×n
6 向量(矩阵)对矩阵求导
6.1 行向量对矩阵求导
设 yT=[y1,⋯,yn] 为 n 维行向量,X=[xij] 为 p×q 矩阵,则
∂X∂yT=⎣⎢⎢⎡∂x11∂yT⋮∂xp1∂yT⋯⋮⋯∂x1q∂yT⋮∂xpq∂yT⎦⎥⎥⎤∈Rp×nq
记 X=[x1T,⋯,xpT]T,则可以视为单个行向量对多个行向量求导
∂X∂yT=⎣⎢⎢⎡∂x1T∂yT⋮∂xpT∂yT⎦⎥⎥⎤∈Rp×nq
6.2 列向量对矩阵求导
设 y=[y1,⋯,ym]T 为 m 维列向量,X=[xij] 为 p×q 矩阵,则
∂X∂y=⎣⎢⎡∂X∂y1⋮∂X∂ym⎦⎥⎤∈Rmp×q
记 X=[x1,⋯,xq],则可以视为单个列向量对多个列向量求导
∂X∂y=[∂x1∂y,⋯,∂xq∂y]=⎣⎢⎢⎡∂x1∂y1⋮∂x1∂ym⋯⋮⋯∂xq∂y1⋮∂xq∂ym⎦⎥⎥⎤∈Rmp×q
6.3 矩阵对矩阵求导
设 Y=[yij] 为 m×n 矩阵,X=[xij] 为 p×q 矩阵,则
∂X∂Y=⎣⎢⎢⎡∂x1∂y1T⋮∂x1∂ymT⋯⋮⋯∂xq∂y1T⋮∂xq∂ymT⎦⎥⎥⎤∈Rmp×nq
先将 X 看成列向量,再将 Y 看成行向量。
7 几个推广公式
∂xT∂Ax=A∂x∂(Ax)T=AT
参考