행렬식: 두 판 사이의 차이

잔글 (→‎크래메르의 공식: 넘겨주기 오류 해결)
잔글 (봇: 자동으로 텍스트 교체 (-행렬 +행렬))
2번째 줄: 2번째 줄:


==소개==
==소개==
행렬식은 [[행렬 (수학)|행렬]]이나 [[선형사상]]으로부터 계산할 수 있는 어떤 값이다.  
행렬식은 [[행렬]]이나 [[선형사상]]으로부터 계산할 수 있는 어떤 값이다.  


==행렬의 행렬식==
==행렬의 행렬식==

2021년 4월 29일 (목) 07:26 판


소개

행렬식은 행렬이나 선형사상으로부터 계산할 수 있는 어떤 값이다.

행렬의 행렬식

우리가 고등학교에서나 미적분학 시간에 배웠을 행렬식은 모두 행렬의 성분으로 정의했다. 그래서 이 문서에서도 행렬의 성분을 이용한 정의부터 소개하려고 한다. 앞으로 [math]\displaystyle{ A, B }[/math]같은 대문자는 어떤 위의 행렬을 나타내고, [math]\displaystyle{ a_{i,j} }[/math][math]\displaystyle{ A }[/math]의 (i,j)번째 성분을 나타낸다.

순열을 이용한 정의

순열군을 이용하면 n×n 행렬의 행렬식을 다음과 같이 정의할 수 있다.

[math]\displaystyle{ \det(A) = \sum _{\sigma \in S_n} \mathrm{sgn} (\sigma) a_{1,\sigma 1} \cdots a_{n,\sigma n} }[/math]

여기서 [math]\displaystyle{ \rm{sgn}(\sigma) }[/math][math]\displaystyle{ \sigma }[/math]를 치환[1]의 합성으로만 나타낼때, 치환 갯수가 짝수면 1, 홀수면 -1이 되는 함수다.

물론 이 정의로 행렬식을 직접 계산하는 것은 힘들고[2][3]그렇다고 행렬식의 성질을 증명하기 쉽게 해주냐면 보통은 그런 것도 아니다. 그래도 [math]\displaystyle{ \det(A)=\det(A^T) }[/math]를 보이는 데 이 정의만큼 좋은 것도 없다.

소행렬식을 이용한 정의

공업수학이라던가 미적분학이라던가 여기저기서 가장 많이 볼 수 있는데, 그나마 계산하기 편하기 때문인 것으로 보인다. 5×5 행렬식을 계산해본 위키니트들의 비웃음소리가 들린다

이 정의는 귀납적이다. 우선 1×1 행렬 [math]\displaystyle{ A=(a) }[/math]에 대해서 [math]\displaystyle{ \det{A}=a }[/math]로 정의하자. 그리고 n×n 행렬의 행렬식이 정의되었다고 가정하고 (n+1)×(n+1) 행렬의 행렬식을

[math]\displaystyle{ \det(A)=\sum _{j=1} ^{n+1} (-1)^{1+j} a_{1,j} \det{A(1,j)} }[/math]

로 정의한다. 여기서 [math]\displaystyle{ A(i,j) }[/math][math]\displaystyle{ A }[/math]의 i번째 행과 j번째 열을 지운 행렬로, 소행렬(minor)이라고 부른다. 그리고 위 식은 첫번째 행에 대한 여인수 전개(cofactor expansion)이라고 부르며, 라플라스 전개라고도 부른다.

첫번째 행에 대한 전개가 있다면 i번째 행에 대한 전개도 있을 것이다. 실제로 A가 n×n 행렬이고 1≤i≤n이면

[math]\displaystyle{ \det(A)=\sum _{j=1} ^{n} (-1)^{i+j} a_{i,j} \det{A(i,j)} }[/math]

이 성립함이 알려져있다.

여기서 "행렬식의 정의가 두 개라니.. 두 정의가 정말로 같은 건가?"하고 생각한 독자가 있을 지 모른다. 실제로 이 정의와 앞에서 치환을 이용한 정의가 같은 지는 따로 증명해야 하며, 실제로 그렇다는 것이 알려져있다. We leave the proof as an exercise.

