Chapter 10

행렬식

정사각 행렬 하나에 숫자 하나를 붙이는 함수가 있습니다. 그 숫자는 행렬이 공간을 몇 배로 부풀리는지, 그리고 공간을 뒤집는지를 함께 말해 줍니다. 0이면 공간이 납작해져 되돌릴 수 없고, 음수면 오른손이 왼손이 됩니다. MathBook에서는 2×2의 넓이 배율로 행렬식을 맛보았습니다. 이 장은 그 생각을 n차원으로 넓히고, 세 가지 성질만으로 모든 공식을 끌어냅니다. 그러면 왜 컴퓨터는 여인수 전개가 아니라 소거로 행렬식을 구하는지, 극좌표의 적분에 왜 rr이 붙는지, 다각형 넓이를 꼭짓점 좌표만으로 어떻게 재는지가 한 줄로 이어집니다.

이 수식이 없었다면3D 그래픽의 뒷면 제거

게임 속 캐릭터는 수많은 삼각형으로 된 닫힌 껍질입니다. 카메라 쪽에서 보면 껍질의 절반쯤은 등을 돌리고 있어 어차피 앞면에 가려집니다. 그 삼각형들까지 칠하면 화면을 채우는 일이 거의 두 배가 됩니다. 그런데 "이 삼각형이 나를 보고 있는가"를 매번 법선 벡터와 시선 방향으로 따지기에는 삼각형이 너무 많습니다.

해법은 2×2 행렬식 하나입니다. 모델을 만들 때 모든 삼각형의 꼭짓점을 바깥에서 보아 반시계 방향으로 적어 둡니다. 화면에 투영한 뒤 두 변 벡터로 만든 2×2 행렬식의 부호를 보면, 양수면 여전히 반시계 방향이라 앞면이고 음수면 뒤집혀 보이는 뒷면입니다. 곱셈 두 번과 뺄셈 한 번이면 됩니다. OpenGL 같은 그래픽 API는 이 "감기 순서"로 앞면을 정하는 설정을 기본으로 제공합니다. 부피 배율의 부호가 방향을 기억한다는 사실이 이 장의 출발점입니다.

삼각형마다 앞·뒤 판정→법선·시선 계산은 비쌈→2×2 행렬식의 부호→곱셈 2번으로 판정

행렬식은 부호 있는 부피다

정사각형 하나가 변환 뒤 몇 배가 되는지, 3차원에서도 말할 수 있을까

2×2 행렬 [abcd]\begin{bmatrix}a&b\\c&d\end{bmatrix}은 단위 정사각형을 두 열이 만드는 평행사변형으로 보내고, 그 넓이는 ∣ad−bc∣|ad-bc|입니다(MathBook의 그림). 그렇다면 3×3 행렬이 단위 정육면체를 보낸 평행육면체의 부피는? 4×4라면 눈으로 볼 수도 없는 "4차원 부피"를 어떻게 정의하고 계산할까요?

평면에서 두 열 a1,a2\mathbf{a}_1, \mathbf{a}_2가 만드는 평행사변형의 넓이에 부호를 붙여 봅시다. a1\mathbf{a}_1에서 a2\mathbf{a}_2로 반시계 방향으로 돌면 ++, 시계 방향이면 −-입니다. 이렇게 부호를 붙이면 넓이가 놀랍도록 깔끔한 대수 규칙을 따릅니다. 3차원에서는 세 열 a1,a2,a3\mathbf{a}_1, \mathbf{a}_2, \mathbf{a}_3이 평행육면체를 만들고, 세 벡터가 오른손 좌표계(엄지 a1\mathbf{a}_1, 검지 a2\mathbf{a}_2, 중지 a3\mathbf{a}_3)를 이루면 ++, 왼손이면 −-를 붙입니다.

a₁ a₂ 반시계: det > 0 넓이 = |det| a₁ a₂ a₁, a₂ 순서 바꿈: det < 0 같은 넓이, 반대 부호 a₁ a₂ a₃ 오른손 순서: det > 0 부피 = |det [a₁ a₂ a₃]|
그림 10-1. 왼쪽·가운데: 두 열의 순서를 바꾸면 평행사변형은 그대로이지만 도는 방향이 반대가 되어 부호가 바뀐다. 오른쪽: 세 열이 오른손 좌표계를 이루는 평행육면체는 양의 부피를 가진다. 어느 한 벡터를 반대로 뒤집으면 왼손 좌표계가 되고 부호가 바뀐다.

아래 시뮬레이터에서 세 열을 직접 바꿔 보세요. 행렬식은 늘 평행육면체의 부피(부호 포함)와 같습니다. 3×3 공식은 나중에 유도하겠지만, 미리 적어 두면 다음과 같습니다.

det⁡[a11a12a13a21a22a23a31a32a33]=a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)\det\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix} = a_{11}(a_{22}a_{33}-a_{23}a_{32}) - a_{12}(a_{21}a_{33}-a_{23}a_{31}) + a_{13}(a_{21}a_{32}-a_{22}a_{31})
여섯 개의 곱이 부호를 바꿔 가며 더해진다. 각 곱은 행마다 하나, 열마다 하나씩 원소를 고른 것이다. 5절에서 이 구조를 일반화한다.
SIMULATOR

세 열이 만드는 평행육면체

행렬 A (열 = a₁, a₂, a₃)
a₁a₂a₃단위 정육면체
det A—
부피 |det A|—
a₁ · (a₂ × a₃)—
손잡이—
해볼 것: ① '전단'은 상자를 비스듬히 밀지만 부피(det)는 1 그대로입니다. 밑면과 높이가 그대로이기 때문입니다. ② 'a₁, a₂ 교환'과 'a₃ 뒤집기'는 모양은 단위 정육면체와 같아 보이지만 det = −1입니다. 손잡이가 바뀌었습니다. ③ '납작'에서는 세 벡터가 한 평면에 놓여 부피가 0이 됩니다. 칸에 숫자를 직접 넣어 det가 0이 되는 다른 행렬도 찾아보세요. 모델: 원근 없는 정사영으로 그렸고, 스칼라 삼중곱 a₁·(a₂×a₃)를 행렬식과 나란히 계산합니다.

n차원에서는 눈으로 볼 수 없지만, 같은 대수 규칙을 따르는 "부호 있는 부피"를 정의할 수 있습니다. 다음 절이 그 규칙입니다. 놀랍게도 규칙 세 개면 함수가 하나로 정해집니다.

세 가지 성질이 행렬식을 정한다

공식을 외우지 않고 행렬식을 정의할 수 있을까

