행렬의 내적 (프로베니우스 내적)
📂행렬대수 행렬의 내적 (프로베니우스 내적) 정의 두 m × n m \times n m × n 행렬 X = [ x i j ] X = [x_{ij}] X = [ x ij ] , Y = [ Y ] i j Y=[Y]_{ij} Y = [ Y ] ij 의 내적 inner product 혹은 점곱 dot product 다음과 같이 정의한다.
X ⋅ Y = ⟨ X , Y ⟩ = ∑ i = 1 m ∑ j = 1 n x i j y i j
X \cdot Y = \braket{X, Y} = \sum_{i=1}^{m}\sum\limits_{j=1}^{n} x_{ij}y_{ij}
X ⋅ Y = ⟨ X , Y ⟩ = i = 1 ∑ m j = 1 ∑ n x ij y ij
성분이 복소수 인 복소행렬 인 경우에는 다음과 같다.
X ⋅ Y = ⟨ X , Y ⟩ = ∑ i = 1 m ∑ j = 1 n x ‾ i j y i j
X \cdot Y = \braket{X, Y} = \sum_{i=1}^{m}\sum\limits_{j=1}^{n} \overline{x}_{ij}y_{ij}
X ⋅ Y = ⟨ X , Y ⟩ = i = 1 ∑ m j = 1 ∑ n x ij y ij
x ‾ \overline{x} x 는 켤레 복소수 이다.
설명 벡터의 내적(점곱) 이 "두 벡터의 각 성분을 서로 곱하고, 모두 더하는 것"이므로, 행렬의 내적을 위와 같이 정의하면 벡터의 내적에 대한 자연스러운 일반화가 된다. 이를 아래와 같이 표기하여 프로베니우스 내적 Frobenius inner product 이라고도 하는데, 별 다른 뜻이 있는 건 아니고 그냥 사람 이름이다.
⟨ X , Y ⟩ F
\braket{X, Y}_{F}
⟨ X , Y ⟩ F
엄청 메이저하게 쓰이는 것까지는 아니고, 그냥 표기법의 취향차이다. X X X , Y Y Y 가 행렬이라는 것을 강조하고 싶을 때 쓰인다고 보면 된다.
놈 내적이 있으면 놈을 자연스럽게 정의할 수 있으므로 , 행렬의 (프로베니우스) 놈 을 다음과 같이 정의한다.
∥ X ∥ F : = ⟨ X , X ⟩ F = ∑ i , j ( x i j ) 2 = Tr ( X T X )
\| X \|_{F} := \sqrt{\braket{X, X}_{F}} = \sqrt{\sum\limits_{i,j} (x_{ij})^{2}} = \sqrt{\Tr (X^{\mathsf{T}}X)}
∥ X ∥ F := ⟨ X , X ⟩ F = i , j ∑ ( x ij ) 2 = Tr ( X T X )
위에서 설명했듯 아랫첨자 F _{F} F 를 표기하지 않는 경우도 많다. 마지막 등식은 아래의 공식에 의해 성립한다.
기초성질 복소행렬 X X X , Y Y Y , Z Z Z 와 복소수 α , β \alpha, \beta α , β 에 대해서,
선형성: ⟨ α X , β Y ⟩ = α ‾ β ⟨ X , Y ⟩ \braket{\alpha X, \beta Y} = \overline{\alpha}\beta \braket{X, Y} ⟨ α X , β Y ⟩ = α β ⟨ X , Y ⟩ ⟨ X + Y , Z ⟩ = ⟨ X , Z ⟩ + ⟨ Y , Z ⟩ \braket{X + Y, Z} = \braket{X, Z} + \braket{Y, Z} ⟨ X + Y , Z ⟩ = ⟨ X , Z ⟩ + ⟨ Y , Z ⟩ ⟨ X , Y + Z ⟩ = ⟨ X , Y ⟩ + ⟨ X , Z ⟩ \braket{X, Y + Z} = \braket{X, Y} + \braket{X, Z} ⟨ X , Y + Z ⟩ = ⟨ X , Y ⟩ + ⟨ X , Z ⟩ 켤레대칭성: ⟨ X , Y ⟩ = ⟨ Y , X ⟩ ‾ \braket{X, Y} = \overline{\braket{Y, X}} ⟨ X , Y ⟩ = ⟨ Y , X ⟩ 공식 ( 1 ) (1) ( 1 ) 다음이 성립한다.
X ⋅ Y = ∑ i , j x i j y i j = Tr ( X Y T ) = Tr ( X T Y )
X \cdot Y = \sum_{i, j} x_{ij}y_{ij} = \Tr (X Y^{\mathsf{T}}) = \Tr (X^{\mathsf{T}}Y)
X ⋅ Y = i , j ∑ x ij y ij = Tr ( X Y T ) = Tr ( X T Y )
복소행렬인 경우에는
X ⋅ Y = ∑ i , j x ‾ i j y i j = Tr ( X Y ∗ ) = Tr ( X ∗ Y )
X \cdot Y = \sum_{i, j} \overline{x}_{ij}y_{ij} = \Tr (X Y^{\ast}) = \Tr (X^{\ast}Y)
X ⋅ Y = i , j ∑ x ij y ij = Tr ( X Y ∗ ) = Tr ( X ∗ Y )
∗ ^{\ast} ∗ 는 켤레전치 이다.
증명 ( 1 ) (1) ( 1 ) 인덱스 i i i 에 대해서 풀어써보면,
∑ i = 1 m ∑ j = 1 n x i j y i j = ∑ j = 1 n x 1 j y 1 j + ∑ j = 1 n x 2 j y 2 j + ⋯ + ∑ j = 1 n x n j y n j
\sum_{i=1}^{m}\sum\limits_{j=1}^{n} x_{ij}y_{ij}
= \sum\limits_{j=1}^{n} x_{1j}y_{1j} + \sum\limits_{j=1}^{n} x_{2j}y_{2j} + \cdots + \sum\limits_{j=1}^{n} x_{nj}y_{nj}
i = 1 ∑ m j = 1 ∑ n x ij y ij = j = 1 ∑ n x 1 j y 1 j + j = 1 ∑ n x 2 j y 2 j + ⋯ + j = 1 ∑ n x nj y nj
첫번째항은 X Y T XY^{\mathsf{T}} X Y T 의 1 1 1 행, 1 1 1 열 성분이다.
행렬의 거듭제곱꼴
[ A B T ] i j = [ ∑ k a i k b j k ]
[AB^{\mathsf{T}}]_{ij} = \left[ \sum_{k} a_{ik}b_{jk}\right]
[ A B T ] ij = [ k ∑ a ik b jk ]
두번째항은 [ X Y T ] 22 [XY^{\mathsf{T}}]_{22} [ X Y T ] 22 , i i i 번째 항은 [ X Y T ] i i [XY^{\mathsf{T}}]_{ii} [ X Y T ] ii 이다. 따라서 정리하면,
∑ i = 1 m ∑ j = 1 n x i j y i j = ∑ i [ X Y T ] i i
\sum_{i=1}^{m}\sum\limits_{j=1}^{n} x_{ij}y_{ij}
= \sum\limits_{i} [XY^{\mathsf{T}}]_{ii}
i = 1 ∑ m j = 1 ∑ n x ij y ij = i ∑ [ X Y T ] ii
이는 트레이스 의 정의와 같다. Tr ( A ) = Tr ( A T ) \Tr(A) = \Tr(A^{\mathsf{T}}) Tr ( A ) = Tr ( A T ) 이므로, 최종적으로 다음을 얻는다.
X ⋅ Y = ⟨ X , Y ⟩ = ∑ i , j x i j y i j = Tr ( X Y T ) = Tr ( X T Y )
X \cdot Y = \braket{X, Y} = \sum_{i, j} x_{ij}y_{ij} = \Tr (X Y^{\mathsf{T}}) = \Tr (X^{\mathsf{T}}Y)
X ⋅ Y = ⟨ X , Y ⟩ = i , j ∑ x ij y ij = Tr ( X Y T ) = Tr ( X T Y )
■