이 정의가 행렬식을 계산하기는 좋아보일지 몰라도, 실제로 이걸로 증명할 수 있는 것은 거의 없다..

Alternating Multilinear Form

위 정의들엔 친숙하다는 장점이 있지만, 행렬식의 성질을 증명하는 데는 불편하다. {{{1}}} 만약 수학적으로 보다 깔끔한 정의가 있으면 여러 성질들을 보이는 데 편리할 것이다. 실제로 행렬식은 다음과 같이 정의할 수 있다.

[math]\displaystyle{ f(I_n)=1 }[/math]을 만족하는, 열에 대한 alternating n-multilinear form [math]\displaystyle{ f }[/math]는 유일하다. 이 [math]\displaystyle{ f }[/math]를 n×n 행렬에 대한 행렬식으로 정의한다.

뭔 모르는 단어가 이렇게 많아 난 여길 빠져나가야겠어 용어를 하나하나 풀어보자. 우선 Multilinear부터 설명하겠다. n-multilinear function은 이름에 "linear"가 들어간 데서 알 수 있듯, 일종의 "다변수 선형함수"다. 정확히는 각 성분에 대해서 선형함수여야 하는데, 즉 임의의 k (1≤k≤n)에 대해 [math]\displaystyle{ f:V^n \to W }[/math][4]

[math]\displaystyle{ f(x_1 , x_2 ,\cdots , x_k +cy_k , \cdots ,x_n)= f(x_1 , x_2 ,\cdots , x_k , \cdots ,x_n) + cf(x_1 , x_2 ,\cdots , y_k , \cdots ,x_n) }[/math]

를 만족하면 f가 n-multilinear funtion이라고 한다. 특히 f의 치역이 스칼라체일 때는(즉 W=F일 때) funtion대신 form이란 용어를 쓴다.[5] 두번째로 alternating이란 용어는 어렵지 않다. n-multilinear funtion f가 alternating이란 것은 두 성분의 순서를 바꾸면 부호가 바뀐다는 것이다. 즉,

[math]\displaystyle{ f(x_1 ,\cdots , x_i ,\cdots , x_j ,\cdots , x_n)= -f(x_1 ,\cdots , x_j ,\cdots , x_i ,\cdots , x_n) }[/math]

이면 f가 alternating이라고 한다. 이제 모든 용어의 설명이 끝났으니, 다시 위의 정의를 보자...어라? 행렬식은 분명 행렬에 대해서 정의하는 건데, multilinear form은 n개의 벡터를 받아서 값을 내놓는 함수잖아? 그러나 우리는 n×n 행렬을 n개의 열벡터로 볼 수 있다. "열에 대한" multilinear form이라고 한 이유는 이것 때문이다.

이제 정말 모든 용어 설명이 끝났으니 다시 정의를 보자...음? 그런데 정말로 [math]\displaystyle{ f(I_n)=1 }[/math]을 만족하는 열에 대한 alternating n-multilinear form [math]\displaystyle{ f }[/math]가 유일한건가? 그렇다. 실제로는 보다 강한 결과가 성립한다. Alternating n-multilinear form들을 모두 모으면 F-벡터공간이 되는데[6], 이 공간의 차원은 1임이 알려져있다.

참고

지금까지 우리는 행렬의 성분이 체에 있다고 가정했다. 그런데 지금까지 우리는 곱셈에 대한 역원이 있다는 조건을 한 번도 쓴 적이 없다! 따라서 체가 아니라 가환환 성분을 갖는 행렬에 대해서도 지금까지 내린 정의와 논의는 (용어만 적절히 바꾸면) 모두 유효하다.[7] 왜 굳이 햇갈리게 가환환 위에서 행렬식을 정의하냐면, 특성다항식을 정의하기 위해서다. F가 체면 F[x]는 가환환이 되고, 특성다항식은 F[x] 성분을 갖는 행렬의 행렬식으로 정의된다.

성질

