5.1. The Properties of Determinants
선형대수학 글 목록
연결 강의: MIT 18.06 Linear Algebra - Lecture 18: Properties of determinants
1. 이번 단원의 위치
이번 강의부터는 선형대수학의 초점이 다시 정사각행렬로 이동한다.
지금까지는 m×n 행렬, 열공간, 영공간, 행공간, 최소제곱, 직교성처럼 직사각행렬에서도 자연스럽게 등장하는 개념을 많이 다루었다.
이제부터는 정사각행렬에서 특히 중요한 두 주제를 다룬다.
- 행렬식, determinant
- 고유값, eigenvalue
행렬식은 그 자체로도 중요하지만, 뒤에서 고유값을 정의하고 계산할 때도 핵심 도구로 사용된다.
2. 행렬식이란 무엇인가
정사각행렬 A마다 하나의 숫자를 대응시킬 수 있다. 이 숫자를 행렬식이라고 한다.
행렬식은 보통 다음처럼 쓴다.
detA
또는 세로줄을 사용해서 다음처럼 쓰기도 한다.
∣A∣
행렬은 여러 개의 숫자로 이루어진 대상인데, 행렬식은 단 하나의 숫자이다. 따라서 행렬의 모든 정보를 담고 있다고 볼 수는 없다.
하지만 이 숫자는 아주 중요한 정보를 압축해서 담고 있다. 가장 먼저 기억해야 할 사실은 행렬식이 가역성을 판별한다는 점이다.
detA=0⟺A is invertible
반대로 행렬식이 0이면 행렬은 특이행렬이다.
detA=0⟺A is singular
즉, 행렬식은 정사각행렬이 역행렬을 가지는지 확인하는 하나의 기준이다.
3. 공식보다 성질에서 출발하기
행렬식은 처음부터 복잡한 일반 공식으로 정의하기보다, 행렬식이 가져야 하는 기본 성질에서 출발하는 편이 이해하기 좋다.
강의에서는 행렬식의 핵심 성질 세 가지를 먼저 잡는다. 이 성질들이 사실상 행렬식을 정의한다.
- 항등행렬의 행렬식은 1이다.
- 두 행을 교환하면 행렬식의 부호가 바뀐다.
- 행렬식은 각 행에 대해 따로 선형적이다.
이 세 성질에서 여러 중요한 결과가 자연스럽게 따라 나온다.
4. 성질 1: 항등행렬의 행렬식
항등행렬의 행렬식은 1이다.
detI=1
예를 들어 2×2 항등행렬은 다음과 같다.
I=[1001]
따라서 다음이 성립한다.
1001=1
이 성질은 행렬식의 기준점이다. 아무 변환도 하지 않는 항등행렬의 부피 스케일이 1이라고 보는 것과도 연결된다.
5. 성질 2: 행 교환과 부호 변화
두 행을 서로 교환하면 행렬식의 부호가 바뀐다.
det(row-exchanged A)=−detA
예를 들어 항등행렬
[1001]
의 두 행을 바꾸면 다음 행렬이 된다.
[0110]
항등행렬의 행렬식은 1이므로, 행을 한 번 교환한 이 행렬의 행렬식은 −1이다.
0110=−1
5.1 순열행렬의 행렬식
순열행렬은 항등행렬의 행들을 서로 바꿔서 얻는 행렬이다.
행 교환을 한 번 할 때마다 행렬식의 부호가 바뀌므로, 순열행렬의 행렬식은 행 교환 횟수의 짝홀성에 따라 결정된다.
detP={1,−1,even permutationodd permutation
즉, 순열행렬의 행렬식은 항상 1 또는 −1이다.
6. 성질 3: 각 행에 대한 선형성
세 번째 성질은 가장 중요하다.
행렬식은 각 행에 대해 따로 선형적이다. 여기서 주의할 점은 행렬 전체에 대해 선형적이라는 뜻이 아니라는 것이다.
일반적으로 다음은 성립하지 않는다.
det(A+B)=detA+detB
행렬식은 행렬 전체에 대한 선형 함수가 아니다. 대신 나머지 행들을 고정한 상태에서 한 행만 바라보면, 그 행에 대해서는 선형적으로 작동한다.
6.1 한 행에 상수를 곱하는 경우
어떤 행 하나에 상수 t를 곱하면 행렬식도 t배가 된다.
예를 들어 첫 번째 행에만 t를 곱하면 다음과 같다.
tactbd=tacbd
일반적인 n×n 행렬에서도 같다. 한 행에서만 공통 인수 t를 뽑으면 determinant 밖으로 t가 나온다.
6.2 한 행이 합으로 되어 있는 경우
한 행이 두 행벡터의 합으로 되어 있고 나머지 행은 그대로라면, 행렬식도 두 행렬식의 합으로 쪼개진다.
a+a′cb+b′d=acbd+a′cb′d
여기서 두 번째 행 [c d]는 계속 고정되어 있다.
즉, 행렬식은 첫 번째 행에 대해서만 쪼개진다. 같은 원리가 다른 행에도 성립한다.
6.3 multilinearity
행렬식은 한 행에 대해서만 선형적인 성질을 모든 행에 대해 따로 가진다.
이를 multilinearity라고 볼 수 있다.
한 행에 대한 성질을 다른 행에도 적용할 수 있는 이유는 행 교환 성질 때문이다. 원하는 행을 위로 올려서 성질을 적용한 뒤 다시 원래 자리로 돌리면 된다.
행렬식은 행렬 전체에 대해 선형인 것이 아니라, 각 행에 대해 따로 선형이다.
즉, 나머지 행들을 고정하고 한 행만 바꿀 때는 덧셈과 상수배가 행렬식 밖으로 분리된다.
이를 multilinearity, 즉 다중선형성이라고 한다.
따라서
det(A+B)=detA+detB
인 이유는 (A+B)가 한 행만 바꾸는 것이 아니라 모든 행을 동시에 바꾸는 것이기 때문이다.
한 행에 대한 선형성이 모든 행에 대해 성립한다고 보는 이유는 행렬식이 행 교환에 대해 부호만 바뀌는 교대성을 가지기 때문이다.
어떤 행에 대해 성질을 보고 싶다면 그 행을 첫 번째 행으로 옮기고, 첫 번째 행에 대한 선형성을 적용한 뒤, 다시 원래 자리로 되돌릴 수 있다. 이때 행 교환으로 생기는 부호 변화는 양쪽에 똑같이 생기므로 성질이 보존된다.
7. 2×2 행렬식 공식
우리가 익숙하게 알고 있는 2×2 행렬식 공식은 다음이다.
acbd=ad−bc
이 공식은 앞의 세 성질과 정확히 맞아떨어진다.
항등행렬에 적용하면 다음과 같다.
1001=1⋅1−0⋅0=1
두 행을 바꾼 행렬에 적용하면 다음과 같다.
0110=0⋅0−1⋅1=−1
첫 번째 행에 t를 곱하면 다음처럼 t가 밖으로 나온다.
tactbd=tad−tbc=t(ad−bc)
하지만 중요한 점은 2×2 공식 자체보다, 이 공식 뒤에 있는 성질이다. 이 성질들이 모든 크기의 정사각행렬에서 determinant를 결정한다.
8. 성질 4: 두 행이 같으면 determinant는 0이다
두 행이 같으면 determinant는 0이다.
two equal rows⟹detA=0
예를 들어 다음 행렬의 행렬식은 0이다.
aabb=0
2×2 공식으로 확인하면 ab−ba=0이다.
하지만 이 사실은 공식 없이도 앞의 성질에서 바로 나온다.
두 행이 같은 행렬 A가 있다고 하자. 같은 두 행을 서로 교환해도 행렬 자체는 변하지 않는다.
A′=A
따라서 행렬식도 그대로여야 한다.
detA′=detA
그런데 성질 2에 따르면 행을 한 번 교환하면 행렬식의 부호가 바뀐다.
detA′=−detA
두 식을 동시에 만족하려면 다음이 되어야 한다.
detA=−detA
따라서,
detA=0
이다.
직관적으로도 자연스럽다. 두 행이 같다는 것은 행들이 독립이 아니라는 뜻이다. 그러면 행렬은 full rank가 아니고, 역행렬을 가질 수 없다. 따라서 determinant도 0이어야 한다.
9. 성질 5: 한 행에서 다른 행의 배수를 빼도 determinant는 변하지 않는다
소거법에서 가장 자주 사용하는 행 연산은 다음이다.
Rk←Rk−ℓRi
어떤 행에서 다른 행의 배수를 빼는 연산이다.
이 연산은 determinant를 바꾸지 않는다.
det(after row replacement)=det(before row replacement)
이 성질이 Gaussian elimination과 determinant를 이어준다.
9.1 2×2 예시
행렬
[acbd]
에서 두 번째 행에 다음 연산을 한다고 하자.
R2←R2−ℓR1
그러면 새 행렬은 다음과 같다.
[ac−ℓabd−ℓb]
이 행렬식은 다음처럼 쓸 수 있다.
ac−ℓabd−ℓb
성질 3에 의해 두 번째 행을 합으로 나눌 수 있다.
ac−ℓabd−ℓb=acbd+a−ℓab−ℓb
두 번째 항에서는 −ℓ을 밖으로 뺄 수 있다.
a−ℓab−ℓb=−ℓaabb
그런데 두 행이 같으므로 이 행렬식은 0이다.
aabb=0
따라서 다음이 남는다.
ac−ℓabd−ℓb=acbd
즉, elimination step은 determinant를 바꾸지 않는다.
10. 성질 6: 0으로 된 행이 있으면 determinant는 0이다
어떤 행 전체가 0이면 determinant는 0이다.
zero row⟹detA=0
예를 들어 다음 행렬의 행렬식은 0이다.
0c0d=0
0으로 된 행은 어떤 행에 0을 곱한 것으로 볼 수 있다. 한 행에 0을 곱하면 행렬식 전체도 0배가 되므로 determinant는 0이다.
11. 성질 7: 삼각행렬의 determinant는 대각성분의 곱이다
위삼각행렬 U를 생각하자.
U=d100⋮0∗d20⋮0∗∗d3⋮0⋯⋯⋯⋱⋯∗∗∗⋮dn
여기서 d1,d2,…,dn은 pivot이다.
위삼각행렬의 determinant는 대각성분의 곱이다.
detU=d1d2⋯dn
이 공식은 determinant를 실제로 계산할 때 가장 자주 쓰는 형태이다.
11.1 대각선 위의 값들은 왜 사라지는가
위삼각행렬에는 대각선 위에 여러 값이 있다. 하지만 이 값들은 determinant에 영향을 주지 않는다.
성질 5를 이용해 한 행에서 다른 행의 배수를 빼면 대각선 위의 성분들을 제거할 수 있다. 이 과정에서 determinant는 변하지 않는다.
결국 위삼각행렬은 determinant를 바꾸지 않은 채 대각행렬로 바뀐다.
d100∗d20∗∗d3⟶d1000d2000d3
11.2 대각행렬의 determinant
대각행렬
D=d1000d2000d3
을 생각하자.
각 행에서 di를 밖으로 뺄 수 있다.
detD=d1d2d3100010001
항등행렬의 determinant는 1이므로,
detD=d1d2d3
이다.
일반적인 n×n 대각행렬에서도 마찬가지로 다음이 성립한다.
detD=d1d2⋯dn
12. determinant와 소거법
소거법을 통해 행렬 A를 위삼각행렬 U로 바꿀 수 있다.
행 교환이 없었다면 elimination step은 determinant를 바꾸지 않는다. 따라서 다음이 성립한다.
detA=detU
그리고 위삼각행렬의 determinant는 pivot들의 곱이다.
detU=d1d2⋯dn
따라서 행 교환이 없는 경우에는 다음처럼 계산할 수 있다.
detA=d1d2⋯dn
만약 행 교환이 있었다면 부호를 고려해야 한다. 행을 한 번 교환할 때마다 determinant의 부호가 바뀐다.
행 교환 횟수가 r번이면 다음과 같다.
detA=(−1)rd1d2⋯dn
이것이 determinant 계산의 실용적인 방식이다.
13. 2×2 행렬식과 pivot
행렬
A=[acbd]
를 생각하자.
첫 번째 pivot은 a이다. 두 번째 행의 첫 번째 성분 c를 없애려면 multiplier는 다음과 같다.
ℓ=ac
따라서 다음 행 연산을 한다.
R2←R2−acR1
그러면 위삼각행렬은 다음과 같다.
U=[a0bd−acb]
두 번째 pivot은 다음이다.
d−acb
따라서 pivot들의 곱은 다음이다.
a(d−acb)
정리하면,
a(d−acb)=ad−bc
즉,
detA=ad−bc
이다.
이렇게 보면 2×2 행렬식 공식도 소거법과 pivot의 관점에서 다시 얻어진다.
단, 위 과정은 a=0일 때 바로 가능하다. 만약 a=0이면 행 교환이 필요하다. 행 교환으로도 pivot을 만들 수 없다면 그 행렬은 singular이고 determinant는 0이다.
14. determinant는 invertibility test이다
determinant는 행렬이 가역인지 아닌지를 판별한다.
핵심 명제는 다음이다.
detA=0⟺A is invertible
그리고 다음도 같다.
detA=0⟺A is singular
14.1 invertible이면 determinant는 0이 아니다
A가 invertible이면 elimination 과정에서 pivot이 모두 존재한다.
즉,
d1,d2,…,dn
이 모두 0이 아니다.
그러면 pivot들의 곱도 0이 아니다.
d1d2⋯dn=0
따라서 determinant도 0이 아니다.
detA=0
14.2 singular이면 determinant는 0이다
A가 singular이면 elimination 과정에서 pivot이 부족하다.
어떤 단계에서는 0으로 된 행이 생기거나, 더 이상 새로운 pivot을 만들 수 없게 된다.
0으로 된 행이 있으면 determinant는 0이다. 따라서 singular 행렬에서는 다음이 성립한다.
detA=0
15. 성질 9: 곱의 determinant
두 정사각행렬 A, B에 대해 다음이 성립한다.
det(AB)=detAdetB
이 성질은 매우 중요하다.
determinant는 덧셈에 대해서는 좋은 성질을 갖지 않는다.
det(A+B)=detA+detB
하지만 곱셈에 대해서는 아주 깔끔하게 작동한다.
det(AB)=detAdetB
15.1 역행렬의 determinant
A가 invertible이라고 하자.
그러면 다음이 성립한다.
A−1A=I
양변에 determinant를 취하면 다음과 같다.
det(A−1A)=detI
곱의 determinant 성질을 적용하면,
det(A−1)det(A)=1
따라서,
det(A−1)=detA1
이다.
이 공식은 detA=0일 때만 의미가 있다. detA=0이면 A−1 자체가 존재하지 않는다.
15.2 대각행렬 예시
대각행렬
A=[2003]
를 생각하자.
이 행렬의 determinant는 다음이다.
detA=2⋅3=6
역행렬은 다음과 같다.
A−1=[210031]
역행렬의 determinant는 다음이다.
det(A−1)=21⋅31=61
이는 다음 공식과 일치한다.
det(A−1)=detA1
15.3 제곱행렬의 determinant
행렬 A를 제곱하면 determinant도 제곱된다.
det(A2)=det(AA)=detAdetA=(detA)2
따라서 다음이 성립한다.
det(A2)=(detA)2
15.4 행렬 전체를 상수배하는 경우
n×n 행렬 A에 대해 2A를 생각하자.
2A는 모든 entry가 2배가 된 행렬이다. 이때 determinant는 단순히 2배가 되지 않는다.
det(2A)=2detA
행렬식은 각 행에 대해 따로 선형적이다. 2A는 모든 행이 각각 2배가 된 행렬이므로, 각 행에서 2가 하나씩 나온다.
따라서 총 n개의 2가 밖으로 나온다.
det(2A)=2ndetA
더 일반적으로는 다음과 같다.
det(cA)=cndetA
15.5 부피 관점
determinant는 선형변환이 공간의 부피를 얼마나 스케일시키는지 나타내는 값으로 해석할 수 있다.
n차원 공간에서 모든 방향의 길이를 2배 하면 부피는 2n배가 된다.
예를 들어 3차원에서 상자의 세 변을 모두 2배 하면 부피는 다음처럼 변한다.
23=8
즉, 부피는 8배가 된다.
이것이 det(2A)=2ndetA와 같은 직관이다.
16. 성질 10: 전치해도 determinant는 변하지 않는다
행렬 A에 대해 다음이 성립한다.
det(AT)=detA
즉, 행렬을 transpose해도 determinant는 변하지 않는다.
16.1 2×2 예시
행렬
A=[acbd]
의 determinant는 다음이다.
detA=ad−bc
전치행렬은 다음이다.
AT=[abcd]
이 행렬의 determinant는 다음이다.
det(AT)=ad−cb=ad−bc
따라서 다음이 성립한다.
det(AT)=detA
16.2 행에 대한 성질은 열에도 성립한다
지금까지 determinant의 성질은 대부분 행 중심으로 설명했다.
예를 들어 다음과 같다.
- 두 행을 바꾸면 determinant의 부호가 바뀐다.
- 두 행이 같으면 determinant는 0이다.
- 한 행에서 다른 행의 배수를 빼도 determinant는 변하지 않는다.
- 어떤 행이 전부 0이면 determinant는 0이다.
그런데 transpose해도 determinant가 변하지 않으므로 같은 성질은 열에도 성립한다.
예를 들어 어떤 열이 전부 0이면 determinant는 0이다. 그 행렬을 transpose하면 0으로 된 열이 0으로 된 행이 되기 때문이다.
마찬가지로 두 열이 같으면 determinant는 0이고, 두 열을 교환하면 determinant의 부호가 바뀐다.
즉, determinant에서 행과 열은 대칭적인 역할을 한다.
17. det(AT)=detA를 LU 관점에서 보기
LU 분해 관점에서도 전치와 determinant의 관계를 볼 수 있다.
행렬 A가 다음처럼 분해된다고 하자.
A=LU
그러면 전치행렬은 다음과 같다.
AT=(LU)T=UTLT
determinant를 취하면,
detA=det(LU)
곱의 성질에 의해 다음이 된다.
detA=detLdetU
한편,
det(AT)=det(UTLT)
이므로,
det(AT)=det(UT)det(LT)
L은 보통 대각성분이 모두 1인 lower triangular matrix이다. 따라서 다음이 성립한다.
detL=1
LT도 대각성분이 모두 1인 upper triangular matrix이므로,
det(LT)=1
또 U와 UT는 같은 대각성분을 가진 삼각행렬이다.
따라서,
detU=det(UT)
결국 다음이 된다.
detA=detLdetU=1⋅detU=detU
그리고,
det(AT)=det(UT)det(LT)=detU⋅1=detU
따라서 다음 결론을 얻는다.
det(AT)=detA
이다.
18. determinant의 주요 성질 요약
이번 강의에서 나온 determinant의 성질을 정리하면 다음과 같다.
18.1 항등행렬
detI=1
18.2 행 교환
두 행을 교환하면 determinant의 부호가 바뀐다.
det(row-exchanged A)=−detA
18.3 한 행에 대한 선형성
한 행에 상수를 곱하면 determinant도 그 상수만큼 곱해진다.
tactbd=tacbd
한 행이 합이면 determinant도 합으로 쪼개진다.
a+a′cb+b′d=acbd+a′cb′d
18.4 두 행이 같은 경우
two equal rows⟹detA=0
18.5 elimination step
다음 행 연산은 determinant를 바꾸지 않는다.
Rk←Rk−ℓRi
18.6 zero row
zero row⟹detA=0
18.7 triangular matrix
detU=d1d2⋯dn
18.8 invertibility test
detA=0⟺A is invertible
detA=0⟺A is singular
18.9 product rule
det(AB)=detAdetB
18.10 transpose rule
det(AT)=detA
19. 큰 흐름
determinant는 처음부터 큰 공식을 외우는 방식보다, 다음 세 성질에서 출발하는 것이 이해하기 좋다.
- detI=1
- 행을 교환하면 부호가 바뀐다.
- 각 행에 대해 따로 선형적이다.
이 세 성질에서 여러 결과가 따라 나온다.
- 두 행이 같으면 determinant는 0이다.
- 한 행에서 다른 행의 배수를 빼도 determinant는 변하지 않는다.
- 0으로 된 행이 있으면 determinant는 0이다.
- 삼각행렬의 determinant는 pivot들의 곱이다.
- determinant는 invertibility를 판별한다.
- det(AB)=detAdetB이다.
- det(AT)=detA이다.
결국 determinant는 elimination과 invertibility를 연결하는 숫자이다.
20. 핵심 직관
determinant는 정사각행렬에 붙는 하나의 숫자이다.
이 숫자는 행렬이 공간을 얼마나 스케일시키는지, 그리고 행렬이 invertible한지를 알려준다.
소거법으로 보면 determinant는 pivot들의 곱이다. 단, 행 교환이 있으면 부호가 바뀐다.
detA=(−1)rd1d2⋯dn
여기서 r은 행 교환 횟수이고, d1,…,dn은 pivot이다.
행 교환이 없다면 더 단순하다.
detA=d1d2⋯dn
따라서 determinant가 0이라는 것은 어떤 pivot이 0이라는 뜻이다.
pivot이 부족하면 행렬은 invertible하지 않다. 반대로 모든 pivot이 0이 아니면 determinant도 0이 아니고, 행렬은 invertible하다.
정리하면 determinant는 다음 세 관점을 하나로 묶는다.
- elimination의 pivot
- invertibility
- volume scaling
이번 강의의 결론은 다음 한 줄로 기억할 수 있다.
detA=(−1)rd1d2⋯dn