2×2 공식 ad−bcad-bc는 외우기 쉽지만 4×4 공식은 24개 항, 10×10은 3,628,800개 항입니다. 공식으로 정의하면 성질을 증명하기도 어렵습니다. 부피가 마땅히 가져야 할 성질 몇 가지만 요구하고, 그것을 만족하는 함수를 찾으면 어떨까요?

부호 있는 부피를 행렬의 행(또는 열, 결국 같다는 것을 뒤에서 증명합니다)의 함수로 보고, 부피라면 당연히 지켜야 할 성질을 적습니다.

정의 10.1 (행렬식) n×nn\times n 행렬에 실수를 붙이는 함수 det⁡\det가 다음 세 성질을 만족할 때 이를 행렬식(Determinant)이라 한다.
  1. 정규화: det⁡I=1\det I = 1. 단위 정육면체의 부피는 1이다.
  2. 교대성: 두 행을 바꾸면 부호가 바뀐다. 순서를 바꾸면 방향이 뒤집힌다.
  3. 다중선형성: 다른 행을 고정하면 한 행에 대해 선형이다. 즉 det⁡[tr⋯]=tdet⁡[r⋯]\det\begin{bmatrix}t\mathbf{r}\\ \cdots\end{bmatrix} = t\det\begin{bmatrix}\mathbf{r}\\ \cdots\end{bmatrix}이고 det⁡[r+r′⋯]=det⁡[r⋯]+det⁡[r′⋯]\det\begin{bmatrix}\mathbf{r}+\mathbf{r}'\\ \cdots\end{bmatrix} = \det\begin{bmatrix}\mathbf{r}\\ \cdots\end{bmatrix} + \det\begin{bmatrix}\mathbf{r}'\\ \cdots\end{bmatrix}.

성질 3의 첫 부분은 "한 변을 tt배 하면 부피가 tt배"라는 뜻입니다. 둘째 부분이 조금 놀라운데, 그림으로 보면 당연합니다. 밑변을 공유하는 두 평행사변형의 넓이는 높이의 합으로 더해지고, 높이는 위쪽 변의 "밑변에 수직인 성분"이니 벡터를 더하면 높이도 더해집니다.

det(a, b) b + det(a, c) c = det(a, b + c) b + c 밑변 a밑변 a밑변 a 높이 50 + 70 = 120: 밑변이 같으면 넓이는 높이(밑변에 수직인 성분)로 더해진다
그림 10-2. 다중선형성의 그림. 밑변 a를 고정하면 넓이는 위쪽 벡터의 "a에 수직인 성분"에 비례한다. 수직 성분은 벡터 덧셈에 대해 더해지므로 det(a, b + c) = det(a, b) + det(a, c)이다. 위쪽 벡터가 밑변을 따라 옆으로 미끄러져도 넓이가 그대로라는 것도 이 그림에서 보인다.
정리 10.2 (존재와 유일성) 각 nn에 대해 정의 10.1의 세 성질을 만족하는 함수는 꼭 하나 있다.

유일성의 아이디어: 다음 절에서 보듯이 세 성질만으로 소거를 따라가며 어떤 행렬의 값이든 끝까지 계산할 수 있다. 계산 방법이 성질로만 정해지니 값도 하나뿐이다. 존재성은 5절의 순열 공식이 세 성질을 실제로 만족한다는 것을 확인하면 된다.

아래 시뮬레이터는 행렬에 기본 행 연산을 하나씩 가하면서 행렬식이 어떻게 바뀌는지 기록합니다. 세 성질이 예언하는 배수(교환은 −1-1, kk배는 kk, 행 더하기는 1)를 곱해 가면 언제나 실제 행렬식과 맞습니다.

SIMULATOR

행 연산 하나마다 행렬식은 몇 배가 되나

