사용자:Liquoricej/작성중: 두 판 사이의 차이

(탈퇴를 위해 개인 페이지를 비웁니다.)
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:


{{학술}}
==소개==
행렬식은 [[행렬 (수학)|행렬]]이나 [[선형사상]]으로부터 계산할 수 있는 어떤 값이다. 적절히 잘 소개할 수 있는 사람이 내용 [[추가바람]]
==행렬의 행렬식==
우리가 고등학교에서나 [[미적분학]] 시간에 배웠을 행렬식은 모두 행렬의 성분으로 정의했다. 그래서 이 문서에서도 행렬의 성분을 이용한 정의부터 소개하려고 한다. 앞으로 <math>A, B</math>같은 대문자는 어떤 [[체]] 위의 행렬을 나타내고, <math>a_{i,j}</math>는 <math>A</math>의 (i,j)번째 성분을 나타낸다.
===순열을 이용한 정의===
[[순열군]]을 이용하면 n×n 행렬의 행렬식을 다음과 같이 정의할 수 있다.
:<math> \det(A) = \sum _{\sigma \in S_n} \mathrm{sgn} (\sigma) a_{1,\sigma 1} \cdots a_{n,\sigma n}</math>
여기서 <math>\rm{sgn}(\sigma)</math>는 <math>\sigma</math>를 치환<ref>두 원소만 바꾸는 순열</ref>의 합성으로만 나타낼때, 치환 갯수가 짝수면 1, 홀수면 -1이 되는 함수다.
물론 이 정의로 행렬식을 직접 계산하는 것은 힘들고<ref>5×5 행렬식을 이 방법만 써서 계산하려면 719개의 문자를 손으로 써야 한다 (...)</ref><ref>5개 숫자의 곱이 120번 나오고, 그 사이에 +,-를 119번 적어줘야 하니까 719개.</ref>그렇다고 행렬식의 성질을 증명하기 쉽게 해주냐면 보통은 그런 것도 아니다. 그래도 <math>\det(A)=\det(A^T)</math>를 보이는 데 이 정의만큼 좋은 것도 없다.
===소행렬식을 이용한 정의===
공업수학이라던가 미적분학이라던가 여기저기서 가장 많이 볼 수 있는데, 그나마 계산하기 편하기 때문인 것으로 보인다. {{ㅊ|5×5 행렬식을 계산해본 [[위키니트]]들의 비웃음소리가 들린다}}
이 정의는 귀납적이다. 우선 1×1 행렬 <math>A=(a)</math>에 대해서 <math>\det{A}=a</math>로 정의하자. 그리고 n×n 행렬의 행렬식이 정의되었다고 가정하고 (n+1)×(n+1) 행렬의 행렬식을
:<math>\det(A)=\sum _{j=1} ^{n+1} (-1)^{1+j} a_{1,j} \det{A(1,j)}</math>
로 정의한다. 여기서 <math>A(i,j)</math>는 <math>A</math>의 i번째 행과 j번째 열을 지운 행렬로, 소행렬(minor)이라고 부른다. 그리고 위 식은 '''첫번째 행에 대한 여인수 전개'''(cofactor expansion)이라고 부르며, 라플라스 전개라고도 부른다.
첫번째 행에 대한 전개가 있다면 i번째 행에 대한 전개도 있을 것이다. 실제로 A가 n×n 행렬이고 1≤i≤n이면
:<math>\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===
위 정의들엔 친숙하다는 장점이 있지만, 행렬식의 성질을 증명하는 데는 불편하다. {{ㅊ|det(AB)=det(A)det(B)를 직접 전개해서 증명하다보면 알게 된다.}} 만약 수학적으로 보다 깔끔한 정의가 있으면 여러 성질들을 보이는 데 편리할 것이다. 실제로 행렬식은 다음과 같이 정의할 수 있다.
: <math>f(I_n)=1</math>을 만족하는, 열에 대한 alternating n-multilinear form <math>f</math>는 유일하다. 이 <math>f</math>를 n×n 행렬에 대한 행렬식으로 정의한다.
{{ㅊ|[[성 정체성을 깨달은 아이|뭔 모르는 단어가 이렇게 많아 난 여길 빠져나가야겠어]]}} 용어를 하나하나 풀어보자. 우선 Multilinear부터 설명하겠다. n-multilinear function은 이름에 "linear"가 들어간 데서 알 수 있듯, 일종의 "다변수 선형함수"다. 정확히는 각 성분에 대해서 선형함수여야 하는데, 즉 임의의 k (1≤k≤n)에 대해 <math>f:V^n \to W</math>가 <ref>여기서 V,W는 F 위에서 정의된 벡터공간이다</ref>
:<math>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'''이란 용어를 쓴다.<ref>치역이 스칼라체인 선형함수를 linear functional, 혹은 form이라고 부른다.</ref> 두번째로 alternating이란 용어는 어렵지 않다. n-multilinear funtion f가 alternating이란 것은 두 성분의 순서를 바꾸면 부호가 바뀐다는 것이다. 즉,
:<math> 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>f(I_n)=1</math>을 만족하는 열에 대한 alternating n-multilinear form <math>f</math>가 유일한건가? 그렇다. 실제로는 보다 강한 결과가 성립한다. Alternating n-multilinear form들을 모두 모으면 F-벡터공간이 되는데<ref>쉽게 증명할 수 있다</ref>, 이 공간의 차원은 1임이 알려져있다.
===참고===
지금까지 우리는 행렬의 성분이 체에 있다고 가정했다. 그런데 지금까지 우리는 곱셈에 대한 역원이 있다는 조건을 한 번도 쓴 적이 없다! 따라서 체가 아니라 [[가환환]] 성분을 갖는 행렬에 대해서도 지금까지 내린 정의와 논의는 (용어만 적절히 바꾸면) 모두 유효하다.<ref>가령, 벡터공간은 가군(module)으로 바꿔야 할 것이다.</ref> 왜 굳이 햇갈리게 가환환 위에서 행렬식을 정의하냐면, [[특성다항식]]을 정의하기 위해서다. F가 체면 F[x]는 가환환이 되고, 특성다항식은 F[x] 성분을 갖는 행렬의 행렬식으로 정의된다.
==성질==
===기본적인 성질===
* <math> \det{I_n}=1 </math>
* <math> \det{AB}=\det{A}\det{B} </math>
* <math> \det{A}=\det{A^T} </math>. 따라서 [[직교행렬]]의 행렬식이 ±1이 된다.
* <math> \det</math>는 열벡터에 대한 alternating multilinear function이다. 즉,
**
**
**
** <math> \det{A}=\det{A^T} </math>니까, 행벡터에 대해서도 위 세 성질이 성립한다.
* <math> \det{A}\ne 0</math>일 필요충분조건은 <math>A</math>가 [[가역행렬]]이라는 것이다. 만약 <math>A</math>가 가역행렬이면 <math>\det{A^{-1}}=\frac{1}{\det{A}}</math>다.
** 따라서 <math> \det{A}\ne 0</math>일 필요충분조건은 <math>A</math>의 열벡터들이 선형독립이라는 것이다.
* n×n [[삼각행렬]] <math>A</math>의 대각성분이 <math>a_{1,1}, a_{2,2}, \cdots, a_{n,n}</math>이면 <math>\det (A)=a_{1,1} a_{2,2} \cdots a_{n,n}</math>이다. 특히 대각행렬의 행렬식은 주대각선에 있는 모든 성분의 곱이 된다.
** 이를 블록 행렬로 일반화한 성질이 있다. [[행렬식#블록 행렬|항목 참조]]
* <math>A</math>의 고윳값을 (중복도를 포함해서) 모두 곱하면 <math>\det{A}</math>가 된다.
* [[방데르몽드 행렬식]] 항목 참조
* [[행렬식#소행렬식을 이용한 정의|라플라스 전개]] 항목 참조
* 모든 n×n 실수 행렬들의 집합을 <math>\mathbb{R}^{n^2}</math>과 identify하면, <math>\det</math>는 <math>\mathbb{R}^{n^2}</math>에서 실수로 가는 연속함수가 된다. <math>\det{A}</math>를 직접 전개하면 행렬의 성분에 대한 polynomial이 되기 때문이다. 사실 모든 행렬의 집합에 어떤 [[노름]]으로 위상을 줘도 <math>\det</math>는 연속함수다. 왜냐하면 행렬들의 벡터공간에 어떤 노름을 줘도 같은 위상을 주기 때문이다.
===크래머의 법칙===
n개의 미지수를 가진 n개의 일차연립방정식 <math>Ax=b</math>가 있다고 하자. 이 때 <math>x=(x_1,\cdots ,x_n)^T</math>라 두자. 이제 <math>B_k</math>를 A에서 k번째 열벡터를 b로 바꾼 행렬이라고 두면,
:<math> x_k \det(A) = \det{B_k}</math>
가 성립하는데, 이를 '''크래머의 법칙'''이라 부른다. 여기서 특히 A가 가역행렬이면, 위 식은
:<math> x_k= \frac{\det{B_k}}{\det{A}}</math>
로 나타난다. 따라서 크래머의 법칙은 연립방정식의 해가 어떻게 나오는지 명시적으로 알려준다. 허나 행렬식 계산이 무지 어렵기 때문에 별 쓸모는 없다.
크래머의 법칙을 쓰면 역행렬의 성분이 어떻게 나타나는지도 정확히 알 수 있다. 가령, A의 역행렬의 (i,j)번째 성분 <math>c_{i,j}</math>를 알고 싶다고 하자. 그러면 아래 연립방정식
:<math> A\begin{bmatrix} c_{1,j} \\ \vdots \\ c_{n,j} \end{bmatrix} = \mathbf{e}_j</math>
를 풀면 된다. 그런데 크래머의 법칙에 따르면 이 방정식의 해는
:<math> c_{i,j} \det{A}= \det
\begin{pmatrix}
a_{1,1} & \cdots & 0 & \cdots & a_{1,n} \\
\vdots & \ddots & \vdots & \ddots & \vdots\\
a_{j,1} & \cdots & 1 & \cdots & a_{j,n} \\
\vdots & \ddots & \vdots & \ddots & \vdots\\
a_{n,1} & \cdots & 0 & \cdots & a_{n,n} \\
\end{pmatrix}
</math>
가 되는데, 위 행렬식은 계산해보면 <math>(-1)^{i+j}\det(A(j,i))</math>가 된다! 따라서
:<math> c_{i,j} =\frac{(-1)^{i+j}\det(A(j,i))}{\det{A}} </math>
를 얻는다.
===블록 행렬===
앞서 삼각행렬 A에 대해, A의 행렬식은 A의 대각성분의 곱이 된다는 것을 알았다. 보다 일반적으로, 어떤 행렬 M이 다음과 같은 블록 행렬로 나타난다고 하자.
:<math> M = \begin{pmatrix}
A & B \\
0 & C \\
\end{pmatrix}</math>
여기서 A,C는 각각 m×m, n×n 행렬이다. 이 때
:<math> \det(M) = \det(A) \det(C) </math>
가 성립한다. 좀 더 일반적으로, 정방행렬 <math> A_1 ,\cdots , A_k</math>가 있어 M이 "블록 삼각행렬"
:<math> 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> \det{M} = \det{A_1} \det{A_2} \cdots \det{A_k}</math>
가 성립한다.
===평행체의 부피===
<math>\mathbb{R}^n</math>에 벡터 <math>v_1 ,\cdots ,v_k</math>가 있을 때, 이들 벡터가 이루는 [[평행체]](parallelotope)의 부피를 행렬식으로 표현할 수 있다. 행렬 A를 아래처럼,
:<math>
\begin{bmatrix}
| & & | \\
v_1 & \cdots & v_k \\
|  &  & |
\end{bmatrix}
</math>
즉 각 열벡터가 <math>v_1 ,\cdots ,v_k</math>인 n×k 행렬로 정의하면 평행체의 부피는 <math>\det{A^T A}</math>로 주어진다. 이 값은 {{ㅊ|예상대로}}음수가 아닌데, 왜냐하면 임의의 <math>u\in\mathbb{R}^n</math>에 대해
:<math> u^T A^T A u = (Au) \cdot (Au) \ge 0</math>
여서 <math>A^T A</math>가 [[정부호행렬|양의 준정부호]]를 가지므로, <math>A^T A</math>의 고유값이 음수가 아니기 때문이다. 또한 <math>\det{A^T A}</math>가 0이 될 필요충분조건은 {{ㅊ|역시 예상대로}}<math>v_1 ,\cdots ,v_k</math>가 선형종속인 것이다. 특히 k=n일 때 평행체의 부피는
:<math>\left| \det(A) \right|</math>
로 나타난다. 따라서 임의의 n×n 실수 계수행렬 A의 판별식은
:<math> \det(A) = \omega (A) |\det(A)|</math>
로 쓸 수 있다. 지금까지의 논의에 의해 ω는 0 또는 ±1만 된다.
여기서 ω는 어떤 기하학적 의미를 가질까? 어차피 ω가 ±1이 되려면 A의 열벡터들은 독립, 즉 Rⁿ의 [[기저]]를 이뤄야 한다. 그러니 ω는 기저가 어떤 특성을 가지는 지 알려주는 값이다. 이제 n=2인 경우를 보면, A가 항등행렬일 땐 ω(A)=1이고
:<math> B = \begin{pmatrix}
0& 1 \\
1& 0
\end{pmatrix}</math>
에 대해선 <math>\omega (B)=-1</math>인데.. 두 행렬이 나타내는 기저의 차이점은.. '''방향'''이다! 항등행렬이 나타내는 기저는 (1,0)에서 (0,1)로는 반시계방향으로, B가 나타내는 기저는 시계방향을 나타낸다. 그래서 2차원에서 기저의 방향을 ω를 써서 정의할 수 있다. 그리고 이 개념을 n차원으로 그대로 확장하면, 기저의 방향을 잘 정의할 수 있다.
==선형사상의 행렬식==
선형사상은 행렬과 달리 성분이 없어서 행렬식을 바로 정의할 수는 없다. 그렇지만
===닮은 행렬===
===외대수===

2018년 10월 14일 (일) 23:37 기준 최신판