행렬식의 기하학적 의미
이 내용은 이건명의 응용이 보이는 선형대수학에서 발췌했음을 밝힙니다.
Theorem 5-26 평행사변형의 넓이와 행렬식
2차원 공간에서 (0,0),(a,b),(c,d),(a+c,b+d)를 꼭지점으로 하는 평행사변형의 넓이는 다음과 같다.
∣∣∣∣∣det([acbd])∣∣∣∣∣=∣ad−bc∣
2×2 행렬 A=[acbd]에 2차원 좌표 (0,0),(1,0),(0,1),(1,1)에 해당하는 벡터를 행렬곱하면 다음과 같이 좌표가 변환된다.
A[00]=[00]
A[10]=[ac]
A[01]=[bd]
A[11]=[a+cb+d]
평행사변형의 넓이는
(a+c)(b+d)−21b(a+c)−21c(b+d)−21b(a+c)−21b(a+c)=ad−bc
즉, 행렬식의 절대값과 평행사변형의 넓이와 같아진다.
다른방식으로도 구해보자. (a, b), (c,d) 를 알고 있다면, 두 사이의 각을 알 수 있다. arccos(∣(a,b)∣∣(c,d)∣a⋅b)=θ
평행사변형의 넓이는 밑변의 길이와 높이로 알 수 있음으로 두 벡터의 사이각 θ를 알고 있다면 ∣(a,b)∣sinθ=h로 구할 수 있고 h∗∣(b,d)∣=∣∣∣∣∣det([acbd])∣∣∣∣∣ 와 동일함을 알 수 있다.
예를 들어 (0, 0), (3, 4)와 (6, 7)과 (3 + 6, 4 + 7)의 꼭지점을 가진 평행사변형의 넓이를 구하려고 한다면
아래와 같이 두가지 방식으로 구할 수 있다.
import numpy as np
import math
a = np.array([3, 4])
b = np.array([6, 7])
M = np.array([a, b])
theta = math.acos((a @ b) / (math.sqrt(a @ a) * math.sqrt(b @ b)))
h = math.sqrt(a @ a) * math.sin(theta)
abs(np.linalg.det(M))
abs(h * math.sqrt(b @ b))
물론 2차원에서는 간단하게 행렬식만으로 넓이를 구할 수 있지만 아래와 Thm 5-27를 보면 다차원에서 두 벡터가 가지는 평행사변형의 넓이를 행렬식으로는 구할 수 없음을 알 수 있다.
Theorem 5-27 평행 육면체의 부피와 행렬식
3차원 공간에서 (0,0,0),(a,d,g),(b,eh),(c,f,i),(b+c,e+f,h+i),(a+c,d+c,g+i),(a+b,d+c,g+h),(a+b+c,d+e+f,g+h+i)를 꼭지점으로 하는 평행육면체의 부피는 다음과 같다.
∣∣∣∣∣∣∣det⎝⎜⎛⎣⎢⎡abcdefghi⎦⎥⎤⎠⎟⎞∣∣∣∣∣∣∣=∣aei−ahf+bdi−bfg+cdh−cge∣
즉, Theorem 5-27에 따라 세 벡터를 가진 평행육면체의 부피를 구할 수 있지만, n차 벡터가 2개가 주어졌을 때, 그 두벡터가 나타내는 평행사변형의 넓이는 구할 수 없다. 이때는 위와 같은 높이를 구하는 방법으로 구할 수 있으며, 3차원 이상일 경우에는 outer product vector의 길이로 구하는 방법이 있다.
또한 Theorem 5-27를 대신할 방법으로 삼중곱을 이용하여 구할 수 있다.
∣(a,d,g)⋅((b,e,h)×(c,f,i))∣=∣∣∣∣∣∣∣det⎝⎜⎛⎣⎢⎡abcdefghi⎦⎥⎤⎠⎟⎞∣∣∣∣∣∣∣
import numpy as np
import math
a = np.array([3, 4, 6])
b = np.array([6, 7, 9])
c = np.array([1, 1, 4])
M = np.array([a, b, c])
print(abs(a @ np.cross(b, c)))
print(abs(np.linalg.det(M)))
※ Thm 5-26, 27 에 따르면, 26의 경우 단위 정육면체와 비교하여 평행사변형의 넓이의 변화율을 나타내며, 27의 경우 단위 정육면체와의 부피의 변화율을 나타낸다.
Theorem 5-28 동차 연립방정식과 행렬식
동차 연립선형방정식이 자명해만을 가지려면 계수행렬의 행렬식은 0이 아니어야 한다.
증명
Ax=0 으로 표현되는 자명해만을 가지는 동차연립방정식이 있다고 하면, AA−1=I가 되는 역행렬이 존재해야 한다. 역행렬 역시 기본행렬로 표현 할 수 있음으로
EnEn−1...E2E1A=I
기본 행렬의 행렬식은 항상 0이 아니고, det(AB)=det(A)det(B) 임을 감안하면
det(EnEn−1...E2E1A)=1
det(En)det(En−1)...det(E2)det(E1)det(A)=1
즉, det(A)가 0이 되기 위서는 기본행렬들의 행렬식은 0이 되어야 하는데, 모순임으로 det(A)는 0이 아니다.
Theorem 5-29 3차원 공간의 평면의 방정식과 행렬식
3차원 공간의 서로 다른 세점 (x1,y1,z1),(x2,y2,z2),(x3,y3,z3)를 지나는 평면의 방정식 ax+by+cz+d=0 에 대해 다음이 성립한다.
det⎝⎜⎜⎜⎛⎣⎢⎢⎢⎡xx1x2x3yy1y2y3zz1z2z31111⎦⎥⎥⎥⎤⎠⎟⎟⎟⎞=0
증명
평면의 방정식에 세점을 대입해 보면 아래와 같이 나타낼 수있다.
⎣⎢⎢⎢⎡xx1x2x3yy1y2y3zz1z2z31111⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡abcd⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡0000⎦⎥⎥⎥⎤
자명해를 가지기 위해서는 Thm 5-29 에 따라 행렬식이 0이 아니어야 하는데, 평면의 방정식은 자명해를 가지지 않음으로, (여러 해를 가질 수 있음으로) 행렬식은 0이다.
Theorem 5-30 2차곡선의 방정식과 행렬식
3차원 공간의 서로 다른 세점 (x1,y1),(x2,y2),(x3,y3)를 지나는 이차곡선의 방정식 a(x2+y2)+bx+cy+d=0 에 대해 다음이 성립한다.
det⎝⎜⎜⎜⎛⎣⎢⎢⎢⎡x2+y2x12+y12x22+y22x32+y32xx1x2x3yy1y2y31111⎦⎥⎥⎥⎤⎠⎟⎟⎟⎞=0
증명은 Thm 5-29와 동일함으로 생략한다.