이 급수는 x가 무엇이냐에 따라 답이 달라집니다. x=21이면 2로 수렴하고 x=2이면 발산합니다. 그러니 이것은 하나의 수가 아니라 함수입니다. 수렴하는 x에서만 값이 정의되는 함수입니다.
여기서 두 가지 질문이 생깁니다. 어떤 x에서 수렴하는가, 그리고 그때 어떤 함수가 되는가입니다.
첫 번째 질문의 답이 놀랍도록 단순합니다. 수렴하는 x의 집합은 언제나 중심을 둔 구간이며, 그 반지름을 비판정으로 잴 수 있습니다. 두 번째 질문은 56강의 주제이고, 그때 어떤 함수든 멱급수로 적을 수 있다는 결론에 도달합니다.
멱급수는 함수를 다루는 방식을 바꿉니다. 지금까지 함수는 하나의 덩어리였는데, 멱급수로 적으면 계수의 수열이 되어 다항식처럼 다룰 수 있습니다. 미분과 적분이 계수의 이동으로 바뀌고, 두 함수의 곱이 계수의 합성곱이 됩니다. 248강의 합성곱, 143강의 적률생성함수가 모두 이 관점 위에 있습니다.
문제.n=0∑∞xn을 봅니다.
(1) 수렴하는 x를 모두 찾고 그때의 합을 구하세요.
(2) 어떤 x0에서 ∑anx0n이 수렴하면 ∣x∣<∣x0∣인 모든 x에서도 수렴함을 보이세요.
(3) (2)에서 수렴 집합의 모양에 대해 무엇을 알 수 있습니까?
생각의 실마리. (1)은 54강의 등비급수입니다. (2)가 이 문제의 핵심인데, 수렴한다는 사실에서 항이 유계라는 정보를 뽑아내는 것이 열쇠입니다. 54강 문제 3에서 수렴하면 항이 0으로 간다고 했으니, 특히 유계입니다. 그 유계성을 등비급수와의 비교에 씁니다.
풀이. (1) 공비가 x인 등비급수이므로 ∣x∣<1에서 수렴하고 합은 1−x1입니다. ∣x∣≥1에서는 항이 0으로 가지 않아 발산합니다.
(2) ∑anx0n이 수렴하면 54강 문제 3에 의해 anx0n→0이므로, 특히 어떤 M이 있어 모든 n에서
∣anx0n∣≤M
입니다. 이제 ∣x∣<∣x0∣인 x를 잡고 r=∣∣∣∣∣x0x∣∣∣∣∣<1로 둡니다.
∣anxn∣=∣anx0n∣⋅∣∣∣∣∣x0x∣∣∣∣∣n≤Mrn
입니다. ∑Mrn이 수렴하는 등비급수이므로 54강의 비교판정법에 의해 ∑∣anxn∣이 수렴합니다. 절대수렴합니다.
(3) 한 점에서 수렴하면 그보다 원점에 가까운 모든 점에서 수렴합니다. 그러므로 수렴 집합은 원점을 중심으로 하는 구간입니다. 구멍이 뚫려 있거나 흩어져 있을 수 없습니다.
이 문제에서 배우는 것: 수렴반경.
(2)의 결과를 아벨 보조정리라 하고, 여기서 다음이 따라옵니다.
수렴반경. 멱급수 n=0∑∞an(x−c)n에 대해 다음을 만족하는 R∈[0,∞]이 유일하게 존재합니다.
범위
결론
∣x−c∣<R
절대수렴합니다
∣x−c∣>R
발산합니다
∣x−c∣=R
따로 조사해야 합니다
R을 수렴반경이라 하고, 수렴하는 x의 집합을 수렴구간이라 합니다.
R의 존재는 이렇게 봅니다. 수렴하는 x들의 ∣x−c∣ 값의 상한을 R로 잡으면, 아벨 보조정리가 R보다 가까운 곳에서 수렴을 보장하고 상한의 정의가 R보다 먼 곳에서 발산을 보장합니다.
극단적인 경우도 가능합니다.
R
뜻
예
0
x=c에서만 수렴합니다
\displaystyle\sum n!\,x^
유한
구간에서 수렴합니다
∑xn, R=1
∞
모든 x에서 수렴합니다
\displaystyle\sum\dfrac{x^{n}}
∣x−c∣<R에서 절대수렴한다는 점이 특히 중요합니다. 54강 심화 4에서 조건수렴 급수는 재배열하면 값이 달라진다고 했는데, 절대수렴이면 그런 걱정이 없습니다. 그래서 수렴구간 내부에서는 항의 순서를 바꾸고 항별로 미분하고 적분해도 안전합니다. 문제 4의 근거가 여기 있습니다.
바로 확인 1.
확인 1-1.n=0∑∞2nxn의 수렴반경을 구하세요.
답. 공비가 2x인 등비급수이므로 ∣∣∣∣2x∣∣∣∣<1, 즉 R=2입니다.
확인 1-2.∑an3n이 수렴하면 x=2에서도 수렴합니까?
답. 수렴합니다. ∣2∣<∣3∣이므로 아벨 보조정리에 의해 절대수렴합니다.
확인 1-3. 멱급수가 x=1과 x=5에서 수렴하고 x=3에서 발산할 수 있습니까?
답. 불가능합니다. x=5에서 수렴하면 ∣3∣<∣5∣이므로 x=3에서도 수렴해야 하기 때문입니다.
문제. 수렴반경이 모두 1인 다음 급수의 끝점 x=±1을 조사하세요.
(1) n=0∑∞xn
(2) n=1∑∞nxn
(3) n=1∑∞n2xn
(4) 끝점에서 나올 수 있는 경우를 모두 정리하세요.
생각의 실마리. 끝점에서는 비판정의 극한이 정확히 1이 되어 아무 결론이 없습니다. x에 그 값을 직접 넣어 54강의 판정들을 써야 합니다. 세 급수가 서로 다른 답을 준다는 점에 주목합니다.
풀이. (1) x=1에서 ∑1이고 x=−1에서 ∑(−1)n입니다. 둘 다 항이 0으로 가지 않아 발산합니다. 수렴구간은 (−1,1)입니다.
(2) x=1에서 조화급수라 발산합니다. x=−1에서 ∑n(−1)n은 교대급수 판정으로 수렴하며 값은 −ln2입니다. 한쪽만 포함되어 수렴구간은 [−1,1)입니다.
(3) x=1에서 p=2>1이라 수렴하고 값은 6π2입니다. x=−1에서는 절댓값 급수가 수렴하므로 절대수렴하며 값은 −12π2입니다. 양쪽 모두 포함되어 수렴구간은 [−1,1]입니다.
(4) 네 가지가 모두 가능합니다.
수렴구간
예
(−R,R)
\displaystyle\sum x^
[−R,R)
\displaystyle\sum\dfrac{x^{n}}
(−R,R]
\displaystyle\sum\dfrac{(-1)^{n}x^{n}}
[−R,R]
∑n2xn
이 문제에서 배우는 것: 끝점은 개별 조사입니다.
수렴반경은 내부와 외부를 갈라 줄 뿐 경계에서는 아무것도 말해 주지 않습니다. 그 자리는 비판정의 L=1에 해당하며, 54강에서 본 대로 판정 불가입니다.
끝점을 조사하는 절차는 이렇습니다.
단계
할 일
1
x=c+R을 대입해 얻은 수 급수를 54강의 판정으로 조사합니다
2
x=c−R에 대해 같은 일을 합니다
3
두 결과를 합쳐 수렴구간을 씁니다
세 예에서 계수가 1, n1, n21로 조금씩 작아지는데 끝점의 운명이 달라집니다. 반경은 셋 다 1로 같은데 경계의 사정이 다릅니다. 반경이 계수의 대략적인 크기만 보는 반면, 끝점은 그 세밀한 차이에 민감하기 때문입니다.
끝점에서 수렴하는 경우 그 값이 내부에서의 함수와 어떻게 이어지는지도 물을 수 있습니다. (2)에서 내부의 합이 −ln(1−x)이고 x=−1에서 급수의 값이 −ln2인데, 이는 −ln(1−(−1))=−ln2와 같습니다. 우연이 아니며 아벨 정리가 그 이유를 설명합니다. 심화 3에서 다룹니다.
인데 45강의 성장 위계에서 n1/n→1이므로 상극한이 변하지 않습니다. 따라서 미분해도 반경이 그대로입니다. 적분도 계수가 n+1an이 되므로 같은 이유로 불변입니다.
항별 미분의 정당성은 더 깊은 문제입니다. 유한합에서는 미분이 합을 통과하지만 무한합에서는 극한을 바꿔치기하는 셈이라 자동이 아닙니다. 실제로 함수열에서는 각 항이 미분가능하고 극한이 존재해도 도함수의 극한이 원래 극한의 도함수가 아닌 예가 있습니다.
멱급수에서 이것이 허용되는 근거는 균등수렴입니다. 개요는 이렇습니다.
단계
내용
1
∣x−c∣≤ρ<R인 닫힌구간에서 ∣an(x−c)n∣≤∣an∣ρn입니다
2
오른쪽 급수가 수렴하므로 원래 급수가 그 구간에서 균등수렴합니다
3
미분한 급수도 같은 이유로 균등수렴합니다
4
도함수 급수가 균등수렴하면 항별 미분이 허용됩니다
2단계의 논법을 바이어슈트라스 판정법이라 하며, 각 항을 x에 무관한 수로 덮는 것이 요점입니다. 균등수렴은 이 커리큘럼에서 정식으로 다루지 않지만, **"내부의 닫힌구간마다 통제된다"**는 구조는 기억해 둘 값이 있습니다.
주의할 점은 3단계가 수렴구간의 내부에서만 성립한다는 것입니다. 끝점을 포함한 구간에서는 균등수렴이 보장되지 않으므로 항별 연산을 함부로 쓰면 안 됩니다.
심화 3. 아벨 정리를 서술하고, 4π=1−31+51−⋯이 정당한 이유를 설명하세요.
풀이. 문제 4에서 arctanx의 급수를 ∣x∣<1에서 얻었습니다. x=1을 넣고 싶은데, 그 점은 수렴구간의 끝점이라 항별 적분의 정당성이 자동으로 따라오지 않습니다.
아벨 정리. 멱급수가 x=R(끝점)에서 수렴하면, 그 급수가 정의하는 함수는 x→R−에서 연속입니다. 즉
x→R−lim∑anxn=∑anRn
입니다.
이 정리로 문제가 해결됩니다. ∑2n+1(−1)n은 교대급수 판정으로 수렴하므로, 아벨 정리에 의해
n=0∑∞2n+1(−1)n=x→1−limarctanx=arctan1=4π
입니다. 끝점에서 급수가 수렴한다는 사실과 함수가 그 점에서 연속이라는 사실을 합쳐 등식을 얻었습니다.
같은 논법이 ln2에도 적용됩니다. ∑n(−1)n−1이 수렴하고 ln(1+x)가 x=1에서 연속이므로 그 합이 ln2입니다.
아벨 정리의 역은 성립하지 않습니다. 극한이 존재해도 끝점에서 급수가 수렴하지 않을 수 있습니다. ∑(−1)nxn=1+x1에서 x→1−의 극한은 21이지만 x=1에서 급수는 진동해 발산합니다. 먼저 끝점에서의 수렴을 확인하고 그다음에 아벨 정리를 쓰는 순서를 지켜야 합니다.
심화 4. 두 멱급수의 곱이 어떻게 되는지 세우고, (1−x)21을 그 방법으로 구하세요.
풀이. 다항식을 곱할 때 계수가 어떻게 되는지 생각합니다. xk의 계수는 지수의 합이 k가 되는 모든 짝의 곱을 더한 것입니다.
절대수렴 조건이 필수입니다. 조건수렴만으로는 항의 순서를 자유롭게 바꿀 수 없어(54강 심화 4) 이 정리가 성립하지 않습니다. 멱급수는 수렴구간 내부에서 절대수렴하므로 안심하고 쓸 수 있습니다.
적용합니다. an=bn=1로 두면
ck=j=0∑k1⋅1=k+1
이므로
(1−x)21=k=0∑∞(k+1)xk=1+2x+3x2+4x3+⋯
입니다. 문제 4에서 항별 미분으로 얻은 것과 같습니다. 두 방법이 같은 답을 줍니다.
계수 ck=k+1의 뜻도 읽어 두십시오. xk을 만드는 방법이 x0⋅xk부터 xk⋅x0까지 k+1가지이기 때문입니다. 곱셈이 계수의 합성곱이 됩니다.
이 구조가 이 커리큘럼에서 계속 나타납니다. 248강의 합성곱, 143강에서 두 확률변수의 합의 분포를 구할 때, 그리고 생성함수를 쓰는 조합론 문제에서 모두 같은 형태입니다. 멱급수의 곱이 곧 수열의 합성곱이라는 대응이 그 도구들의 뿌리입니다.
심화 5. 52강의 부분분수를 써서 (1−x)(1−2x)1의 멱급수를 구하고 수렴반경을 정하세요.
풀이. 52강의 방법으로 쪼갭니다. 분모의 근이 x=1과 x=21이므로
(1−x)(1−2x)1=1−xA+1−2xB
로 두고 양변에 분모를 곱하면 1=A(1−2x)+B(1−x)입니다. x=1에서 1=−A이므로 A=−1이고, x=21에서 1=2B이므로 B=2입니다.
(1−x)(1−2x)1=1−x−1+1−2x2
각각을 등비급수로 펼칩니다.
=−n≥0∑xn+2n≥0∑2nxn=n≥0∑(2n+1−1)xn
수렴반경은 두 급수 중 좁은 쪽이 결정합니다. 첫째는 R=1이고 둘째는 R=21이므로 합은 R=21에서만 보장됩니다. 계수로 확인해도 ∣2n+1−1∣1/n→2이므로 R=21입니다.
분모의 근 중 원점에 가장 가까운 것이 반경을 정합니다.21과 1 중 작은 쪽입니다. 이 관찰이 심화 6의 일반 원리로 이어집니다.
계수 2n+1−1이 나온 것도 눈여겨볼 값이 있습니다. 이 수열은 점화식 cn=3cn−1−2cn−2를 만족하는데, 그 특성방정식이 정확히 분모 (1−x)(1−2x)를 뒤집은 것입니다. 유리함수의 멱급수 계수는 선형 점화식을 만족하며, 그 역도 성립합니다. 32강에서 점화식을 닫힌 형태로 바꾼 작업이 여기서 생성함수라는 이름으로 되돌아옵니다.
심화 6.1+x21은 실수 전체에서 매끄러운데 왜 수렴반경이 1입니까? 그리고 같은 함수를 x=1 중심으로 전개하면 반경이 얼마입니까?
풀이.1−x1의 반경이 1인 것은 이해하기 쉽습니다. x=1에서 함수가 발산하므로 그 너머로 급수가 갈 수 없습니다.
그런데 1+x21은 사정이 다릅니다. 실수축 어디에서도 분모가 0이 되지 않고 함수가 무한히 매끄럽습니다. 그런데도 문제 4에서 본 급수의 반경은 1입니다. x=1.01을 넣으면 함숫값은 멀쩡한데 급수가 발산합니다. 검산에서 확인합니다.
이유는 복소평면에 있습니다. 1+x2=0의 해는 x=±i이고, 원점에서 그 점까지의 거리가 ∣±i∣=1입니다.
수렴반경의 기하학적 의미. 멱급수의 수렴반경은 전개의 중심에서 가장 가까운 복소 특이점까지의 거리입니다.
"반경"이라는 이름이 비유가 아니었습니다. 복소평면에서 실제로 원을 그린 것이며, 실수축은 그 원을 자르는 지름에 지나지 않습니다. 실수만 보면 아무 문제가 없어 보이는 자리에서 급수가 멈추는 이유가 여기 있습니다.
이 강의에서는 numpy만 씁니다. 멱급수는 부분합이 유한합이므로 검산이 직접적입니다. 수렴반경 안팎에서 부분합이 어떻게 다르게 행동하는지 보는 것이 이 검산의 목적입니다.
import numpy as np
# --- 문제 1: 등비 멱급수는 |x|<1 에서만 수렴합니다 -----------------------
n = np.arange(200)
for x in [0.5, 0.9, 1.1]:
s = float(np.sum(x**n))
print(x, "%.6e" % s, ("%.8f" % (1/(1 - x))) if abs(x) < 1 else "발산")
# 0.5 2.000000e+00 2.00000000
# 0.9 1.000000e+01 10.00000000
# 1.1 1.899053e+09 발산
# --- 문제 2: 수렴반경이 무한인 급수 (x^n/n!) ----------------------------
def invfact(N):
"""1/n! 을 곱셈만으로 만듭니다. n! 자체는 금방 넘칩니다."""
c = np.ones(N)
for k in range(1, N):
c[k] = c[k-1]/k
return c
c = invfact(200); n = np.arange(200)
for x in [1.0, 5.0, -3.0]:
print(x, "%.10f" % float(np.sum(c*x**n)), "%.10f" % np.exp(x))
# 1.0 2.7182818285 2.7182818285
# 5.0 148.4131591026 148.4131591026
# -3.0 0.0497870684 0.0497870684
# --- 문제 3: 끝점은 따로 조사합니다 -------------------------------------
N = 100000; n = np.arange(1, N + 1)
print("x=-1, x^n/n :", "%.6f" % float(np.sum((-1.0)**n/n)), "%.6f" % (-np.log(2)))
print("x=+1, x^n/n :", "%.6f" % float(np.sum(1.0/n)), "(발산)")
print("x=-1, x^n/n^2:", "%.8f" % float(np.sum((-1.0)**n/n**2)), "%.8f" % (-np.pi**2/12))
print("x=+1, x^n/n^2:", "%.8f" % float(np.sum(1.0/n**2)), "%.8f" % (np.pi**2/6))
# x=-1, x^n/n : -0.693142 -0.693147
# x=+1, x^n/n : 12.090146 (발산)
# x=-1, x^n/n^2: -0.82246703 -0.82246703
# x=+1, x^n/n^2: 1.64492407 1.64493407
# --- 문제 4: 항별 적분으로 얻은 급수 ------------------------------------
n = np.arange(2000)
for x in [0.5, 0.9]:
print(x, "%.10f" % float(np.sum((-1.0)**n*x**(2*n + 1)/(2*n + 1))),
"%.10f" % np.arctan(x))
# 0.5 0.4636476090 0.4636476090
# 0.9 0.7328151018 0.7328151018
m = np.arange(1, 3000)
for x in [0.5, -0.7]:
print(x, "%.10f" % float(np.sum(x**m/m)), "%.10f" % (-np.log(1 - x)))
# 0.5 0.6931471806 0.6931471806
# -0.7 -0.5306282511 -0.5306282511
# --- 심화 6: 1/(1+x^2) 은 실수축에서 매끄러운데 R = 1 입니다 -------------
k = np.arange(400)
for x in [0.5, 0.99, 1.01]:
s = float(np.sum((-1.0)**k*x**(2*k)))
print(x, "%.6e" % s, "%.6f" % (1/(1 + x**2)))
# 0.5 8.000000e-01 0.800000
# 0.99 5.048623e-01 0.505025
# 1.01 -1.417668e+03 0.495025
# --- 심화 4: 코시 곱 ----------------------------------------------------
x = 0.4; N = 80
a = np.ones(N)
c2 = np.array([float(np.sum(a[:k+1]*a[k::-1])) for k in range(N)])
print("%.10f" % float(np.sum(c2*x**np.arange(N))), "%.10f" % (1/(1 - x)**2))
print([int(v) for v in c2[:6]])
# 2.7777777778 2.7777777778
# [1, 2, 3, 4, 5, 6]
실행하면 주석과 같은 값이 나옵니다. 다섯 곳을 짚어 둡니다.
첫째, 등비 멱급수가 x=0.5와 x=0.9에서는 정확한 값을 주는데 x=1.1에서는 1.9×109이라는 거대한 수를 내놓습니다. 수렴반경 밖에서는 항을 더할수록 값이 커질 뿐입니다. 부분합이 어떤 수를 내놓는다고 해서 급수가 수렴하는 것이 아니라는 점이 한눈에 보입니다.
둘째, ∑n!xn이 x=5와 x=−3에서도 ex와 소수 열 자리까지 맞습니다. 수렴반경이 무한이라는 것이 실제로 확인됩니다. 코드에서 n!을 직접 계산하지 않고 n!1을 나눗셈으로 이어 만든 이유는 199!이 부동소수점 범위를 훨씬 넘기 때문입니다.
셋째, 끝점 네 경우가 나란히 나옵니다. x=−1에서 ∑nxn은 −0.693142로 −ln2에 다가가는데 x=+1에서는 12.09로 계속 커집니다. 같은 급수의 두 끝점이 완전히 다르게 행동합니다. 반면 ∑n2xn은 양쪽 모두 수렴하며, x=−1에서 −12π2와 소수 여덟 자리까지 일치합니다.
넷째, 심화 6의 결과가 이 강의에서 가장 인상적입니다. 1+x21의 급수가 x=0.99에서는 참값 0.505에 가까운데 x=1.01에서는 −1417.7이라는 엉뚱한 값을 냅니다. 참값은 0.495로 멀쩡한데 급수가 그 값을 재현하지 못합니다. 실수축만 보아서는 x=1에서 무슨 일이 일어나는지 알 수 없고, 복소평면의 ±i를 봐야 설명됩니다.
다섯째, 코시 곱의 계수가 [1,2,3,4,5,6]으로 나와 (1−x)21=∑(k+1)xk을 확인합니다. 합도 2.7777777778로 0.621과 일치합니다. 곱셈이 계수의 합성곱이 된다는 사실이 숫자로 드러납니다.
코드로 할 수 없는 일도 분명히 해 둡니다. 부분합은 언제나 유한한 값이므로 수렴 여부를 코드가 판정하지 못합니다.x=1.1에서 나온 1.9×109도 하나의 수이며, 항을 더 더하면 커진다는 사실은 사람이 알아야 합니다. 그리고 심화 6의 진짜 이유인 복소 특이점은 실수 계산에 전혀 나타나지 않습니다.
다음 56강에서 이 단원의 중심에 도달합니다. 지금까지는 급수가 먼저 주어지고 그것이 어떤 함수인지 알아냈습니다. 이제 방향을 뒤집어, 함수가 먼저 주어졌을 때 그것을 나타내는 멱급수를 찾습니다. 계수가 그 함수의 고계도함수로 결정된다는 것이 테일러 급수이며, 41강에서 고계도함수를 세워 둔 것이 그때 쓰입니다.