- hls 페이지 텍스트 하이라이트 본문을 책 원문 기준으로 교정 (속성·uuid 불변) - 오독 교정 포함: "2개의 피벗" → "n개의 피벗" 등 - 2장 페이지 6개에서 **...** 안에 $...$가 중첩된 44줄을 규칙대로 분리 - CLAUDE.md: hls 본문 텍스트 교정 허용 예외 규칙 추가 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G8rNxLqi5rYjRamC8uwiJW
9.9 KiB
Executable File
9.9 KiB
Executable File
deck:: Logseq/전공공부/선형대수학
-
핵심 개념
- 이 절의 요지 3가지:
- ①
n \times n행렬A를U로 바꾸는 소거는 약\frac{1}{3}n^3번의 곱셈과 뺄셈이 필요하다. - ② 우변
b를c로 바꾸는 데는n^2번이면 된다. - ③ 행 교환이 없는 소거는
A를LU로 분해한다 (A = LU의 2가지 증명).
- ①
- 가우스-조르단 소거법 (Gauss-Jordan elimination):
AX = I를 열 단위로 한꺼번에 푸는 방법.- 📌 원문 (p.97): ((6a635ba0-717a-49ea-81c6-1b80acfb2f4c))
- 아이디어:
A^{-1}의k번째 열x_k는Ax_k = e_k의 해다 (e_k는I의k번째 열).n개의 방정식이 모두 같은 계수행렬A를 가지므로 첨가행렬을[A \ \ I]로 잡고 소거를 한 번만 적용한다. -
[A \ \ I] \xrightarrow{\text{소거}} [I \ \ A^{-1}] - ⚠️ 가우스-조르단은 (역대입 대신) 피벗 위쪽까지 소거해
A자리를 완전히I로 만든다.Ax=b하나를 푸는 것보다 느리다 —A^{-1}가 정말 필요할 때만 쓴다. - 💡 이 책의 일관된 메시지:
x = A^{-1}b라고 해서 실제로A^{-1}를 계산하지는 마라. 소거+역대입이 훨씬 싸다.
- 소거법의 비용 (연산 횟수 세기)
- 📌 원문 (p.97): ((6a635bbc-cd20-4362-8dcc-ae180ca53cba))
A \to U: 1단계(1열 소거)는 약n^2번의 곱셈·뺄셈, 2단계는(n-1)^2, … → 총합n^2 + (n-1)^2 + \cdots + 1^2 \approx \frac{1}{3}n^3.- 💡 제곱의 합
\approxx^2의 적분 =\frac{1}{3}n^3— 미적분과의 연결.
- 💡 제곱의 합
- 우변
b \to c(소거 적용) 그리고c \to x(역대입): 합쳐서 정확히n^2번.-
[(n-1) + (n-2) + \cdots + 1] + [1 + 2 + \cdots + (n-1) + n] = n^2
-
- 크기 감각:
n = 1{,}000이면 약 1초.n이 2배가 되면 시간은2^3 = 8배 (n^3규칙). 실무의 큰 행렬은 대부분 희소행렬 (sparse matrix, 대부분 성분이 0)이라A = LU계산이 훨씬 빠르다.
A = LU분해 — 이 장의 핵심 공식- 소거 과정
EA = U를 뒤집으면A = E^{-1}U = LU. 2.2 소거행렬과 역행렬의 식 (11)이\ell_{ij}가L의 정확한 위치에 배치됨을 보여줬다. L과U의 정확한 형태 🧩:L= 주대각선이 1이고, 주대각선 아래(i,j)에 승수\ell_{ij}가 들어간 하삼각행렬.U= 소거가 끝난 상삼각행렬, 주대각선에 피벗들이 놓인다.-
A = LU = \begin{bmatrix} 1 & & \\ \ell_{21} & 1 & \\ \ell_{31} & \ell_{32} & 1 \end{bmatrix} \begin{bmatrix} \text{피벗}_1 & * & * \\ & \text{피벗}_2 & * \\ & & \text{피벗}_3 \end{bmatrix}
- 소거 과정
- 증명 1 — 행 단위로 보기:
L에서\ell_{ij}가 제자리에 있는 이유 (p.99~100)- 📌 원문 (p.99): ((6a635be3-d31e-4142-a915-420dc9b58289))
- 소거 중 피벗 행에서 빼는 것은
A의 원래 행이 아니라 이미 완성된U의 행이다 (피벗 행은 그 뒤로 다시 바뀌지 않으므로). -
(U \text{의 3행}) = (A \text{의 3행}) - \ell_{31}(U \text{의 1행}) - \ell_{32}(U \text{의 2행}) \tag{3} - 📌 원문 — 식 (3) (p.100): 🔗 PDF 위치
- 이 식을 이항하면:
-
(A \text{의 3행}) = \ell_{31}(U \text{의 1행}) + \ell_{32}(U \text{의 2행}) + 1 \cdot (U \text{의 3행}) \tag{4} - 📌 원문 — 식 (4) (p.100): 🔗 PDF 위치
- 식 (4)가 정확히 행렬곱
A = LU의 3행이다 —L의 3행[\ell_{31} \ \ \ell_{32} \ \ 1]이 그대로 읽힌다. 모든 크기n에서 성립.
- 증명 2 — (열)×(행) 랭크 1 행렬로 보기 (p.100~101)
- 소거를 "
A에서 (L의 열)·(U의 행) 인 랭크 1 행렬을 빼는 것"으로 본다. - 1단계:
\ell_1 = (1, \ell_{21}, \ell_{31}, \cdots)과u_1 = (A의 1행)에 대해A - \ell_1 u_1 = A_2를 만들면A_2의 1행과 1열은 전부 0. - 반복하면 매 단계 "
L의 열\ell_j×U의 피벗 행 $u_j$" 를 소거하고, 조각을 다시 합치면: -
A = \ell_1 u_1 + \ell_2 u_2 + \cdots + \ell_n u_n = \begin{bmatrix} \ell_1 & \cdots & \ell_n \end{bmatrix}\begin{bmatrix} u_1 \\ \vdots \\ u_n \end{bmatrix} = LU \tag{5} - 💡 1장 마지막의 "(열)×(행) 곱셈" 관점이 여기서 진가를 발휘한다.
U의 피벗 행u_k는 앞에(k-1)개의 0,L의 열\ell_k도 위에(k-1)개의 0으로 시작.
- 소거를 "
- 행 교환 없이
A = LU분해가 가능한 조건 (p.101)- "행 교환이 없고 피벗에 0이 없는
A = LU분해는 언제 가능한가?"- 📌 원문 — 질문 (p.101): ((6a635bfb-bcd2-4ff3-9fd5-31424ab7abb4))
- 답:
A의 왼쪽 상단 모서리에 있는 모든k \times k부분행렬A_k가 가역행렬일 때만 가능하다 (k = 1, \cdots, n).- 📌 원문 — 답 (p.101): ((6a635c01-2fd8-4235-a9d8-052b6b5f93d7))
- 이유: 소거 과정이 좌상단 모서리 부분행렬을 순서대로 분해하기 때문 —
A_k = L_k U_k이 성립하려면 각A_k가 가역이어야 한다. - 💡 직관:
k번째 피벗은 좌상단k\times k블록 안에서 결정된다. 앞쪽 블록이 특이하면 그 시점에 피벗 0을 만나 행 교환이 필요해진다.
- "행 교환이 없고 피벗에 0이 없는
LU를 이용한Ax = b풀이 — 두 개의 삼각 시스템A = LU를 알고 나면:Ax = b⟺L(Ux) = b⟺ 두 단계로 분리.- ①
Lc = b를 순방향 대입으로 풀어c를 얻는다 (소거가 우변에 하던 일). - ②
Ux = c를 역대입으로 풀어x를 얻는다.
- ①
- 💡 같은
A에 우변b만 바뀌는 문제를 여러 번 풀 때 진가: 비싼\frac{1}{3}n^3분해는 한 번만, 이후는b마다n^2만 든다.
- 이 절의 요지 3가지:
-
❓ 스스로 점검
A \to U소거, 우변 처리(b \to c \to x)의 연산 횟수는 각각 대략 얼마인가?A \to U는 약\frac{1}{3}n^3번의 곱셈·뺄셈, 우변은 (소거 + 역대입 합쳐) 정확히n^2번.
A = LU에서L의 주대각선과 그 아래에는 정확히 무엇이 들어가는가?- 주대각선에는 1, 주대각선 아래
(i,j)성분에는 소거 때 쓴 승수\ell_{ij}가 부호 그대로 들어간다. (U의 주대각선에는 피벗.)
- 주대각선에는 1, 주대각선 아래
- "소거에서 피벗 행에 곱해 빼는 행은
A의 행이 아니라U의 행이다" — 왜 이 관찰이A = LU증명의 핵심인가?(U의i행) = (A의i행) - \sum_{j<i} \ell_{ij}(U의j행)을 이항하면(A의i행) = \sum_{j<i}\ell_{ij}(U의j행) + 1\cdot(U의i행)— 이것이 정확히 행렬곱LU의i행이기 때문.
- 행 교환 없이
A = LU가 가능할 필요충분조건은?- 왼쪽 상단의 모든
k \times k부분행렬A_k(k=1,\cdots,n)가 가역인 것.
- 왼쪽 상단의 모든
[A \ \ I] \to [I \ \ A^{-1}](가우스-조르단)이Ax=b풀이보다 느린데도 배우는 이유는?A^{-1}전체가 필요할 때n개의 방정식Ax_k = e_k를 소거 한 번으로 동시에 풀어주는 체계적 방법이기 때문. (실전에서는A^{-1}를 만들지 않고LU로 푸는 것이 원칙.)
-
✏️ 연습문제 풀이 (솔루션 참고)
- 문제 1 (책 표시: 중요한 문제) — 순방향 소거가
\begin{bmatrix} 1&1 \\ 1&2 \end{bmatrix}x = \begin{bmatrix} 5\\7 \end{bmatrix}를\begin{bmatrix} 1&1 \\ 0&1 \end{bmatrix}x = \begin{bmatrix} 5\\2 \end{bmatrix}로 바꾼다. 빈칸을 채워라.\ell_{21} = 1(2행에서 1행 × 1 을 뺌). 역대입 단계의 행렬은L = \begin{bmatrix} 1&0 \\ 1&1 \end{bmatrix}.L을Ux_1 = (5,2)에 곱하면 원래 방정식Ax = (5,7)을 되찾는다. 문자로:Ux = c에L을 곱하면Ax = b.- 💡 "
L은 소거를 되돌리는 행렬"이라는A = LU의 의미를 2×2 로 확인하는 문제.
- 문제 7 (책 표시: 꼭 풀어볼 만한 문제) — 대칭행렬
A = \begin{bmatrix} a&a&a&a \\ a&b&b&b \\ a&b&c&c \\ a&b&c&d \end{bmatrix}의L, U와 피벗 4개가 존재할 조건.- 소거하면 모든 승수가 1:
L = \begin{bmatrix} 1&&& \\ 1&1&& \\ 1&1&1& \\ 1&1&1&1 \end{bmatrix},U = \begin{bmatrix} a&a&a&a \\ &b-a&b-a&b-a \\ &&c-b&c-b \\ &&&d-c \end{bmatrix}. - 피벗은
a, \ b-a, \ c-b, \ d-c→ 4개의 조건:a \neq 0,b \neq a,c \neq b,d \neq c. - 💡 피벗이 "연속된 값의 차"로 나오는 아름다운 패턴. 대칭행렬의 소거가 얼마나 규칙적인지 보여준다.
- 소거하면 모든 승수가 1:
- 문제 10 —
L = \begin{bmatrix} 1&0&0 \\ 1&1&0 \\ 1&1&1 \end{bmatrix},U = \begin{bmatrix} 1&1&1 \\ 0&1&1 \\ 0&0&1 \end{bmatrix},b = (4,5,6).Lc = b에서c,Ux = c에서x를 구하라.A는?Lc = b순방향:c_1 = 4,c_1 + c_2 = 5 \Rightarrow c_2 = 1,c_1+c_2+c_3 = 6 \Rightarrow c_3 = 1→c = (4,1,1).Ux = c역방향:x_3 = 1,x_2 = 0,x_1 = 3→x = (3, 0, 1).A = LU = \begin{bmatrix} 1&1&1 \\ 1&2&2 \\ 1&2&3 \end{bmatrix}— 방금 한 것이 정확히 이A에 대한 순방향 소거 + 역대입이다.- 💡
LU풀이의 2단계 절차(①Lc=b②Ux=c)를 손에 익히는 표준 문제.
- 문제 15 (책 표시: 쉽지만 중요한 문제) —
A가 행 교환 없이 피벗 5, 9, 3을 가질 때, 왼쪽 상단 2×2 부분행렬A_2의 피벗은?A_2의 피벗은 5, 9 — 앞의 두 피벗 그대로.- 이유:
A에 대한 소거는 왼쪽 상단 모서리에서 시작하므로, 처음 두 단계가 곧A_2에 대한 소거다 (A_k = L_k U_k). - 💡 "모서리 부분행렬이 가역이어야
A=LU가 가능하다"는 본문 조건의 이유를 그대로 체험하는 문제.
- 문제 1 (책 표시: 중요한 문제) — 순방향 소거가

