스칼라-벡터-행렬의 미분은 분자 중심, 분모 중심으로 구분될 수 있는데, 아래 내용은 미분 결과를 열벡터로 표현하기 위한 분모 중심 기준으로 작성되었다. 분자 중심 기준은 참조의 위키 페이지 참조
차원 표기는 가장 안쪽 차원이 가장 뒤에 표기되는 것이 기본이다. 예컨대 행렬은 가장 안쪽 차원인 열의 크기가 이고 그 바깥의 차원인 행의 크기가 이라는 의미다. 마찬가지로 차원의 크기가 이라면 가장 바깥쪽 차원의 크기가 가 된다.
아래와 같이 정의 되는 미분과 달리 적분은 함수 전체에 대해 직접 적분이 가능하기 때문에 아래와 같이 정의될 필요가 없다.
스칼라 함수에 대한 미분
스칼라를 출력하는 함수를 스칼라 함수라고 한다.
스칼라-스칼라 미분
스칼라를 입력으로 받고 스칼라를 출력하는 함수 를 스칼라로 미분하면 결과는 스칼라가 된다.
스칼라-벡터 미분
벡터를 입력으로 받고 스칼라를 출력하는 함수 를 벡터로 미분하면 결과는 -차원 (열)벡터가 된다. 이것은 입력 벡터의 각 성분들로 함수를 스칼라-스칼라 미분한 후 그 결과를 원래 벡터 형태로 만드는 것이 된다. 이것을 특별히 gradient라고 하고 로 표시한다. gradient는 벡터를 입력으로 받는 스칼라 함수에 대해서만 정의된다.
참고로 위의 결과인 를 로 한 번 더 미분하면 벡터-벡터 미분의 결과로 행렬이 되며(스칼라 함수를 벡터로 2번 미분), 해당 행렬을 특별히 헤시안 행렬(Hessian Matrix)라고 부른다.
스칼라-행렬 미분
행렬을 입력으로 받고 스칼라를 출력하는 함수 를 행렬로 미분하면 결과는 행렬이 된다. 이것은 행렬의 모든 요소로 함수를 스칼라-스칼라 미분을 수행하고 그 결과를 원래 행렬 형태로 만드는 것이 된다.
벡터 함수에 대한 미분
벡터를 출력하는 함수를 벡터 함수라고 한다.
벡터-스칼라 미분
스칼라를 입력으로 받고 벡터를 출력하는 함수 를 스칼라로 미분하면 결과는 -차원 벡터가 된다. 미분하는 벡터를 행벡터로 사용하는 것과 달리 미분 당하는 벡터는 열벡터로 사용한다.
벡터-벡터 미분 (Jacobian Matrix)
벡터를 입력으로 받고 벡터를 출력하는 함수 를 벡터로 미분하면 결과는 행렬이 된다. 이것은 미분하려는 벡터를 행벡터로 전치한 후 벡터의 모든 성분에 대해 벡터-스칼라 미분을 수행하고, 그 결과 열벡터를 차례대로 쌓아 행렬 형태로 만드는 것이 된다. 이 행렬을 특별히 야코비안 행렬(Jacobian Matrix)라고 한다.
야코비안과 관련하여 흥미로운 설정이 있다. 예컨대 형식의 선형 변환이 있다고 하자. 여기서 이다. 이 경우 에 대한 의 도함수는 가 된다.
이것을 이해하기 위해 가 다음과 같이 정의된다고 하자.
행렬 곱에 의해 에 대해 다음의 관계가 성립한다.
이제 를 로 미분한 경우를 생각하자. 이것은 야코비안 행렬이다.
여기서 를 로 편미분한 결과 는 아래처럼 작성할 수 있다.
여기서 이고, 이것을 로 편미분하면 나머지 항은 0이되고 의 계수 만 남게 되기 때문이다.
이 결과를 이용하여 위의 야코비안 행렬을 작성하면 아래와 같다.
결국 에 대한 의 전체 편미분 행렬(야코비안)은 자체가 된다. 이것은 선형 변환과 선형 대수학의 기본 원리에 기반한 방법으로 선형 시스템, 최적화 문제, 다변수 함수 분석에 매우 중요한 역할을 한다.
추가로 와 같은 2차 형식에 대한 gradient는 다음과 같이 주어진다.
벡터-행렬 미분
행렬을 입력으로 받고 벡터를 출력하는 함수 를 행렬로 미분하면 결과는 크기의 3차 텐서가 된다. 행렬의 모든 요소에 대해 벡터-스칼라 미분을 수행하고, 그 결과 벡터를 안쪽부터 차례대로 쌓아 3차 텐서를 만드는 것이 된다. 아래 표기는 크기의 열벡터가 개가 존재하는 형태인데, 이것은 행렬이 된다. 다만 이것을 행렬로 표현하려면 크기의 열벡터는 행 벡터로 놓고 그것을 개 만큼 종으로 쌓아야 일반적인 행렬의 표기가 된다. 이는 맥락에 따라 의 형태가 나올 수도 있다.
행렬 함수에 대한 미분
행렬을 출력하는 함수를 행렬 함수라고 한다.
행렬-스칼라 미분
스칼라를 입력으로 받고 행렬을 출력하는 함수 를 스칼라로 미분하면 결과는 행렬이 된다.
행렬-벡터 미분
벡터를 입력으로 받고 행렬을 출력하는 함수 를 벡터로 미분하면 결과는 크기의 3차 텐서가 된다. 이것은 벡터의 각 성분에 대해 행렬-스칼라 미분을 수행하고, 그 결과 행렬을 차례대로 쌓아 텐서 형태로 만드는 것과 같다.
행렬-행렬 미분
행렬을 입력으로 받고 행렬을 출력하는 함수 를 행렬로 미분하면 결과는 크기의 4차 텐서가 된다. 이것은 미분 하려는 행렬의 모든 성분에 대해 행렬-스칼라 미분을 수행하고, 그 결과를 차례대로 쌓아 4차 텐서를 만드는 것과 같다.