logo

행렬의 크로네커 곱 📂행렬대수

행렬의 크로네커 곱

정의1

두 행렬 A=[aij]Mm×nA = [a_{ij}] \in M_{m \times n}, BMp×qB \in M_{p \times q}크로네커 곱Kronecker product을 다음과 같이 정의한다.

AB:=[a11Ba1nBam1BamnB]Mmp×nq A \otimes B := \begin{bmatrix} a_{11} B & \cdots & a_{1n} B \\ \vdots & \ddots & \vdots \\ a_{m1} B & \cdots & a_{mn} B \end{bmatrix} \in M_{mp \times nq}

설명

두 선형변환의 텐서곱에 대한 행렬표현은 각각의 선형변환의 행렬표현의 크로네커 곱으로 정의된다.

곱셈multiplication과 달리 행렬의 크기에 무관하게 잘 정의된다.

성질

행렬 A,B,C,DA, B, C, D와 상수 kk에 대해서 다음이 성립한다.

  • 상수곱: (kA)B=k(AB)=A(kB)(kA) \otimes B = k (A \otimes B) = A \otimes (kB) \\[0.5em]
  • 행렬곱셈: (AB)(CD)=(AC)(BD)(A \otimes B) (C \otimes D) = (AC) \otimes (BD) \\[0.5em]
  • 결합법칙: (AB)C=A(BC)(A \otimes B) \otimes C = A \otimes (B \otimes C) \\[0.5em]
  • 분배법칙: A(B+C)=AB+ACA \otimes ( B + C ) = A \otimes B + A \otimes C \\[0.5em]
  • 전치: (AB)T=ATBT(A \otimes B)^{T} = A^{T} \otimes B^{T} \\[0.5em]
  • 대각합: tr(AB)=tr(A)tr(B)\tr(A \otimes B) = \tr(A) \tr(B) \\[0.5em]
  • 역행렬: (AB)1=A1B1(A \otimes B)^{-1} = A^{-1} \otimes B^{-1}
    • ABA \otimes B가역이다     \iff AABB가 가역이다 \\[0.5em]
  • 행렬식: det(AB)=det(A)ndet(B)p,AMn×n,BBp×p\det (A \otimes B) = \det(A)^{n} \det(B)^{p},\quad A\in M_{n \times n}, B \in B_{p \times p} \\[0.5em]

행렬곱셈과 마찬가지로 교환법칙은 성립하지 않는다. 간단히 A=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}항등행렬 I2I_{2}의 곱을 보면,

AI2=[a0b00a0bc0d00c0d][ab00cd0000ab00cd]=I2A A \otimes I_{2} = \begin{bmatrix} a & 0 & b & 0 \\ 0 & a & 0 & b \\ c & 0 & d & 0 \\ 0 & c & 0 & d \end{bmatrix} \ne \begin{bmatrix} a & b & 0 & 0 \\ c & d & 0 & 0 \\ 0 & 0 & a & b \\ 0 & 0 & c & d \end{bmatrix} = I_{2} \otimes A


  1. 김영훈·허재성, 양자 정보 이론 (2020), p37 ↩︎