{{위키데이터 속성 추적}}
[[선형대수학]]에서, '''스미스 표준형'''({{llang|en|Smith canonical form}})은 [[주 아이디얼 정역]] 위에 주어진 임의의 모양의 [[행렬]]과 [[행렬의 동치|동치]]인 매우 단순한 꼴의 [[대각 행렬]]이다. 스미스 표준형의 존재는 [[주 아이디얼 정역]] 위의 [[유한 생성 가군|유한 생성]] [[자유 가군]]과 [[부분 가군]]의 적절한 [[기저 (선형대수학)|기저]] 사이의 선형 관계는 아주 간단할 수 있다는 사실과 [[동치]]이다.

== 정의 ==
[[주 아이디얼 정역]] <math>R</math> (예를 들어, [[정수환]] <math>\mathbb Z</math> 또는 [[체 (수학)|체]] 계수 일변수 [[다항식환]] <math>K[x]</math>) 위의 임의의 <math>m\times n</math> 행렬 <math>A\in\operatorname{Mat}(m,n;R)</math>에 대하여, 다음 조건을 만족시키는 [[가역 행렬]] <math>P\in\operatorname{GL}(m;R)</math>와 <math>Q\in\operatorname{GL}(n;R)</math> 및 유한 개의 원소 <math>d_1,d_2,\dots,d_r\in R</math>가 존재한다.
:<math>PAQ=
  \begin{pmatrix}
    d_1 \\
    & d_2 \\
    && \ddots \\
    &&& d_r \\
    &&&& 0_{(m-r)\times(n-r)} \\
  \end{pmatrix}</math>
:<math>d_i\ne 0\qquad(i=1,2,\dots,r)</math>
:<math>d_1\mid d_2\mid\cdots\mid d_r</math>
(여기서 <math>0_{(m-r)\times(n-r)}</math>는 <math>(m-r)\times(n-r)</math> [[영행렬]]이다.) 또한 <math>d_1,d_2,\dots,d_r</math>은 [[가역원]]배의 차이를 무시하면 유일하다. 이를 <math>A</math>의 '''스미스 표준형'''이라고 한다.

== 알고리즘 ==
행렬의 스미스 표준형은 두 행 또는 두 열을 교환하는 연산과 한 행 또는 열에 다른 행 또는 열의 배수를 더하는 연산을 통해 구할 수 있다. <math>R</math>는 [[유일 인수 분해 정역]]이므로, 모든 0이 아닌 원소는 유일한 인수 분해를 갖는다. 임의의 <math>r\in R\setminus\{0\}</math>에 대하여, <math>l(r)\in\mathbb N</math>이 <math>r</math>의 소인수의 [[중복집합]]의 크기라고 하자.

우선 <math>R</math> 위의 <math>2\times 2</math> 행렬
:<math>
  \begin{pmatrix}
    a & b \\
    c & e
  \end{pmatrix}
</math>
을 생각하자. <math>R</math>가 [[베주 정역]]이므로, <math>a</math>와 <math>b</math>의 [[최대공약수]] <math>d</math>에 대하여, <math>d=ua+vb</math>인 <math>u,v\in R</math>가 존재한다. <math>a=da'</math>, <math>b=db'</math>라고 하자. 그렇다면 <math>ua'+vb'=1</math>이다. 따라서
:<math>
  \begin{pmatrix}
    u & -b' \\
    v & a'
  \end{pmatrix}
</math>
은 [[가역 행렬]]이며,
:<math>
  \begin{pmatrix}
    a & b \\
    c & e
  \end{pmatrix}
  \begin{pmatrix}
    u & -b' \\
    v & a'
  \end{pmatrix}
=
  \begin{pmatrix}
    d & 0 \\
    uc+vd & -b'c+a'd
  \end{pmatrix}
</math>
이다. 마찬가지로, 왼쪽에 [[가역 행렬]]을 곱하여 첫 행 첫 열 성분이 <math>a</math>와 <math>c</math>의 [[최대공약수]]이며 둘째 행 첫 열 성분이 0이도록 만들 수 있다.

이제 일반적인 <math>m\times n</math> 행렬 <math>A</math>를 생각하자. 만약 <math>A=0</math>이라면, <math>A</math>는 이미 스스로의 스미스 표준형이다. <math>A\ne 0</math>이라고 가정하자. 행과 열의 교환을 통해, 편의상 <math>A_{11}\ne 0</math>이라고 가정하자. (보통 과정을 간단하게 만들기 위해 <math>l(A_{11})</math>가 가장 작도록 행·열을 교환한다.) 만약 모든 <math>i,j=2,\dots,n</math>에 대하여 <math>A_{11}\mid A_{ij}</math>라면, 각 열에 첫 열의 배수를 더하고 각 행에 첫 행의 배수를 더하여, 첫 행과 첫 열의 <math>A_{11}</math>을 제외한 모든 성분이 0이 되게 만들 수 있다. 만약 <math>A_{11}\nmid A_{ij}</math>인 <math>i,j=2,\dots,n</math>이 존재한다면, 행과 열의 교환 및 행 또는 열에 다른 행 또는 열의 배수를 더하는 연산을 통해 <math>A_{11}\nmid A_{12}</math>이거나 <math>A_{11}\nmid A_{21}</math>라고 가정할 수 있다. (예를 들어, 만약 <math>A_{11}\mid A_{12},A_{21}</math>이지만 <math>A_{11}\nmid A_{22}</math>라면, 첫 행의 적절한 배수를 둘째 행에서 빼 둘째 행 첫 열의 성분을 0으로 만들고, 마찬가지로 첫 행 둘째 열의 성분을 0으로 만든 뒤, 다시 둘째 행을 첫 행에 더하면, <math>A_{11}</math>은 변하지 않으며, <math>A_{11}</math>이 바로 오른쪽 성분을 나누지 못하게 된다.) 편의상 <math>A_{11}\nmid A_{12}</math>라고 하자. 그렇다면
:<math>
  \begin{pmatrix}
    A_{11} & A_{12} \\
    A_{21} & A_{22}
  \end{pmatrix}
