logo

행렬의 스미스 노멀 폼 📂위상데이터분석

행렬의 스미스 노멀 폼

정의 1 2

PID, 즉 주아이디얼정역 RR 이 주어져 있다고 하자. 행렬 ARm×nA \in R^{m \times n} 에 대해 다음을 만족시키는 d1,,drRd_{1} , \cdots , d_{r} \in R가역행렬 PRm×mP \in R^{m \times m}, QRn×nQ \in R^{n \times n} 이 존재하면 PAQRm×nPAQ \in R^{m \times n}AA스미스 노멀 폼smith Normal form이라 한다. PAQ=[d10000000000dr000000000000]Rm×n PAQ = \begin{bmatrix} d_{1} & 0 & 0 & 0 & \cdots & 0 \\ 0 & \ddots & 0 & 0 & \cdots & 0 \\ 0 & 0 & d_{r} & 0 & \cdots & 0 \\ 0 & 0 & 0 & 0 & \cdots & 0 \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & 0 & 0 & \cdots & 0 \end{bmatrix} \in R^{m \times n} 여기서 d1,,drd_{1} , \cdots , d_{r}RR 에서 00 이 아니어야 하며, d1drd_{1} \mid \cdots \mid d_{r} 이어야한다. 다시 말해 dk0d_{k} \ne 0dk+1d_{k+1} 의 인자divisor여야한다.

예시

역행렬이 나와서 복잡해보이지만 실상은 가우스 소거법을 통해서 구할 수 있다. 공식적으로 쓰는 표현은 절대 아니지만, 예시를 읽기 쉽도록 행렬 우측에 어떤 연산을 취했는지 표기하도록 하겠다. rr- 는 행row, cc- 는 열column이고 x-x 는 교환exchange, e-e 는 소거elimination, +-+ 는 해당 계수를 곱해서 더하는 연산이다.

물론 가우스 소거법을 통해 계산하는 것은 계산 측면에서 별로 현명하지 않을지도 모른다. 그냥 손계산 할 때는 이렇게도 구할 수 있구나 하는 정도로만 참고하자.

정수환 Z\mathbb{Z}

[231411][132114]cx(1,3)[100126]ce(12,3)[100026]re(12)[100020]ce(23) \begin{align*} \begin{bmatrix} 2 & 3 & 1 \\ 4 &-1 &-1 \end{bmatrix} \sim & & \begin{bmatrix} 1 & 3 & 2 \\ -1 &-1 & 4 \end{bmatrix} & \qquad cx(1,3) \\ \sim & & \begin{bmatrix} 1 & 0 & 0 \\ -1 & 2 & 6 \end{bmatrix} & \qquad ce(1 \to 2,3) \\ \sim & & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 6 \end{bmatrix} & \qquad re(1 \to 2) \\ \sim & & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \end{bmatrix} & \qquad ce(2 \to 3) \end{align*}

여기서 121 \mid 2 임에 주의하라.

다항식환 Q[x]\mathbb{Q} [x]

[x20012x10x+1][x2x012x10x]c+(13,1)[x+12021010x]re(31,2)[210x+12010x]rx(1,2)[1202x+1001x]cx(1,2)[1200x3001x]re(12)[1000x3001x]ce(12)[10001x0x30]rx(2,3)[1000100x3x(x3)]c+(23,x)[10001000x(x3)]r+(23,(x3)) \begin{align*} \begin{bmatrix} x & 2 & 0 \\ 0 & 1 & 2x \\ -1 & 0 & x+1 \end{bmatrix} \sim & \begin{bmatrix} x & 2 & x \\ 0 & 1 & 2x \\ -1 & 0 & x \end{bmatrix} & \qquad c+(1 \to 3, 1) \\ \sim & \begin{bmatrix} x+1 & 2 & 0 \\ 2 & 1 & 0 \\ -1 & 0 & x \end{bmatrix} & \qquad re(3 \to 1, 2) \\ \sim & \begin{bmatrix} 2 & 1 & 0 \\ x+1 & 2 & 0 \\ -1 & 0 & x \end{bmatrix} & \qquad rx(1,2) \\ \sim & \begin{bmatrix} 1 & 2 & 0 \\ 2 & x+1 & 0 \\ 0 & -1 & x \end{bmatrix} & \qquad cx(1,2) \\ \sim & \begin{bmatrix} 1 & 2 & 0 \\ 0 & x-3 & 0 \\ 0 & -1 & x \end{bmatrix} & \qquad re(1 \to 2) \\ \sim & \begin{bmatrix} 1 & 0 & 0 \\ 0 & x-3 & 0 \\ 0 & -1 & x \end{bmatrix} & \qquad ce(1 \to 2) \\ \sim & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & -x \\ 0 & x-3 & 0 \end{bmatrix} & \qquad rx(2,3) \\ \sim & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & x-3 & x(x-3) \end{bmatrix} & \qquad c+(2 \to 3, x) \\ \sim & \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & x(x-3) \end{bmatrix} & \qquad r+(2 \to 3, -(x-3)) \end{align*}

설명

주의해야할 것은 주어진 주아이디얼정역 RR라는 보장이 없기 때문에 일반적으로 나눗셈이 허용되지 않고, PID베주 정역임을 이용해서 소거를 해야한다는 것이다.

정리

존재성과 유일성

RR주아이디얼정역일 때, 모든 행렬 ARm×nA \in R^{m \times n} 에 대해 스미스 노멀 폼이 유일하게 존재한다. 이 때 유일성은 dkd_{k} 들의 단원배를 무시한다.

증명

구체적으로 스미스 노멀 폼을 구하는 알고리즘을 통해 보인다.

같이보기