Chapter 01

무한을 길들이기

컴퓨터의 산술 장치가 직접 하는 일은 덧셈·뺄셈·곱셈·나눗셈과 자리 이동 정도입니다. 그런데도 Math.sin(0.5)는 소수점 아래 16자리까지 맞는 답을 순식간에 돌려줍니다. 비결은 무한을 다루는 기술에 있습니다. 무한히 많은 항을 더하면 정확한 값이 되고, 그 가운데 유한한 몇 항에서 멈추면 오차가 얼마인지 보장할 수 있습니다. 이 장에서는 "무한히 잘게 쪼개기"라는 하나의 도구가 급수, 극한, 미분, 적분, e, 테일러 급수로 이어지는 과정을 직접 끌어 보며 따라갑니다.

이 수식이 없었다면계산기·컴퓨터의 sin / exp / log 버튼

sin 0.5를 구하라고 하면 기계는 막힙니다. 각도를 재는 자도, 원을 그리는 컴퍼스도 없고 사칙연산만 있기 때문입니다. 해법은 sin을 다항식, 곧 덧셈과 곱셈만으로 된 식으로 바꾸는 것입니다. 테일러 급수 \(\sin x = x - x^3/3! + x^5/5! - \cdots\)는 무한히 긴 다항식이고, 이를 몇 항에서 자르면 남는 오차의 상한을 계산할 수 있습니다. 실제 수학 라이브러리는 먼저 인수를 작은 구간으로 줄이는 범위 축소를 하고, 그 구간에서 최소 최대 오차가 되도록 계수를 다시 맞춘 다항식을 씁니다. 일부 하드웨어와 초기 계산기는 덧셈과 자리 이동만으로 회전을 쌓는 CORDIC 계열 알고리즘을 썼습니다. 어느 쪽이든 바탕에 있는 생각은 같습니다. 무한 과정을 유한한 단계에서 끊되, 오차를 보장한다는 것입니다.

sin 0.5 계산→사칙연산뿐인 기계→무한급수 + 오차 보장→다항식 몇 번 계산

무한히 많은 조각의 합은 유한할 수 있다

sin을 "끝없이 더해서" 만들 수 있을까?

계산기를 설계하는 사람이 sin x를 다항식들의 합으로 쓰는 공식을 받았다고 합시다. 항이 무한히 많습니다. 무한히 많은 수를 더하면 무한대가 되지 않을까요? 그리고 유한한 시간 안에 끝나지 않는 계산을 어떻게 믿을 수 있을까요? 이 질문은 2,400년 전 그리스에서 이미 역설의 형태로 나왔습니다.

엘레아의 제논(Zeno of Elea)이 남긴 역설 가운데 하나는 이렇습니다. 1 m 떨어진 벽까지 걸어가려면 먼저 절반(1/2 m)을 가야 하고, 그다음 남은 거리의 절반(1/4 m), 또 그 절반(1/8 m)을 가야 합니다. 이 단계는 끝없이 이어지므로 벽에 영원히 닿지 못한다는 주장입니다. 그러나 우리는 벽에 닿습니다. 무엇이 틀렸을까요?

0 1 (벽) 1/2 1/4 1/8 1/16 n번 뛴 뒤 남은 거리 = 1/2ⁿ → 0, 지나온 거리의 합 → 1
그림 1-1. 제논의 이분법. 뛰는 횟수는 무한하지만 각 걸음이 기하급수적으로 짧아져, 걸음 길이의 합은 정확히 1에 수렴한다. 걸음마다 걸리는 시간도 같은 비율로 줄어들므로 걸린 시간의 합도 유한하다.

제논의 논증이 놓친 것은 "무한히 많은 단계"와 "무한히 긴 합"이 다르다는 점입니다. n걸음 뒤까지 간 거리를 부분합(Partial Sum) \(S_n\)이라 하면

$$S_n = \frac12 + \frac14 + \cdots + \frac1{2^n} = 1 - \frac1{2^n}, \qquad \lim_{n\to\infty} S_n = 1$$
부분합이 어떤 값에 한없이 가까워지면 그 값을 무한급수의 합이라 부른다. "무한 번 더한다"는 동작이 아니라 "부분합 수열의 극한"이 정의다.

일반적으로 공비가 \(r\)인 기하급수(Geometric Series)는 \(|r|<1\)이면 수렴하고, 그 합은 다음과 같습니다.

$$\sum_{k=0}^{\infty} r^k = \frac{1}{1-r}\quad(|r|<1), \qquad \text{n항에서 자른 오차} = \frac{r^{n}}{1-r}$$
유도: \(S_n = 1 + r + \cdots + r^{n-1}\)에 \(r\)을 곱해 빼면 \(S_n(1-r) = 1-r^n\). \(|r|<1\)이면 \(r^n\to0\). 오차 공식이 핵심이다. 몇 항에서 멈추면 오차가 얼마인지 미리 알 수 있다.
SIMULATOR

정사각형을 반씩 채우기

부분합 Sₙ—
남은 거리 (벽까지 1 m일 때)—
비유—
해볼 것: ① n을 하나씩 올리며 넓이 1인 정사각형이 1/2, 1/4, 1/8 조각으로 채워지는 모습과 오른쪽 부분합 그래프를 비교한다. ② 남은 거리가 원자 지름(약 0.1 nm)보다 작아지는 n을 찾는다(34). ③ n이 40일 때도 부분합이 정확히 1은 아니라는 점에 주목한다. 극한은 "도달"이 아니라 "얼마든지 가까워짐"이다. · 모델: 넓이 1인 정사각형에서 남은 직사각형의 절반을 세로·가로로 번갈아 채운다. 그림은 24조각까지만 그린다.