기본적인 성질

  • [math]\displaystyle{ \det{I_n}=1 }[/math]
  • [math]\displaystyle{ \det{AB}=\det{A}\det{B} }[/math]
  • [math]\displaystyle{ \det{A}=\det{A^T} }[/math]. 따라서 직교행렬의 행렬식이 ±1이 된다.
  • [math]\displaystyle{ \det }[/math]는 열벡터에 대한 alternating multilinear function이다. 즉,
    • [math]\displaystyle{ \det \begin{bmatrix} [ \cdot\cdot\cdot & a_i & \cdot\cdot\cdot & a_j & \cdot\cdot\cdot ] \end{bmatrix} = (-1) \cdot \det \begin{bmatrix} [ \cdot\cdot\cdot & a_j & \cdot\cdot\cdot & a_i & \cdot\cdot\cdot ] \end{bmatrix} }[/math]
    • [math]\displaystyle{ \det \begin{bmatrix} [ a_1 & \cdot\cdot\cdot & k \cdot a_i & \cdot\cdot\cdot & a_n ] \end{bmatrix} = k \cdot \det \begin{bmatrix} [ a_1 \cdot\cdot\cdot & a_i & \cdot\cdot\cdot & a_n ] \end{bmatrix} }[/math]
    • [math]\displaystyle{ \det \begin{bmatrix} [ a_1& \cdot\cdot\cdot & a_i +{a^{\prime}}_i & \cdot\cdot\cdot & a_n ] \end{bmatrix} = \det \begin{bmatrix} [ a_1& \cdot\cdot\cdot & a_i & \cdot\cdot\cdot & a_n ] \end{bmatrix} + \det \begin{bmatrix} [ a_1& \cdot\cdot\cdot & {a^{\prime}}_i & \cdot\cdot\cdot & a_n ] \end{bmatrix} }[/math]
    • [math]\displaystyle{ \det{A}=\det{A^T} }[/math]니까, 행벡터에 대해서도 위 세 성질이 성립한다.
  • [math]\displaystyle{ \det{A}\ne 0 }[/math]일 필요충분조건은 [math]\displaystyle{ A }[/math]가역행렬이라는 것이다. 만약 [math]\displaystyle{ A }[/math]가 가역행렬이면 [math]\displaystyle{ \det{A^{-1}}=\frac{1}{\det{A}} }[/math]다.
    • 따라서 [math]\displaystyle{ \det{A}\ne 0 }[/math]일 필요충분조건은 [math]\displaystyle{ A }[/math]의 열벡터들이 선형독립이라는 것이다.
  • n×n 삼각행렬 [math]\displaystyle{ A }[/math]의 대각성분이 [math]\displaystyle{ a_{1,1}, a_{2,2}, \cdots, a_{n,n} }[/math]이면 [math]\displaystyle{ \det (A)=a_{1,1} a_{2,2} \cdots a_{n,n} }[/math]이다. 특히 대각행렬의 행렬식은 주대각선에 있는 모든 성분의 곱이 된다.
    • 이를 블록 행렬로 일반화한 성질이 있다. 항목 참조
  • [math]\displaystyle{ A }[/math]의 고윳값을 (중복도를 포함해서) 모두 곱하면 [math]\displaystyle{ \det{A} }[/math]가 된다.
  • 방데르몽드 행렬식 항목 참조
  • 라플라스 전개 항목 참조
  • 모든 n×n 실수 행렬들의 집합을 [math]\displaystyle{ \mathbb{R}^{n^2} }[/math]과 동일시하면[8], [math]\displaystyle{ \det }[/math][math]\displaystyle{ \mathbb{R}^{n^2} }[/math]에서 실수로 가는 연속함수가 된다. [math]\displaystyle{ \det{A} }[/math]를 직접 전개하면 행렬의 성분에 대한 polynomial이 되기 때문이다. 사실 모든 행렬의 집합에 어떤 노름(norm)으로 위상을 줘도 [math]\displaystyle{ \det }[/math]는 연속함수다. 왜냐하면 행렬들의 벡터공간 위의 모든 노름은 같은 위상을 주기 때문이다.

크라메르의 공식

n개의 미지수를 가진 n개의 일차연립방정식 [math]\displaystyle{ Ax=b }[/math]가 있다고 하자. 이 때 [math]\displaystyle{ x=(x_1,\cdots ,x_n)^T }[/math]라 두자. 이제 [math]\displaystyle{ B_k }[/math]를 A에서 k번째 열벡터를 b로 바꾼 행렬이라고 두면,

