Lecture 20. 크래머 공식, 역행렬, 부피 Cramer's Rule, Inverse Matrix, Volume — 서술
두 강의에 걸쳐 행렬식의 성질과 공식을 다뤘지만, 아직 한 번도 "그래서 행렬식이 무엇이냐"는
물음에 답하지 않았다. 성질의 목록도 아니고 n ! n! n ! 개의 합도 아닌, 이 수의 정체는 무엇인가.
답은 놀랍도록 단순하다. 부피이다. 행렬의 열들이 만드는 평행육면체의 부피가 곧
∣ det A ∣ |\det A| ∣ det A ∣ 이고, 부호는 그 도형이 뒤집혔는지를 말해 준다. L9에서 슬라이더로 눌러 납작하게
만들었던 그 도형이 사실 처음부터 행렬식이었다.
가는 길에 L19에서 만든 여인수를 써서 역행렬의 공식과 크래머 공식도 얻는다. 다만 그 둘은
곁가지이고, 이번 강의의 심장은 3절의 부피이다.
1. 역행렬 공식 ¶ L19에서 여인수를 잔뜩 만들어 놓았다. 그것으로 무엇을 할 수 있는가.
여인수를 제자리에 늘어놓은 행렬을 C C C 라 하자. ( i , j ) (i, j) ( i , j ) 성분이 C i j C_{ij} C ij 이다. 그리고
A A A 와 C T C^{\mathsf{T}} C T 를 곱해 보자. 놀라운 일이 벌어진다.
A C T = ( det A ) I A\,C^{\mathsf{T}} = (\det A)\, I A C T = ( det A ) I 대각 성분은 왜 det A \det A det A 인가 ¶ ( A C T ) i i (A C^{\mathsf{T}})_{ii} ( A C T ) ii 는 A A A 의 i i i 행과 C T C^{\mathsf{T}} C T 의 i i i 열의 곱이다.
C T C^{\mathsf{T}} C T 의 i i i 열은 C C C 의 i i i 행이므로
( A C T ) i i = ∑ j a i j C i j (AC^{\mathsf{T}})_{ii} = \sum_{j} a_{ij}\,C_{ij} ( A C T ) ii = j ∑ a ij C ij 인데, 이것은 L19의 i i i 행에 대한 여인수 전개((22) )와 글자 그대로 같다.
곧 det A \det A det A 이다.
비대각 성분은 왜 0인가 ¶ 여기가 이 절의 핵심이다. i ≠ k i \neq k i = k 일 때
( A C T ) i k = ∑ j a i j C k j (AC^{\mathsf{T}})_{ik} = \sum_{j} a_{ij}\,C_{kj} ( A C T ) ik = j ∑ a ij C kj 이다. 곱해지는 여인수는 k k k 행의 것인데, 계수는 i i i 행의 성분이다. 줄이 어긋나 있다.
이 합을 여인수 전개로 읽어 보자. A A A 의 k k k 행을 i i i 행으로 갈아끼운 행렬을 A ′ A' A ′ 이라 하자.
A ′ A' A ′ 의 k k k 행 여인수는 k k k 행을 지우고 계산하는 것이라 A A A 의 것과 똑같고, A ′ A' A ′ 의 k k k 행
성분은 a i j a_{ij} a ij 이다. 그러므로 (3) 의 합은 정확히 det A ′ \det A' det A ′ 이다.
그런데 A ′ A' A ′ 은 i i i 행과 k k k 행이 같다. L18의 성질 1((2) )에 의해
행렬식이 0이다.
말로만 들으면 손에 잡히지 않으니 숫자로 한 번 확인하자. L19에서 쓰던 행렬이다.
A = [ 1 2 1 3 8 1 0 4 1 ] , C = [ 4 − 3 12 2 1 − 4 − 6 2 2 ] A = \begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 0 & 4 & 1 \end{bmatrix},
\qquad
C = \begin{bmatrix} 4 & -3 & 12 \\ 2 & 1 & -4 \\ -6 & 2 & 2 \end{bmatrix} A = ⎣ ⎡ 1 3 0 2 8 4 1 1 1 ⎦ ⎤ , C = ⎣ ⎡ 4 2 − 6 − 3 1 2 12 − 4 2 ⎦ ⎤ ( 1 , 3 ) (1, 3) ( 1 , 3 ) 성분을 계산해 보자. A A A 의 1행 과 C C C 의 3행 을 짝지어 곱하는 자리이다.
( A C T ) 13 = a 11 C 31 + a 12 C 32 + a 13 C 33 = 1 ⋅ ( − 6 ) + 2 ⋅ 2 + 1 ⋅ 2 = 0 (AC^{\mathsf{T}})_{13}
= a_{11}C_{31} + a_{12}C_{32} + a_{13}C_{33}
= 1 \cdot (-6) + 2 \cdot 2 + 1 \cdot 2 = 0 ( A C T ) 13 = a 11 C 31 + a 12 C 32 + a 13 C 33 = 1 ⋅ ( − 6 ) + 2 ⋅ 2 + 1 ⋅ 2 = 0 우연이 아니다. 이 합은 A A A 의 3행을 1행으로 갈아끼운 행렬을 3행으로 여인수 전개한 것이다.
A ′ = [ 1 2 1 3 8 1 1 2 1 ] ( 1 행과 3 행이 같다 ) A' = \begin{bmatrix} 1 & 2 & 1 \\ 3 & 8 & 1 \\ 1 & 2 & 1 \end{bmatrix}
\qquad
(1 \text{ 행과 } 3 \text{ 행이 같다}) A ′ = ⎣ ⎡ 1 3 1 2 8 2 1 1 1 ⎦ ⎤ ( 1 행과 3 행이 같다 ) A ′ A' A ′ 의 3행 여인수는 3행을 지우고 계산하는 것이라 A A A 의 것과 똑같고, 3행 성분만
1 , 2 , 1 1, 2, 1 1 , 2 , 1 로 바뀌었다. 그래서 (5) 의 합이 det A ′ \det A' det A ′ 이고, 두 행이
같으니 0이다. 나머지 여섯 개의 비대각 성분도 같은 이유로 0이다.
A C T = [ 10 0 0 0 10 0 0 0 10 ] = 10 I = ( det A ) I AC^{\mathsf{T}} = \begin{bmatrix} 10 & 0 & 0 \\ 0 & 10 & 0 \\ 0 & 0 & 10 \end{bmatrix}
= 10\,I = (\det A)\,I A C T = ⎣ ⎡ 10 0 0 0 10 0 0 0 10 ⎦ ⎤ = 10 I = ( det A ) I Figure 1: 대각은 여인수 전개라서 det A \det A det A 가 되고, 비대각은 같은 행이 둘인 행렬의 행렬식이라서 0이 된다.
(1) 의 양변을 det A \det A det A 로 나누면 역행렬이 나온다.
A − 1 = 1 det A C T ( det A ≠ 0 ) A^{-1} = \frac{1}{\det A}\, C^{\mathsf{T}}
\qquad (\det A \neq 0) A − 1 = det A 1 C T ( det A = 0 ) C T C^{\mathsf{T}} C T 를 딸림행렬 (adjugate)이라 부른다.
2 × 2 2 \times 2 2 × 2 로 확인하자. C 11 = d C_{11} = d C 11 = d , C 12 = − c C_{12} = -c C 12 = − c , C 21 = − b C_{21} = -b C 21 = − b , C 22 = a C_{22} = a C 22 = a 이므로
A − 1 = 1 a d − b c [ d − b − c a ] A^{-1} = \frac{1}{ad - bc}\begin{bmatrix} d & -b \\ -c & a \end{bmatrix} A − 1 = a d − b c 1 [ d − c − b a ] L3에서 손으로 유도했던 그 공식이다((34) ).
2. 크래머 공식 ¶ 역행렬 공식이 있으니 해도 바로 쓸 수 있다. x = A − 1 b \vv{x} = A^{-1}\vv{b} x = A − 1 b 를 성분으로 풀어쓰면 된다.
다만 첨자가 한 번 뒤집히는 자리가 있으니 천천히 가자.
x j = ∑ i ( A − 1 ) j i b i x_j = \sum_{i} \left(A^{-1}\right)_{ji}\, b_i x j = i ∑ ( A − 1 ) ji b i (8) 의 공식에서 A − 1 = C T / det A A^{-1} = C^{\mathsf{T}}/\det A A − 1 = C T / det A 였다. 전치가 붙어 있으므로
( A − 1 ) j i \left(A^{-1}\right)_{ji} ( A − 1 ) ji 는 C j i C_{ji} C ji 가 아니라 C i j C_{ij} C ij 이다.
( A − 1 ) j i = ( C T ) j i det A = C i j det A \left(A^{-1}\right)_{ji}
= \frac{\left(C^{\mathsf{T}}\right)_{ji}}{\det A}
= \frac{C_{ij}}{\det A} ( A − 1 ) ji = det A ( C T ) ji = det A C ij 이것을 (10) 의 자리에 넣는다.
x j = 1 det A ∑ i C i j b i x_j = \frac{1}{\det A}\sum_{i} C_{ij}\, b_i x j = det A 1 i ∑ C ij b i 이제 1절과 같은 방식으로 이 합을 읽는다. 첨자를 보면 j j j 가 고정이고 i i i 로 더하고 있다.
곧 열에 대한 여인수 전개 의 모양이다(L19의 (23) ).
A A A 의 j j j 열 을 b \vv{b} b 로 갈아끼운 행렬을 B j B_j B j 라 하자. 두 가지가 맞아떨어진다.
첫째로 B j B_j B j 의 j j j 열 여인수는 그 열을 지우고 계산하는 것이라 갈아끼운 자리를 보지
않으므로 A A A 의 것과 똑같다. 둘째로 B j B_j B j 의 j j j 열 성분이 바로 b i b_i b i 이다. 그러므로
(12) 의 합이 det B j \det B_j det B j 를 j j j 열로 전개한 것과 글자 그대로 같다.
∑ i b i C i j = det B j ⟹ x j = det B j det A \sum_{i} b_i\, C_{ij} = \det B_j
\qquad\Longrightarrow\qquad
x_j = \frac{\det B_j}{\det A} i ∑ b i C ij = det B j ⟹ x j = det A det B j L2에서 소거로 풀었던 문제이다. b = ( 2 , 12 , 2 ) \vv{b} = (2, 12, 2) b = ( 2 , 12 , 2 ) 이고 det A = 10 \det A = 10 det A = 10 이었다.
열을 하나씩 b \vv{b} b 로 갈아끼우고 행렬식을 구한다.
B 1 = [ 2 2 1 12 8 1 2 4 1 ] , B 2 = [ 1 2 1 3 12 1 0 2 1 ] , B 3 = [ 1 2 2 3 8 12 0 4 2 ] B_1 = \begin{bmatrix} 2 & 2 & 1 \\ 12 & 8 & 1 \\ 2 & 4 & 1 \end{bmatrix},
\quad
B_2 = \begin{bmatrix} 1 & 2 & 1 \\ 3 & 12 & 1 \\ 0 & 2 & 1 \end{bmatrix},
\quad
B_3 = \begin{bmatrix} 1 & 2 & 2 \\ 3 & 8 & 12 \\ 0 & 4 & 2 \end{bmatrix} B 1 = ⎣ ⎡ 2 12 2 2 8 4 1 1 1 ⎦ ⎤ , B 2 = ⎣ ⎡ 1 3 0 2 12 2 1 1 1 ⎦ ⎤ , B 3 = ⎣ ⎡ 1 3 0 2 8 4 2 12 2 ⎦ ⎤ 세 행렬식이 각각 20 , 10 , − 20 20, 10, -20 20 , 10 , − 20 이다. 나누면 해가 나온다.
x 1 = 20 10 = 2 , x 2 = 10 10 = 1 , x 3 = − 20 10 = − 2 x_1 = \frac{20}{10} = 2,
\qquad
x_2 = \frac{10}{10} = 1,
\qquad
x_3 = \frac{-20}{10} = -2 x 1 = 10 20 = 2 , x 2 = 10 10 = 1 , x 3 = 10 − 20 = − 2 x = ( 2 , 1 , − 2 ) \vv{x} = (2, 1, -2) x = ( 2 , 1 , − 2 ) 이다. 소거로 얻은 답과 같다.
Figure 2: L2에서 소거로 풀었던 그 문제이다. 답이 같다.
아름답다. 해를 명시적인 공식 하나로 쓸 수 있다. 그런데 대가가 있다. n × n n \times n n × n 을 풀려면
det A \det A det A 와 det B 1 , … , det B n \det B_1, \dots, \det B_n det B 1 , … , det B n , 곧 n + 1 n+1 n + 1 개의 행렬식 이 필요하다. 소거 한 번으로
끝나는 일을 n + 1 n+1 n + 1 배로 늘려 놓은 셈이다.
L19에서 만난 태도가 다시 나온다. 옳은 공식과 쓰는 방법은 다르다.
3. 행렬식은 부피이다 ¶ 이제 이번 강의의 심장이다. 행렬식이 부피라는 것을 어떻게 확신할 수 있는가.
부피를 직접 계산해서 n ! n! n ! 개 항의 합과 같은지 확인하는 것은 끔찍한 일이다. 다행히 그럴
필요가 없다. 증명 전략이 아름답다.
L18에서 세 개의 공리를 만족하는 함수가 값을 하나로 정한다는 것을 보았다.
2 × 2 2 \times 2 2 × 2 에서 a d − b c ad - bc a d − b c 가 유일하게 나온 것이 그 예이다. 그러므로 이렇게 하면 된다.
세 공리를 하나씩 확인하자. 여기서 부피는 방향까지 담은 부호 있는 부피 로 본다.
n n n 개의 행 r 1 , … , r n \vv{r}_1, \dots, \vv{r}_n r 1 , … , r n 이 만드는 평행육면체의 부호 있는 부피를
V ( r 1 , … , r n ) V(\vv{r}_1, \dots, \vv{r}_n) V ( r 1 , … , r n ) 이라 쓰자.
① 단위 정육면체의 부피는 1이다 ¶ A = I A = I A = I 이면 행이 e 1 , … , e n \vv{e}_1, \dots, \vv{e}_n e 1 , … , e n 이고 도형이 한 변의 길이가 1인 정육면체이다.
부피가 1이고, 표준기저는 방향이 + + + 이므로 부호도 + + + 이다.
V ( e 1 , … , e n ) = 1 = det I V(\vv{e}_1, \dots, \vv{e}_n) = 1 = \det I V ( e 1 , … , e n ) = 1 = det I ② 두 변을 바꾸면 부호가 뒤집힌다 ¶ 두 행을 맞바꿔도 도형 자체는 조금도 변하지 않는다. 같은 벡터들이 같은 평행육면체의
변을 이루기 때문이다. 변하는 것은 그 벡터들을 나열한 순서 , 곧 방향뿐이다.
2차원에서는 두 벡터의 순서를 바꾸면 꼭짓점을 도는 방향이 반시계에서 시계로 뒤집히고,
3차원에서는 오른손 좌표계가 왼손 좌표계가 된다. 눈으로 확인할 수 있는 사실이다.
V ( … , r j , … , r i , … ) = − V ( … , r i , … , r j , … ) V(\dots, \vv{r}_j, \dots, \vv{r}_i, \dots) = -\,V(\dots, \vv{r}_i, \dots, \vv{r}_j, \dots) V ( … , r j , … , r i , … ) = − V ( … , r i , … , r j , … ) ③ 한 행에 대해 선형이다 ¶ 셋 중에 이것이 가장 덜 뻔하다. 제대로 따져 보자.
i i i 행만 움직이고 나머지 n − 1 n-1 n − 1 개의 행은 붙박아 둔다. 붙박은 행들이 만드는
( n − 1 ) (n-1) ( n − 1 ) 차원 밑면의 부피를 B B B 라 하고, 그 밑면에 수직인 단위벡터 를
n ^ \hat{\vv{n}} n ^ 이라 하자.
부피는 밑면 곱하기 높이이다. 그리고 높이는 움직이는 행의 밑면에 수직인 성분의 길이 이다.
L15에서 배운 그대로이다. 부호까지 살리면 그 성분이 내적 하나로 적힌다.
V ( r ) = B ⋅ ( r ⋅ n ^ ) V(\vv{r}) = B \cdot \left(\vv{r} \cdot \hat{\vv{n}}\right) V ( r ) = B ⋅ ( r ⋅ n ^ ) 여기가 열쇠이다. B B B 와 n ^ \hat{\vv{n}} n ^ 은 붙박은 행들만으로 정해지므로 r \vv{r} r 이
어떻게 변하든 상수이다. 그러면 (18) 의 오른쪽은 r \vv{r} r 에 대한 내적에
상수를 곱한 것이고, 내적은 선형이다.
V ( t r ) = B ( ( t r ) ⋅ n ^ ) = t B ( r ⋅ n ^ ) = t V ( r ) V(t\vv{r})
= B\left((t\vv{r}) \cdot \hat{\vv{n}}\right)
= t\,B\left(\vv{r} \cdot \hat{\vv{n}}\right)
= t\,V(\vv{r}) V ( t r ) = B ( ( t r ) ⋅ n ^ ) = t B ( r ⋅ n ^ ) = t V ( r ) V ( r + r ′ ) = B ( ( r + r ′ ) ⋅ n ^ ) = B ( r ⋅ n ^ ) + B ( r ′ ⋅ n ^ ) = V ( r ) + V ( r ′ ) V(\vv{r} + \vv{r}')
= B\left((\vv{r} + \vv{r}') \cdot \hat{\vv{n}}\right)
= B\left(\vv{r} \cdot \hat{\vv{n}}\right) + B\left(\vv{r}' \cdot \hat{\vv{n}}\right)
= V(\vv{r}) + V(\vv{r}') V ( r + r ′ ) = B ( ( r + r ′ ) ⋅ n ^ ) = B ( r ⋅ n ^ ) + B ( r ′ ⋅ n ^ ) = V ( r ) + V ( r ′ ) 공리 ③이 확인되었다. "밑면이 고정된 채 높이만 변한다"는 말의 정확한 뜻이
(18) 의 내적이다.
붙박은 행들이 종속이라 밑면이 납작한 경우도 걸리지 않는다. 그러면 B = 0 B = 0 B = 0 이라
(18) 의 양변이 늘 0이고, 등식이 0 = 0 0 = 0 0 = 0 으로 성립한다.
세 개가 다 맞았다 ¶ L18에서 세 공리를 만족하는 함수는 하나뿐임을 보았다. 부호 있는 부피가 그 셋을 만족하니
행렬식일 수밖에 없다. 절댓값을 씌우면 부호가 떨어져 나간다.
V ( r 1 , … , r n ) = det A ⟹ ∣ det A ∣ = ( A 의 행들이 만드는 평행육면체의 부피 ) V(\vv{r}_1, \dots, \vv{r}_n) = \det A
\qquad\Longrightarrow\qquad
|\det A| = (A \text{ 의 행들이 만드는 평행육면체의 부피}) V ( r 1 , … , r n ) = det A ⟹ ∣ det A ∣ = ( A 의 행들이 만드는 평행육면체의 부피 ) det A T = det A \det A^{\mathsf{T}} = \det A det A T = det A 이므로 행으로 말하든 열로 말하든 같은 값이다.
Figure 3: 단위 정육면체가 평행육면체로 옮겨 가고, 그 부피가 ∣ det A ∣ |\det A| ∣ det A ∣ 이다.
오른쪽은 세 번째 열이 앞의 두 열의 결합이라 도형이 평면 안으로 눌린 경우이다.
네 문장이 등호로 이어진다 ¶ det A = 0 \det A = 0 det A = 0 이라는 말은 여러 얼굴을 가진다. 지금까지 배운 것을 나란히 놓아 보자.
det A = 0 ⟺ 부피가 0 ⟺ 열이 종속 ⟺ N ( A ) ≠ { 0 } ⟺ A − 1 이 없다 \det A = 0
\;\Longleftrightarrow\;
\text{부피가 0}
\;\Longleftrightarrow\;
\text{열이 종속}
\;\Longleftrightarrow\;
\Nul(A) \neq \{\vv{0}\}
\;\Longleftrightarrow\;
A^{-1} \text{ 이 없다} det A = 0 ⟺ 부피가 0 ⟺ 열이 종속 ⟺ N ( A ) = { 0 } ⟺ A − 1 이 없다 말로 옮기면 이렇다. 부피가 0이라는 것은 공간을 납작하게 눌렀다는 뜻이고, 납작하게 눌렀다는
것은 정보를 잃었다는 뜻이고, 정보를 잃었다는 것은 되돌릴 수 없다는 뜻이다.
세 번째 고리는 L9의 종속이고, 네 번째는 L6의 영공간이며, 마지막은 L3의 역행렬이다.
서로 다른 강의에서 따로 배운 것들이 하나의 사슬로 이어진다(L18의 (23) ).
4. 삼각형, 그리고 부호 ¶ 부피 이야기의 부산물이 하나 있다. 원점과 두 점 ( x 1 , y 1 ) (x_1, y_1) ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_2, y_2) ( x 2 , y 2 ) 가 만드는
삼각형을 보자.
두 벡터가 만드는 평행사변형에 대각선을 그으면 삼각형 둘로 나뉜다. 그 둘은 합동 이다.
한쪽을 대각선의 중점을 중심으로 180도 돌리면 다른 쪽에 정확히 포개지기 때문이다.
그러므로 삼각형의 넓이는 평행사변형의 절반이다.
( 삼각형의 넓이 ) = 1 2 ∣ det [ x 1 y 1 x 2 y 2 ] ∣ = 1 2 ∣ x 1 y 2 − x 2 y 1 ∣ (\text{삼각형의 넓이})
= \frac{1}{2}\left|\det\begin{bmatrix} x_1 & y_1 \\ x_2 & y_2 \end{bmatrix}\right|
= \frac{1}{2}\left| x_1 y_2 - x_2 y_1 \right| ( 삼각형의 넓이 ) = 2 1 ∣ ∣ det [ x 1 x 2 y 1 y 2 ] ∣ ∣ = 2 1 ∣ x 1 y 2 − x 2 y 1 ∣ Figure 4: 고등학교에서 외운 그 공식이 2 × 2 2 \times 2 2 × 2 행렬식이었다.
원점을 지나지 않는 삼각형 ¶ 꼭짓점이 ( x 1 , y 1 ) (x_1, y_1) ( x 1 , y 1 ) , ( x 2 , y 2 ) (x_2, y_2) ( x 2 , y 2 ) , ( x 3 , y 3 ) (x_3, y_3) ( x 3 , y 3 ) 인 일반적인 삼각형은 어떤가.
평행이동해서 한 꼭짓점을 원점으로 보내면 된다. 넓이는 평행이동으로 변하지 않는다.
첫 꼭짓점을 원점으로 보내면 나머지 두 꼭짓점이 두 변의 벡터가 된다.
( 넓이 ) = 1 2 ∣ det [ x 2 − x 1 y 2 − y 1 x 3 − x 1 y 3 − y 1 ] ∣ (\text{넓이}) = \frac{1}{2}\left|\det\begin{bmatrix}
x_2 - x_1 & y_2 - y_1 \\
x_3 - x_1 & y_3 - y_1
\end{bmatrix}\right| ( 넓이 ) = 2 1 ∣ ∣ det [ x 2 − x 1 x 3 − x 1 y 2 − y 1 y 3 − y 1 ] ∣ ∣ 전개해서 정리하면 뺄셈이 사라진 대칭적인 모양으로 바꿀 수 있다. 세 꼭짓점을 그대로
늘어놓고 1로 채운 열을 하나 붙인 3 × 3 3 \times 3 3 × 3 행렬이다.
( 넓이 ) = 1 2 ∣ det [ x 1 y 1 1 x 2 y 2 1 x 3 y 3 1 ] ∣ (\text{넓이}) = \frac{1}{2}\left|\det\begin{bmatrix}
x_1 & y_1 & 1 \\
x_2 & y_2 & 1 \\
x_3 & y_3 & 1
\end{bmatrix}\right| ( 넓이 ) = 2 1 ∣ ∣ det ⎣ ⎡ x 1 x 2 x 3 y 1 y 2 y 3 1 1 1 ⎦ ⎤ ∣ ∣ 두 식이 같다는 것은 소거 한 번으로 확인된다. 1행을 2행에서 빼고, 1행을 3행에서 뺀다.
다른 행의 배수를 더하는 연산이므로 L18의 성질 3에 의해 행렬식이 변하지 않는다.
[ x 1 y 1 1 x 2 y 2 1 x 3 y 3 1 ] ⟶ [ x 1 y 1 1 x 2 − x 1 y 2 − y 1 0 x 3 − x 1 y 3 − y 1 0 ] \begin{bmatrix}
x_1 & y_1 & 1 \\
x_2 & y_2 & 1 \\
x_3 & y_3 & 1
\end{bmatrix}
\;\longrightarrow\;
\begin{bmatrix}
x_1 & y_1 & 1 \\
x_2 - x_1 & y_2 - y_1 & 0 \\
x_3 - x_1 & y_3 - y_1 & 0
\end{bmatrix} ⎣ ⎡ x 1 x 2 x 3 y 1 y 2 y 3 1 1 1 ⎦ ⎤ ⟶ ⎣ ⎡ x 1 x 2 − x 1 x 3 − x 1 y 1 y 2 − y 1 y 3 − y 1 1 0 0 ⎦ ⎤ 3열이 1 , 0 , 0 1, 0, 0 1 , 0 , 0 이 되었다. 3열로 여인수 전개하면 항이 하나만 남는다.
det = 1 ⋅ ( − 1 ) 1 + 3 det [ x 2 − x 1 y 2 − y 1 x 3 − x 1 y 3 − y 1 ] \det = 1 \cdot (-1)^{1+3}\det\begin{bmatrix}
x_2 - x_1 & y_2 - y_1 \\
x_3 - x_1 & y_3 - y_1
\end{bmatrix} det = 1 ⋅ ( − 1 ) 1 + 3 det [ x 2 − x 1 x 3 − x 1 y 2 − y 1 y 3 − y 1 ] 부호가 ( − 1 ) 1 + 3 = + 1 (-1)^{1+3} = +1 ( − 1 ) 1 + 3 = + 1 이므로 (24) 의 2 × 2 2 \times 2 2 × 2 가 그대로
나온다. 두 식이 같다.
부호가 말하는 것 ¶ 부호는 방향이다. 2차원에서는 반시계가 시계로 뒤집히는지, 3차원에서는 오른손 좌표계가
왼손이 되는지를 말한다.
L17의 직교행렬에서 이것이 깔끔하게 갈린다. Q T Q = I Q^{\mathsf{T}}Q = I Q T Q = I 의 양변에 행렬식을 취하면
det ( Q T ) det Q = ( det Q ) 2 = det I = 1 ⟹ det Q = ± 1 \det(Q^{\mathsf{T}})\det Q = (\det Q)^2 = \det I = 1
\qquad\Longrightarrow\qquad
\det Q = \pm 1 det ( Q T ) det Q = ( det Q ) 2 = det I = 1 ⟹ det Q = ± 1 이다. det A T = det A \det A^{\mathsf{T}} = \det A det A T = det A 를 쓴 결과이다. 길이를 보존하니 부피도 보존되는 것이
당연하고, 남는 것은 부호뿐이다. +1 이면 순수한 회전, -1 이면 반사가 섞인 것이다.
5. 야코비안 — 미적분에서 만났던 그 값 ¶ 다변수 적분에서 변수를 바꿀 때 무언가를 곱해 주어야 했다. 극좌표로 바꿀 때
d x d y dx\,dy d x d y 가 r d r d θ r\,dr\,d\theta r d r d θ 가 되면서 r r r 이 어디선가 나타났다. 그 r r r 이 이것이다.
왜 편미분을 모아 놓은 행렬이 나오는가 ¶ 좌표 변환 x = x ( r , θ ) x = x(r, \theta) x = x ( r , θ ) , y = y ( r , θ ) y = y(r, \theta) y = y ( r , θ ) 는 선형변환이 아니다. 그런데
행렬식은 선형변환의 부피 배율이었다. 어떻게 연결되는가.
답은 충분히 확대하면 어떤 매끄러운 변환도 선형변환으로 보인다 는 것이다.
한 점 ( r 0 , θ 0 ) (r_0, \theta_0) ( r 0 , θ 0 ) 근처에서 아주 조금 움직였을 때 x x x 와 y y y 가 얼마나 변하는지는
전미분으로 적힌다.
d x = ∂ x ∂ r d r + ∂ x ∂ θ d θ , d y = ∂ y ∂ r d r + ∂ y ∂ θ d θ dx = \frac{\partial x}{\partial r}\,dr + \frac{\partial x}{\partial \theta}\,d\theta,
\qquad
dy = \frac{\partial y}{\partial r}\,dr + \frac{\partial y}{\partial \theta}\,d\theta d x = ∂ r ∂ x d r + ∂ θ ∂ x d θ , d y = ∂ r ∂ y d r + ∂ θ ∂ y d θ 두 줄을 행렬로 묶으면 정체가 드러난다.
[ d x d y ] = [ ∂ x / ∂ r ∂ x / ∂ θ ∂ y / ∂ r ∂ y / ∂ θ ] ⏟ J [ d r d θ ] \begin{bmatrix} dx \\ dy \end{bmatrix}
= \underbrace{\begin{bmatrix}
\partial x/\partial r & \partial x/\partial \theta \\
\partial y/\partial r & \partial y/\partial \theta
\end{bmatrix}}_{J}
\begin{bmatrix} dr \\ d\theta \end{bmatrix} [ d x d y ] = J [ ∂ x / ∂ r ∂ y / ∂ r ∂ x / ∂ θ ∂ y / ∂ θ ] [ d r d θ ] J J J 가 바로 그 점 근처에서 좌표 변환을 흉내 내는 선형변환이다. 이것을 야코비 행렬이라
한다.
이제 ( r , θ ) (r, \theta) ( r , θ ) 평면의 아주 작은 직사각형 d r × d θ dr \times d\theta d r × d θ 를 보자.
그 두 변은 ( d r , 0 ) (dr, 0) ( d r , 0 ) 과 ( 0 , d θ ) (0, d\theta) ( 0 , d θ ) 이고, J J J 를 지나면 J J J 의 두 열에 각각
d r dr d r 과 d θ d\theta d θ 를 곱한 벡터가 된다. 곧 직사각형이 평행사변형으로 옮겨 간다.
3절에 의해 그 평행사변형의 넓이는 ∣ det J ∣ |\det J| ∣ det J ∣ 에 원래 넓이를 곱한 것이다.
d x d y = ∣ det J ∣ d r d θ dx\,dy = \left|\det J\right| \, dr\,d\theta d x d y = ∣ det J ∣ d r d θ 극좌표로 계산해 보자 ¶ x = r cos θ x = r\cos\theta x = r cos θ , y = r sin θ y = r\sin\theta y = r sin θ 를 편미분해서 J J J 를 채운다.
∂ x ∂ r = cos θ , ∂ x ∂ θ = − r sin θ , ∂ y ∂ r = sin θ , ∂ y ∂ θ = r cos θ \frac{\partial x}{\partial r} = \cos\theta,
\quad
\frac{\partial x}{\partial \theta} = -r\sin\theta,
\quad
\frac{\partial y}{\partial r} = \sin\theta,
\quad
\frac{\partial y}{\partial \theta} = r\cos\theta ∂ r ∂ x = cos θ , ∂ θ ∂ x = − r sin θ , ∂ r ∂ y = sin θ , ∂ θ ∂ y = r cos θ det J = det [ cos θ − r sin θ sin θ r cos θ ] = cos θ ⋅ r cos θ − ( − r sin θ ) ⋅ sin θ = r cos 2 θ + r sin 2 θ = r \det J
= \det\begin{bmatrix} \cos\theta & -r\sin\theta \\ \sin\theta & r\cos\theta \end{bmatrix}
= \cos\theta \cdot r\cos\theta - (-r\sin\theta) \cdot \sin\theta
= r\cos^2\theta + r\sin^2\theta = r det J = det [ cos θ sin θ − r sin θ r cos θ ] = cos θ ⋅ r cos θ − ( − r sin θ ) ⋅ sin θ = r cos 2 θ + r sin 2 θ = r 곱해 주던 r r r 은 아주 작은 사각형이 좌표 변환으로 얼마나 늘어나는지의 부피 배율 이었다.
원점에서 멀어질수록 같은 d θ d\theta d θ 가 더 긴 호를 그으니 배율이 r r r 에 비례한다.
r = 0 r = 0 r = 0 에서 배율이 0인 것도 맞는다. 원점에서는 θ \theta θ 를 아무리 돌려도 제자리이므로
그 자리에서 좌표 변환이 납작하게 눌린다.
미적분에서 이유도 모르고 곱하던 값의 정체가 행렬식이다.
6. 자주 하는 오해 ¶ 크래머 공식이 실용적이라는 오해 ¶ 교과서가 이 공식을 강조해서 생기는 착각이다. 3 × 3 3 \times 3 3 × 3 까지는 손으로 할 만하지만
n + 1 n + 1 n + 1 개의 행렬식이 필요하다는 사실은 변하지 않는다. 실무에서 쓰지 않는다.
부피가 음수일 수 있다는 오해 ¶ 부피는 ∣ det A ∣ |\det A| ∣ det A ∣ 이므로 음수가 아니다. 부호는 부피의 일부가 아니라 방향 정보이다.
둘을 붙여 "부호 있는 부피"라고 부를 때는 그것이 방향까지 담은 값이라는 뜻이다.
행렬식이 크면 좋다는 오해 ¶ L18에서 한 이야기의 짝이다. 행렬식이 크다는 것은 많이 늘렸다 는 뜻일 뿐이고
좋다는 뜻이 아니다. 어느 방향으로 얼마나 늘렸는지는 행렬식 하나로 알 수 없다.
부피 배율은 방향별 배율을 전부 곱해 놓은 값이라, 한 방향으로 100배 늘이고 다른 방향으로
100분의 1로 줄여도 행렬식은 1이다.
마치며... ¶ 세 강의에 걸친 행렬식 이야기가 끝났다.
대상 내용 A C T = ( det A ) I AC^{\mathsf{T}} = (\det A)I A C T = ( det A ) I 대각은 여인수 전개, 비대각은 같은 행이 둘이라 0 역행렬 공식 A − 1 = C T / det A A^{-1} = C^{\mathsf{T}}/\det A A − 1 = C T / det A . C T C^{\mathsf{T}} C T 가 딸림행렬크래머 공식 x j = det B j / det A x_j = \det B_j / \det A x j = det B j / det A . 계산용이 아니라 민감도를 보는 눈부피 부피가 세 공리를 만족하므로 부피 = = = ∣ det ∣ \lvert\det\rvert ∣ det ∣ det = 0 \det = 0 det = 0 납작 = = = 종속 = = = 정보 손실 = = = 되돌릴 수 없음 삼각형 행렬식의 절반. 일반 삼각형은 1로 채운 열을 붙인 3 × 3 3 \times 3 3 × 3 직교행렬 det Q = ± 1 \det Q = \pm1 det Q = ± 1 . 회전이거나 반사야코비안 확대하면 좌표 변환도 선형변환. 그 행렬식이 부피 배율
그런데 이상한 점이 하나 있다. 행렬식에 세 강의를 썼는데 정작 왜 배웠는지는 아직 말하지
않았다. 방정식을 푸는 데는 소거가 빠르고, 역행렬을 구하는 데도 가우스-조르당이 빠르다.
부피를 알아서 좋기는 하지만 그것만으로 세 강의를 쓸 이유가 되지는 않는다.
다음 강의에서 다음 방정식을 만나는 순간 알게 된다.
det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0 이 식을 이제 이렇게 읽을 수 있다. 부피가 0이 되도록 λ \lambda λ 를 고른다.
A − λ I A - \lambda I A − λ I 가 공간을 납작하게 누르도록, 곧 영공간이 원점보다 커지도록 만드는 λ \lambda λ 를
찾는 것이다. 세 강의가 없었으면 이 식은 외워야 할 공식이었을 것이다.
그리고 그 방정식이 이 교재의 후반부 전체를 여는 열쇠가 된다.
이번 강의의 내용을 파이썬으로 확인해 보려면 L20 실습 노트북 으로 넘어가면 된다.
딸림행렬로 역행렬을 만들어 np.linalg.inv 와 대조하고, 크래머 공식과 소거의 속도를 재 보며,
단위 정육면체가 평행육면체로 옮겨 가는 것을 회전시켜 가며 볼 수 있다.