계산기의 관점에서 이것은 아주 반가운 소식입니다. 무한급수가 수렴하고 남은 꼬리(Tail)의 크기를 계산할 수 있다면, "오차 \(10^{-16}\) 이하가 될 때까지 n항만 더한다"는 유한한 알고리즘이 됩니다. 그렇다면 항이 0으로 줄어들기만 하면 항상 수렴할까요? 다음 절의 답은 "아니다"입니다.

항이 0으로 가도 발산한다: 블록 쌓기 오버행

탁자 밖으로 얼마나 멀리 내밀 수 있나

길이 1인 똑같은 블록(책, 벽돌, 도미노)을 탁자 모서리에서 한 층에 하나씩 쌓아 위로 갈수록 바깥으로 내민다고 합시다. 접착제는 쓰지 않습니다. 맨 위 블록은 탁자 모서리에서 최대 얼마나 멀리 나갈 수 있을까요? 블록 하나 길이(1)를 넘길 수 있을까요? 10을 넘길 수 있을까요?

위에서부터 생각하면 쉽습니다. 맨 위 블록은 바로 아래 블록 위에서 자기 무게중심이 아래 블록의 끝에 오도록, 즉 1/2만큼 내밀 수 있습니다. 위 두 개를 한 덩어리로 보면 그 무게중심이 세 번째 블록의 끝에 오도록 1/4만큼 더 내밀 수 있습니다. 위 k개 덩어리의 무게중심을 그 아래 블록의 끝에 맞추면 k번째 단계에서 \(1/(2k)\)만큼 더 나갑니다. 그래서 n개를 쌓았을 때 최대 오버행(Overhang)은

$$\text{오버행}(n) = \frac12\left(1 + \frac12 + \frac13 + \cdots + \frac1n\right) = \frac{H_n}{2}$$
\(H_n\)은 n번째 조화수(Harmonic Number). 블록 길이를 1로 둔 값이며, 한 층에 블록 하나씩 쌓는다는 조건에서의 최적이다.

그런데 조화급수 \(\sum 1/n\)은 발산합니다. 항 \(1/n\)은 0으로 줄어드는데도 합은 한없이 커집니다. 따라서 블록만 충분하면 맨 위 블록을 탁자 밖으로 얼마든지 멀리 내밀 수 있습니다. 4개면 이미 1을 넘고(\(H_4/2 \approx 1.042\)), 2를 넘으려면 31개, 3을 넘으려면 227개, 5를 넘으려면 약 1만 2천 개가 필요합니다. 증가가 로그만큼 느릴 뿐 상한은 없습니다.

SIMULATOR

조화 쌓기와 두 급수의 경주

블록 쌓기(옆에서 본 모습)
부분합 (가로축 로그)
오버행 Hₙ/2—
Σ 1/k (조화)—
Σ 1/k²—
π²/6 − Σ 1/k²—
해볼 것: ① n = 4에서 맨 위 블록 전체가 탁자 모서리(점선) 바깥에 있는지 확인한다. ② n을 31, 227로 올리며 오버행이 2, 3을 넘는 순간을 본다. ③ 오른쪽 그래프에서 Σ1/k는 로그 가로축 위에서 거의 직선(= ln n만큼 증가)이고, Σ1/k²는 π²/6에 달라붙는 것을 비교한다. · 모델: 길이 1의 강체 블록, 한 층에 하나, 마찰과 변형은 무시한다. 무게중심 점(○)이 바로 아래 블록의 오른쪽 끝에 놓이는 아슬아슬한 균형이다. 그래프는 n = 10⁶까지 미리 계산했다.

왜 발산하나: 14세기의 묶음 논법

조화급수의 발산은 14세기 니콜 오렘(Nicole Oresme)의 논법으로 잘 알려져 있습니다. 항을 2의 거듭제곱 경계로 묶으면 각 묶음이 1/2 이상입니다.

1 1/2 1/3+1/4 1/5+…+1/8 1/9+…+1/16 … ≥ 2×1/4 = 1/2 ≥ 4×1/8 = 1/2 ≥ 8×1/16 = 1/2 묶음이 끝없이 나오고 각각 1/2 이상 → 합은 ∞ (2ᵏ항까지의 합 ≥ 1 + k/2)
그림 1-2. 조화급수의 묶음 논법. 사각형 폭이 항의 크기다. \(2^{k-1}+1\)번째부터 \(2^k\)번째까지 \(2^{k-1}\)개 항은 모두 \(1/2^k\) 이상이므로 묶음의 합은 1/2 이상이다. 항은 줄어들지만 묶음 안의 항 개수가 두 배씩 늘어나 손해를 메운다.

더 정확히는 \(H_n \approx \ln n + \gamma\)(\(\gamma \approx 0.5772\), 오일러–마스케로니 상수)입니다. 증가 속도는 놀랄 만큼 느려서, 100만 항을 더해도 약 14.39이고 \(H_n\)이 100을 넘으려면 대략 \(1.5\times10^{43}\)항이 필요합니다. 컴퓨터로 "더해 보고 멈추는지 확인"해서는 수렴과 발산을 구별할 수 없다는 뜻입니다. 단정 실수(float32)로 1/n을 더하면 어느 순간 1/n이 누적합의 반올림 단위보다 작아져 더해도 값이 변하지 않습니다. 화면에는 수렴처럼 보이지만 실제 급수는 발산합니다(10장).

