문제.f(x)=2x+1에 대하여
(1) ∣f(x)−7∣<0.1이 되려면 x가 3에서 얼마나 가까워야 합니까?
(2) 임의의 ε>0에 대해 같은 일이 가능함을 보이세요.
(3) 33강의 정의와 무엇이 달라졌는지 말하세요.
생각의 실마리. 33강에서는 상대가 오차 ε을 주면 우리가 지점 N을 대답했습니다. 여기서도 구조는 같습니다. 다만 대답할 것이 "몇 번째 항 이후"가 아니라 "a에서 얼마나 가까운 범위"입니다. 그 범위의 반지름을 무엇으로 부를지 정하고, x가 그 안에 있을 때 원하는 부등식이 나오는지 확인합니다.
풀이. (1) ∣f(x)−7∣=∣2x+1−7∣=∣2x−6∣=2∣x−3∣입니다.
이 값이 0.1보다 작으려면 ∣x−3∣<0.05입니다. 즉 x가 3에서 거리 0.05 안에 있으면 됩니다.
(2) 임의의 ε>0을 잡습니다. δ=2ε로 둡니다. 그러면 0<∣x−3∣<δ일 때
∣f(x)−7∣=2∣x−3∣<2δ=ε
입니다. 따라서 어떤 ε을 주어도 대응하는 δ를 만들 수 있습니다.
(3) 세 가지가 달라졌습니다. 대답이 N에서 δ로 바뀌었고, 조건이 n≥N에서 0<∣x−a∣<δ로 바뀌었으며, x가 a의 양쪽에서 다가올 수 있게 되었습니다.
이 문제에서 배우는 것: 함수의 극한.
x→alimf(x)=L
을 다음과 같이 정의합니다.
∀ε>0,∃δ>0,∀x,(0<∣x−a∣<δ→∣f(x)−L∣<ε)
33강의 정의와 나란히 놓고 보면 대응이 분명합니다.
수열
함수
상대가 주는 것
ε>0
ε>0
우리가 대답하는 것
N\in\mathbb
δ>0
조건
n≥N
0<∣x−a∣<δ
결론
∣an−L∣<ε
∣f(x)−L∣<ε
한정 기호의 순서도 그대로입니다. ∀ε이 앞이고 ∃δ가 뒤이므로 δ는 ε에 의존해도 됩니다. 위 풀이에서 δ=2ε로 잡은 것이 그 예입니다.
가장 중요한 것이 왼쪽 조건의 0< 입니다. 이것은 x=a를 뜻합니다. 즉 정의는 x가 a에 가까울 때 f(x)가 어떻게 되는지만 묻고, x=a일 때 f가 어떤 값인지는 아예 보지 않습니다.f(a)가 정의되어 있지 않아도 극한은 존재할 수 있습니다.
이 성질이 왜 필요한지는 37강에서 분명해집니다. 미분계수는
h→0limhf(a+h)−f(a)
인데, 이 식은 h=0에서 분모가 0이 되어 정의되지 않습니다. 그 점을 빼고 주변만 보는 정의가 아니었다면 미분 자체를 정의할 수 없습니다.
바로 확인.
확인 1-1.f(x)=3x−2에서 x→1limf(x)=1임을 보일 때 ε에 대응하는 δ를 제시하세요.
답.∣f(x)−1∣=3∣x−1∣이므로 δ=3ε으로 잡으면 됩니다.
확인 1-2. 정의에서 0<∣x−a∣의 0< 부분이 뜻하는 것을 쓰세요.
답.x=a입니다. 극한이 그 점에서의 함숫값과 무관하도록 만드는 조건입니다.
확인 1-3.f(x)=x−1x2−1에서 x→1limf(x)를 구하고, f(1)이 정의되는지 답하세요.
문제. 다음 극한을 구하세요.
(1) x→2limx−2x2−4
(2) x→0limxx+4−2
(3) x→∞limx2+53x2−x
생각의 실마리. (1)과 (2)는 그대로 대입하면 00이 되어 값을 판단할 수 없습니다. 그러나 문제 1에서 확인한 대로 극한은 x=a인 점을 보지 않으므로, x=a인 범위에서 식을 자유롭게 고쳐도 됩니다. (1)은 인수분해로, (2)는 유리화로 분모의 0을 없앱니다. (3)은 33강의 다항식 비와 같습니다.
풀이. (1) x=2인 범위에서 3강의 인수분해로 약분합니다.
x−2x2−4=x−2(x−2)(x+2)=x+2
약분은 x=2일 때만 가능하지만, 극한이 보는 범위가 정확히 x=2이므로 문제없습니다. 따라서 극한은 2+2=4입니다.
첫 번째 극한이 특별히 중요한 이유가 있습니다. 39강에서 sinx의 도함수가 cosx임을 증명할 때 이 극한이 결정적으로 쓰이며, 그것이 성립하려면 각을 반드시 호도법으로 재야 합니다. 도로 재면 넓이 비교에서 21x가 나오지 않기 때문입니다. 15강에서 호도법을 도입한 이유가 여기서 드러납니다.
바로 확인.
확인 4-1.x→0limxsin3x를 구하세요.
답.3xsin3x⋅3으로 고치면 1⋅3=3입니다.
확인 4-2.x→0limsin5xsin2x를 구하세요.
답.2xsin2x⋅sin5x5x⋅52로 고치면 1⋅1⋅52=52입니다.
확인 4-3.x→0limxsinx1을 샌드위치 정리로 구하세요.
답.∣∣∣∣∣sinx1∣∣∣∣∣≤1이므로 −∣x∣≤xsinx1≤∣x∣입니다. 양 끝이 0으로 가므로 극한은 0입니다.
생각의 실마리. 확인 4-3에서 xsinx1은 극한이 0이었습니다. 앞에 곱해진 x가 진동을 눌러 주었기 때문입니다. 그 x를 떼면 진동이 그대로 남습니다. 33강 심화 3에서 부분수열의 극한이 다르면 발산한다고 했는데, 함수에서도 같은 논법이 통합니다. 0에 다가가는 두 수열을 서로 다른 값으로 가도록 골라 봅니다.
풀이.0에 수렴하는 두 수열을 만듭니다.
xn=2nπ1,yn=2nπ+2π1
둘 다 n→∞에서 0으로 갑니다. 그러나 함숫값은 다릅니다.
sinxn1=sin(2nπ)=0,sinyn1=sin(2nπ+2π)=1
이제 극한이 존재해 그 값이 L이라고 가정합니다. ε=21로 두면 어떤 δ>0이 있어서 0<∣x∣<δ인 모든 x에서 ∣sinx1−L∣<21여야 합니다.
n을 충분히 크게 하면 xn과 yn이 모두 그 범위에 들어옵니다. 그러면
∣0−L∣<21이고∣1−L∣<21
이어야 합니다. 삼각부등식으로
1=∣1−0∣≤∣1−L∣+∣L−0∣<21+21=1
이 되어 1<1이라는 모순입니다. 따라서 극한은 존재하지 않습니다.
이 문제에서 배우는 것: 수열을 이용한 발산 판정.
극한의 존재를 부정하는 표준 방법이 이것입니다.
a에 수렴하면서 a와 다른 값들로 이루어진 두 수열 xn→a, yn→a를 잡았을 때 limf(xn)=limf(yn)이면 x→alimf(x)는 존재하지 않습니다.
이 방법이 정당한 이유는 다음 정리 때문입니다.
x→alimf(x)=L⟺a로가는모든수열xn에대해f(xn)→L
모든 수열에서 같은 값이 나와야 하므로, 하나라도 다른 값이 나오는 쌍을 찾으면 22강에서 정리한 대로 전칭 명제가 무너집니다.
이 정리는 함수의 극한을 수열의 극한으로 옮겨 주므로 실용적입니다. 33강에서 만든 도구를 그대로 재사용할 수 있습니다.
발산을 보이는 방법을 상황별로 정리합니다.
상황
방법
좌우가 다릅니다
좌극한과 우극한을 각각 계산해 비교합니다
진동합니다
값이 다른 두 수열을 잡습니다
한없이 커집니다
무한대 발산임을 보이고 극한이 없다고 말합니다
세 번째의 표현에 주의합니다. x→0limx21=∞라고 쓰지만, 이는 값이 ∞라는 뜻이 아니라 한없이 커진다는 거동을 기록한 표기입니다. 실수 값으로서의 극한은 존재하지 않습니다.
바로 확인.
확인 5-1.x→0limcosx1이 존재하지 않음을 두 수열로 보이세요.
답.xn=2nπ1에서 값이 1이고 yn=(2n+1)π1에서 값이 −1입니다. 다르므로 극한이 없습니다.
확인 5-2.x→0limx21을 말하고, 극한이 존재한다고 할 수 있습니까?
답. 양의 무한대로 발산합니다. 실수 값으로서의 극한은 존재하지 않습니다.
확인 5-3. 함수의 극한을 수열로 판정할 수 있는 근거를 쓰세요.
답.x→alimf(x)=L인 것과 a로 가는 모든 수열 xn에서 f(xn)→L인 것이 동치이기 때문입니다.
풀이.∣x2−4∣=∣x−2∣∣x+2∣입니다. 문제는 ∣x+2∣가 x에 따라 변한다는 것입니다. 그래서 먼저 x의 범위를 제한합니다.
∣x−2∣<1이라고 두면 1<x<3이므로 ∣x+2∣<5입니다. 이 조건에서
∣x2−4∣=∣x−2∣∣x+2∣<5∣x−2∣
입니다. 그러므로 ∣x−2∣<5ε이면 목표가 달성됩니다. 두 조건을 모두 만족시키려면 δ=min(1,5ε)로 잡습니다.
남는 것. 함수가 일차식이 아니면 ∣f(x)−L∣을 ∣x−a∣의 상수배로 만들 수 없습니다. 그래서 먼저 x를 좁은 범위에 가두고, 그 안에서 계수를 상수로 눌러 잡습니다. 그리고 두 제약을 min으로 묶습니다. 이 세 단계가 ε과 δ를 쓰는 증명의 표준 형태입니다.
심화 2. 극한이 존재하면 유일함을 증명하세요.
답. 33강 문제 18과 같은 논법으로 증명됩니다.
풀이.L1=L2인 두 극한이 있다고 가정하고 ε=2∣L1−L2∣>0으로 둡니다. 각각에 대응하는 δ1과 δ2가 있고, δ=min(δ1,δ2)로 잡으면 0<∣x−a∣<δ인 x에서 두 부등식이 모두 성립합니다. 그런 x는 실제로 존재합니다. 삼각부등식으로
∣L1−L2∣≤∣L1−f(x)∣+∣f(x)−L2∣<2ε=∣L1−L2∣
이 되어 모순입니다.
남는 것. 두 δ를 min으로 묶는 수법이 다시 나왔습니다. 여러 조건을 동시에 만족시켜야 할 때는 δ를 가장 작은 것으로 잡습니다. 반대로 수열에서는 N을 가장 큰 것으로 잡습니다. 어느 쪽이든 모든 조건을 만족하는 범위를 고르는 것이 목적입니다.
심화 3. 디리클레 함수 D(x)={1,0,x가유리수x가무리수는 어느 점에서도 극한을 갖지 않음을 보이세요.
답. 어느 점에서도 극한이 없습니다.
풀이. 임의의 a를 잡습니다. 29강에서 확인한 대로 유리수와 무리수는 실수 위에 빽빽하게 섞여 있으므로, a에 수렴하는 유리수 수열 xn과 무리수 수열 yn을 모두 만들 수 있습니다. 그러면
D(xn)=1→1,D(yn)=0→0
으로 두 극한이 다릅니다. 문제 5의 판정법에 의해 x→alimD(x)는 존재하지 않습니다.
남는 것. 이 함수는 그래프를 그릴 수 없습니다. 어느 구간을 확대해도 0과 1이 뒤섞여 있기 때문입니다. 그림으로 이해하던 극한이 통하지 않는 자리이며, 그래서 ε과 δ로 된 정의가 필요합니다. 35강에서 이 함수가 모든 점에서 불연속임을 확인하고, 48강에서 리만적분이 불가능한 예로 다시 만납니다.
심화 4.x→0limxsinx=1의 증명에서 각을 도로 재면 무엇이 달라집니까?
답. 극한값이 1이 아니라 180π이 됩니다.
풀이. 증명의 핵심은 부채꼴 넓이가 21x라는 것이었고, 이는 각 x를 호도법으로 쟀을 때만 성립합니다. 각을 도로 재면 중심각 θ도인 부채꼴의 넓이는 360θπ이므로 부등식이 달라집니다.
θ도가 호도법으로 180πθ라디안이므로
θsinθ∘=180πθsin(180πθ)⋅180π⟶1⋅180π=180π
입니다.
남는 것. 15강에서 호도법을 굳이 도입한 이유가 여기서 완전히 드러납니다. 호도법에서만 이 극한이 1이 되고, 그래야 39강에서 (sinx)′=cosx라는 깔끔한 결과가 나옵니다. 도를 쓰면 미분할 때마다 180π이 붙어 모든 공식이 지저분해집니다. 단위 선택이 이론 전체의 모양을 바꾸는 예입니다.
심화 5.f(x)=xsinx1과 g(x)=sinx1의 x→0 거동이 다른 이유를 설명하세요.
답. 앞에 곱해진 x가 진동의 크기를 눌러 0으로 보냅니다.
풀이. 두 함수 모두 x→0에서 sinx1이 한없이 빠르게 진동합니다. 차이는 진동의 폭입니다. g의 값은 언제나 −1과 1 사이를 오가므로 폭이 줄지 않습니다. 반면 f는 ∣f(x)∣≤∣x∣이므로 x가 0에 가까워질수록 폭이 함께 줄어 0으로 수렴합니다.
남는 것. 진동한다는 사실만으로 극한이 없다고 판단하면 안 됩니다. 진동의 폭이 줄어드는지를 봐야 하고, 그것을 재는 도구가 샌드위치 정리입니다. 37강에서 f가 x=0에서 연속이지만 미분 불가능한 예로 이 함수가 다시 나옵니다.
심화 6.x→alimf(x)가 존재하고 x→alimg(x)가 존재하지 않으면 x→alim(f+g)(x)는 존재하지 않음을 증명하세요. 그리고 두 극한이 모두 없을 때는 어떤지 판정하세요.
답. 앞은 존재하지 않고, 뒤는 존재할 수도 있습니다.
풀이. 앞을 귀류법으로 증명합니다. lim(f+g)가 존재한다고 가정하면 g=(f+g)−f이고 두 극한이 모두 존재하므로 차의 법칙에 의해 limg가 존재해야 합니다. 이는 가정에 어긋나므로 모순입니다.
뒤는 반례가 있습니다. f(x)=sinx1과 g(x)=−sinx1은 각각 x→0에서 극한이 없지만 합이 항상 0이므로 극한이 0입니다.
남는 것. 극한법칙은 양쪽이 모두 존재할 때만 쓸 수 있다는 조건이 장식이 아님을 보여 줍니다. 하나만 없으면 합도 없고, 둘 다 없으면 아무 말도 할 수 없습니다. 문제를 풀 때 "각 항의 극한을 구해 더한다"는 절차를 쓰기 전에 각 항의 극한이 실제로 존재하는지 확인해야 합니다. 문제 3의 (3)에서 ∞−∞를 그대로 계산하지 못했던 것이 같은 이유입니다.
극한은 무한을 다루므로 코드로 증명할 수 없습니다. 대신 a에 점점 가까운 값을 넣어 값이 예측한 극한에 다가가는지, 그리고 좌우가 갈리는지를 확인합니다.
import numpy as np
h = np.array([1e-1, 1e-2, 1e-3, 1e-4, 1e-5])
# 문제 1: 정의가 요구하는 delta 가 실제로 통하는지 확인합니다.
for eps in (0.1, 0.001):
d = eps / 2
x = 3 + np.linspace(-d, d, 503)[1:-1] # 0 < |x-3| < d 를 지킵니다
print(eps, d, bool(np.all(np.abs((2*x + 1) - 7) < eps)))
# 0.1 0.05 True
# 0.001 0.0005 True
# 문제 2: |x|/x 는 좌우가 갈립니다.
print(np.abs(h) / h, np.abs(-h) / (-h))
# [1. 1. 1. 1. 1.] [-1. -1. -1. -1. -1.]
# 문제 3: 0/0 부정형을 식 변형으로 처리한 결과
print(np.round(((2 + h)**2 - 4) / h, 6)) # [4.1 4.01 4.001 4.0001 4.00001]
print(np.round((np.sqrt(4 + h) - 2) / h, 6)) # [0.248457 0.249844 0.249984 0.249998 0.25 ]
# 문제 4: sin x / x -> 1 이고 cos x < sin x / x < 1 로 갇힙니다.
x = np.linspace(1e-6, 1.0, 100000)
r = np.sin(x) / x
print(bool(np.all((np.cos(x) < r) & (r < 1)))) # True
print(np.round(np.sin(h) / h, 8)) # [0.99833417 0.99998333 0.99999983 1. 1. ]
print(np.round((1 - np.cos(h)) / h**2, 6)) # [0.499583 0.499996 0.5 0.5 0.5 ]
# 문제 5: sin(1/x) 는 두 수열에서 다른 값을 줍니다.
n = np.arange(1, 6, dtype=float)
xs = 1 / (2 * n * np.pi)
ys = 1 / (2 * n * np.pi + np.pi / 2)
print(np.round(np.sin(1 / xs), 10), np.round(np.sin(1 / ys), 10))
# [-0. -0. -0. -0. -0.] [1. 1. 1. 1. 1.]
# 심화 5: x sin(1/x) 는 폭이 줄어 0 으로 갑니다.
print(np.round(h * np.sin(1 / h), 6))
# [-5.4402e-02 -5.0640e-03 8.2700e-04 -3.1000e-05 0.0000e+00]
print(bool(np.all(np.abs(h * np.sin(1 / h)) <= np.abs(h)))) # True
# 심화 4: 각을 도로 재면 극한이 pi/180 이 됩니다.
deg = h
print(round(float(np.sin(np.deg2rad(deg[-1])) / deg[-1]), 10), round(np.pi / 180, 10))
# 0.0174532925 0.0174532925
출력이 주석과 모두 일치합니다. 네 번째 검산이 문제 4의 부등식 cosx<xsinx<1이 실제로 성립함을 십만 개 점에서 확인해 줍니다. 샌드위치 정리가 쓸 수 있는 상태였다는 뜻입니다.
다섯 번째 검산에서 sinxn1이 0이 아니라 −0으로 찍힙니다. 2nπ가 부동소수점에서 정확히 표현되지 않아 sin의 결과가 아주 작은 음수가 되고, 반올림해도 부호만 남기 때문입니다. 값의 크기는 모두 10−10보다 작으므로 손으로 구한 0과 일치합니다. 부동소수점에서 0을 정확히 얻는 일은 드물다는 점을 함께 기억합니다.
같은 이유로 마지막 항의 xsinx1이 정확히 0.0으로 찍힙니다. 이것도 진짜 0이 아니라 여섯 자리에서 반올림된 결과이며, 실제 값은 10−6보다 작은 수입니다.