위키득계정 ↗
과학

크로네커 곱

크로네커 곱과학
영문명
Kronecker product
기호
A ⊗ B
출력 크기
mp행 nq열
구성 방식
각 a(i,j)B를 하나의 블록으로 배치
크로네커 곱은 한 행렬의 각 원소에 다른 행렬 전체를 곱해 블록으로 배치하는 연산이다. A ⊗ B로 쓰며, A가 m행 n열이고 B가 p행 q열이면 결과는 mp행 nq열이다. 보통의 행렬 곱이나 같은 위치의 원소끼리 곱하는 연산과 구별된다.

곱셈의 단위가 블록이다

A의 첫 행 원소가 2와 3이면 결과의 첫 블록 행은 2B와 3B다. B 내부의 행과 열 순서는 그대로 유지한다. A와 B의 안쪽 차원이 같아야 한다는 일반 행렬 곱의 조건은 필요하지 않다.

작은 행렬로 계산하기

A의 두 행을 (2,0), (1,3), B의 두 행을 (1,2), (0,-1)로 두자. A ⊗ B의 네 행은 (2,4,0,0), (0,-2,0,0), (1,2,3,6), (0,-1,0,-3)이다. 왼쪽 아래 블록은 B, 오른쪽 아래 블록은 3B가 된다.

순서를 바꾸면 배치가 달라진다

같은 예제에서 B ⊗ A의 첫 행은 (2,0,4,0)이다. A ⊗ B의 첫 행 (2,4,0,0)과 다르다. 두 결과의 크기가 모두 4행 4열이라는 이유만으로 교환법칙을 적용할 수 없다.

반복 구조를 만드는 연산

단위행렬 I와 B의 크로네커 곱은 대각 블록에 B를 반복하고 나머지 블록은 0으로 둔다. 반복되는 부분 구조를 가진 큰 행렬을 표현할 때 유용하다. 다만 결과의 행과 열이 각각 커지므로 블록 표현이 간단하다고 실제 저장 공간도 항상 작아지는 것은 아니다.

관련 문서

행렬 / 단위행렬 / 희소행렬 / 행렬 곱셈 / 텐서