항이 0으로 가는 것은 필요조건일 뿐 \(\sum a_n\)이 수렴하려면 \(a_n\to0\)이어야 하지만, 그것만으로는 부족하다. 얼마나 빨리 0으로 가느냐가 관건이다. \(\sum 1/n^p\)는 \(p>1\)이면 수렴, \(p\le1\)이면 발산한다(적분 \(\int_1^\infty x^{-p}dx\)와 비교).

\(\sum 1/n^2\) 그리고 갑자기 나타나는 π

항을 제곱만 해도 상황이 바뀝니다. \(1 + 1/4 + 1/9 + 1/16 + \cdots\)는 수렴합니다. 그 값을 정확히 구하는 문제는 17세기 중반 피에트로 멩골리가 제기했고 이후 바젤 문제(Basel Problem)로 불렸습니다. 레온하르트 오일러가 1734년 무렵 답을 냈습니다.

$$\sum_{n=1}^{\infty}\frac{1}{n^2} = \frac{\pi^2}{6} \approx 1.644934$$
원도, 각도도 등장하지 않는 정수의 제곱 역수 합에 π가 나온다. 오일러의 발상은 \(\sin x/x\)를 근(\(x = \pm\pi, \pm2\pi,\dots\))으로 인수분해한 무한곱과 테일러 급수의 \(x^2\) 계수를 비교하는 것이었다. π는 sin의 주기를 타고 들어온다. 8절에서 다시 다룬다.

수렴하더라도 속도는 별개의 문제입니다. n항에서 자른 꼬리는 대략 \(1/n\)이므로 1000항을 더해도 소수점 셋째 자리에서 틀립니다(위 시뮬레이터의 마지막 칸). 수렴이 느린 급수를 그대로 계산기에 넣으면 안 됩니다. 계산기에 쓸 급수는 꼬리가 기하급수보다 빨리 줄어야 하고, 7절의 테일러 급수가 그 조건을 만족합니다.

극한은 공차 계약이다: ε–δ

저항값을 얼마나 정밀하게 맞춰야 하나

센서 회로의 출력 전압이 저항값 R의 함수 \(V = f(R)\)이라고 합시다. 고객은 출력이 목표값 L에서 ±ε 안에 들어오길 요구합니다. 저항 공급사에 "공칭값 a에서 ±δ 이내"라는 공차를 주문해야 합니다. 어떤 ε를 요구받아도 그에 맞는 δ를 항상 제시할 수 있을까요? 제시할 수 없는 경우는 언제일까요?

"\(x\)가 \(a\)에 가까워지면 \(f(x)\)가 \(L\)에 가까워진다"는 말은 듣기에는 분명하지만 "가까워진다"가 무엇인지 정해 두지 않으면 증명에 쓸 수 없습니다. 19세기에 코시와 바이어슈트라스가 다듬은 정의는 이 말을 공차 계약으로 바꿉니다.

f 회로·공정·함수 x ∈ a ± δ f(x) ∈ L ± ε ① 고객이 요구 ② 설계자가 응답 "어떤 ε를 대도 그에 맞는 δ를 내놓을 수 있다" = 극한이 L이다
그림 1-3. 극한의 ε–δ 정의를 제조 공차로 읽기. 고객(반론자)이 먼저 출력 공차 ε를 정하고, 설계자는 입력 공차 δ로 답한다. 고객이 아무리 작은 ε를 불러도 설계자가 항상 답할 수 있으면 계약이 성립한다.
$$\lim_{x\to a} f(x) = L \iff \forall \varepsilon>0\ \exists \delta>0:\ 0<|x-a|<\delta \Rightarrow |f(x)-L|<\varepsilon$$
\(\forall\varepsilon\)가 먼저, \(\exists\delta\)가 나중이라는 순서가 핵심이다. δ는 ε에 의존해도 되지만 ε는 δ를 보고 고를 수 없다. \(f(a) = L\)까지 성립하면 \(f\)는 \(a\)에서 연속(Continuous)이다.
SIMULATOR

ε 띠를 좁혀라, δ 띠가 답한다

ε (요구)—
최대 δ (응답)—
δ / ε—
1 / |f′(a)|—
—
곡선 위의 점 a를 좌우로 끌어 기준점을 옮기고, 오른쪽의 ε 손잡이를 위아래로 끌어 출력 공차를 바꿉니다. 해볼 것: ① x²에서 ε를 줄이면 δ/ε가 1/|f′(a)|에 다가간다(작은 범위에서 함수는 직선처럼 보인다). ② 1/x에서 a를 0 쪽으로 옮기면 같은 ε에 대해 δ가 급격히 줄어든다. ③ 계단 함수에서 a를 정확히 1에 두고 ε를 1보다 작게 하면 어떤 δ도 존재하지 않는다(불연속). · 모델: L = f(a)로 두고, a 양쪽으로 로그 간격 표본 + 이분법으로 위반이 처음 생기는 거리를 찾는다. 정의역 밖의 점(√x의 x < 0)은 계약 대상에서 뺀다.