연산
대상 행 i · 기준 행 j
연산을 고르고 '적용'을 누르세요.
    처음 det—
    누적 배수 (예언)—
    처음 det × 배수—
    지금 det (직접 계산)—
    해볼 것: ① 'k배'에서 k = 0을 적용하면 한 행이 0이 되어 det = 0이 되고, 그 뒤로는 무엇을 해도 되돌릴 수 없습니다(배수 0을 곱했으니까요). ② '행 더하기'(Rᵢ ← Rᵢ + k·Rⱼ)는 몇 번을 해도 배수가 1입니다. 소거가 행렬식을 바꾸지 않는 이유입니다. ③ 같은 두 행을 교환하면(i = j) 행렬이 그대로라 det = −det, 즉 det = 0이어야 하지만 행렬이 0이 아니면 모순이죠. 그래서 i = j인 교환은 막아 두었습니다. 모델: 3×3 실수 행렬, '지금 det'는 매번 처음부터 다시 계산합니다.

    세 성질에서 따라 나오는 것들

    이제 정의만으로 쓸모 있는 성질을 차례로 증명합니다. 각 증명은 한두 줄이지만, 이 짧은 사슬이 행렬식 계산법 전부를 만들어 냅니다.

    정리 10.3 (기본 성질) n×nn\times n 행렬 AA에 대해
    1. 두 행이 같으면 det⁡A=0\det A = 0.
    2. 한 행의 배수를 다른 행에서 빼도 det⁡A\det A는 그대로다.
    3. 영인 행이 있으면 det⁡A=0\det A = 0.
    4. AA가 삼각 행렬이면 det⁡A=a11a22⋯ann\det A = a_{11}a_{22}\cdots a_{nn} (대각 원소의 곱).
    5. det⁡(cA)=cndet⁡A\det(cA) = c^n\det A.

    증명. (a) 같은 두 행을 바꾸면 행렬은 그대로인데 성질 2에 의해 부호가 바뀐다. D=−DD = -D이므로 D=0D = 0. (b) 성질 3으로 det⁡(…,ri−ℓrj,…)=det⁡(…,ri,…)−ℓdet⁡(…,rj,…)\det(\ldots, \mathbf{r}_i - \ell\mathbf{r}_j, \ldots) = \det(\ldots, \mathbf{r}_i, \ldots) - \ell\det(\ldots, \mathbf{r}_j, \ldots)인데, 뒤의 행렬은 rj\mathbf{r}_j가 두 번 나오므로 (a)에 의해 0이다. (c) 영인 행에 성질 3을 t=0t = 0으로 쓰면 det⁡=0⋅det⁡=0\det = 0\cdot\det = 0. (d) 대각 원소가 모두 0이 아니면 (b)를 써서 대각 위(또는 아래) 원소를 모두 지워 대각 행렬로 만들고, 성질 3으로 대각 원소를 행마다 꺼내면 a11⋯anndet⁡Ia_{11}\cdots a_{nn}\det I. 어떤 대각 원소가 0이면 소거로 영인 행이 생겨 (c)에 의해 0이고, 대각 원소의 곱도 0이다. (e) 각 행에서 cc를 하나씩, 모두 nn번 꺼낸다. ∎

    det = 140 × 90 처음 R₂ − ℓR₁ 같은 넓이 위쪽 변을 밑변 방향으로 밀기 밑변 × 높이 = 피벗의 곱
    그림 10-3. 정리 10.3(b)의 그림. 한 행에서 다른 행의 배수를 빼는 것은 평행사변형의 위쪽 변을 밑변 방향으로 미는 전단이다. 밑변과 높이가 그대로이므로 넓이도 그대로다. 소거를 끝까지 하면 직사각형(삼각 행렬)이 되고, 넓이는 대각 원소, 즉 피벗의 곱이다.

    컴퓨터는 피벗의 곱으로 행렬식을 구한다

    10×10 행렬의 행렬식을 손으로, 또는 컴퓨터로 어떻게 구할까

    정리 10.3에서 계산법이 바로 나옵니다. 3장의 가우스 소거로 AA를 위삼각 행렬 UU로 만들되, 행 더하기는 행렬식을 바꾸지 않고 행 교환만 부호를 바꾼다는 것을 기억하면 됩니다.

    정리 10.4 (피벗 공식과 가역성) 행 교환을 포함한 소거 PA=LUPA = LU에서 교환 횟수가 ss번이면 det⁡A=(−1)s u11u22⋯unn=±(피벗의 곱).\det A = (-1)^s\,u_{11}u_{22}\cdots u_{nn} = \pm(\text{피벗의 곱}). 따라서 det⁡A≠0  ⟺  \det A \ne 0 \iff 피벗이 nn개   ⟺  A\iff A가 가역.

    증명. 행 더하기는 행렬식을 바꾸지 않고(10.3b), 교환은 한 번에 부호를 한 번 바꾼다(성질 2). 그러므로 det⁡A=(−1)sdet⁡U\det A = (-1)^s\det U이고, UU는 삼각 행렬이므로 대각 원소의 곱이다(10.3d). 피벗이 모자라면 UU의 대각에 0이 있어 det⁡A=0\det A = 0이고, 피벗이 nn개면 곱이 0이 아니다. 4장에서 피벗 nn개와 가역이 같은 조건임을 보였다. ∎

    예제 10.1 (소거로 구하는 3×3 행렬식) 3장의 예제 행렬 A=[211410−221]A = \begin{bmatrix}2&1&1\\4&1&0\\-2&2&1\end{bmatrix}.
    1. R2−2R1R_2 - 2R_1: (0,−1,−2)(0, -1, -2). R3+R1R_3 + R_1: (0,3,2)(0, 3, 2). 행렬식은 그대로.
    2. R3+3R2R_3 + 3R_2: (0,0,−4)(0, 0, -4). 역시 그대로.
    3. U=[2110−1−200−4]U = \begin{bmatrix}2&1&1\\0&-1&-2\\0&0&-4\end{bmatrix}, 교환 0번. det⁡A=2⋅(−1)⋅(−4)=8\det A = 2\cdot(-1)\cdot(-4) = 8.
    검산(3×3 공식): 2(1⋅1−0⋅2)−1(4⋅1−0⋅(−2))+1(4⋅2−1⋅(−2))=2−4+10=82(1\cdot1-0\cdot2) - 1(4\cdot1 - 0\cdot(-2)) + 1(4\cdot2-1\cdot(-2)) = 2 - 4 + 10 = 8. ✓

    이 방법의 연산량은 소거와 같은 약 23n3\tfrac23 n^3입니다. 아래에서 4×4 행렬을 한 단계씩 소거하며 피벗의 곱과 교환 부호가 행렬식을 만드는 과정을 보세요.

    SIMULATOR

    소거하며 행렬식 모으기

    단계—
    확정된 피벗—
    교환 부호 (−1)ˢ—
    ±(피벗의 곱) vs 참값—
    해볼 것: ① 첫 예제를 끝까지 넘기면 피벗 2, 1, 2, 2의 곱 8이 행렬식입니다. ② 둘째 예제는 첫 피벗 자리가 0이라 교환이 한 번 일어나고 부호가 −로 바뀝니다. 부분 피벗팅을 켜면 교환 횟수가 달라지지만 최종 det는 같습니다. ③ 특이 행렬은 피벗이 모자라 det = 0으로 끝납니다. 모델: 각 단계에서 한 열 아래를 한꺼번에 지웁니다. '참값'은 순열 공식(4×4: 24항)으로 따로 계산한 값입니다.

    피벗 공식에서 곱의 법칙과 전치 법칙이 나옵니다. 둘 다 공식으로 직접 보이려면 꽤 힘들지만, 세 성질과 소거를 쓰면 짧습니다.

    정리 10.5 (곱의 법칙) det⁡(AB)=det⁡A det⁡B\det(AB) = \det A\,\det B. 따라서 det⁡(A−1)=1/det⁡A\det(A^{-1}) = 1/\det A, det⁡(Ak)=(det⁡A)k\det(A^k) = (\det A)^k.

    증명. AA가 특이하면 ABAB도 특이하므로(ABAB가 가역이면 AA는 B(AB)−1B(AB)^{-1}이라는 오른쪽 역을 가진다) 양변이 0이다. AA가 가역이면 기본 행렬의 곱 A=E1E2⋯EkA = E_1E_2\cdots E_k로 쓸 수 있다. 기본 행렬 EE를 왼쪽에 곱하는 것은 행 연산이므로 세 성질에서 det⁡(EM)=det⁡E det⁡M\det(EM) = \det E\,\det M이 모든 MM에 대해 성립한다(교환 −1-1, kk배 kk, 행 더하기 1). 이것을 kk번 쓰면 det⁡(AB)=det⁡E1⋯det⁡Ekdet⁡B=det⁡Adet⁡B\det(AB) = \det E_1\cdots\det E_k\det B = \det A\det B. ∎

    기하적으로는 당연합니다. BB가 부피를 det⁡B\det B배 하고 이어서 AA가 det⁡A\det A배 하면 모두 det⁡Adet⁡B\det A\det B배입니다. 주의할 것은 덧셈입니다. det⁡(A+B)≠det⁡A+det⁡B\det(A+B) \ne \det A + \det B가 일반적입니다(A=B=IA = B = I이면 2n≠22^n \ne 2).

    정리 10.6 (전치) det⁡AT=det⁡A\det A^\mathsf{T} = \det A. 그래서 "행"에 대한 모든 성질은 "열"에도 성립한다(열 교환은 부호 반전, 각 열에 대해 선형, 같은 두 열이면 0 …).

    증명. PA=LUPA = LU이면 ATPT=UTLTA^\mathsf{T}P^\mathsf{T} = U^\mathsf{T}L^\mathsf{T}. 곱의 법칙으로 det⁡Pdet⁡A=det⁡Ldet⁡U\det P\det A = \det L\det U, det⁡ATdet⁡PT=det⁡UTdet⁡LT\det A^\mathsf{T}\det P^\mathsf{T} = \det U^\mathsf{T}\det L^\mathsf{T}. 삼각 행렬은 전치해도 대각이 같으니 det⁡L=det⁡LT=1\det L = \det L^\mathsf{T} = 1, det⁡U=det⁡UT\det U = \det U^\mathsf{T}. 치환 행렬은 PPT=IPP^\mathsf{T} = I이므로 det⁡Pdet⁡PT=1\det P\det P^\mathsf{T} = 1이고 det⁡P=±1\det P = \pm1이라 det⁡PT=det⁡P\det P^\mathsf{T} = \det P. 두 식을 비교하면 det⁡AT=det⁡A\det A^\mathsf{T} = \det A. ∎

    1절에서 행렬식을 열이 만드는 부피로 소개하고 2절에서 행의 성질로 정의했는데, 이 정리 덕분에 두 관점이 같은 숫자를 줍니다.

    여인수 전개와 n! 공식

    행렬식을 원소들의 식으로 직접 쓸 수 있을까

    소거는 빠르지만 "det⁡A\det A가 원소들의 어떤 함수인가"는 말해 주지 않습니다. 이론에서는 행렬식을 원소의 다항식으로 써야 할 때가 많습니다. 고유값을 찾는 특성 다항식 det⁡(A−λI)\det(A - \lambda I)(11장)이 대표적입니다.

    다중선형성으로 첫 행을 r1=a11e1+a12e2+⋯+a1nen\mathbf{r}_1 = a_{11}\mathbf{e}_1 + a_{12}\mathbf{e}_2 + \cdots + a_{1n}\mathbf{e}_n으로 쪼개면 행렬식이 nn개 행렬식의 합이 됩니다. jj번째 것은 첫 행이 a1jeja_{1j}\mathbf{e}_j인 행렬이고, 첫 행에서 a1ja_{1j}를 꺼낸 뒤 jj열 아래쪽을 행 더하기로 지우고 열 교환으로 jj열을 맨 앞으로 옮기면 남는 것은 1행과 jj열을 지운 (n−1)×(n−1)(n-1)\times(n-1) 행렬의 행렬식입니다. 열 교환 j−1j-1번이 부호 (−1)1+j(-1)^{1+j}를 만듭니다.

    정리 10.7 (여인수 전개, 라플라스 전개) AA에서 ii행과 jj열을 지운 행렬을 MijM_{ij}라 하고 여인수(Cofactor)를 Cij=(−1)i+jdet⁡MijC_{ij} = (-1)^{i+j}\det M_{ij}라 하자. 어느 행 ii를 골라도, 또 어느 열 jj를 골라도 det⁡A=∑j=1naijCij=∑i=1naijCij.\det A = \sum_{j=1}^n a_{ij}C_{ij} = \sum_{i=1}^n a_{ij}C_{ij}. 부호 (−1)i+j(-1)^{i+j}는 체스판처럼 + − + ⋯+\,-\,+\,\cdots로 번갈아 놓인다.
    + − + − − + − + + − + − 부호 (−1)ⁱ⁺ʲ a₂₃의 소행렬 M₂₃: 2행·3열 지우기 a₁₁a₁₂a₁₃ a₂₁a₂₂a₂₃ a₃₁a₃₂a₃₃ C₂₃ = (−1)²⁺³ det M₂₃ = −(a₁₁a₃₂ − a₁₂a₃₁) 0이 많은 행이나 열로 전개하면 항이 줄어든다
    그림 10-4. 왼쪽: 여인수의 부호는 왼쪽 위에서 +로 시작하는 체스판 무늬다. 오른쪽: a₂₃의 소행렬은 2행과 3열을 지우고 남은 2×2 행렬이며, 여인수는 그 행렬식에 부호 −를 붙인 것이다.
    예제 10.2 (0이 많은 행으로 전개하기) B=[1020310100102043]B = \begin{bmatrix}1&0&2&0\\3&1&0&1\\0&0&1&0\\2&0&4&3\end{bmatrix}.
    1. 3행은 b33=1b_{33} = 1만 0이 아니다. 3행으로 전개하면 항이 하나: det⁡B=(+1)⋅1⋅det⁡M33\det B = (+1)\cdot1\cdot\det M_{33}, 부호 (−1)3+3=+1(-1)^{3+3} = +1.
    2. M33=[100311203]M_{33} = \begin{bmatrix}1&0&0\\3&1&1\\2&0&3\end{bmatrix}. 1행은 첫 원소만 0이 아니다. det⁡M33=1⋅det⁡[1103]=3\det M_{33} = 1\cdot\det\begin{bmatrix}1&1\\0&3\end{bmatrix} = 3.
    3. det⁡B=3\det B = 3. 4×4의 24개 항 대부분이 0이라 두 번의 전개로 끝났다.

    전개를 끝까지 되풀이하면 모든 항이 "각 행에서 하나, 각 열에서 하나"씩 고른 원소의 곱이 됩니다. 이런 선택은 열 번호의 순열 σ\sigma와 일대일로 대응하고, 부호는 그 순열을 만드는 교환 횟수의 홀짝입니다.

    정리 10.8 (순열 공식, 라이프니츠 공식) det⁡A=∑σ∈Snsgn⁡(σ) a1σ(1)a2σ(2)⋯anσ(n).\det A = \sum_{\sigma\in S_n}\operatorname{sgn}(\sigma)\,a_{1\sigma(1)}a_{2\sigma(2)}\cdots a_{n\sigma(n)}. 합은 {1,…,n}\{1,\ldots,n\}의 순열 n!n!개 전체에 대한 것이고, sgn⁡σ=±1\operatorname{sgn}\sigma = \pm1은 σ\sigma가 짝수 번의 교환으로 만들어지면 +1+1, 홀수 번이면 −1-1이다. 이 식이 세 성질을 만족한다는 것을 확인하면 정리 10.2의 존재성이 증명된다.

    이론에는 훌륭한 식이지만 계산에는 재앙입니다. n!n!은 n3n^3과 비교도 안 되게 빨리 자랍니다. 아래 시뮬레이터 위쪽에서는 여인수 전개를 직접 펼쳐 보고, 아래쪽 그래프에서 두 방법의 연산량을 비교하세요.

    SIMULATOR

    여인수 전개 펼치기와 n!의 벽

    행렬 A (3×3)
    순열 공식의 곱셈 (≈ n!·(n−1))—
    소거의 연산 (≈ 2n³/3)—
    초당 10억 번일 때: 순열 공식—
    초당 10억 번일 때: 소거—
    해볼 것: ① 2열로 전개하면 a₂₃ = 0 같은 0인 원소의 항이 사라지지 않지만, 0이 들어 있는 2행이나 3열로 바꾸면 항 하나가 0이 됩니다. 어느 행·열로 전개해도 합은 같습니다. ② n을 20으로 올려 보세요. 순열 공식은 약 77년, 소거는 수 마이크로초입니다. n = 25면 순열 공식은 우주 나이의 수천만 배를 넘깁니다. 모델: 순열 공식 비용은 n!개 항마다 곱셈 n−1번으로 셉니다. 실제 시간은 하드웨어에 따라 다르며 비율만 의미가 있습니다.

    크라메르 공식과 수반 행렬

    Ax = b의 해를 원소들의 식으로 한 번에 쓸 수 있을까

    소거는 절차이지 공식이 아닙니다. 해 xix_i가 AA와 b\mathbf{b}의 원소에 어떻게 의존하는지, 예를 들어 b\mathbf{b}를 조금 바꾸면 xix_i가 얼마나 바뀌는지를 식으로 알고 싶을 때가 있습니다.

    요령은 단위 행렬의 ii열을 x\mathbf{x}로 바꾼 행렬 Ii(x)I_i(\mathbf{x})입니다. AA를 곱하면 A Ii(x)A\,I_i(\mathbf{x})의 ii열은 Ax=bA\mathbf{x} = \mathbf{b}이고 나머지 열은 AA의 열 그대로입니다. 즉 A Ii(x)=Ai(b)A\,I_i(\mathbf{x}) = A_i(\mathbf{b}), AA의 ii열을 b\mathbf{b}로 바꾼 행렬입니다. 양변에 행렬식을 취하고 det⁡Ii(x)=xi\det I_i(\mathbf{x}) = x_i(그 행렬을 ii행으로 전개)를 쓰면 끝입니다.

    정리 10.9 (크라메르 공식) det⁡A≠0\det A \ne 0이면 Ax=bA\mathbf{x} = \mathbf{b}의 유일한 해는 xi=det⁡Ai(b)det⁡A,i=1,…,n.x_i = \frac{\det A_i(\mathbf{b})}{\det A}, \qquad i = 1, \ldots, n. 2차원 그림: x1x_1은 "b\mathbf{b}와 a2\mathbf{a}_2가 만드는 평행사변형"이 "a1\mathbf{a}_1과 a2\mathbf{a}_2가 만드는 평행사변형"의 몇 배인가이다.
    예제 10.3 (2×2 크라메르) 2x+y=52x + y = 5, x−3y=−1x - 3y = -1.
    1. det⁡A=det⁡[211−3]=−6−1=−7\det A = \det\begin{bmatrix}2&1\\1&-3\end{bmatrix} = -6 - 1 = -7.
    2. x=det⁡[51−1−3]/(−7)=(−15+1)/(−7)=2x = \det\begin{bmatrix}5&1\\-1&-3\end{bmatrix}/(-7) = (-15 + 1)/(-7) = 2.
    3. y=det⁡[251−1]/(−7)=(−2−5)/(−7)=1y = \det\begin{bmatrix}2&5\\1&-1\end{bmatrix}/(-7) = (-2 - 5)/(-7) = 1. 검산: 4+1=54 + 1 = 5, 2−3=−12 - 3 = -1. ✓
    SIMULATOR

    넓이의 비로 해를 읽는 크라메르 공식

    a₁, a₂, b 끝점을 끌어 보세요
    분자로 보여 줄 평행사변형
    det A = det(a₁, a₂)—
    분자—
    해 (x₁, x₂)—
    해볼 것: ① b를 a₂와 평행한 직선 위로 끌면 det(b, a₂) = 0이 되어 x₁ = 0입니다. b가 a₂만으로 만들어진다는 뜻이죠. ② a₁을 a₂ 쪽으로 기울여 두 열을 거의 평행하게 만들면 분모가 작아져 해가 크게 튑니다. 4장에서 본 "거의 특이한" 행렬입니다. ③ 평행사변형의 부호(색)가 바뀌면 해의 부호도 바뀝니다. 모델: 2×2, 점은 0.1 단위로 맞춰집니다.

    크라메르 공식을 b=ej\mathbf{b} = \mathbf{e}_j에 쓰면 A−1A^{-1}의 jj열이 나옵니다. det⁡Ai(ej)\det A_i(\mathbf{e}_j)를 ii열로 전개하면 여인수 CjiC_{ji} 하나만 남습니다. 그래서 역행렬도 공식으로 쓸 수 있습니다.

    정리 10.10 (수반 행렬과 역행렬) 여인수 행렬을 전치한 adj⁡A=CT\operatorname{adj}A = C^\mathsf{T}를 수반 행렬(Adjugate)이라 하면 A adj⁡A=(det⁡A) IA\,\operatorname{adj}A = (\det A)\,I이다. 따라서 det⁡A≠0\det A \ne 0이면 A−1=adj⁡Adet⁡A,2×2: [abcd]−1=1ad−bc[d−b−ca].A^{-1} = \frac{\operatorname{adj}A}{\det A}, \qquad 2\times2:\ \begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1} = \frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}.

    증명. (A adj⁡A)ij=∑kaikCjk(A\,\operatorname{adj}A)_{ij} = \sum_k a_{ik}C_{jk}. i=ji = j이면 ii행 여인수 전개라 det⁡A\det A이다. i≠ji \ne j이면 AA의 jj행을 ii행으로 바꾼 행렬을 jj행으로 전개한 것이고, 그 행렬은 같은 행이 두 번 있으니 0이다. ∎

    이론에는 쓰고, 계산에는 쓰지 않는다 크라메르 공식으로 nn개의 미지수를 구하려면 행렬식 n+1n+1개가 필요합니다. 행렬식을 소거로 구해도 n4n^4 수준이라 한 번의 소거(n3n^3)보다 훨씬 느리고, 여인수 전개로 구하면 n!n!입니다. 반올림 오차에도 약합니다. 대신 이 공식은 "해는 b\mathbf{b}에 대해 선형이고, AA의 원소에 대해서는 유리 함수이며, det⁡A\det A가 0에 가까우면 터진다"는 구조를 한눈에 보여 줍니다. 정수 행렬의 역행렬이 정수일 조건(det⁡A=±1\det A = \pm1) 같은 사실도 여기서 바로 나옵니다.

    야코비안: 휘어진 변환의 국소 넓이 배율

    원판의 넓이를 극좌표로 적분하면 왜 r이 붙을까

    반지름 RR인 원판에서 rr은 0부터 RR까지, θ\theta는 0부터 2π2\pi까지입니다. 그런데 ∫02π ⁣∫0Rdr dθ=2πR\int_0^{2\pi}\!\int_0^R dr\,d\theta = 2\pi R은 넓이가 아니라 둘레의 값입니다. 정답 πR2\pi R^2을 얻으려면 ∫ ⁣∫r dr dθ\int\!\int r\,dr\,d\theta를 해야 합니다. 이 rr은 어디서 왔을까요?

    극좌표 변환 f(r,θ)=(rcos⁡θ,rsin⁡θ)f(r, \theta) = (r\cos\theta, r\sin\theta)는 선형이 아닙니다. 하지만 아주 작은 영역에서는 미분이 선형 근사를 줍니다. 점 p\mathbf{p} 근처의 작은 변위 dud\mathbf{u}는 야코비 행렬(Jacobian matrix) JJ를 곱한 J duJ\,d\mathbf{u}로 갑니다. 그러면 작은 정사각형은 거의 평행사변형으로 가고, 그 넓이 배율이 ∣det⁡J∣|\det J|입니다.

    J=∂(x,y)∂(r,θ)=[∂x/∂r∂x/∂θ∂y/∂r∂y/∂θ]=[cos⁡θ−rsin⁡θsin⁡θrcos⁡θ],det⁡J=rcos⁡2θ+rsin⁡2θ=rJ = \frac{\partial(x, y)}{\partial(r, \theta)} = \begin{bmatrix}\partial x/\partial r & \partial x/\partial\theta\\ \partial y/\partial r & \partial y/\partial\theta\end{bmatrix} = \begin{bmatrix}\cos\theta & -r\sin\theta\\ \sin\theta & r\cos\theta\end{bmatrix}, \qquad \det J = r\cos^2\theta + r\sin^2\theta = r
    반지름 방향으로 drdr만큼, 원주 방향으로 r dθr\,d\theta만큼 움직이므로 작은 조각의 넓이는 r dr dθr\,dr\,d\theta다. 원점에서 멀수록 같은 dθd\theta가 더 긴 호를 만든다.
    drdθ rθ (r, θ) 평면: 넓이 dr·dθ f drr dθ θ 반지름 r에서 호의 길이 = r dθ (x, y) 평면: 넓이 ≈ r·dr·dθ
    그림 10-5. (r, θ) 평면의 작은 정사각형은 극좌표 변환으로 부채꼴 띠 조각이 된다. 반지름 방향 폭은 dr 그대로이지만 원주 방향 길이는 r dθ로 늘어난다. 그래서 국소 넓이 배율은 det J = r이다.
    정리 10.11 (변수 변환) ff가 영역 DD를 f(D)f(D)로 일대일로 보내고 미분 가능하며 det⁡Jf≠0\det J_f \ne 0이면 ∬f(D)g(x,y) dx dy=∬Dg(f(u,v)) ∣det⁡Jf(u,v)∣ du dv.\iint_{f(D)} g(x, y)\,dx\,dy = \iint_D g(f(u, v))\,\bigl|\det J_f(u, v)\bigr|\,du\,dv. n차원에서도 같다. 3차원 구면 좌표에서는 ∣det⁡J∣=ρ2sin⁡ϕ|\det J| = \rho^2\sin\phi다.
    예제 10.4 (원판의 넓이와 가우스 적분)
    1. 넓이: ∫02π ⁣∫0Rr dr dθ=2π⋅R2/2=πR2\int_0^{2\pi}\!\int_0^R r\,dr\,d\theta = 2\pi\cdot R^2/2 = \pi R^2. ✓
    2. I=∫−∞∞e−x2dxI = \int_{-\infty}^{\infty} e^{-x^2}dx라 하면 I2=∬e−(x2+y2)dx dy=∫02π ⁣∫0∞e−r2r dr dθ=2π⋅12=πI^2 = \iint e^{-(x^2+y^2)}dx\,dy = \int_0^{2\pi}\!\int_0^\infty e^{-r^2}r\,dr\,d\theta = 2\pi\cdot\tfrac12 = \pi. 따라서 I=πI = \sqrt\pi. 정규 분포의 정규화 상수 1/2π1/\sqrt{2\pi}가 여기서 나온다.
    SIMULATOR

    작은 정사각형은 몇 배가 되나: 야코비안

    입력 평면 (점을 끄세요)
    출력 평면 f(입력)
    야코비 행렬 J—
    det J (국소 배율)—
    실제 넓이 배율 = 상의 넓이 / h²—
    상대 차이—
    해볼 것: ① 극좌표에서 점을 r이 큰 쪽으로 끌면 상(부채꼴 조각)이 커집니다. det J = r입니다. ② h를 줄여 보세요. 실제 넓이 배율이 det J에 빠르게 다가갑니다(차이는 대략 h에 비례해 줄어듭니다). ③ 제곱 변환에서 원점 근처는 det J = 4(x² + y²) ≈ 0이라 조각이 거의 점으로 쪼그라듭니다. '선형'은 어디서나 det가 1.35로 같습니다. 모델: 상의 넓이는 경계를 160개 점으로 나눈 다각형에 신발끈 공식을 써서 셉니다.

    확률에서도 같은 식이 쓰입니다. 확률 변수 (U,V)(U, V)를 (X,Y)=f(U,V)(X, Y) = f(U, V)로 바꾸면 밀도는 pX,Y(f(u,v))=pU,V(u,v)/∣det⁡Jf∣p_{X,Y}(f(u,v)) = p_{U,V}(u,v)/|\det J_f|로 바뀝니다. 넓이가 ∣det⁡J∣|\det J|배로 늘면 같은 확률이 그만큼 넓게 퍼져 밀도가 낮아지기 때문입니다(확률과 통계 · 결합 분포).

    기하에서 쓰는 행렬식: 넓이, 외적, 방향

    꼭짓점 좌표만으로 땅의 넓이를 잴 수 있을까

    측량 도면이나 GIS 데이터에는 필지의 경계가 꼭짓점 좌표 목록으로 들어 있습니다. 모양이 들쭉날쭉한 다각형을 삼각형으로 나누고 하나하나 넓이를 구해야 할까요?

    원점과 다각형의 한 변 pipi+1\mathbf{p}_i\mathbf{p}_{i+1}이 만드는 삼각형의 부호 있는 넓이는 12det⁡[pi pi+1]\tfrac12\det[\mathbf{p}_i\ \mathbf{p}_{i+1}]입니다. 이것을 모든 변에 대해 더하면, 다각형 바깥에 걸친 삼각형들은 양과 음으로 정확히 상쇄되고 안쪽만 남습니다. 부호 덕분에 원점이 다각형 밖에 있어도 됩니다.

    정리 10.12 (신발끈 공식) 꼭짓점 pk=(xk,yk)\mathbf{p}_k = (x_k, y_k), k=1,…,mk = 1, \ldots, m을 차례로 이은 단순 다각형(자기 교차 없음)의 넓이는 S=12∣∑k=1m(xkyk+1−xk+1yk)∣,pm+1=p1.S = \frac12\Bigl|\sum_{k=1}^{m}(x_k y_{k+1} - x_{k+1}y_k)\Bigr|, \qquad \mathbf{p}_{m+1} = \mathbf{p}_1. 절댓값 안의 부호는 꼭짓점이 반시계 방향이면 ++, 시계 방향이면 −-다.
    예제 10.5 (사각형 필지) (0,0),(4,0),(4,3),(1,4)(0,0), (4,0), (4,3), (1,4).
    1. 항: 0⋅0−4⋅0=00\cdot0 - 4\cdot0 = 0, 4⋅3−4⋅0=124\cdot3 - 4\cdot0 = 12, 4⋅4−1⋅3=134\cdot4 - 1\cdot3 = 13, 1⋅0−0⋅4=01\cdot0 - 0\cdot4 = 0.
    2. S=12(0+12+13+0)=12.5S = \tfrac12(0 + 12 + 13 + 0) = 12.5. 부호가 양이므로 반시계 방향.
    3. 검산: 대각선 (0,0)(0,0)–(4,3)(4,3)으로 나누면 12⋅4⋅3=6\tfrac12\cdot4\cdot3 = 6과 12∣4⋅4−3⋅1∣=6.5\tfrac12|4\cdot4 - 3\cdot1| = 6.5, 합 12.5. ✓
    SIMULATOR

    신발끈 공식: 원점에서 펼친 부채

    꼭짓점과 원점 O를 끌어 보세요
    양의 삼각형 (반시계)음의 삼각형 (시계)
    부호 있는 넓이 ½Σ det—
    방향—
    모서리마다 꺾이는 방향—
    해볼 것: ① 원점 O를 다각형 밖으로 끌어내도 부호 있는 넓이는 그대로입니다. 바깥쪽 삼각형이 빨강(음)으로 바뀌어 정확히 상쇄됩니다. ② '순서 뒤집기'를 누르면 넓이의 부호만 바뀝니다. ③ 꼭짓점 하나를 안쪽으로 밀어 오목하게 만들면 '꺾이는 방향'에 다른 부호가 섞입니다. 연속한 두 변의 2×2 행렬식 부호가 모두 같으면 볼록입니다. ④ '자기 교차' 모양에서는 두 고리가 서로 반대 방향이라 넓이가 일부 상쇄됩니다. 공식은 단순 다각형에만 넓이를 줍니다.

    외적과 삼중곱. 3차원 벡터의 외적(Cross product)은 첫 행에 기호 i,j,k\mathbf{i}, \mathbf{j}, \mathbf{k}를 넣은 "형식적 행렬식"을 1행으로 전개한 것입니다.

    a×b=det⁡[ijka1a2a3b1b2b3]=(a2b3−a3b2, a3b1−a1b3, a1b2−a2b1),c⋅(a×b)=det⁡[cTaTbT]\mathbf{a}\times\mathbf{b} = \det\begin{bmatrix}\mathbf{i}&\mathbf{j}&\mathbf{k}\\a_1&a_2&a_3\\b_1&b_2&b_3\end{bmatrix} = (a_2b_3 - a_3b_2,\ a_3b_1 - a_1b_3,\ a_1b_2 - a_2b_1), \qquad \mathbf{c}\cdot(\mathbf{a}\times\mathbf{b}) = \det\begin{bmatrix}\mathbf{c}^\mathsf{T}\\ \mathbf{a}^\mathsf{T}\\ \mathbf{b}^\mathsf{T}\end{bmatrix}
    a×b\mathbf{a}\times\mathbf{b}는 a,b\mathbf{a}, \mathbf{b}에 수직이고(같은 행이 두 번 나오는 행렬식이 0이므로 a⋅(a×b)=0\mathbf{a}\cdot(\mathbf{a}\times\mathbf{b}) = 0), 길이는 두 벡터가 만드는 평행사변형의 넓이, 방향은 오른손 법칙을 따른다. 스칼라 삼중곱은 세 벡터가 만드는 평행육면체의 부호 있는 부피다(1절 시뮬레이터의 a₁·(a₂×a₃)).

    방향 판정. 세 점 p,q,r\mathbf{p}, \mathbf{q}, \mathbf{r}에 대해 orient⁡(p,q,r)=det⁡[q−p  r−p]\operatorname{orient}(\mathbf{p},\mathbf{q},\mathbf{r}) = \det[\mathbf{q}-\mathbf{p}\ \ \mathbf{r}-\mathbf{p}]의 부호는 r\mathbf{r}이 p→q\mathbf{p}\to\mathbf{q} 방향의 왼쪽(++)·오른쪽(−-)·직선 위(0)인지 알려 줍니다. 볼록 껍질, 선분 교차 판정, 삼각형 안의 점 판정, 들로네 삼각분할 같은 계산 기하 알고리즘은 대부분 이 판정 하나 위에 세워집니다. 장 첫머리의 뒷면 제거도 같은 판정입니다. 부호가 0 근처일 때 반올림 오차로 잘못 판정하지 않도록, 정밀한 기하 라이브러리는 이 행렬식만큼은 오차 한계를 따져 필요하면 정확한 산술로 다시 계산합니다.

    변형과 부피. 연속체 역학에서 물체의 각 점을 X↦x(X)\mathbf{X} \mapsto \mathbf{x}(\mathbf{X})로 옮기는 변형의 야코비 행렬을 변형 기울기 F=∂x/∂XF = \partial\mathbf{x}/\partial\mathbf{X}라 부릅니다. J=det⁡FJ = \det F는 국소 부피 배율이고, 질량 보존에서 밀도는 ρ=ρ0/J\rho = \rho_0/J입니다. J>0J > 0이어야 물리적으로 가능한 변형이며(물질이 스스로를 뚫고 뒤집힐 수 없음), 고무처럼 거의 비압축성인 재료는 J≈1J \approx 1입니다. 유한 요소 해석 프로그램이 메시를 검사할 때 "음의 야코비안" 요소를 오류로 내보내는 것도 같은 이유입니다. 그 요소는 안팎이 뒤집혀 있습니다.

    이 도구가 쓰이는 곳

    행렬식은 직접 계산하기보다 "0인가, 부호가 무엇인가, 부피가 몇 배인가"를 묻는 곳에서 빛납니다.

    핵심 정리

    1. det⁡A\det A는 열(또는 행)이 만드는 평행육면체의 부호 있는 부피다. 크기는 부피 배율, 부호는 방향(손잡이)이며 0이면 공간이 납작해진다.
    2. 행렬식은 세 성질 det⁡I=1\det I = 1, 행 교환은 부호 반전, 각 행에 대해 선형으로 유일하게 정해진다. 여기서 같은 두 행 → 0, 행 더하기는 불변, 삼각 행렬은 대각 곱, det⁡(cA)=cndet⁡A\det(cA) = c^n\det A가 나온다.
    3. det⁡A=±\det A = \pm(피벗의 곱), 부호는 행 교환 횟수의 홀짝. 그래서 det⁡A≠0  ⟺  \det A \ne 0 \iff 가역이고, 계산량은 소거와 같은 23n3\tfrac23 n^3이다.
    4. det⁡AB=det⁡Adet⁡B\det AB = \det A\det B, det⁡AT=det⁡A\det A^\mathsf{T} = \det A, det⁡A−1=1/det⁡A\det A^{-1} = 1/\det A. 덧셈에 대해서는 이런 법칙이 없다.
    5. 여인수 전개와 순열 공식은 행렬식을 원소의 다항식으로 보여 주지만 n!n! 비용이라 계산에는 쓰지 않는다. 0이 많은 행·열로 전개하면 손계산이 쉬워진다.
    6. 크라메르 공식 xi=det⁡Ai(b)/det⁡Ax_i = \det A_i(\mathbf{b})/\det A와 A−1=adj⁡A/det⁡AA^{-1} = \operatorname{adj}A/\det A는 해의 구조를 보여 주는 이론의 도구다.
    7. 야코비안 ∣det⁡J∣|\det J|는 비선형 변환의 국소 넓이·부피 배율이다(극좌표 rr, 구면 좌표 ρ2sin⁡ϕ\rho^2\sin\phi). 신발끈 공식, 외적·삼중곱, 방향 판정, 변형의 J=det⁡FJ = \det F가 모두 같은 생각이다.

    확인 퀴즈

    Q1. 3×3 행렬 AA의 행렬식이 5다. det⁡(2A)\det(2A)는?

    2A2A는 세 행이 모두 2배다. 다중선형성으로 행마다 2를 하나씩 꺼내므로 23⋅5=402^3\cdot5 = 40. 기하적으로도 정육면체의 모든 변을 2배 하면 부피는 8배다.

    Q2. 소거 도중 행 교환을 두 번 했고, 얻은 피벗이 3, −1, 4였다. det⁡A\det A는?

    피벗의 곱은 3⋅(−1)⋅4=−123\cdot(-1)\cdot4 = -12이고, 교환 두 번은 부호를 두 번 바꿔 원래대로이므로 (−1)2=1(-1)^2 = 1을 곱한다. 행 더하기는 행렬식을 바꾸지 않는다.

    Q3. 다음 중 항상 참인 것은? (A,BA, B는 n×nn\times n)

    곱의 법칙으로 det⁡AB=det⁡Adet⁡B=det⁡Bdet⁡A=det⁡BA\det AB = \det A\det B = \det B\det A = \det BA다. AB≠BAAB \ne BA여도 행렬식은 같다. det⁡(−A)=(−1)ndet⁡A\det(-A) = (-1)^n\det A라 nn이 짝수면 틀리고, 덧셈 법칙은 A=B=IA = B = I에서 깨진다. 특이 행렬은 행이 서로 종속이면 될 뿐 영인 행이 있을 필요는 없다.

    Q4. 여인수 전개로 n×nn\times n 행렬식을 구하는 데 드는 곱셈 수의 규모는?

    n×nn\times n 전개가 (n−1)×(n−1)(n-1)\times(n-1) 행렬식 nn개를 부르므로 T(n)≈nT(n−1)T(n) \approx nT(n-1), 즉 n!n! 규모다. 소거는 23n3\tfrac23n^3이다. n=20n = 20이면 그 차이는 약 101410^{14}배다.

    Q5. 2×2 연립방정식에서 b\mathbf{b}가 a2\mathbf{a}_2와 평행하다. 크라메르 공식이 주는 x1x_1은?

    분자 det⁡[b a2]\det[\mathbf{b}\ \mathbf{a}_2]는 평행한 두 벡터가 만드는 평행사변형이라 넓이가 0이다(det⁡A≠0\det A \ne 0이라면). 실제로 b=c a2\mathbf{b} = c\,\mathbf{a}_2이므로 x1=0,x2=cx_1 = 0, x_2 = c다.

    Q6. 변환 (u,v)↦(x,y)=(2u+v, u+3v)(u, v) \mapsto (x, y) = (2u + v,\ u + 3v)는 넓이를 몇 배로 만드나?

    선형 변환이라 야코비 행렬이 어디서나 [2113]\begin{bmatrix}2&1\\1&3\end{bmatrix}이고 det⁡=6−1=5\det = 6 - 1 = 5다. 비선형 변환이라면 ∣det⁡J∣|\det J|가 점마다 달라진다.

    Q7. 세 점 p=(0,0)\mathbf{p} = (0,0), q=(2,1)\mathbf{q} = (2,1), r=(1,3)\mathbf{r} = (1,3)에서 det⁡[q−p  r−p]\det[\mathbf{q}-\mathbf{p}\ \ \mathbf{r}-\mathbf{p}]의 부호가 말하는 것은?

    det⁡[2113]=6−1=5>0\det\begin{bmatrix}2&1\\1&3\end{bmatrix} = 6 - 1 = 5 > 0이므로 반시계, 즉 왼쪽이다. 삼각형의 넓이는 그 절반인 2.5다.

    Q8. AA가 정수 원소를 가진 가역 행렬일 때 A−1A^{-1}도 정수 원소를 갖기 위한 조건은?

    adj⁡A\operatorname{adj}A는 정수 행렬식들의 모임이라 정수이므로 det⁡A=±1\det A = \pm1이면 A−1=adj⁡A/det⁡AA^{-1} = \operatorname{adj}A/\det A가 정수다. 거꾸로 A−1A^{-1}이 정수면 det⁡A\det A와 det⁡A−1=1/det⁡A\det A^{-1} = 1/\det A가 둘 다 정수라 ±1\pm1뿐이다. 넓이를 보존하는 정수 격자 변환이 바로 이것이다.