Q'=
  \begin{pmatrix}
    A'_{11} & 0 \\
    A'_{21} & A'_{22}
  \end{pmatrix}
</math>
:<math>A'_{11}=\gcd\{A_{11},A_{12}\}</math>
인 가역 행렬 <math>Q'</math>이 존재한다. 따라서
:<math>Q=
  \begin{pmatrix}
    Q' & 0 \\
    0 & 1_{(n-2)\times(n-2)}
  \end{pmatrix}
</math>
는 [[가역 행렬]]이며, 행렬 <math>AQ</math>의 첫 행 첫 열 성분은 <math>A'_{11}</math>이다. 또한 <math>A_{11}\nmid A_{12}</math>이므로 <math>A'_{11}</math>은
:<math>l(A'_{11})<l(A_{11})</math>
을 만족시킨다. (<math>A_{11}\nmid A_{21}</math>인 경우에도 [[가역 행렬]]의 왼쪽 곱셈을 통해 첫 행 첫 열의 소인수의 수를 감소시킬 수 있다.) 첫 행 첫 열의 원소는 소인수의 수가 줄어들수록 [[가역원]]에 가까워져 ‘다른 성분들을 나눌 가능성’이 늘어난다. 따라서 이와 같은 과정을 반복하면 결국 첫 행 첫 열의 성분이 모든 다른 성분을 나누는 행렬을 얻는다. 이제 첫 행의 적절한 배수를 다른 행에 더하고 첫 열의 적절한 배수를 다른 열에 더하면 <math>A</math>는 다음과 같은 꼴의 행렬과 동치가 된다.
:<math>
  \begin{pmatrix}
    d_1 & 0 \\
    0 & A'
  \end{pmatrix}
</math>
:<math>d_1\mid A'_{ij}\qquad(\forall i,j)</math>
다시 <math>A'</math>에 대하여 같은 과정을 반복하면 <math>A</math>와 동치인 다음과 같은 꼴의 행렬을 얻는다.
:<math>
  \begin{pmatrix}
    d_1 & 0 \\
    0 & d_2 \\
    && A''
  \end{pmatrix}
</math>
:<math>d_1\mid d_2\mid A''_{ij}\qquad(\forall i,j)</math>
여기서 <math>d_1\mid d_2</math>인 이유는 <math>d_2</math>가 <math>A'</math>의 성분의 선형 결합이기 때문이다.

위와 같은 과정을 반복하면 결국 스미스 표준형을 얻는다.

== 예 ==
유리수 계수 [[다항식환]] <math>\mathbb Q[x]</math> 위의 [[행렬]]
:<math>
  \begin{pmatrix}
    x+3 & 1 & 1 \\
    2 & x+2 & 1 \\
    -6 & -3 & x-2
  \end{pmatrix}
</math>
의 스미스 표준형은 다음과 같이 구할 수 있다.
:<math>
\begin{align}
  \begin{pmatrix}
    x+3 & 1 & 1 \\
    2 & x+2 & 1 \\
    -6 & -3 & x-2
  \end{pmatrix}
&\sim
  \begin{pmatrix}
    1 & 1 & x+3 \\
    1 & x+2 & 2 \\
    x-2 & -3 & -6
  \end{pmatrix}
\sim
  \begin{pmatrix}
    1 & 1 & x+3 \\
    0 & x+1 & -x-1 \\
    0 & -x-1 & -x^2-x
  \end{pmatrix}
\sim
  \begin{pmatrix}
    1 & 0 & 0 \\
    0 & x+1 & -x-1 \\
    0 & -x-1 & -x^2-x
  \end{pmatrix}
\\&\sim
  \begin{pmatrix}
    1 & 0 & 0 \\
    0 & x+1 & -x-1 \\
    0 & 0 & -(x+1)^2
  \end{pmatrix}
\sim
  \begin{pmatrix}
    1 & 0 & 0 \\
    0 & x+1 & 0 \\
    0 & 0 & -(x+1)^2
  \end{pmatrix}
\\&\sim
  \begin{pmatrix}
    1 & 0 & 0 \\
    0 & x+1 & 0 \\
    0 & 0 & (x+1)^2
  \end{pmatrix}
\end{align}
</math>

== 응용 ==
=== 주 아이디얼 정역 위의 유한 생성 가군의 구조 ===
스미스 표준형을 통해 [[주 아이디얼 정역]] 위의 [[유한 생성 가군]]의 [[불변 인자 분해]]를 유도할 수 있다.

== 역사 ==
[[헨리 존 스티븐 스미스]]의 이름을 땄다.

== 같이 보기 ==
* [[표준 형식]]
* [[디오판토스 방정식]]
* [[유리 표준형]]
* [[특잇값 분해]]
== 외부 링크 ==
* {{수학노트|제목=스미스 표준형 (Smith normal form)}}
* {{매스월드|id=SmithNormalForm|제목=Smith normal form}}
* {{nlab|id=Smith normal form}}
* {{플래닛매스|urlname=SmithNormalForm|제목=Smith normal form}}
* {{플래닛매스|urlname=ExampleOfSmithNormalForm|제목=Example of Smith normal form}}

[[분류:행렬 분해]]