시뮬레이터에서 본 비율 \(\delta/\varepsilon \to 1/|f'(a)|\)은 공학자에게 익숙한 감도(Sensitivity) 계산입니다. 출력 공차를 입력 공차로 나눠 주는 환산 계수가 미분계수이고, 공정 산포 예산이나 센서 오차 전파(Error Propagation)는 모두 이 1차 근사 위에 서 있습니다. 감도가 큰 곳(1/x의 0 근처)에서는 같은 출력 공차를 맞추려면 입력을 훨씬 정밀하게 관리해야 합니다.

균등 연속과 "어디서나 같은 δ" 1/x는 \((0, 1]\)의 모든 점에서 연속이지만, 하나의 ε에 대해 구간 전체에서 통하는 단일 δ는 없다(0 근처로 갈수록 δ가 0으로 줄어든다). 모든 점에서 같은 δ로 계약할 수 있는 성질을 균등 연속이라 한다. 닫힌 유계 구간 위의 연속 함수는 언제나 균등 연속이고, 이 사실이 다음 절들에서 리만 적분이 수렴하는 근거가 된다.

극한은 무한급수의 수렴도 같은 언어로 말해 줍니다. "\(\sum a_k = S\)"는 "어떤 ε를 대도 그보다 큰 N부터는 \(|S_n - S| < \varepsilon\)"이라는 계약입니다. 계산기 설계로 옮기면 "오차 \(2^{-53}\)을 요구받으면 몇 항까지 더하면 되는지 답할 수 있다"가 됩니다.

미분: 할선이 접선이 되는 극한

속도계는 "순간"의 속도를 어떻게 아나

GPS 수신기는 1초마다 위치만 기록합니다. 그런데 화면에는 "지금" 속도가 나옵니다. 속도는 (이동 거리)/(걸린 시간)인데, "순간"이라는 시간 0 동안의 이동 거리는 0이라서 0/0이 됩니다. 0/0은 계산할 수 없는데 순간 속도는 어떻게 정의할까요?

답은 0/0을 직접 계산하지 않고 0/0으로 가는 과정의 극한을 쓰는 것입니다. 두 점 \((a, f(a))\), \((a+h, f(a+h))\)를 지나는 할선(Secant)의 기울기는 평균 변화율이고, \(h\)를 0으로 보내면 접선(Tangent)의 기울기, 곧 도함수(Derivative)가 됩니다.

$$f'(a) = \lim_{h\to0}\frac{f(a+h)-f(a)}{h}$$
ε–δ로 읽으면 "기울기 오차 ε를 요구받으면, \(|h|<\delta\)인 모든 할선이 그 공차 안에 들게 하는 δ가 있다"는 계약이다. 왼쪽(\(h<0\))과 오른쪽(\(h>0\))에서 다가간 값이 다르면 미분 불가능하다.
SIMULATOR

h → 0: 할선을 접선으로 접기

할선(주황)과 접선(초록 점선)
기울기 오차 vs h (double)
할선 기울기—
참 f′(a)—
|오차|—
곡선 위의 점 a를 끌어 위치를 바꿉니다. 해볼 것: ① h를 1.5에서 0.01까지 줄이며 주황 할선이 초록 접선에 포개지는 것을 본다. 오차는 h에 비례해 줄어든다(오른쪽 그래프의 기울기 1 직선). ② h를 계속 10⁻¹⁵까지 줄이면 오차가 다시 커진다. 컴퓨터에서는 h → 0이 최선이 아니다. ③ |x|에서 a = 0에 두고 "왼쪽에서"를 켜고 끄면 할선 기울기가 −1과 +1로 갈려 하나의 접선이 없다. · 모델: 전진 차분 (f(a+h) − f(a))/h를 IEEE 754 배정밀도로 실제 계산한다.

오른쪽 그래프의 V자 모양은 두 오차의 줄다리기입니다. 수학적 근사 오차인 절단 오차(Truncation Error)는 테일러 전개로 \(\tfrac{h}{2}|f''(a)|\) 정도이고 h가 작을수록 줄어듭니다. 반면 \(f(a+h)\)와 \(f(a)\)가 거의 같아지면 두 수를 빼는 순간 유효 숫자가 사라지는 상쇄 오차(Cancellation)가 \(\epsilon_{\text{mach}}|f(a)|/h\) 정도로 커집니다. 두 오차의 합은 \(h \approx \sqrt{\epsilon_{\text{mach}}} \approx 10^{-8}\) 근처에서 가장 작습니다. 수학의 극한과 컴퓨터의 극한은 다릅니다. 이 차이는 10장의 주제입니다.

엔지니어의 눈으로 중심 차분 \((f(a+h)-f(a-h))/2h\)은 절단 오차가 \(h^2\)에 비례해 최적 h가 \(10^{-5}\) 근처로 커지고 최소 오차도 \(10^{-11}\) 수준으로 작아진다. 잡음이 섞인 센서 데이터를 미분하면 같은 원리로 잡음이 \(1/h\)배로 증폭되므로, 실무에서는 먼저 저역 통과 필터를 걸고 미분한다(5장).

적분: 무한히 잘게 쪼갠 직사각형의 합

배터리에 남은 전하량은?

배터리 관리 칩(BMS)은 전류 i(t)를 1 ms마다 측정합니다. 남은 전하량은 전류를 시간에 대해 "모두 더한" 값인 \(Q = \int i\,dt\)입니다. 전류는 계속 변하므로 "전류 × 시간"이라는 직사각형 공식은 그대로 쓸 수 없습니다. 짧은 구간에서는 전류를 일정하다고 보고 직사각형으로 더한다면, 측정 간격을 얼마나 줄여야 원하는 정확도가 나올까요?

구간 \([a,b]\)를 n등분하고 각 조각 위에 직사각형을 세워 넓이를 더한 것이 리만 합(Riemann Sum)입니다. 직사각형 높이를 조각의 왼쪽 끝, 오른쪽 끝, 가운데 중 어디서 재든 n → ∞이면 같은 값으로 수렴하고, 그 극한이 정적분입니다.

$$\int_a^b f(x)\,dx = \lim_{n\to\infty}\sum_{i=0}^{n-1} f(x_i^*)\,\Delta x, \qquad \Delta x = \frac{b-a}{n}$$
\(x_i^*\)는 i번째 조각 안의 아무 점. 왼쪽 끝 합과 오른쪽 끝 합의 오차는 \(\propto 1/n\), 중점 합과 사다리꼴 합은 \(\propto 1/n^2\)(f가 충분히 매끄러울 때).
SIMULATOR

리만 합 네 가지와 오차 차수

넓이
|오차| vs n (로그–로그)
높이를 재는 곳
합—
정확한 값—
|오차|—
n → 2n 이면 오차 ÷—
해볼 것: ① x²에서 왼쪽 합과 중점 합을 같은 n으로 비교한다. 오른쪽 그래프에서 왼쪽 합은 기울기 −1, 중점 합은 기울기 −2 직선이다. "n을 2배로 하면 오차 ÷"가 2와 4 근처에 머문다. ② 1/(1+x²)를 [0, 1]에서 적분하면 π/4. 원과 무관해 보이는 함수에서 π가 나온다(8절). ③ √x에서는 중점 합도 ÷4가 아니라 ÷2.8 근처다. x = 0에서 기울기가 무한대라 매끄러움 가정이 깨지기 때문이다. · 모델: 균일 간격 n등분. sin x on [0, π]는 양 끝 값이 0이고 좌우 대칭이라 왼쪽·오른쪽·사다리꼴 합이 같아진다.

미분과 적분은 같은 도구를 반대 방향으로 쓴 것입니다. 미분은 곡선을 잘게 쪼개 각 조각을 직선으로 보고(국소 선형화), 적분은 영역을 잘게 쪼개 각 조각을 직사각형으로 봅니다. 두 연산이 서로의 역이라는 미적분의 기본 정리(Fundamental Theorem of Calculus)도 이 그림에서 나옵니다. 넓이 함수 \(A(x) = \int_a^x f\)에 폭 h의 얇은 띠를 더하면 넓이는 약 \(f(x)\,h\)만큼 늘어나므로, \(A'(x) = \lim_{h\to0} \frac{f(x)h}{h} = f(x)\)입니다.

오차 차수가 비용이다 BMS 예에서 오차를 1/100로 줄여야 한다면, 왼쪽 합(오차 ∝ 1/n)은 표본을 100배, 사다리꼴(∝ 1/n²)은 10배만 늘리면 된다. 같은 데이터로 더 높은 차수의 공식(심프슨 공식 ∝ 1/n⁴, 가우스 구적법)을 쓰면 비용이 크게 줄어든다. 시뮬레이터 회로의 시간 적분, 칩 열 해석, 카메라 노출 누적이 모두 이 선택 위에 있다.

e: 복리의 극한, 자기 자신이 기울기인 지수

이자를 더 자주 붙이면 무한히 부자가 될까

연 100% 이자를 1년에 한 번 붙이면 1원이 2원이 됩니다. 반년마다 50%씩 두 번 붙이면 \(1.5^2 = 2.25\)원, 매달 \(1/12\)씩 붙이면 약 2.613원입니다. 붙이는 횟수 n을 무한히 늘리면 잔고도 무한히 커질까요? 17세기 말 야코프 베르누이가 이 문제를 다룬 것으로 알려져 있습니다.

이자 붙이는 주기n (연간 횟수)(1 + 1/n)ⁿ
연 1회12
반기22.25
분기42.441406…
월122.613035…
일3652.714567…
시간8,7602.718127…
분525,6002.718279…
연속 복리∞e = 2.718281828…

잔고는 무한히 커지지 않고 한 수에 수렴합니다. 이 수가 자연상수 e입니다. 증가분이 계속 줄어들어 무한대로 달아나지 못하는, 1절과 같은 이야기입니다. 이항 전개를 해 보면 \((1+1/n)^n \to \sum_{k\ge0} 1/k!\)이 되고, 이 급수는 매우 빨리 수렴합니다. 10항이면 오차가 \(3\times10^{-7}\) 정도입니다.

하지만 e가 공학 곳곳에 나오는 진짜 이유는 다른 데 있습니다. 모든 지수 함수 \(b^x\)는 자기 자신에 비례하는 기울기를 가집니다.

$$\frac{d}{dx}b^x = \lim_{h\to0}\frac{b^{x+h}-b^x}{h} = b^x\cdot\underbrace{\lim_{h\to0}\frac{b^h-1}{h}}_{=\ \ln b}$$
기울기 ÷ 높이 = ln b는 x와 무관한 상수다. 이 상수가 정확히 1이 되는 밑이 e이고, 그래서 \((e^x)' = e^x\). e^x는 "자기 자신이 도함수인" 유일한 지수 함수다(상수배를 빼면 \(y'=y\)의 유일한 해).
SIMULATOR

밑 b를 돌려 기울기 곡선과 겹쳐라

ln b = 기울기 ÷ 높이—
점의 높이 bˣ—
점의 기울기—
—
곡선 위의 점을 끌면 그 점의 접선과 "가로 1, 세로 = 기울기" 삼각형이 따라옵니다. 해볼 것: ① b = 2에서 점을 어디로 옮겨도 기울기/높이가 0.693으로 일정한지 확인한다. ② 슬라이더로 b를 움직여 주황 점선(기울기 곡선)과 파란 곡선이 완전히 겹치는 b를 찾는다. ③ b = e에서 삼각형의 세로 변이 점의 높이와 같아지는 것을 본다. · 모델: 기울기 곡선은 해석적 도함수 (ln b)·bˣ. 회색 점선은 비교용 eˣ.

"변화율이 현재 양에 비례한다"는 문장은 자연과 공학에서 가장 흔한 법칙입니다. 커패시터의 방전 전류는 남은 전압에 비례하고, 방사성 붕괴 속도는 남은 원자 수에 비례하며, 칩의 냉각 속도는 주변과의 온도 차에 비례합니다. 모두 \(y' = -y/\tau\)이고 해는 \(y = y_0 e^{-t/\tau}\)입니다. 밑을 e로 쓰는 것은 취향이 아니라, 미분해도 모양이 바뀌지 않는 함수를 쓰면 미분방정식이 대수 문제가 되기 때문입니다. RC 회로의 시정수 τ = RC는 4장에서, \(e^{i\omega t}\)로 회전을 표현하는 이야기는 2장에서 이어집니다.

e의 테일러 급수 \(e^x\)의 모든 도함수가 \(e^x\)이고 \(e^0 = 1\)이므로 다음 절의 테일러 공식에 넣으면 바로 \(e^x = \sum x^k/k!\)를 얻는다. 복리 극한에서 이항 전개로 얻은 \(\sum 1/k!\)는 이 식의 \(x=1\)인 경우다. 두 정의(복리 극한, 자기 도함수)가 같은 수를 가리킨다는 것이 이렇게 확인된다.

테일러 급수: 함수를 다항식으로 바꾸는 기계

다시 계산기 문제: sin 0.5에 몇 항이 필요한가

배정밀도(double)의 상대 정밀도는 \(2^{-53} \approx 1.1\times10^{-16}\)입니다. sin 0.5를 이 정밀도로 내려면 다항식을 몇 차까지 계산해야 할까요? 같은 방법으로 sin 100이나 ln 3도 계산할 수 있을까요?

미분은 "한 점 근처에서 함수 ≈ 직선"이라는 1차 근사였습니다. 직선 대신 2차, 3차 … 다항식으로 맞추면 근사가 점점 더 넓은 범위에서 정확해집니다. 점 \(a\)에서 함숫값과 1차, 2차, …, n차 도함수까지 모두 일치하는 다항식이 테일러 다항식(Taylor Polynomial)입니다.

$$f(x) = \underbrace{\sum_{k=0}^{n}\frac{f^{(k)}(a)}{k!}(x-a)^k}_{T_n(x)} + R_n(x), \qquad R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}$$
\(R_n\)은 라그랑주 형태의 나머지, \(\xi\)는 a와 x 사이의 어떤 점. sin과 cos은 모든 도함수의 크기가 1 이하이므로 \(|R_n| \le |x-a|^{n+1}/(n+1)!\)라는 보장된 상한을 준다. 계승 \((n+1)!\)이 거듭제곱보다 훨씬 빨리 자라므로 꼬리는 기하급수보다도 빨리 사라진다.

sin 0.5에 적용하면 \(0.5^{15}/15! \approx 2.3\times10^{-17}\)이므로 \(x^{13}\)항까지, 즉 0이 아닌 항 7개면 상대 오차가 \(2^{-53}\) 아래로 내려갑니다. 덧셈과 곱셈 십여 번이면 됩니다. 아래 시뮬레이터에서 직접 확인해 보세요.

SIMULATOR

테일러 다항식 실험실

x₀에서 f / Tₙ—
|오차|—
수렴 반경 R—
배정밀도에 필요한 차수—
위 그래프의 점 x₀를 좌우로 끌어 평가 위치를 바꿉니다. 아래 그래프는 |f − Tₙ|의 로그 눈금이고, 빨간 띠는 수렴 반경 밖입니다. 해볼 것: ① sin에서 n을 1, 3, 5, …로 올리며 근사가 맞는 구간이 넓어지는 것을 본다. ② ln(1+x)에서 n을 아무리 올려도 x > 1 쪽은 오히려 더 망가진다. 1/(1−x)도 같다. ③ 1/(1+x²)는 실수 축 어디에도 특이점이 없는데 a = 0이면 |x| > 1에서 발산한다. a를 옮기면 반경 √(1+a²)가 어떻게 변하는지 본다. · 모델: Tₙ은 배정밀도 호너법으로 계산. "필요한 차수"는 |f − Tₙ| ≤ 2.3×10⁻¹⁶·|f|를 처음 만족하는 차수(최대 150차)다.

수렴 반경: 왜 ln(1+x)는 x > 1에서 망가지나

sin, cos, eˣ의 테일러 급수는 모든 x에서 수렴합니다(n을 충분히 키우면 됩니다). 반면 \(\ln(1+x) = x - x^2/2 + x^3/3 - \cdots\)의 항은 \(x^k/k\)이므로 \(|x|>1\)이면 \(x^k\)가 k보다 훨씬 빨리 자라 항이 0으로 가지 않고, 급수는 발산합니다. 전개점 a 주위에서 급수가 수렴하는 최대 거리를 수렴 반경(Radius of Convergence) R이라 합니다. ln(1+x)는 x = −1에서 무한대로 발산하므로 a = 0에서 R = 1입니다. 급수는 특이점까지의 거리만큼만 수렴하는데, 이 거리는 반대쪽(x = +1 방향)에도 똑같이 적용됩니다.

더 이상한 예가 \(1/(1+x^2)\)입니다. 실수 축 위에서는 어디서나 매끄럽고 유계인데, 0에서 전개한 급수 \(1 - x^2 + x^4 - \cdots\)는 \(|x|>1\)에서 발산합니다. 실수만 보면 이유가 없습니다. 복소평면으로 나가면 답이 보입니다. \(x = \pm i\)에서 분모가 0이 되고, 원점에서 \(\pm i\)까지의 거리가 정확히 1입니다.

ReIm +i (분모 = 0) −i −1+1 R = 1 실수 축의 굵은 선: 급수가 수렴하는 구간 수렴 영역은 언제나 복소평면의 원(disk)이다
그림 1-4. \(1/(1+x^2)\)를 0에서 전개한 급수의 수렴 원. 실수 축에는 아무 문제가 없지만 복소평면의 \(\pm i\)에 극(pole)이 있고, 수렴 반경은 가장 가까운 특이점까지의 거리 1이다. 전개점을 실수 a로 옮기면 반경은 \(|a - i| = \sqrt{1+a^2}\)가 된다(시뮬레이터에서 확인). 테일러 급수의 수렴은 복소수 세계가 결정한다(2장).

계산기로 돌아가기: 범위 축소 + 다항식

시뮬레이터에서 "sin 8"을 눌러 보면 sin의 급수가 모든 x에서 수렴하는데도 배정밀도에 도달하지 못합니다. \(8^k/k!\)는 k = 7, 8 근처에서 400을 넘는 큰 항이 되고, 이 큰 항들이 서로 상쇄되어 약 1 크기의 답을 만드는 과정에서 반올림 오차가 살아남기 때문입니다. 수렴한다는 것과 계산에 쓸 만하다는 것은 다른 문제입니다. 그래서 실제 수학 라이브러리는 다음 순서로 계산합니다.

입력 x예: 100 ① 범위 축소r = x − k·π/2, |r| ≤ π/4 ② 다항식r에 대한 sin·cos 근사 ③ 복원k mod 4로 ±sin/±cos 큰 x에서는 π를 수백 비트로 저장해 정확히 뺀다 13차 정도의 minimax 다항식 주기성·대칭 이용 sin x = sin(r + k·π/2) → k에 따라 sin r, cos r, −sin r, −cos r 중 하나
그림 1-5. 소프트웨어 수학 라이브러리의 sin 계산 흐름(fdlibm 계열을 단순화). 주기성으로 인수를 \(|r|\le\pi/4\)로 줄인 뒤, 그 구간 전체에서 최대 오차가 가장 작도록 계수를 다시 맞춘 다항식(minimax 근사)을 계산한다. 테일러 계수는 전개점 근처에서 가장 정확하고 구간 끝에서 오차가 크므로, 같은 차수라면 오차를 구간 전체에 고르게 퍼뜨린 계수가 낫다.

정리하면 계산기의 sin 버튼은 이 장의 도구를 모두 씁니다. 무한급수가 수렴한다는 보장(1절), 나머지 항의 크기를 미리 계산하는 오차 상한(3절의 ε–δ 계약), 상쇄 오차를 피하는 수치 감각(4절), 그리고 수렴 반경 안에서도 전개점 근처로 인수를 가져오는 범위 축소입니다. exp는 \(e^x = 2^k e^r\)로, log는 \(\ln(2^k m) = k\ln2 + \ln m\)으로 같은 방식의 범위 축소를 합니다.

테일러 1차 = 엔지니어의 일상 작은 각도 근사 \(\sin\theta\approx\theta\)(진자, 근축 광학), 소신호 모델(다이오드 전류 \(e^{V/V_T}\)를 동작점에서 직선화), 오차 전파식 \(\Delta y \approx f'(x)\Delta x\), 뉴턴법은 모두 테일러 급수를 1차에서 자른 것이다. 2차까지 쓰면 최적화의 헤세 행렬(9장)이 나온다.

π는 왜 원과 무관한 곳에 나타나나

이 장에서 π는 원과 관계없어 보이는 자리에 세 번 나왔습니다. 정수 제곱 역수의 합 \(\pi^2/6\), 유리함수의 적분 \(\int_0^1 \frac{dx}{1+x^2} = \pi/4\), 그리고 그 피적분 함수의 테일러 급수를 x = 1에서 적분한 라이프니츠 급수 \(1 - \tfrac13 + \tfrac15 - \cdots = \pi/4\)입니다. 확률에서 가장 유명한 식에도 π가 있습니다.

$$\int_{-\infty}^{\infty} e^{-x^2}\,dx = \sqrt{\pi}, \qquad \sum_{n=1}^\infty \frac1{n^2} = \frac{\pi^2}{6}, \qquad \int_0^1 \frac{dx}{1+x^2} = \frac{\pi}{4}$$

공통점은 π가 숨은 회전이나 주기성의 흔적이라는 것입니다.

가우스 적분제곱해서 2차원 적분 \(\iint e^{-(x^2+y^2)}dx\,dy\)로 바꾸면 피적분 함수가 반지름에만 의존해 회전 대칭이다. 극좌표로 바꾸는 순간 원의 둘레 2π가 들어온다. 정규분포의 \(1/\sqrt{2\pi}\)가 여기서 온다(7장).
바젤 문제오일러는 \(\sin x\)의 근 \(0, \pm\pi, \pm2\pi,\dots\)로 \(\sin x/x\)를 인수분해했다. 근이 π 간격으로 놓인 것은 sin의 주기 때문이다. 정수의 합이 주기 함수를 통해 π와 만난다. 푸리에 급수로도 같은 값을 얻는다(5장).
arctan과 1/(1+x²)\(\int dx/(1+x^2) = \arctan x\)는 각도를 돌려주는 함수다. 분모의 근이 \(\pm i\)이고, i를 곱하는 것은 90° 회전이다(2장). 그래서 그림 1-4의 수렴 원과 π/4가 같은 뿌리를 가진다.

오일러 공식 \(e^{i\theta} = \cos\theta + i\sin\theta\)가 이 모든 것을 묶습니다. e는 "자기 자신이 변화율인 성장"이고, 지수에 i를 곱하면 성장이 회전으로 바뀌며, 한 바퀴를 도는 데 필요한 각도가 2π입니다. 지수(e), 회전(i), 주기(π)는 같은 대상을 다른 방향에서 본 것입니다. 이 연결은 2장 복소수에서 본격적으로 다룹니다.

라이프니츠 급수는 계산에 쓰지 않는다 \(\pi/4 = 1 - 1/3 + 1/5 - \cdots\)는 아름답지만 수렴 반경의 경계(x = 1)에서 전개한 것이라 극도로 느리다. 1000항을 더해도 4배한 값이 3.1406으로, 소수점 셋째 자리에서 틀린다. 실제 π 계산에는 \(\arctan\)을 작은 인수에서 쓰는 마친 공식이나 훨씬 빨리 수렴하는 급수를 쓴다. 7절의 교훈(전개점 근처에서 계산하라)과 같다.

이 도구가 쓰이는 곳

극한, 급수, 미분, 적분, 테일러 근사는 시리즈의 거의 모든 책에서 바탕으로 쓰입니다. 대표적인 곳은 다음과 같습니다.

핵심 정리

  1. 무한급수의 합은 "부분합의 극한"이다. 기하급수 \(\sum r^k\)는 \(|r|<1\)에서 \(1/(1-r)\)로 수렴하고, n항에서 자른 오차 \(r^n/(1-r)\)를 미리 알 수 있다.
  2. 항이 0으로 가는 것은 수렴의 필요조건일 뿐이다. 조화급수는 \(\ln n\)처럼 느리게 발산하고(블록 오버행 \(H_n/2\)에 상한이 없다), \(\sum1/n^2\)는 \(\pi^2/6\)으로 수렴한다.
  3. 극한의 ε–δ 정의는 공차 계약이다. 어떤 출력 공차 ε에도 입력 공차 δ로 답할 수 있으면 극한이 존재하고, 매끄러운 함수에서 \(\delta/\varepsilon \to 1/|f'(a)|\)는 감도다.
  4. 미분은 할선 → 접선, 적분은 리만 합의 극한이다. 수치 미분은 절단 오차와 상쇄 오차의 균형 때문에 최적 h가 있고, 적분 공식은 오차 차수(1/n, 1/n², …)로 비용이 갈린다.
  5. e는 복리 극한 \((1+1/n)^n\)이자 \((b^x)' = (\ln b)\,b^x\)에서 \(\ln b = 1\)이 되는 밑이다. 그래서 \(y'=ky\) 꼴의 모든 성장·감쇠는 e로 쓴다.
  6. 테일러 급수는 함수를 다항식으로 바꾸고 나머지 항으로 오차를 보장한다. 수렴 반경은 복소평면에서 가장 가까운 특이점까지의 거리이고, 실제 계산은 범위 축소 + (minimax) 다항식으로 한다.

확인 퀴즈

1. 같은 블록을 한 층에 하나씩 쌓아 탁자 밖으로 내밀 때, 블록 수를 늘리면 맨 위 블록의 최대 오버행은?

오버행은 \(H_n/2 \approx (\ln n + 0.577)/2\)이다. 조화급수가 발산하므로 상한은 없지만, 오버행 3에 227개, 5에 약 1만 2천 개가 필요할 만큼 느리다.

2. 계단 함수(x < 1이면 0.5, x ≥ 1이면 1.5)의 a = 1에서 "lim f(x) = 1.5"라는 계약이 깨지는 이유는?

ε–δ 계약은 "모든 ε에 대해" δ가 있어야 한다. 점프 크기 1보다 작은 ε를 요구받으면 a의 왼쪽 근처 모든 점이 \(|f(x) - 1.5| = 1 \ge \varepsilon\)이라 어떤 δ로도 답할 수 없다. (|x|처럼 미분 불가능해도 연속인 함수는 많다.)

3. 배정밀도에서 전진 차분 \((\sin(1+h) - \sin 1)/h\)의 오차가 h = 10⁻¹⁵에서 h = 10⁻⁸일 때보다 큰 이유는?

절단 오차는 \(\propto h\)로 줄지만 반올림·상쇄 오차는 \(\propto \epsilon_{\text{mach}}/h\)로 커진다. 합이 최소인 곳은 \(h\approx\sqrt{\epsilon_{\text{mach}}}\approx10^{-8}\)이다.

4. 매끄러운 함수의 적분을 중점 합으로 계산할 때 조각 수 n을 2배로 늘리면 오차는 대략?

중점 합(과 사다리꼴 합)의 오차는 \(\propto 1/n^2\)이다. 왼쪽·오른쪽 끝 합은 \(\propto 1/n\)이라 1/2로 준다. 단 √x처럼 끝점에서 도함수가 무한대인 함수는 이 차수를 따르지 않는다.

5. \(1/(1+x^2)\)를 x = 0에서 테일러 전개한 급수가 x = 1.5에서 발산하는 이유는?

수렴 반경은 복소평면에서 가장 가까운 특이점까지의 거리다. 실수 축에는 특이점이 없지만 ±i까지의 거리가 1이므로 |x| > 1에서 발산한다. 전개점을 a로 옮기면 반경은 \(\sqrt{1+a^2}\)이다.

6. 모든 지수 함수 \(b^x\)에 대해 (기울기) ÷ (높이)가 일정하다. 이 값과 e의 관계는?

\((b^x)' = b^x \lim_{h\to0}(b^h-1)/h = (\ln b)\,b^x\). ln b = 1인 b = e에서 \(e^x\)는 자기 자신이 도함수가 되어 \(y' = y\)를 푼다.