Search
Duplicate

선형대수/ 행렬의 종류 - 정사각행렬과 정사각이 아닌 행렬

정사각 행렬

이하의 행렬들은 정사각에 대해서만 정의 된다.

대칭 행렬(symmetric matrix)

n×nn \times n 행렬 A\bold{A}에 대하여 가 A\bold{A}^\top와 같을 때 대칭행렬이라고 한다.
사실 모든 m×nm \times n 행렬 A\bold{A}에 대해 자신의 전치와 곱하면 대칭행렬이 된다. AA=AA\bold{AA}^\top = \bold{A}^\top \bold{A}
A=A\bold{A} = \bold{A}^\top
실수인 대칭행렬이면 고윳값이 실수이고, 고유벡터는 서로 직교한다.
실수인 대칭행렬은 항상 대각화 가능하다.
NN차원 대칭행렬은 개의 랭크-1 행렬의 합으로 표시할 수 있다.
M=i=1Nλivivi=i=1NλiMi=λ1M1+λ2M2+...+λnMn\bold{M} = \sum_{i=1}^{N} \lambda_i v_i v_i^\top = \sum_{i=1}^{N} \lambda_i M_i = \lambda_1 M_1 + \lambda_2 M_2 + ... + \lambda_n M_n
대칭행렬이 양의 정부호이면 고윳값은 모두 양수다. 역도 성립힌다.
행렬의 모든 고윳값이 양수인 경우 양의 정부호라고 이해하는게 쉽다.
대칭행렬이 양의 준정부호이면 고윳값은 모두 0이거나 양수다. 역도 성립한다.
행렬의 모든 고윳값이 음수가 아닌 경우 양의 준정부호라고 하는게 쉽다.
비슷하게 행렬의 모든 고윳값이 음수인 경우 음의 정부호이고,
행렬의 모든 고윳값이 양수가 아닌 경우 음의 준정부호가 된다.
위 4가지 중 어느 것도 아닐 때, 부정부호 행렬이라고 한다.
대칭행렬인 여부를 따지는 것은 대칭행렬일 때 고윳값이 모두 실수이기 때문이다. 비대칭행렬인 경우 복소수일 수 있음.
에르미트 행렬은 실수 대칭행렬을 좀 더 일반화한 것으로 켤레 전치가 같은 복소수 정사각행렬을 의미한다.
에르미트 행렬까지 양의 정부호, 음의 정부호를 따질 수 있음.
에르미트 행렬의 고윳값은 항상 실수

대각 행렬(diagonal matrix)

