스칼라-벡터-행렬의 미분은 분자 중심, 분모 중심으로 구분될 수 있는데, 아래 내용은 미분 결과를 열벡터로 표현하기 위한 분모 중심 기준으로 작성되었다. 분자 중심 기준은 참조의 위키 페이지 참조

차원 표기는 가장 안쪽 차원이 가장 뒤에 표기되는 것이 기본이다. 예컨대 $m \times n$ 행렬은 가장 안쪽 차원인 열의 크기가 $n$이고 그 바깥의 차원인 행의 크기가 $m$이라는 의미다. 마찬가지로 차원의 크기가 $p \times m \times n$이라면 가장 바깥쪽 차원의 크기가 $p$가 된다.

아래와 같이 정의 되는 미분과 달리 적분은 함수 전체에 대해 직접 적분이 가능하기 때문에 아래와 같이 정의될 필요가 없다.

스칼라 함수에 대한 미분

스칼라를 출력하는 함수를 스칼라 함수라고 한다.

스칼라-스칼라 미분

스칼라를 입력으로 받고 스칼라를 출력하는 함수 $y = f(x) : F \to F$를 스칼라로 미분하면 결과는 스칼라가 된다.

$$ {d f(x) \over dx} = {d y \over dx} $$

스칼라-벡터 미분

벡터를 입력으로 받고 스칼라를 출력하는 함수 $y = f(\bold{x}) : F^n \to F$를 벡터로 미분하면 결과는 $n$-차원 (열)벡터가 된다. 이것은 입력 벡터의 각 성분들로 함수를 스칼라-스칼라 미분한 후 그 결과를 원래 벡터 형태로 만드는 것이 된다. 이것을 특별히 gradient라고 하고 $\nabla$로 표시한다. gradient는 벡터를 입력으로 받는 스칼라 함수에 대해서만 정의된다.

$$ \begin{aligned} {d f(\bold{x}) \over d\bold{x}} = {d y \over d\bold{x}} &= \begin{bmatrix} {\partial y \over \partial x_1} \\ {\partial y \over \partial x_2} \\ \vdots \\ {\partial y \over \partial x_n} \end{bmatrix} = \nabla y \\ \bold{x} &= \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} \end{aligned} $$

참고로 위의 결과인 $\nabla\bold{y}$를 $\bold{x}$로 한 번 더 미분하면 벡터-벡터 미분의 결과로 행렬이 되며(스칼라 함수를 벡터로 2번 미분), 해당 행렬을 특별히 헤시안 행렬(Hessian Matrix)라고 부른다.

스칼라-행렬 미분

행렬을 입력으로 받고 스칼라를 출력하는 함수 $y = f(\bold{X}) : F^{m\times n} \to F$를 행렬로 미분하면 결과는 $m \times n$ 행렬이 된다. 이것은 행렬의 모든 요소로 함수를 스칼라-스칼라 미분을 수행하고 그 결과를 원래 행렬 형태로 만드는 것이 된다.

$$ \begin{aligned} {d f(\bold{X}) \over d\bold{X}} = {d y \over d\bold{X}} &= \begin{bmatrix} {\partial y \over \partial x_{11}} & {\partial y \over \partial x_{12}} & \dots & {\partial y \over \partial x_{1n}} \\ {\partial y \over \partial x_{21}} & {\partial y \over \partial x_{22}} & \dots & {\partial y \over \partial x_{2n}} \\ \vdots & \vdots & \ddots & \vdots \\ {\partial y \over \partial x_{m1}} & {\partial y \over \partial x_{m2}} & \dots & {\partial y \over \partial x_{mn}} \end{bmatrix} \\ \bold{X} &= \begin{bmatrix} x_{11} & x_{12} & \dots & x_{1n} \\ x_{21} & x_{22} & \dots & x_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \dots & x_{mn} \end{bmatrix} \end{aligned} $$

벡터 함수에 대한 미분

벡터를 출력하는 함수를 벡터 함수라고 한다.

벡터-스칼라 미분

스칼라를 입력으로 받고 벡터를 출력하는 함수 $\bold{y} = f(x) : F \to F^{n}$를 스칼라로 미분하면 결과는 $n$-차원 벡터가 된다. 미분하는 벡터를 행벡터로 사용하는 것과 달리 미분 당하는 벡터는 열벡터로 사용한다.