docs: 2.3 소거법의 비용 단계별 유도 보강 (1/3 n³과 n²의 이유)

- 1단계가 n²인 이유(행×성분 세기), 단계별 축소로 제곱합이 되는 구조,
  제곱합 ≈ ∫x² = n³/3 적분 근사와 수치 검증(n=100) 추가
- 우변 n²의 순방향/역대입 단계별 유도와 짝짓기 트릭 설명
- LU 재사용 이득을 수치로 정리 (n=1000 → 약 333배)
- 스스로 점검 답변에 유도 요약 반영

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G8rNxLqi5rYjRamC8uwiJW
This commit is contained in:
songyc macbook 2026-07-26 06:54:10 +09:00
parent 8cbc09bc32
commit ab89d579c0
2 changed files with 24 additions and 7 deletions

View File

@ -1171,4 +1171,4 @@
:page 55},
:content {:text "[:span]", :image 1784898936929},
:properties {:color "yellow"}}],
:extra {:page 55}}
:extra {:page 4}}

View File

@ -13,10 +13,26 @@ deck:: Logseq/전공공부/선형대수학
- 💡 이 책의 일관된 메시지: $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$.
- 💡 제곱의 합 $\approx$ $x^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$$
- 세는 단위: 소거의 기본 동작은 "피벗 행에 승수를 **곱해서** 아래 행에서 **뺀다**" — 성분 하나를 갱신할 때마다 곱셈 1번 + 뺄셈 1번이 한 쌍으로 든다. 아래에서 "1번"은 이 (곱셈, 뺄셈) 한 쌍을 뜻한다.
- **왜 1단계가 약 $n^2$ 번인가** — 1열의 피벗 아래를 전부 0으로 만드는 비용:
- 피벗 아래에는 $(n-1)$ 개의 행이 있다. 그 각각의 행에 대해 "1행 × 승수"를 빼야 한다.
- 한 행을 갱신할 때 그 행의 성분 $n$ 개가 각각 (곱셈+뺄셈) 1번씩 필요하다.
- 따라서 1단계 = $(n-1)$ 행 × $n$ 성분 = $n^2 - n$ 번 ≈ $n^2$ 번. (1행 자체는 바뀌지 않으므로 $n^2$ 이 아니라 $n^2 - n$ 이지만, $n$ 이 크면 차이는 무시된다.)
- **왜 총합이 $\frac{1}{3}n^3$ 인가** — 단계마다 문제가 한 사이즈씩 줄어든다:
- 1단계가 끝나면 1행과 1열은 완성. 남은 작업은 오른쪽 아래의 $(n-1) \times (n-1)$ 부분행렬 — 크기 $(n-1)$ 짜리 문제를 새로 시작하는 것과 같다. 그래서 2단계 ≈ $(n-1)^2$ 번, 3단계 ≈ $(n-2)^2$ 번, …, 마지막 단계 ≈ $1^2$ 번.
- $$\text{총합} \approx n^2 + (n-1)^2 + (n-2)^2 + \cdots + 2^2 + 1^2 = \frac{1}{3}n\left(n+\tfrac{1}{2}\right)(n+1) \approx \frac{1}{3}n^3$$
- 💡 왜 제곱의 합이 $\frac{1}{3}n^3$ 인가: $1^2 + 2^2 + \cdots + n^2$ 은 곡선 $y = x^2$ 아래 넓이를 폭 1짜리 계단으로 근사한 것과 같다. 그 넓이가 적분 $\int_0^n x^2\,dx = \frac{1}{3}n^3$. 정확한 공식 $\frac{1}{3}n(n+\frac{1}{2})(n+1)$ 을 전개해도 최고차항은 $\frac{1}{3}n^3$ 이고, $n$ 이 충분히 크면 $\frac{1}{2}$ 과 $1$ 은 중요하지 않다.
- 수치로 확인: $n = 100$ 이면 제곱의 합은 정확히 $338{,}350$, 근사값 $\frac{100^3}{3} = 333{,}333$ — 오차 1.5%. $n$ 이 클수록 더 정확해진다.
- **왜 우변은 $n^2$ 번뿐인가** — $b$ 는 열 하나(성분 $n$ 개)라서 행렬보다 훨씬 싸다:
- ① 순방향 $b \to c$: 1단계에서 $b_2, \cdots, b_n$ 에서 $b_1$ 의 배수를 뺀다 → $(n-1)$ 번. 2단계는 $b_1$ 과 무관하므로 $(n-2)$ 번. … 마지막 단계는 1번.
- ② 역대입 $c \to x$: $x_n$ 은 $u_{nn}x_n = c_n$ 에서 피벗으로 나누는 1단계. $x_{n-1}$ 은 (이미 구한 $x_n$ 을 대입 + 피벗으로 나눔) 2단계. … $x_1$ 은 $(n-1)$ 개를 대입하고 나누는 $n$ 단계.
- $$\underbrace{[(n-1) + (n-2) + \cdots + 1]}_{①\ b \to c} + \underbrace{[1 + 2 + \cdots + (n-1) + n]}_{②\ c \to x} = n^2$$
- 💡 $n^2$ 이 되는 짝짓기 트릭 (p.98): ①의 $(n-1)$ 과 ②의 $1$, ①의 $(n-2)$ 와 ②의 $2$, … 를 짝지으면 매 쌍의 합이 $n$ 이고 쌍이 $(n-1)$ 개 → $n(n-1)$. ②에 짝 없이 남은 마지막 $n$ 하나를 더하면 $n(n-1) + n = n^2$. 딱 떨어진다.
- **결론 — $LU$ 를 저장하는 이유를 수치로**:
- $A \to LU$ 분해(비싼 부분): $\approx \frac{1}{3}n^3$ 번 — **한 번만** 하면 된다.
- 새로운 $b$ 마다 드는 비용: $Lc = b$ (순방향) + $Ux = c$ (역대입) = $n^2$ 번.
- $n = 1{,}000$ 이면 $\frac{1}{3}n^3 \approx 3.3$ 억 번 vs $n^2 = 100$ 만 번 — 두 번째 $b$ 부터는 **약 333배 싸게** 푼다.
- ⚠️ 우변 처리에 필요한 정보(각 단계의 승수 $\ell_{ij}$)가 전부 $L$ 에 저장되어 있다는 것이 핵심 — 그래서 $A$ 를 다시 소거할 필요가 없다.
- 크기 감각: $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$ 의 정확한 위치에 배치됨을 보여줬다.
@ -54,8 +70,9 @@ deck:: Logseq/전공공부/선형대수학
- ② $Ux = c$ 를 **역대입**으로 풀어 $x$ 를 얻는다.
- 💡 같은 $A$ 에 우변 $b$ 만 바뀌는 문제를 여러 번 풀 때 진가: 비싼 $\frac{1}{3}n^3$ 분해는 한 번만, 이후는 $b$ 마다 $n^2$ 만 든다.
- ### ❓ 스스로 점검
- $A \to U$ 소거, 우변 처리($b \to c \to x$)의 연산 횟수는 각각 대략 얼마인가?
- $A \to U$ 는 약 $\frac{1}{3}n^3$ 번의 곱셈·뺄셈, 우변은 (소거 + 역대입 합쳐) 정확히 $n^2$ 번.
- $A \to U$ 소거, 우변 처리($b \to c \to x$)의 연산 횟수는 각각 대략 얼마인가? 유도 과정도 요약하라.
- $A \to U$ 는 약 $\frac{1}{3}n^3$ 번: 1단계는 $(n-1)$ 행 × $n$ 성분 ≈ $n^2$ 번이고, 단계마다 부분행렬 크기가 하나씩 줄어 $n^2 + (n-1)^2 + \cdots + 1^2 \approx \int_0^n x^2 dx = \frac{1}{3}n^3$.
- 우변은 정확히 $n^2$ 번: 순방향 $(n-1) + \cdots + 1$, 역대입 $1 + 2 + \cdots + n$ — 합치면 $n^2$. 그래서 $LU$ 를 한 번 구해두면 새 $b$ 마다 $n^2$ 만 든다 ($n=1000$ 이면 분해 대비 약 333배 싸다).
- $A = LU$ 에서 $L$ 의 주대각선과 그 아래에는 정확히 무엇이 들어가는가?
- 주대각선에는 1, 주대각선 아래 $(i,j)$ 성분에는 소거 때 쓴 승수 $\ell_{ij}$ 가 부호 그대로 들어간다. ($U$ 의 주대각선에는 피벗.)
- "소거에서 피벗 행에 곱해 빼는 행은 $A$ 의 행이 아니라 $U$ 의 행이다" — 왜 이 관찰이 $A = LU$ 증명의 핵심인가?