C5 · 행렬식은 무엇을 기록하고, 무엇을 알려 주지 못할까?#
행렬식을 역행렬을 구하기 전에 계산하는 숫자로만 기억하면, 왜 그 공식이 맞는지와 어떤 경우에 유용한지가 분리됩니다. C4에서는 여러 방향의 쐐기를 계산했습니다. 이제 전체 차원의 방향 기록이 선형변환 뒤에 몇 배가 되는가를 행렬식으로 정의합니다.
그 정의에서 곱셈성·여인수·특성다항식을 얻은 뒤, 생산모형의 수요 반응과 정규분포의 밀도 변환을 계산하겠습니다. 마지막에는 행렬식이 작다는 이유만으로 행렬이 수치적으로 위험하다고 판단할 수 없음을 확인합니다.
대수적 정의와 증명은 유한차원 체 위에서 진행합니다. 부피·확률 예에서는 실수를 사용하며, 길이·직사각형 부피, 일변수 치환적분, 비음수 함수에 대한 반복적분 법칙, 표준정규밀도의 적분과 평균·분산을 해석학·확률의 출발 전제로 명시합니다. 일반 비선형 치환적분 정리 자체를 이 장에서 증명했다고 주장하지 않습니다.
1. 전체 방향의 기록은 한 숫자로 바뀐다#
C4에서 \(n\)차원 공간의 \(\Lambda^nV\)는 1차원임을 증명했습니다. 기저를 \((e_1,\ldots,e_n)\)으로 고르면
하나로 모든 원소를 표현합니다. 선형변환 \(T\)가 작용하면 어떤 스칼라 \(d\)에 대해
입니다. 그 스칼라를 \(\det T\)라고 정의합니다.
평면 예로
를 사용합시다. 열벡터들의 쐐기는
따라서 \(\det T=3\)입니다. 외워 둔 2×2 공식을 사용한 것이 아니라, 다중선형성과 교대성으로 그 공식을 다시 얻었습니다.
2. 기준을 바꾸어도 같은 숫자인 이유#
\(\Lambda^nV\)의 다른 기저가 \(\Omega'=c\Omega\), \(c\ne0\)라 합시다. 그러면
배율은 같습니다. 원래 \(V\)에서 기저를 바꾸어도 그 쐐기는 이 1차원 공간의 다른 기저이므로 같은 결론입니다. 좌표행렬이 \(P^{-1}AP\)로 달라져도 행렬식이 같은 이유입니다.
두 변환 \(T\) 다음 \(S\)를 적용하면
따라서 \(\det(ST)=\det S\det T\)입니다. 이 식의 짧은 증명은 C4에서 쐐기 공간의 구성과 함자성을 이미 증명했기 때문에 가능합니다.
\(\det T=0\)이라는 것은 \(\Lambda^nT=0\), 즉 C4의 계수 판정으로 \(\operatorname{rank}T<n\)이라는 뜻입니다. 유한차원의 정사각 선형사상에서는 이것이 가역이 아닌 조건입니다. 아직 수치오차에 관한 말은 하지 않았습니다.
3. 부피와 부호를 나누어 읽기#
실수 평면의 단위 정사각형을 \(T\)로 보내면 꼭짓점은
입니다. 부피 배율은 절댓값 \(|\det T|=3\)입니다. 반면 두 열의 순서를 바꾸면 같은 평행사변형을 만들면서 방향 기록의 부호는 \(-3\)으로 바뀝니다. 넓이는 음수가 되지 않습니다.
그림 49 세 패널의 좌표 눈금과 가로·세로 비율은 같습니다. 꼭짓점의 방문 순서로 방향을 표시했습니다. 절댓값은 넓이 배율, 부호는 방향 변화를 기록합니다.#
직사각형에서 시작한 넓이 직관을 일반 집합의 부피 주장으로 확장하려면 적분에 관한 전제가 필요합니다. 마지막 절에서 선형변환을 기본 변환들로 나누고 위에서 명시한 반복적분 법칙으로 그 주장을 증명합니다.
4. 생산모형의 수요 변화에 적용하기#
두 산업의 총산출을 \(x_1,x_2\)라 합시다. 각 산업의 산출 한 단위를 만들기 위해 필요한 중간투입 비율이
이라고 가정합니다. 각 행은 투입하는 재화, 열은 생산하는 산업입니다. 산출과 최종수요는 각 재화의 고정 단위로 기록하고, 투입계수는 그 단위 사이의 비율입니다. 고정 계수와 선형적인 투입 합산을 가정합니다.
최종수요 \(d\)를 충족하려면 총산출에서 중간투입을 뺀 양이 \(d\)여야 합니다.
행렬식은
2×2 곱을 직접 확인하면
예를 들어 \(d=(1,1)\)이면 \(x=(2,2)\)입니다. 실제로 \(Bx=(1,1)\)이므로 \(x-Bx=(1,1)\)입니다. 수요를 \(d+(0,h)\)로 바꾸면 산출 변화는
따라서 둘째 재화의 최종수요 한 단위 증가는 첫째 재화의 산출도 \(1/2\)단위 증가시킵니다. 이것이 비교정태입니다. 선형모형이므로 여기서는 작은 변화에 대한 근사가 아니라 정확한 변화식입니다.
이번 역행렬의 모든 성분이 비음수이므로 \(d\ge0\)이면 \(x\ge0\)입니다. 그러나 \(\det M>0\)이라는 사실 하나만으로 모든 행렬에서 비음수 해를 보장하는 것은 아닙니다. 예를 들어 \(M=-I_2\)는 행렬식이 1이지만 \(d=(1,1)\)의 해는 \((-1,-1)\)입니다. 투입산출 모형의 일반적인 비음수 판정은 H9에서 추가 가정과 함께 다룹니다.
5. 여인수는 어디에서 나오는가?#
행렬 \(A=(a_{ij})\)의 \(i\)행·\(j\)열을 제거한 행렬을 \(A[\widehat i,\widehat j]\)라고 쓰고
를 여인수라고 부릅니다. \(C_{ij}\)를 전치해 만든 행렬이 수반행렬 \(\operatorname{adj}A\)입니다. 이것은 내적에서의 수반사상과 다른 용어입니다.
2×2에서는
곱을 모든 성분에서 확인하면
역순 곱도 같은 계산으로 \((ad-bc)I\)입니다. 따라서 행렬식이 0이 아니면 수반행렬을 행렬식으로 나눈 것이 역입니다.
4절의 비교정태에서 \((M^{-1})_{12}=C_{21}/\det M\)입니다. \(C_{21}=-M_{12}=3/10\)이므로 \((3/10)/(3/5)=1/2\)입니다. 왜 여인수의 인덱스가 \(12\)가 아니라 \(21\)인지 수반행렬의 전치에서 확인할 수 있습니다.
일반 차원에서도 같은 항등식이 성립합니다. 뒤의 증명은 \(n-1\)개 벡터의 쐐기와 남은 하나의 쐐기를 결합해서 부호까지 유도합니다.
6. 특성다항식으로 두 중복도를 연결하기#
\(A\)의 특성다항식을
로 정의합니다. \(z\)는 스칼라 변수이고 결과는 스칼라 다항식입니다. C1의 행렬
에서는 \(zI-A\)도 상삼각이어서
상삼각행렬의 행렬식이 대각의 곱인 이유는 다음과 같습니다. 쐐기 계수의 순열 전개에서 각 열 \(j\)의 행 인덱스 \(\sigma(j)\)가 \(j\)보다 크면 그 원소가 0입니다. 모든 \(\sigma(j)\le j\)이면 두 수열의 합이 같으므로 모두 등호여야 합니다. 따라서 항등순열의 대각 곱만 남습니다.
C1에서 \(\dim G(3,A)=2\), \(\dim G(5,A)=1\)이었습니다. 이제 특성다항식에서 같은 중복도를 확인했습니다. 최소다항식의 \((z-3)\) 지수도 이 예에서는 2이지만, 그것이 항상 같지는 않습니다. \(3I_4\)에서는 특성다항식이 \((z-3)^4\), 최소다항식이 \(z-3\)입니다.
7. 특성다항식의 계수도 방향 기록으로 계산할 수 있다#
위 3×3 행렬의 대각합은 \(3+3+5=11\)입니다. 두 방향의 공간 \(\Lambda^2V\)에서 대각성분은 각각
여서 합이 39입니다. 세 방향의 공간에서는 유일한 성분이 \(\det A=45\)입니다. 따라서 앞 다항식의 계수는
일반 차원에서도
여기서 \(\Lambda^0T=I_F\)이므로 첫 계수는 1입니다. 단순히 대각 원소의 곱만 나열한 식이 아닙니다. 일반 행렬에서는 \(\operatorname{tr}\Lambda^kT\)가 모든 \(k\times k\) 주소행렬식의 합이 되고, 마지막 절에서 그 계수가 생기는 과정을 전개합니다.
8. 대각합은 왜 좌표를 바꾸어도 같은가?#
C3에서 계수 1 사상은 \(v\mapsto\varphi(v)w\)였습니다. 이 사상에 \(\varphi(w)\)를 대응시킵니다. \(\varphi,w\)에 대해 쌍선형이므로 텐서곱의 보편성질에 의해 모든 사상에 선형으로 확장됩니다. 이 범함수가 좌표무관한 대각합입니다.
실제 기저에서 \(T=\sum_j\varepsilon_j\otimes Te_j\)로 쓰면
정의에서 기저를 택하지 않았는데 좌표 계산에서는 익숙한 대각성분의 합이 됩니다.
\(A:W\to V\), \(B:V\to W\)의 경우도
입니다. 양쪽 행렬의 크기가 달라도 각 합성은 자기 공간의 대각합을 가집니다. 특히 \(\operatorname{tr}(P^{-1}TP)=\operatorname{tr}(TPP^{-1})=\operatorname{tr}T\)입니다. 일반적으로 \(\operatorname{tr}(ABC)=\operatorname{tr}(ACB)\)라고 순서를 아무렇게나 바꿀 수는 없습니다.
9. 행렬이 조금 바뀔 때 행렬식은 얼마나 바뀔까?#
2×2에서는 모든 항을 전개할 수 있습니다. \(A=\begin{pmatrix}a&b\\c&d\end{pmatrix}\), \(H=\begin{pmatrix}p&q\\r&s\end{pmatrix}\)라 놓으면
따라서 \(t=0\)에서 방향 \(H\)로의 변화율은 \(dp+as-cq-br\)입니다. 이는
와 같습니다. \(A\)가 가역이면 \(\operatorname{adj}(A)=\det(A)A^{-1}\)이므로
이것이 Jacobi 공식입니다. \(A\)가 특이할 때 역행렬 판본은 쓸 수 없지만 수반행렬 판본은 그대로 성립합니다.
가역인 실수 \(A\)에서 연속성 때문에 충분히 작은 \(t\)에서는 행렬식 부호가 바뀌지 않습니다. 일변수 로그 미분을 적용하면
C6에서는 이를 일반적인 행렬 미분의 언어로 확장합니다. 여기서는 스칼라 \(t\)에 따른 다항식의 미분으로 직접 유도했습니다.
10. 정규분포에서 로그 행렬식이 등장하는 이유#
독립인 표준정규변수 \(z_1,z_2\)의 밀도는
입니다. 정규분포의 이 성질과 표준화된 평균 0·분산 1은 출발 전제로 둡니다. 다음 변환을 정의합시다.
각 성분의 평균은 \(\mu\)이고, 평균을 뺀 값을 곱해 기댓값을 취하면
예를 들어 공분산은 \(E[2z_1(z_1+\sqrt2z_2)]=2E[z_1^2]+2\sqrt2E[z_1z_2]=2\)입니다. 마지막 항은 독립과 평균 0 때문에 0입니다.
\(L\)은 작은 부피를 \(|\det L|=2\sqrt2\)배로 만듭니다. 같은 확률을 보존하려면 \(x\)의 밀도는 그만큼 나누어져야 합니다.
이 선형 밀도 변환은 마지막 절의 선형 치환적분으로 정당화됩니다. \(\det\Sigma=(\det L)^2=8\)이고 \(L^{-\mathsf T}L^{-1}=\Sigma^{-1}\)이므로 로그를 취하면
로그 행렬식 항은 작은 영역의 부피 변화에 따른 밀도 보정입니다. 이를 빼면 이 변환으로 얻은 밀도의 정규화가 맞지 않습니다.
그림 50 왼쪽의 \(z_1^2+z_2^2=1\)은 오른쪽에서 \((x-\mu)^{\mathsf T}\Sigma^{-1}(x-\mu)=1\)이 됩니다. 이 선은 특정 확률수준을 새로 주장하는 것이 아니라 같은 이차식 값을 표시한 것입니다. 그림에서는 \(\mu=0\)입니다.#
11. 대칭 모수에서는 어느 변수를 미분하는가?#
위 공분산의 역은
일반 방향 \(H=(h_{ij})\)에 대해
네 성분을 독립적으로 바꾸는 좌표에서 gradient는 \((\Sigma^{-1})^{\mathsf T}\)이며, \(\Sigma\)가 대칭이므로 여기서는 \(\Sigma^{-1}\)와 같습니다.
그러나 \(S(a,b,c)=\begin{pmatrix}a&b\\b&c\end{pmatrix}\)의 세 모수를 사용하면 \(h_{12}=h_{21}=db\)입니다. 따라서
입니다. vech 순서 \((a,b,c)\)의 gradient는 \((3/8,-1/2,1/2)\)입니다. C3의 복제행렬로 쓰면 \(D^{\mathsf T}\operatorname{vec}(\Sigma^{-1})\)와 같습니다.
이를 “대칭 gradient는 언제나 비대각을 두 배 한 행렬”이라고만 말하면 기준이 모호합니다. 대칭행렬 공간에서 성분곱 합으로 표현하는 gradient는 여전히 \(\Sigma^{-1}\)로 쓸 수 있고, 세 독립 모수의 좌표 gradient에서 비대각 계수가 합쳐지는 것입니다.
12. 작은 행렬식은 언제 위험 신호가 아닌가?#
\(A=10^{-3}I_{100}\)은 모든 방향을 똑같이 \(10^{-3}\)배 합니다. 역은 \(10^3I\)이고, 유클리드 연산자 노름에서 조건수는 \(10^{-3}\cdot10^3=1\)입니다. 행렬식은 \(10^{-300}\)으로 아주 작지만 상대적인 입력 오차를 특정 방향에서 증폭시키는 불균형은 없습니다.
반대로
는 행렬식이 1인데 노름 조건수는 \(10^5\cdot10^5=10^{10}\)입니다. 대각행렬의 노름은 가장 큰 대각 절댓값입니다. 실제로 \(\|Bx\|_2^2=\sum_i |b_i|^2|x_i|^2\le(\max|b_i|)^2\|x\|_2^2\)이고, 최대 위치의 기저벡터에서 등호가 되어 확인됩니다.
따라서 정확한 “행렬식이 0인가”와 근사적인 “행렬식이 작은가”를 같은 진단으로 쓰면 안 됩니다.
그림 51 두 가족에서 행렬식과 조건수가 서로 다른 정보를 기록합니다. 로그 눈금을 사용했고, 모든 \(t\)는 양수입니다. 행렬식이 정확히 0인 경우는 이 그래프에 포함하지 않았습니다.#
이미 \(\Sigma=LL^{\mathsf T}\)이고 \(L\)이 양의 대각을 갖는 삼각행렬로 주어졌다면
행렬식을 먼저 큰 곱으로 만든 뒤 로그를 취하지 않아도 됩니다. 일반적인 양정치 행렬에서 이런 \(L\)이 존재하고 안정적으로 구하는 방법은 후속 내적·수치 파트에서 증명합니다. 이번 예에서는 \(L\)을 직접 주고 곱으로 확인했습니다.
13. 정확산술과 로그 계산을 확인하기#
from sympy import Matrix, symbols, eye, expand, Rational
import numpy as np
z,t=symbols("z t")
A=Matrix([[3,1,1],[0,3,2],[0,0,5]])
assert expand((z*eye(3)-A).det())==z**3-11*z*z+39*z-45
assert A.adjugate()*A==A*A.adjugate()==A.det()*eye(3)
Sigma=Matrix([[4,2],[2,3]])
H=Matrix([[1,2],[2,-1]])
assert Sigma.det()==8
assert expand((Sigma+t*H).det())==8-9*t-5*t*t
assert (Sigma.inv()*H).trace()==Rational(-9,8)
M=Matrix([[Rational(4,5),Rational(-3,10)],
[Rational(-2,5),Rational(9,10)]])
assert M.inv()==Matrix([[Rational(3,2),Rational(1,2)],
[Rational(2,3),Rational(4,3)]])
L=np.array([[2.,0.],[1.,np.sqrt(2.)]])
sign,logabs=np.linalg.slogdet(L@L.T)
assert sign==1 and np.isclose(logabs,2*np.log(np.diag(L)).sum())
# 곱을 먼저 만들지 않고 대각의 로그를 더합니다.
values=np.full(400,1e-3)
with np.errstate(under="ignore"):
direct=np.prod(values)
assert direct==0.0
safe_log=np.log(values).sum()
assert np.isfinite(safe_log) and np.isclose(safe_log,400*np.log(1e-3))
print("행렬식:", Sigma.det(), "방향 로그미분:", (Sigma.inv()*H).trace())
print("작은 수 400개의 곱:", direct, "/ 유한한 로그합:", safe_log)
행렬식: 8 방향 로그미분: -9/8
작은 수 400개의 곱: 0.0 / 유한한 로그합: -2763.1021115928547
마지막 계산은 명시한 float64 배열에서 작은 곱이 표현 범위 아래로 내려가는 예입니다. 행렬이 수학적으로 특이하다는 뜻이 아닙니다. 로그합은 같은 양의 로그를 직접 표현하므로 이 곱의 언더플로를 피합니다.
14. 직접 써 보는 문제와 전체 풀이#
문제 1 · 비교정태의 다른 열#
4절에서 최종수요 변화가 \((h,0)\)이면 산출 변화는 얼마인가요?
풀이. 역행렬의 첫 열에 \(h\)를 곱하여 \((3h/2,2h/3)\)입니다. \(M\)을 곱하면 첫 성분은 \((4/5)(3h/2)-(3/10)(2h/3)=6h/5-h/5=h\), 둘째는 \(-(2/5)(3h/2)+(9/10)(2h/3)=-3h/5+3h/5=0\)입니다.
문제 2 · 행렬식이 0이어도 미분은 존재한다#
\(A=\operatorname{diag}(1,0)\), \(H=\operatorname{diag}(0,1)\)에서 방향 미분을 구하세요.
풀이. \(\det(A+tH)=t\)이므로 미분은 1입니다. \(\operatorname{adj}A=\operatorname{diag}(0,1)\)여서 \(\operatorname{tr}(\operatorname{adj}A\,H)=1\)입니다. 역행렬은 없으므로 역을 포함한 공식을 쓰면 안 됩니다.
문제 3 · 대각합과 행렬식만으로 충분한가?#
\(A=I_2\), \(B=\begin{pmatrix}1&1\\0&1\end{pmatrix}\)를 비교하세요.
풀이. 둘 다 대각합 2, 행렬식 1입니다. 그러나 \(A-I=0\)의 계수는 0이고 \(B-I\)의 계수는 1입니다. 상사라면 이 계수가 같아야 하므로 상사가 아닙니다. 두 스칼라는 완전한 상사 불변량이 아닙니다.
문제 4 · 대칭 비대각 방향#
\(\Sigma=\begin{pmatrix}4&2\\2&3\end{pmatrix}\)에서 두 비대각 원소를 동시에 \(t\)만큼 늘릴 때 \(\log\det\)의 미분을 구하세요.
풀이. \(\det\begin{pmatrix}4&2+t\\2+t&3\end{pmatrix}=12-(2+t)^2=8-4t-t^2\)입니다. 로그의 미분은 \(-4/8=-1/2\)입니다. 역행렬의 한 비대각 성분 \(-1/4\)만 취하면 두 위치 중 하나를 빠뜨립니다.
문제 5 · 단위 변경과 행렬식#
가역 \(n\times n\) 행렬 \(A\)를 \(cA\), \(c\ne0\)으로 바꾸면 행렬식과 노름 조건수는 어떻게 되나요?
풀이. 각 열에 \(c\)를 곱하므로 다중선형성에서 \(\det(cA)=c^n\det A\)입니다. 유도노름은 \(\|cA\|=|c|\|A\|\)이고 역은 \(c^{-1}A^{-1}\)이므로 조건수는 \(|c|\|A\||c|^{-1}\|A^{-1}\|=\kappa(A)\)입니다. 행렬식 크기는 달라져도 같은 비율의 전체 스케일 변경으로 상대 조건수가 바뀌지는 않습니다.
15. 지금까지의 내용을 수학의 언어로 정리해 봅시다#
행렬식의 정의, 그 계산 규칙, 특성다항식과 미분을 정리합니다. 대수적 결과는 체 \(F\) 위의 유한차원에서 성립합니다. 부피·로그·미분의 결과는 실수에서 논의합니다.
15.1 행렬식의 정의와 곱셈성#
정의 18 (행렬식)
\(n\)차원 공간 \(V\)의 선형사상 \(T\)에 대해 \(\Lambda^nT\)가 1차원 공간 \(\Lambda^nV\)에서 작용하는 스칼라를 \(\det T\)라 합니다. 0차원에서는 \(\Lambda^0T=I_F\)이므로 행렬식을 1로 정합니다.
C4의 차원 정리가 정의를 정당화합니다. 2절에서 기저 무관성과 곱셈성을 임의의 \(T,S\)에 대해 증명했습니다. \(\det I=1\)이고, 가역이면 \(\det T^{-1}=1/\det T\)입니다. 가역성의 동치는 C4의 계수 판정과 차원정리를 사용한 2절의 논증입니다.
C4의 성분 공식에서
를 얻습니다. 전치의 식에서 순열을 \(\sigma^{-1}\)로 다시 이름 붙이면 \(\det A^{\mathsf T}=\det A\)입니다. 부호는 역순열에서도 같고 성분곱은 체에서 순서를 바꿀 수 있기 때문입니다.
각 열에 대한 선형성, 열 교환의 부호 변화, 한 열의 배수를 다른 열에 더해도 값이 같음은 쐐기의 다중선형성과 교대성에서 나옵니다. 전치 불변성으로 행에도 같은 법칙이 성립합니다. 블록 대각행렬의 행렬식은 각 블록 행렬식의 곱입니다. 순열 전개에서 블록 밖의 0을 사용하지 않는 순열만 남고, 각 블록의 순열 합이 독립적으로 곱해지기 때문입니다.
15.2 쐐기와 쌍대성에서 여인수 얻기#
\(n\ge1\)이라 하고 \(e_{\widehat j}\)를 \(e_j\)를 뺀 증가 순서의 쐐기로 둡니다. \(v\in V\), \(\eta\in\Lambda^{n-1}V\)에 대해 \(v\wedge\eta\)는 \(\Lambda^nV\)의 원소입니다. 따라서 \(\eta\)는 “벡터를 받아 최상위 쐐기를 돌려주는 선형사상”을 정의합니다.
특히
\(i\ne j\)이면 같은 인덱스가 중복되고, \(i=j\)이면 첫 번째의 \(e_j\)를 제자리로 옮기는 데 \(j-1\)번 교환하기 때문입니다. 그러므로 \(e_{\widehat j}\)들은 부호를 제외하면 쌍대기저와 대응하며 \(\Lambda^{n-1}V\simeq V^*\otimes\Lambda^nV\)입니다. 기저를 기저로 보내므로 실제 동형입니다.
이제
왼쪽을 C4의 성분 공식으로 전개하면
양변에 \((-1)^{j-1}\)을 곱하고 \(\Omega\)의 계수를 비교하면
이는 정확히 \((\operatorname{adj}T\,T)_{jk}\)의 식입니다. \(k=j\)인 경우가 한 열에 따른 Laplace 전개입니다. 전치행렬에 적용하고 다시 전치하면 \(T\operatorname{adj}T=\det(T)I\)도 얻습니다.
가역 \(A\)의 \(Ax=b\)에 역행렬을 곱하면
분자는 \(A\)의 \(j\)열을 \(b\)로 바꾼 행렬의 그 열에 대한 Laplace 전개입니다. 따라서 \(x_j=\det A_j(b)/\det A\)라는 Cramer 공식이 나옵니다. 이는 해석적 비율을 주는 정리이며 큰 선형계의 권장 수치 알고리즘이라고 주장하지 않습니다.
15.3 특성다항식의 계수#
정리 63 (외적 거듭제곱의 대각합과 특성다항식)
\(c_T(z)=\sum_{k=0}^n(-1)^k\operatorname{tr}(\Lambda^kT)z^{n-k}\)입니다.
증명. \((ze_1-Te_1)\wedge\cdots\wedge(ze_n-Te_n)\)을 전개합니다. 부분집합 \(I\)에 속하는 위치에서 \(-Te_i\), 다른 위치에서 \(ze_i\)를 고르면 계수 \((-1)^{|I|}z^{n-|I|}\)를 얻습니다.
\(Te_i\)의 성분 중 \(j\notin I\)인 \(e_j\)는 이미 다른 자리에서 선택한 \(e_j\)와 중복되어 0입니다. 따라서 \(I\) 안의 행 성분만 남고 그 계수는 \(\det T[I,I]\)입니다. 이때 \(I\) 위치들을 앞으로 모으는 부호와 계산 뒤 되돌리는 부호가 같아 곱이 1이므로 추가 부호는 없습니다.
크기가 \(k\)인 모든 \(I\)에 대해 합하면 \(\sum_{|I|=k}\det T[I,I]\)입니다. C4의 좌표 정리에서 이것이 \(\Lambda^kT\)의 대각합입니다. 모든 \(k\)의 합이 원하는 식을 줍니다. \(\square\)
15.4 일반화 고유공간과 근 중복도의 일치#
\(m_T\)가 완전히 분해되는 체에서 C1의 준분해를 적용합니다. 각 \(G(\lambda,T)\)에서 C2의 사슬 기저를 고르면 제한사상의 대각은 모두 \(\lambda\)이고 상삼각입니다. 따라서 그 블록의 특성다항식은 \((z-\lambda)^{\dim G(\lambda,T)}\)입니다. 블록 대각의 곱셈 법칙으로
이것이 C1에서 정의한 대수적 중복도와 전통적인 근 중복도가 일치하는 증명입니다. 최소다항식의 지수는 해당 멱영사상의 최대 사슬 길이이고 이는 그 공간의 차원 이하이므로, 이 경우 \(m_T\mid c_T\)도 얻습니다. C7은 이 결과와 다른 방법들을 통해 Cayley–Hamilton을 더 일반적인 범위에서 정리합니다. 여기서 일반 체의 분해체 존재를 증명 없이 앞당겨 사용하지 않았습니다.
15.5 Kronecker 행렬식의 회수#
\(A\)가 \(n\times n\), \(B\)가 \(m\times m\), \(m,n\ge1\)이면 모든 체에서
증명. \(A\)가 특이하면 0 아닌 \(x\in\ker A\)와 0 아닌 \(y\)를 골라 \((A\otimes B)(x\otimes y)=0\)을 얻습니다. \(x\otimes y\ne0\)은 C3의 기저 성분곱 또는 계수 1 대응에서 확인됩니다. \(B\)가 특이한 경우도 같습니다. 따라서 특이한 경우 양변은 0입니다.
둘 다 가역이면 혼합곱으로 \(A\otimes B=(A\otimes I_m)(I_n\otimes B)\)입니다. 두 번째 인수는 \(B\)가 \(n\)개인 블록 대각이므로 행렬식이 \((\det B)^n\)입니다.
첫 번째는 소거법의 기본행렬로 계산합니다. 가역 \(A\)는 행 기본변환으로 \(I\)가 되므로 기본행렬들의 곱입니다. 행 하나를 \(c\)배 하는 기본행렬 \(E\)에서는 \(E\otimes I_m\)이 \(m\)개 행을 각각 \(c\)배 하므로 행렬식이 \(c^m\)입니다. 다른 행의 배수를 더하는 경우는 \(m\)번의 행 덧셈이므로 1입니다. 두 행을 바꾸는 경우 두 크기 \(m\) 블록을 교환하며 개별 행 \(m\)쌍의 교환으로 구현되어 부호가 \((-1)^m\)입니다. 각 경우 \(\det(E\otimes I_m)=(\det E)^m\)입니다. 혼합곱과 행렬식 곱셈성을 기본행렬의 곱에 반복 적용하면 결론입니다. \(\square\)
15.6 Jacobi 공식의 일반 증명#
행렬식은 각 열에 선형이므로 \(A+tH\)의 열을 전개할 때 \(t\)가 정확히 한 번 나오는 항은 \(A\)의 한 열만 \(H\)의 같은 열로 바꾼 행렬식입니다. 두 열 이상을 바꾼 항에는 \(t^2\) 이상의 인수가 있습니다. 따라서
마지막 등식은 수반행렬이 여인수 행렬의 전치라는 정의에서 나옵니다. 가역이면 수반행렬 항등식으로 \(\operatorname{adj}(A)=\det(A)A^{-1}\)를 대입하여 Jacobi 공식을 얻습니다.
\(\operatorname{tr}(A^{-1}H)=\sum_{i,j}(A^{-1})_{ji}H_{ij}\)이므로 자유 행렬 성분의 gradient는 \((A^{-1})^{\mathsf T}\)입니다. 대칭 방향으로 제한했을 때의 합산은 11절에서 직접 계산했습니다.
15.7 선형 부피·밀도 변환의 정당화#
실수 가역행렬은 소거법의 기본행렬들의 곱입니다. 기본변환마다 적분의 변화율을 확인하면 전체 변환에도 곱으로 적용할 수 있습니다.
좌표 교환은 반복적분의 순서를 바꾸므로 부피를 유지합니다. 한 좌표를 \(c\ne0\)배 하면 일변수 치환적분에서 \(|c|\)배가 됩니다. 한 좌표에 다른 좌표의 배수를 더하는 변환 \(x_i'=x_i+ax_j\)는 다른 좌표를 고정한 각 단면에서 평행이동이므로 길이를 보존합니다. 비음수 함수의 반복적분 법칙으로 이를 모든 단면에 적분하면 부피도 유지됩니다.
각 기본변환의 배율은 각각 \(1,|c|,1\)로 그 행렬식의 절댓값과 같습니다. 합성에서 배율을 곱하고 행렬식 곱셈성을 적용하면 비음수 가측함수에 대해 선형 치환식
를 얻습니다. 집합의 지시함수에 적용하면 가측집합 \(E\)의 부피는 \(\operatorname{vol}(AE)=|\det A|\operatorname{vol}(E)\)입니다.
특이행렬의 상은 진부분공간입니다. 상의 기저를 전체 기저로 확장하는 가역변환으로 좌표 부분공간에 옮길 수 있고, 좌표 부분공간은 적어도 한 좌표가 0인 단면이므로 반복적분에서 측도가 0입니다. 따라서 특이변환의 상은 부피 0입니다. 무한 부피에 \(0\)을 곱하는 표기 대신 이 사실 자체로 진술합니다.
마지막으로 \(X=\mu+LZ\)에서 임의의 가측집합 \(E\)에 대해 \(P(X\in E)=\int_{L^{-1}(E-\mu)}p_Z(z)\,dz\)입니다. 방금 증명한 선형 치환식과 평행이동을 사용하면
따라서 10절의 밀도 공식이 나옵니다. 일반 비선형 변환의 야코비안도 각 점의 도함수의 행렬식과 관련되지만, 그 전역 치환정리는 별도의 해석학 정리가 필요합니다.
본문의 계산 |
수학적 표현 |
|---|---|
전체 방향 기록의 배율 |
\(\det T\) |
연속된 두 변환의 배율을 곱함 |
행렬식 곱셈성 |
수요 변화의 특정 성분을 비율로 읽음 |
여인수와 Cramer 공식 |
일반화 고유공간의 차원 |
특성다항식의 근 중복도 |
부피가 늘어날 때 밀도를 나눔 |
선형 치환의 $ |
로그 행렬식의 방향 변화율 |
\(\operatorname{tr}(A^{-1}H)\) |
작은 행렬식과 큰 상대오차는 다름 |
스케일과 조건수의 구분 |
행렬식으로 부피 변화와 특성다항식을 읽었습니다. 다음 장에서는 행렬 자체가 조금 변할 때 출력과 행렬식이 얼마나 바뀌는지, 변화량에 대한 선형사상으로 계산합니다. C6로 이어 읽기.