n×nn \times n 행렬 D\bold{D}에 대하여 의 대각 성분을 제외한 모든 성분이 0인 행렬을 대각 행렬(diagonal matrix)이라고 한다.
D={0ijotherwisei=j\bold{D} = \begin{cases} 0 & i \neq j \\ \text{otherwise} & i = j \end{cases}
일반적으로 대각행렬은 D=diag(d1,d2,...,dn)\bold{D} = \text{diag}(d_1, d_2,...,d_n)로 표기된다.
사실 대각 행렬은 정사각이 아니어도 정의가 가능하다. 정사각이 아닌 대각행렬은 rectangular diagonal matrix라고 할 수 있는데, 마찬가지도 대각 성분이 아닌 것이 모두 0을 만족한다. 다만 일반적으로 대각 행렬이라고 하면 정사각인 대각 행렬을 의미한다.

띠 대각 행렬(band-diagonal matrix)

행렬이 대각을 따라 kk 변에만 0이 아닌 요소를 갖고 있는 경우 띠 대각 행렬(band-diagonal matrix)이라고 한다. 여기서 kk는 bandwidth이다.
예컨대 6×66 \times 6 삼중대각(tridiagonal) 행렬은 다음과 같다.
[A11A120......0A21A22A230A32A33A34A43A44A450A54A55A560......0A65A66]\left[ \begin{matrix} A_{11} & A_{12} & 0 & ... & ... & 0 \\ A_{21} & A_{22} & A_{23} & \ddots & \ddots & \vdots \\0 & A_{32} & A_{33} & A_{34} & \ddots & \vdots \\ \vdots & \ddots & A_{43} & A_{44} & A_{45} & 0 \\ \vdots & \ddots & \ddots & A_{54} & A_{55} & A_{56} \\ 0 & ... & ... & 0 & A_{65} & A_{66} \\ \end{matrix} \right]

항등 행렬(Identity Matrix)

n×nn \times n 대각 행렬 I\bold{I}에 대하여 모든 대각 성분이 1이면 항등 행렬(identity matrix)이라고 한다.
I={1i=j0ij\bold{I} = \begin{cases} 1 & i = j \\ 0 & i \neq j \end{cases}
항등 행렬은 모든 ARn×n\bold{A} \in \mathbb{R}^{n\times n} 행렬에 대해 다음의 속성을 만족한다.
AI=A=IA\bold{A}\bold{I} = \bold{A} = \bold{I}\bold{A}

인접 행렬(adjacency matrix)

모든 성분이 0 또는 1이고, (편의를 위해) 대각성분인 모두 0인 행렬을 인접 행렬(incidence matrix)이라고 한다.
Aij={0i=j01ijA_{ij} = \begin{cases} 0 & i = j \\ 0 \vee 1 & i \neq j \end{cases}
인접 행렬은 그래프의 노드 간의 인접관계를 나타내는데도 사용한다. 이 경우 노드 간에 연결이 있으 ㄹ경우 1, 그렇지 않은 경우 0을 나타낸다.

반대칭행렬(skew-symmetric matrix)

n×nn \times n 행렬 A\bold{A}에 대하여 다음이 성립하면 반대칭행렬(skew-symmetric matrix)라 한다.
반대칭행렬은 정사각에서만 정의된다.
A=A\bold{A}^\top = -\bold{A}
nn이 홀수일 때, 반대칭행렬은 가역이 아니다.

멱영행렬(nilpotent matrix)

어떤 자연수 kk에 대하여 다음이 성립하는 n×nn \times n 행렬 A\bold{A}을 멱영행렬(nilpotent matrix)라고 한다.
여기서 0\bold{0}n×nn \times n 영행렬
Ak=0\bold{A}^k = \bold{0}
멱영행렬 A\bold{A}의 행렬식은 0이다.
det(A)=0\det(\bold{A}) = 0

직교 행렬(orthogonal matrix)

다음을 만족하는 정사각 행렬 AMn×n(R)\bold{A} \in M_{n \times n}(R)을 직교행렬(orthogonal matrix)이라 한다.
AA=AA=I\bold{A}^\top\bold{A} = \bold{AA}^\top = \bold{I}
A\bold{A}가 직교행렬이면 A\bold{A}의 행렬식은 다음과 같다.
det(A)=±1\det(\bold{A}) = \pm 1

분산 행렬(scatter matrix)

임의의 실수 행렬 Xn×m\bold{X}_{n \times m}에 대해 XX\bold{X}^\top \bold{X}인 정방행렬을 분산행렬(scatter matrix)라고 한다.
XX\bold{X}^\top \bold{X}은 대칭행렬이다. 고로 분산행렬은 대칭이다. 임의의 행렬을 대칭행렬로 만들 수 있는 가장 쉬운 방법.
분산(scatter) 행렬의 정규화된 버전이 공분산(covariance) 행렬이 된다.
임의의 영벡터가 아닌 벡터 x\bold{x}에 대해 분산 행렬에 대한 이차형식을 구하면, 아래와 같다.
x(XX)x=(Xx)(Xx)=uu0\bold{x}^\top(\bold{X}^\top \bold{X}) \bold{x} = (\bold{Xx})^\top(\bold{Xx}) = \bold{u}^\top \bold{u} \geq 0
이것은 어떤 벡터 u\bold{u}의 제곱합이 된다. 따라서 이 값은 0보다 같거나 크고, 분산행렬은 양의 준정부호(positive semidefinite)다. 그런데 분산행렬은 대칭행렬이므로 양의 준정부호이면 고유값이 모두 0 이상이다.
행렬 X\bold{X}가 풀랭크이면 이 행렬의 분산행렬 XX\bold{X}^\top \bold{X}의 역행렬이 존재한다. 그리고 이 경우 분산행렬은 양의 정부호(positive definite)가 되고 역행렬이 존재한다.

유니타리 행렬(unitary matrix)

복소수 행렬 A\bold{A}에 대해 A\overline{\bold{A}}A\bold{A}의 켤레행렬을 의미한다. A\bold{A}의 켤레전치행렬 A\overline{\bold{A}^\top}A\bold{A}와 다음의 관계가 성립할 때, A\bold{A}를 유니타리 행렬(unitary matrix)라고 한다.
켤레전치 A\overline{\bold{A}}^\top와 전치켤레 A\overline{\bold{A}^\top}는 항상 같기 때문에 A=A\overline{\bold{A}}^\top = \overline{\bold{A}^\top}그냥 켤레전치라고 해도 무방하다.
AA=AA=I\bold{A}\overline{\bold{A}^\top} = \overline{\bold{A}^\top}\bold{A} =\bold{I}
이는 보다 직관적인 표현으로 행렬 A\bold{A}의 켤레전치행렬 A\overline{\bold{A}^\top}A1\bold{A}^{-1}의 역행렬과 같다 A=A1\overline{\bold{A}^\top} = \bold{A}^{-1}는 의미이다.
참고로 켤레 전치는 일반적으로 다음과 같이 보다 간편하게 표기한다.
A=A\overline{\bold{A}^\top} = \bold{A}^*
A\bold{A}가 유니터리행렬이면, A\bold{A}의 열들은 정규 직교 기저를 이루고, A\bold{A}의 행들도 정규 직교 기저를 이룬다.
A\bold{A}가 유니터리행렬이면 A\bold{A}의 행렬식은 1이 된다.
det(A)=1\det(\bold{A}) = 1
복소수 정사각행렬 A\bold{A} —유니타리 행렬일 필요는 없다— 의 켤레행렬에 대해 다음의 행렬식이 성립한다.
det(A)=det(A)\det(\overline{\bold{A}}) = \overline{\det(\bold{A})}

에르미트 행렬(Hermitian Matrix)

복소수 행렬 A\bold{A}에 대해 켤레 전치가 원래의 행렬과 같으면 에르미트 행렬이라 한다.
A=A=A\bold{A} = \overline{\bold{A}^\top} = \bold{A}^*
에르미트 행렬의 고윳값은 항상 실수이다.

스칼라 행렬(scalar matrix)

스칼라 λ\lambda에 대하여 λI\lambda\bold{I} 꼴로 나타나는 정사각 행렬을 스칼라 행렬(scalar matrix)이라고 한다.

확률 행렬(stochastic matrix)

음이 아닌 성분을 가지고 각 열의 합이 1인 행렬을 확률 행렬(stochastic matrix) 이라 한다.
일반적으로 음이 아닌 성분을 가지고 열의 합이 1인 행렬은 right stochastic matrix라 하고, 행의 합이 1인 행렬은 left stochastic 행렬이라 한다. 벡터는 열벡터를 기본으로 사용하는게 관례이기 때문에 확률 행렬은 right stochastic matrix를 기본으로 생각한다.
열의 합이 1이 되기 때문에 확률 행렬의 열 벡터를 확률 벡터(probability vector)라 한다.
확률 행렬과 확률 벡터의 곱은 확률 벡터이다.
n×nn \times n 확률 행렬의 곱은 확률 행렬이다. 특히 확률 행렬의 거듭제곱은 확률 행렬이다.
음이 아닌 실수 성분을 가지는 n×nn \times n 행렬 A\bold{A}와 음이 아닌 성분을 가지는 열벡터 vRn\bold{v} \in \mathbb{R}^n, 각 성분이 11인 열벡터 uRn\bold{u} \in \mathbb{R}^n에 대해 다음이 성립한다.
1.
A\bold{A}이 확률행렬이기 위한 필요충분조건은 uA=u\bold{u}^\top \bold{A} = \bold{u}^\top이다.
2.
v\bold{v}가 확률벡터이기 위한 필요충분조건은 uv=(1)\bold{u}^\top\bold{v} = (1)이다.

전이 행렬(transition matrix)

전이 행렬은 확률 행렬의 종류로 음이 아닌 성분을 갖고 있고 열의 합이 1이며, 각 행과 열은 nn 가지 상태(state)에 대응한다. 즉 Aij\bold{A}_{ij} 성분은 한 단계에의해 상태 jj에서 상태 ii로 이동할 확률을 나타낸다.
전이 행렬 A\bold{A}의 어떤 거듭제곱이 0이 아닌 양수만 가지면 전이 행렬 A\bold{A}를 regular라고 한다.
Regular 전이행렬 A\bold{A}와 고윳값 λ\lambda에 대해 다음이 성립한다.
1.
λ1|\lambda| \le 1
2.
λ=1|\lambda| = 1이면 λ=1\lambda = 1이다. 또한 dim(Eλ)=1\dim(E_\lambda) = 1이다.
전이 행렬 A\bold{A}에 대해 다음이 성립한다.
1.
A\bold{A}의 고윳값 11의 중복도는 11이다.
2.
limmAm\lim_{m \to \infty} \bold{A}^m이 존재한다.
3.
L=limmAm\bold{L} = \lim_{m \to \infty} \bold{A}^m은 전이행렬이다.
4.
AL=LA=L\bold{AL} = \bold{LA} = \bold{L}
5.
L\bold{L}의 모든 열은 동일하다. L\bold{L}의 각 열 v\bold{v}는 고윳값 11에 대응하는 고유벡터이자 확률벡터로 유일하게 결정된다. (이 벡터 v\bold{v}를 regular 전이 행렬 A\bold{A}의 고정확률벡터(fixed probability vector 또는 stationary vector)라 한다.)
6.
임의의 확률 ww에 대하여 limm(Amw)=v\lim_{m \to \infty} (\bold{A}^m w) = \bold{v}이다.

헤시안 행렬(Hessian matrix)

벡터를 스칼라로 매핑하는 함수 f:RnR\bold{f}: \mathbb{R}^n \to \mathbb{R}에 대해 2번 편미분한 값을 갖는 행렬을 헤시안 행렬이라 한다.
Hf=2fx2=2f=(2fx12...2fx1xn2fxnx1...2fxn2)\bold{H}_f = {\partial^2 f \over \partial \bold{x}^2} = \nabla^2 f = \left( \begin{matrix} {\partial^2 f \over \partial x_1^2} & ... & {\partial^2 f \over \partial x_1 \partial x_n} \\ \vdots & \ddots & \vdots \\ {\partial^2 f \over \partial x_n \partial x_1} & ... & {\partial^2 f \over \partial x_n^2} \end{matrix} \right)
함수 f:RnR\bold{f}: \mathbb{R}^n \to \mathbb{R}에 대해 야코비안 행렬의 크기는 n×nn \times n이 된다. 따라서 헤시안은 항상 정사각 행렬이다.
헤시안은 야코비안의 기울기로 볼 수 있다.
헤시안은 다변수 함수가 극값을 가질 때 그것이 극대인지 극소인지 판정할 때 사용한다.

유사 행렬(Similar matrix)

정사각행렬 A,B\bold{A, B}에 대해 다음을 만족하는 정사각행렬 P\bold{P}가 존재하면 두 행렬 A,B\bold{A, B}는 유사 행렬이라고 한다.
B=P1AP\bold{B} = \bold{P}^{-1}\bold{AP}
유사 행렬이면 다음이 성립한다.
1.
A\bold{A}는 자기 자신과 유사하다. A=P1AP\bold{A} = \bold{P}^{-1} \bold{AP}. 이 때 P=I\bold{P} = \bold{I}
2.
A\bold{A}B\bold{B}와 유사하면 B\bold{B}A\bold{A}와 유사하다. A=P1BPB=P1AP\bold{A} = \bold{P}^{-1} \bold{BP} \Leftrightarrow \bold{B} = \bold{P}^{-1} \bold{AP}
3.
A\bold{A}B\bold{B}와 유사하고 B\bold{B}C\bold{C}가 유사하면 A\bold{A}C\bold{C}도 유사하다. A=P1BPB=P1CPC=P1AP\bold{A} = \bold{P}^{-1} \bold{BP} \Rightarrow \bold{B} = \bold{P}^{-1} \bold{CP} \Rightarrow \bold{C} = \bold{P}^{-1}\bold{AP}
4.
A\bold{A}B\bold{B}와 유사하면 rank가 같다. rank(A)=rank(B)\text{rank}(\bold{A}) = \text{rank}(\bold{B})
5.
A\bold{A}B\bold{B}와 유사하면 trace가 같다. tr(A)=tr(B)\text{tr}(\bold{A}) = \text{tr}(\bold{B})
6.
A\bold{A}B\bold{B}와 유사하면 determinant가 같다. det(A)=det(B)\det(\bold{A}) = \det(\bold{B})
7.
A\bold{A}B\bold{B}와 유사하면 고윳값이 같다.
8.
A\bold{A}B\bold{B}와 유사하면 An\bold{A}^nBn\bold{B}^n가 유사하다. An=P1BnP\bold{A}^n = \bold{P}^{-1} \bold{B}^n \bold{P}

Gram 행렬

벡터 집합 내의 모든 벡터들 간의 내적을 행렬로 표현한 것을 Gram 행렬이라고 한다. 다시 말해 V={v1,...,vn}V = \{v_1,...,v_n\} 에 대한 n×nn \times n Gram 행렬은 다음과 같이 정의된다.
[v1,v1v1,v2v1,vnv2,v1v2,v2v2,vnvn,v1vn,v2vn,vn]\begin{bmatrix} \langle v_1, v_1 \rangle & \langle v_1, v_2 \rangle & \dots & \langle v_1, v_n \rangle \\ \langle v_2, v_1 \rangle & \langle v_2, v_2 \rangle & \dots & \langle v_2, v_n \rangle \\ \vdots & \vdots & \ddots & \vdots \\ \langle v_n, v_1 \rangle & \langle v_n, v_2 \rangle & \dots & \langle v_n, v_n \rangle\end{bmatrix}
이 행렬은 벡터들의 독립성이나 기저, 차원을 판단 하거나 데이터 포인트 간의 유사도를 파악하는데 쓰인다.

정사각이 아닌 행렬

이하의 행렬들은 정사각이 아닌 경우에도 정의 가능하다.

삼각 행렬(triangular matrix)

m×nm \times n 행렬 A\bold{A}에 대하여 A\bold{A}의 대각성분 아래의 모든 성분이 0이면 상삼각행렬(upper triangular matrix)라고 한다.
Aij=0 (i>j)\bold{A}_{ij} = 0 \ (i > j)
m×nm \times n 행렬 A\bold{A}에 대하여 A\bold{A}의 대각성분 위의 모든 성분이 0이면 하삼각행렬(lower triangular matrix)라고 한다.
Aij=0 (i<j)\bold{A}_{ij} = 0 \ (i < j)
상삼각행렬의 전치행렬은 하삼각행렬이 되고, 그 반대도 성립한다. 상삼각행렬을 U\bold{U}, 하삼각행렬을 L\bold{L}이라고 할 때 다음과 같다.
U=LU=L\begin{aligned} \bold{U}^\top &= \bold{L}\\ \bold{U} &= \bold{L}^\top \end{aligned}
A\bold{A}가 삼각 행렬이면 대각 항목이 A\bold{A}의 고유값(eigen-value)가 된다. 따라서 행렬식(determinant)는 대각 요소들의 곱이 된다.
det(A)=iAii\det(\bold{A}) = \prod_i A_{ii}

첨가 행렬(augmented matrix)

m×nm \times n 행렬 A\bold{A}m×pm \times p 행렬 A\bold{A}에 대해 첨가행렬(augmented matrix) (AB)(\bold{A}|\bold{B})m×(n+p)m \times (n + p) 행렬 (A B)(\bold{A \ B})이다.
즉 처음 nn개의 열은 A\bold{A}의 열이고 그 다음 pp개의 열은 B\bold{B}의 열인 행렬이다.

야코비 행렬(Jacobian matrix)

벡터를 다른 벡터로 매핑하는 함수 f:RnRm\bold{f}: \mathbb{R}^n \to \mathbb{R}^m에 대해 1번 편미분한 값을 갖는 행렬을 야코비 행렬이라고 한다.
Jf(x)=fx(f1x1...f1xnfmx1...fmxn)=(f1(x)fm(x))\bold{J}_\bold{f}(\bold{x}) = {\partial \bold{f} \over \partial \bold{x}^\top} \triangleq \left( \begin{matrix} {\partial f_1 \over \partial x_1} & ... & {\partial f_1 \over \partial x_n} \\ \vdots & \ddots & \vdots \\ {\partial f_m \over \partial x_1} & ... & {\partial f_m \over \partial x_n} \end{matrix} \right) = \left( \begin{matrix} \nabla f_1(\bold{x})^\top \\ \vdots \\ \nabla f_m(\bold{x})^\top \end{matrix} \right)
함수 f:RnRm\bold{f}: \mathbb{R}^n \to \mathbb{R}^m에 대해 야코비안 행렬의 크기는 m×nm \times n이 된다.

참조