5.2. Permutations and Cofactors
선형대수학 글 목록
연결 강의: MIT 18.06 Linear Algebra - Lecture 19: Determinant formulas and cofactors
1. 이번 강의의 목표
이번 강의는 determinant에 대한 두 번째 강의이다.
determinant는 선형대수학 안에서 크지는 않지만 꽤 정교한 주제이다. 예전에는 determinant가 선형대수학의 중심처럼 다뤄졌지만, 지금 관점에서는 정사각행렬을 이해하는 여러 도구 중 하나로 보는 편이 더 자연스럽다.
이번 강의의 목표는 determinant를 실제 entry들로 계산하는 공식을 얻는 것이다.
공식은 크게 두 가지이다.
- permutation을 이용한 큰 공식
- cofactor를 이용한 재귀적인 공식
첫 번째 공식은 determinant를 한 번에 펼쳐서 쓰는 방식이다. 다만 n×n 행렬에서는 항의 개수가 n!개라서 매우 커진다.
두 번째 공식은 determinant를 한 단계 작은 determinant들로 나누어 계산하는 방식이다. 특히 0이 많은 행렬에서 유용하다.
2. 2×2 determinant를 성질로부터 다시 얻기
먼저 가장 익숙한 2×2 determinant를 다시 보자.
acbd
결과가 ad−bc라는 것은 이미 알고 있다. 하지만 이번에는 이 공식을 외우는 것이 아니라, determinant의 세 기본 성질에서 어떻게 나오는지 확인하는 것이 목적이다.
determinant의 기본 성질은 다음 세 가지였다.
- detI=1
- 두 행을 교환하면 determinant의 부호가 바뀐다.
- determinant는 각 행에 대해 따로 선형적이다.
세 번째 성질을 이용해서 행을 하나씩 쪼개보자.
첫 번째 행을 다음처럼 나눌 수 있다.
[a b]=[a 0]+[0 b]
두 번째 행도 다음처럼 나눌 수 있다.
[c d]=[c 0]+[0 d]
그러면 determinant는 네 개의 determinant로 쪼개진다.
acbd=ac00+a00d+0cb0+00bd
이 네 항 중 첫 번째와 네 번째는 바로 0이다.
첫 번째 항은 두 번째 열이 전부 0이다.
ac00=0
네 번째 항은 첫 번째 열이 전부 0이다.
00bd=0
남는 것은 두 항이다.
a00d=ad
그리고,
0cb0=−bc
두 번째 determinant가 음수가 되는 이유는 이 행렬이 대각행렬로 가려면 행을 한 번 교환해야 하기 때문이다.
따라서 전체 determinant는 다음과 같다.
acbd=ad−bc
중요한 것은 답 자체보다 방법이다. 행을 하나씩 쪼개고, 0이 되는 항을 버리고, 남는 항의 부호를 permutation으로 결정하는 방식이 모든 크기의 행렬로 확장된다.
3. 3×3 determinant에서는 어떤 일이 생기는가
3×3 행렬을 생각하자.
A=a11a21a31a12a22a32a13a23a33
2×2에서 했던 것처럼 각 행을 하나씩 쪼개면 항이 많이 생긴다.
첫 번째 행은 세 조각으로 나뉜다.
[a11 a12 a13]=[a11 0 0]+[0 a12 0]+[0 0 a13]
두 번째 행도 세 조각, 세 번째 행도 세 조각으로 나뉜다.
따라서 처음에는 총 33=27개의 determinant가 생긴다.
하지만 대부분은 0이 된다. 어떤 열이 전부 0이 되면 그 determinant는 바로 0이기 때문이다.
살아남는 항은 정확히 다음 조건을 만족한다.
- 각 행에서 하나씩 entry를 고른다.
- 각 열에서도 하나씩만 entry를 고른다.
즉, 살아남는 항은 row마다 하나, column마다 하나를 고른 곱이다.
3×3에서는 이런 선택이 3!=6개이다.
4. 3×3 determinant의 여섯 항
3×3 determinant에서 살아남는 여섯 항을 쓰면 다음과 같다.
detA=a11a22a33−a11a23a32−a12a21a33+a12a23a31+a13a21a32−a13a22a31
각 항은 행마다 하나씩, 열마다 하나씩 고른 entry들의 곱이다.
예를 들어 다음 항은 열을 1,2,3 순서로 고른 것이다.
a11a22a33
이것은 identity permutation에 해당하므로 부호가 +이다.
반면 다음 항은 열을 1,3,2 순서로 고른 것이다.
a11a23a32
이 순서는 1,2,3에서 2와 3을 한 번 바꾸면 되므로 한 번의 교환이 필요하다. 따라서 부호는 −이다.
다음 항도 보자.
a12a23a31
이것은 열을 2,3,1 순서로 고른 항이다. 이 permutation은 두 번의 교환으로 1,2,3으로 돌아갈 수 있으므로 부호가 +이다.
결국 determinant의 각 항에는 permutation의 부호가 붙는다.
5. 대각선 그림은 3×3까지만 조심해서 쓸 수 있다
3×3 determinant에서는 흔히 대각선 방향으로 외우는 방법을 사용한다.
아래 방향으로 내려가는 항들은 +, 반대 방향으로 내려가는 항들은 −라고 기억하는 방식이다.
하지만 이 그림식 기억법은 3×3에서만 조심스럽게 쓸 수 있다. 4×4 이상에서는 그대로 맞지 않는다.
예를 들어 4×4 행렬에서 counter diagonal에만 1이 있는 permutation matrix를 생각하자.
P=0001001001001000
이 permutation은 열 순서로 보면 4,3,2,1이다.
이 행렬은 행을 두 번 교환하면 identity matrix가 된다. 예를 들어 첫 번째 행과 네 번째 행을 바꾸고, 두 번째 행과 세 번째 행을 바꾸면 된다.
행 교환 횟수가 2번이므로 determinant는 +1이다.
detP=1
즉, 4×4에서는 반대 대각선이라고 해서 무조건 음수가 되는 것이 아니다. 부호는 항상 permutation의 짝홀성으로 결정해야 한다.
6. determinant의 큰 공식
이제 일반적인 n×n determinant 공식을 쓸 수 있다.
A가 n×n 행렬이라고 하자.
A=a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann
determinant는 다음과 같다.
detA=σ∈Sn∑sgn(σ)a1σ(1)a2σ(2)⋯anσ(n)
여기서 Sn은 1,2,…,n의 모든 permutation의 집합이다.
σ는 각 행에서 어떤 열을 고를지 정해준다.
예를 들어 σ(1)=3이면 첫 번째 행에서는 a13을 고른다는 뜻이다.
중요한 조건은 각 열을 정확히 한 번씩만 사용한다는 점이다.
각 항은 다음 형태를 가진다.
a1αa2βa3γ⋯anω
여기서 α,β,γ,…,ω는 1,2,…,n의 어떤 permutation이다.
항의 개수는 n!개이다.
첫 번째 행에서 고를 수 있는 열은 n개이고, 그 열을 사용하면 두 번째 행에서는 n−1개가 남는다. 이런 식으로 마지막까지 가면 총 개수는 다음과 같다.
n(n−1)(n−2)⋯1=n!
부호는 permutation이 짝수 번의 교환으로 identity permutation이 되면 +, 홀수 번의 교환이 필요하면 −이다.
7. identity matrix에서 큰 공식 확인하기
큰 공식으로 detI=1도 확인할 수 있다.
항등행렬에서는 대각성분만 1이고 나머지는 모두 0이다.
따라서 permutation 공식의 거의 모든 항이 0이 된다.
살아남는 항은 identity permutation에 해당하는 항뿐이다.
a11a22⋯ann=1⋅1⋯1=1
그리고 identity permutation의 부호는 +이다.
따라서,
detI=1
이다.
이렇게 보면 큰 공식에서 determinant의 기본 성질들을 다시 확인할 수 있다. 다만 det(AB)=detAdetB 같은 성질을 이 공식만으로 직접 증명하려면 계산이 매우 복잡해진다.
그래서 determinant는 공식보다 성질에서 출발하는 편이 훨씬 낫다.
8. 4×4 예시: 0이 많을 때 큰 공식 사용하기
다음 4×4 행렬을 생각하자.
A=0011011011001001
4×4 determinant의 큰 공식에는 원래 4!=24개의 항이 있다.
하지만 이 행렬은 0이 많기 때문에 대부분의 항이 사라진다.
살아남는 항은 각 행과 각 열에서 1을 하나씩 골라야 한다.
가능한 선택은 두 가지뿐이다.
첫 번째 선택은 열 순서 4,3,2,1이다.
a14a23a32a41=1
이 permutation은 두 번의 교환으로 identity permutation이 되므로 부호가 +이다.
따라서 이 항은 +1이다.
두 번째 선택은 열 순서 3,2,1,4이다.
a13a22a31a44=1
이 permutation은 세 번의 교환이 필요하므로 부호가 −이다.
따라서 이 항은 −1이다.
나머지 22개 항은 모두 0이다.
따라서 전체 determinant는 다음과 같다.
detA=1−1=0
즉, 이 행렬은 singular matrix이다.
실제로 row relation도 바로 찾을 수 있다.
첫 번째 행과 세 번째 행을 더하면 다음과 같다.
R1+R3=[1 1 1 1]
두 번째 행과 네 번째 행을 더해도 같다.
R2+R4=[1 1 1 1]
따라서,
R1−R2+R3−R4=0
이다.
행들 사이에 nonzero combination이 0을 만들기 때문에 행들은 독립이 아니다. 그래서 determinant가 0이 되는 것이 자연스럽다.
9. Cofactor의 아이디어
큰 공식은 determinant를 한 번에 펼쳐서 보여준다.
하지만 항이 n!개이므로 크기가 조금만 커져도 직접 쓰기 어렵다.
cofactor는 큰 공식을 조금 더 구조적으로 나누는 방법이다.
핵심은 n×n determinant를 (n−1)×(n−1) determinant들로 표현하는 것이다.
먼저 3×3 공식에서 첫 번째 행을 기준으로 항을 묶어보자.
detA=a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)
여기서 a11에 곱해진 부분을 보자.
a22a33−a23a32
이것은 다음 2×2 행렬의 determinant이다.
a22a32a23a33
이 행렬은 원래 3×3 행렬에서 첫 번째 행과 첫 번째 열을 지운 뒤 남은 행렬이다.
즉, a11을 사용했다면 더 이상 첫 번째 행과 첫 번째 열은 사용할 수 없다. 남은 행과 열에서 determinant를 계산하는 것이 바로 cofactor의 핵심이다.
10. Minor와 Cofactor
entry aij를 생각하자.
aij가 있는 i번째 행과 j번째 열을 지우면 (n−1)×(n−1) 행렬이 남는다.
이 작은 행렬의 determinant를 minor라고 한다.
보통 다음처럼 쓴다.
Mij=det(matrix obtained by deleting row i and column j)
cofactor는 이 minor에 부호를 붙인 것이다.
Cij=(−1)i+jMij
즉, i+j가 짝수이면 cofactor는 minor와 같은 부호이고, i+j가 홀수이면 cofactor는 minor에 음수를 붙인다.
부호 패턴은 checkerboard 모양이다.
+−+−⋮−+−+⋮+−+−⋮−+−+⋮⋯⋯⋯⋯⋱
minor는 작은 determinant이고, cofactor는 부호까지 포함한 값이다.
실제로 determinant 전개에서 곱해지는 것은 cofactor이다.
첫 번째 행을 기준으로 determinant를 전개하면 다음과 같다.
detA=a11C11+a12C12+⋯+a1nC1n
더 일반적으로는 어떤 행으로도 전개할 수 있다.
i번째 행을 기준으로 전개하면 다음과 같다.
detA=ai1Ci1+ai2Ci2+⋯+ainCin
또 전치해도 determinant가 변하지 않기 때문에, 행뿐 아니라 열을 기준으로도 전개할 수 있다.
j번째 열을 기준으로 전개하면 다음과 같다.
detA=a1jC1j+a2jC2j+⋯+anjCnj
0이 많은 행이나 열을 선택하면 계산량이 크게 줄어든다.
12. 2×2 cofactor 전개
가장 작은 예시로 2×2 행렬을 보자.
A=[acbd]
첫 번째 행을 기준으로 cofactor 전개를 하면 다음과 같다.
detA=aC11+bC12
a의 cofactor는 첫 번째 행과 첫 번째 열을 지우고 남은 값 d이다.
C11=d
b의 cofactor는 첫 번째 행과 두 번째 열을 지우고 남은 값 c에 부호 −를 붙인 것이다.
C12=−c
따라서,
detA=ad+b(−c)=ad−bc
이다.
cofactor 전개가 기존의 2×2 공식과 정확히 일치한다.
13. 세 가지 determinant 계산 관점
지금까지 determinant를 계산하는 관점은 세 가지로 정리할 수 있다.
첫 번째는 pivot formula이다.
소거법으로 upper triangular matrix를 만들고 pivot들의 곱을 구한다.
detA=(−1)rd1d2⋯dn
계산 관점에서는 이 방식이 가장 효율적이다.
두 번째는 permutation formula이다.
detA=σ∈Sn∑sgn(σ)a1σ(1)a2σ(2)⋯anσ(n)
이 방식은 determinant의 모든 항을 한 번에 보여준다. 하지만 항의 개수가 n!개라서 실제 계산에는 비효율적이다.
세 번째는 cofactor formula이다.
detA=ai1Ci1+ai2Ci2+⋯+ainCin
이 방식은 determinant를 작은 determinant들로 쪼갠다. 0이 많은 행렬에서는 꽤 유용하다.
14. Tridiagonal matrix 예시
다음처럼 대각선과 그 바로 위아래에만 1이 있는 행렬을 생각하자.
A4=1100111001110011
일반적으로 An은 다음과 같은 tridiagonal matrix이다.
An=1100⋮01110⋮00111⋮00011⋮0⋯⋯⋯⋯⋱1000011
이 행렬의 determinant를 Dn이라고 하자.
Dn=detAn
작은 경우부터 계산해보자.
A1은 [1]이므로,
D1=1
A2는 다음과 같다.
A2=[1111]
따라서,
D2=1⋅1−1⋅1=0
A3은 다음과 같다.
A3=110111011
이 determinant는 −1이다.
예를 들어 첫 번째 행으로 cofactor 전개를 하면,
D3=11111−11011
첫 번째 2×2 determinant는 0이고, 두 번째 determinant는 1이다.
따라서,
D3=0−1=−1
15. Tridiagonal determinant의 재귀식
An의 첫 번째 행은 다음과 같다.
[1 1 0 ⋯ 0]
첫 번째 행을 기준으로 cofactor 전개를 하면, 0인 항들은 모두 사라지고 앞의 두 항만 남는다.
첫 번째 entry a11=1의 cofactor는 An−1의 determinant이다.
따라서 첫 번째 항은 다음과 같다.
Dn−1
두 번째 entry a12=1의 cofactor는 부호가 음수이다. 첫 번째 행과 두 번째 열을 지우고 남은 determinant를 다시 보면, 첫 번째 열에 1 하나만 남는 구조가 된다.
그 열로 한 번 더 cofactor 전개를 하면 결국 An−2의 determinant가 남는다.
따라서 두 번째 항은 다음과 같다.
−Dn−2
결국 재귀식은 다음이다.
Dn=Dn−1−Dn−2
초기값은 다음과 같다.
D1=1,D2=0
그러면 차례대로 계산할 수 있다.
D3=D2−D1=0−1=−1
D4=D3−D2=−1−0=−1
D5=D4−D3=−1−(−1)=0
D6=D5−D4=0−(−1)=1
D7=D6−D5=1−0=1
따라서 수열은 다음처럼 진행된다.
1, 0, −1, −1, 0, 1, 1, 0, −1, −1, 0, 1, …
이 determinant 수열은 주기 6을 가진다.
즉,
Dn+6=Dn
이다.
예를 들어,
D61=D1=1
이다.
이 예시는 cofactor 전개가 단순 계산 공식이 아니라, 행렬 크기에 따른 determinant의 패턴을 찾는 데에도 쓸 수 있음을 보여준다.
16. 핵심 정리
이번 강의의 핵심은 determinant를 실제 entry들로 표현하는 방법이다.
permutation formula는 determinant의 모든 항을 한 번에 보여준다.
detA=σ∈Sn∑sgn(σ)a1σ(1)a2σ(2)⋯anσ(n)
각 항은 각 행과 각 열에서 하나씩 entry를 고른 곱이고, 부호는 permutation의 짝홀성으로 정해진다.
cofactor formula는 determinant를 더 작은 determinant로 쪼갠다.
Cij=(−1)i+jMij
그리고,
detA=ai1Ci1+ai2Ci2+⋯+ainCin
이다.
정리하면 determinant 계산에는 다음 세 관점이 있다.
- pivot 공식: 계산에 효율적이다.
- permutation 공식: determinant의 모든 항을 직접 보여준다.
- cofactor 공식: 큰 determinant를 작은 determinant로 나눈다.
특히 cofactor 공식은 0이 많은 행렬이나 특수한 패턴을 가진 행렬에서 매우 유용하다.