이때 fff의 작은 변화량인 dfdfdf는 각 변수에 대한 fff의 변화량 ∂f∂xi\dfrac{\partial f}{\partial x_{i}}∂xi∂f과 각 변수의 변화량 dxidx_{i}dxi를 모두 더한 값으로 정의된다. 이를 fff의 전미분total differential, 완전미분, 혹은 미분소differential라고 한다.
행벡터는 그래디언트 (∇xf)T(\nabla_{\mathbf{x}}f)^{\mathsf{T}}(∇xf)T이다. 열벡터를 dx=[dx1⋯dxn]Td\mathbf{x} = \begin{bmatrix} d x_{1} & \cdots & d x_{n} \end{bmatrix}^{\mathsf{T}}dx=[dx1⋯dxn]T와 같이 표기하자. 이는 변수 (x1,x2,…,xn)(x_{1}, x_{2}, \dots, x_{n})(x1,x2,…,xn)의 작은 변화량을 의미한다. 그러면 (4)(4)(4)는 아래와 같이 두 벡터의 내적의 형태로 표현된다.
스칼라 미분 (2)(2)(2)에서 ∇xf=dfdx\nabla_{x}f = \frac{d f}{d x}∇xf=dxdf라 표기하면 df=∇xfdxdf = \nabla_{x}f dxdf=∇xfdx이므로 (5)(5)(5)와 그 꼴이 정확히 일치하여, 벡터로의 일반화가 자연스럽게 되었음을 알 수 있다. 이제 같은 방식으로 행렬 미분으로의 일반화를 이끌어내보자.
행렬 미분
행렬 공간 위에서 정의된 함수 f:Rn×n→Rf : \mathbb{R}^{n \times n} \to \mathbb{R}f:Rn×n→R을 생각해보자. 이 함수의 변수는 다음과 같은 행렬이다.
dX=[dx11dx12⋯dx1ndx21dx22⋯dx2n⋮⋮⋱⋮dxn1dxn2⋯dxnn]
d \mathbf{X} = \begin{bmatrix}
d x_{11} & d x_{12} & \cdots & d x_{1n} \\
d x_{21} & d x_{22} & \cdots & d x_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
d x_{n1} & d x_{n2} & \cdots & d x_{nn}
\end{bmatrix}
dX=dx11dx21⋮dxn1dx12dx22⋮dxn2⋯⋯⋱⋯dx1ndx2n⋮dxnn
dX=[dx11dx12⋯dx1ndx21dx22⋯dx2n⋮⋮⋱⋮dxn1dxn2⋯dxnn]
d \mathbf{X} = \begin{bmatrix}
d x_{11} & d x_{12} & \cdots & d x_{1n} \\
d x_{21} & d x_{22} & \cdots & d x_{2n} \\
\vdots & \vdots & \ddots & \vdots \\
d x_{n1} & d x_{n2} & \cdots & d x_{nn}
\end{bmatrix}
dX=dx11dx21⋮dxn1dx12dx22⋮dxn2⋯⋯⋱⋯dx1ndx2n⋮dxnn
설명
(6)(6)(6)은 미분 계산에 매우 유용한데, ∇Xf\nabla_{\mathbf{X}}f∇Xf를 얻기 위해서 실제로 fff를 계산할 필요 없이 df=Tr(ATdX)df = \Tr (A^{\mathsf{T}} d \mathbf{X})df=Tr(ATdX) 꼴을 만들어주기만 하면, 행렬 AAA가 바로 fff의 그래디언트 행렬이 된다. 자세한 내용은 아래를 참고하라.