[math]\displaystyle{ x_k \det(A) = \det{B_k} }[/math]

가 성립하는데, 이를 크라메르의 공식 혹은 크래머의 법칙이라 부른다. 자세한 설명은 크라메르 공식 문서 참조.

블록 행렬

앞서 삼각행렬 A에 대해, A의 행렬식은 A의 대각성분의 곱이 된다는 것을 알았다. 보다 일반적으로, 어떤 행렬 M이 다음과 같은 블록 행렬로 나타난다고 하자.

[math]\displaystyle{ M = \begin{pmatrix} A & B \\ 0 & C \\ \end{pmatrix} }[/math]

여기서 A,C는 각각 m×m, n×n 행렬이다. 이 때

[math]\displaystyle{ \det(M) = \det(A) \det(C) }[/math]

가 성립한다. 좀 더 일반적으로, 정방행렬 [math]\displaystyle{ A_1 ,\cdots , A_k }[/math]가 있어 M이 "블록 삼각행렬"

[math]\displaystyle{ M = \begin{pmatrix} A_1 & \ast & \cdots & \ast & \ast \\ 0 & A_2 & \cdots & \ast & \ast \\ \vdots & \vdots & \ddots & \vdots& \vdots \\ 0& 0 & \cdots & A_{k-1} & \ast \\ 0& 0 & \cdots & 0 & A_k \\ \end{pmatrix} }[/math]

꼴로 나타난다고 하자. 여기서 *엔 어떤 블록행렬이 들어가도 괜찮다. 그러면 이 경우에도

[math]\displaystyle{ \det{M} = \det{A_1} \det{A_2} \cdots \det{A_k} }[/math]

가 성립한다.

평행체의 부피

[math]\displaystyle{ \mathbb{R}^n }[/math]에 벡터 [math]\displaystyle{ v_1 ,\cdots ,v_k }[/math]가 있을 때, 이들 벡터가 이루는 평행체(parallelotope)의 부피를 행렬식으로 표현할 수 있다. 행렬 A를 아래처럼,

[math]\displaystyle{ \begin{bmatrix} | & & | \\ v_1 & \cdots & v_k \\ | & & | \end{bmatrix} }[/math]

즉 각 열벡터가 [math]\displaystyle{ v_1 ,\cdots ,v_k }[/math]인 n×k 행렬로 정의하면 평행체의 부피는 [math]\displaystyle{ \det{A^T A} }[/math]로 주어진다. 이 값은 예상대로음수가 아닌데, 왜냐하면 임의의 [math]\displaystyle{ u\in\mathbb{R}^n }[/math]에 대해

[math]\displaystyle{ u^T A^T A u = (Au) \cdot (Au) \ge 0 }[/math]

여서 [math]\displaystyle{ A^T A }[/math]양의 준정부호를 가지므로, [math]\displaystyle{ A^T A }[/math]의 고유값이 음수가 아니기 때문이다. 또한 [math]\displaystyle{ \det{A^T A} }[/math]가 0이 될 필요충분조건은 역시 예상대로[math]\displaystyle{ v_1 ,\cdots ,v_k }[/math]가 선형종속인 것이다. 특히 k=n일 때 평행체의 부피는

[math]\displaystyle{ \left| \det(A) \right| }[/math]

로 나타난다. 따라서 임의의 n×n 실수 계수행렬 A의 판별식은

[math]\displaystyle{ \det(A) = \omega (A) |\det(A)| }[/math]

로 쓸 수 있다. 지금까지의 논의에 의해 ω는 0 또는 ±1만 된다.

여기서 ω는 어떤 기하학적 의미를 가질까? 어차피 ω가 ±1이 되려면 A의 열벡터들은 독립, 즉 Rⁿ의 기저를 이뤄야 한다. 그러니 ω는 기저가 어떤 특성을 가지는 지 알려주는 값이다. 이제 n=2인 경우를 보면, A가 항등행렬일 땐 ω(A)=1이고

[math]\displaystyle{ B = \begin{pmatrix} 0& 1 \\ 1& 0 \end{pmatrix} }[/math]

에 대해선 [math]\displaystyle{ \omega (B)=-1 }[/math]인데.. 두 행렬이 나타내는 기저의 차이점은.. 방향이다! 항등행렬이 나타내는 기저는 (1,0)에서 (0,1)로는 반시계방향으로, B가 나타내는 기저는 시계방향을 나타낸다. 그래서 2차원에서 기저의 방향을 ω를 써서 정의할 수 있다. 그리고 이 개념을 n차원으로 그대로 확장하면, 기저의 방향을 잘 정의할 수 있다.

선형사상의 행렬식

선형사상은 행렬과 달리 성분이 없어서 행렬식을 바로 정의할 수는 없다. 그렇지만 선형사상 [math]\displaystyle{ T:V \rightarrow V }[/math]이 있을 때 벡터공간 V에 특정한 기저 [math]\displaystyle{ B= \left\{ v_1 , \cdot\cdot\cdot , v_r \right\} }[/math]을 잡으면 선형사상 T는 기저 벡터 vi[math]\displaystyle{ \sum_{j=1}^{r} {a}_{ij} v_j , {a}_{ij} \in k }[/math]로 보내게 된다. 여기서 행렬 [math]\displaystyle{ \left( a_{ij} \right) }[/math]가 생기므로 선형사상의 행렬식은 상응하는 행렬의 행렬식으로 구하면 된다.

여기서 벡터공간 V의 기저를 다르게 잡아도 [math]\displaystyle{ \left( a_{ij} \right) }[/math]는 기저와 상관 없이 닮은 행렬(Similar Matrix)이 되기 때문에 행렬식은 잘 정의된다(Well-defined). 기저를 [math]\displaystyle{ B^{\prime}= \left\{ w_1 , \cdot\cdot\cdot , w_r \right\} }[/math] 형태로 잡아도 기저변환 행렬 [math]\displaystyle{ I_{B, B^{\prime} } }[/math]가 있을 때 기저 B'에 대해 선형사상 T가 상응하는 행렬은 [math]\displaystyle{ {I_{B, B^{\prime}}}^{-1} \left( a_{ij} \right) I_{B, B^{\prime}} }[/math]가 된다. 따라서 선형사상 T가 기저 B로 표현되는 것과 기저 B'으로 표현되는 행렬은 다르지만 닮은 행렬이기에 행렬식이 보존된다.

닮은 행렬

행렬 A와 B에 대해서 가역행렬 P가 존재해서 [math]\displaystyle{ B=P^{-1} A P }[/math] 형태로 표현할 수 있을 때 두 행렬 A와 B는 닮았다(A and B are similar)고 말한다. 이때 가역행렬을 기저를 다른 기저로 보내는 변환을 Linear extension theorem을 통해 벡터공간 전체로 확장한 사상으로 보면, A와 B가 닮았다는 것은 A와 B는 나타나는 기저만 다를뿐 같은 선형사상이라는 것이다.

닮은 행렬은 특성방정식(Characteristic Equation)이 같다. 따라서 고유값(Eigenvalue)이 같고, 대각합(trace)과 행렬식(determinant)도 동일해진다.

[math]\displaystyle{ \det ( \lambda I -A ) = \det [P^{-1} ( \lambda I - A) P ] = \det ( \lambda I - P^{-1} A P ) = \det ( \lambda I - B) }[/math]

외대수

이 문서의 전체 혹은 일부는 사:Liquoricej/작성중 문서의 162000판에서 가져왔습니다.
  1. 두 원소만 바꾸는 순열
  2. 5×5 행렬식을 이 방법만 써서 계산하려면 719개의 문자를 손으로 써야 한다 (...)
  3. 5개 숫자의 곱이 120번 나오고, 그 사이에 +,-를 119번 적어줘야 하니까 719개.
  4. 여기서 V,W는 F 위에서 정의된 벡터공간이다
  5. 치역이 스칼라체인 선형함수를 linear functional, 혹은 form이라고 부른다.
  6. 쉽게 증명할 수 있다
  7. 가령, 벡터공간은 가군(module)으로 바꿔야 할 것이다.
  8. 따라서 이 경우 n×n 실수 행렬들의 집합에 유클리드 노름으로 위상을 주게 된다. 즉, 행렬의 각 성분의 제곱의 합의 제곱근을 구하는 노름이 위상을 유도하게 된다.