1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

無理関数で表される級数の極限について

Posted at

はじめに

無理数に収束する級数を考えたとき、計算機を用いた数値計算を行うことで、その無理数の近似値を求めるという方法がある。今回は、ある無理関数で表される級数がある値(無理数)に収束することを示し、pythonを用いてその値の近似値を計算する。

収束の様子.png

級数の極限.png

問題

以下のような数列$a_n$を考える。このとき、極限$\lim_{n\to \infty} a_n$はある値に収束することを示し、その値を求めよ。

a_1=1,a_{n+1}=\sqrt{1+a_n}

証明

まず、上記数列が上限(ある値に対してそれ以上にどんなに頑張ってもそれを超せない)かつ$n$に対して単調増加であることを示す。これにより、収束値を持つことが分かる。

収束することについて

上限について

$a_n<2$を示す。

帰納法を用いて考える。$a_n<2$としたときに、

a_{n+1}=\sqrt{1+a_n}<\sqrt{1+2}=\sqrt{3}<2

単調増加について

まず、$a_{n+1}>a_n$を示す。$n\ge2$のとき、

a_{n+1}^2-a_n^2=(\sqrt{1+a_n})^2-a_n^2=1+a_n-a_n^2=(1+a_n)-(1-a_{n-1})=a_n-a_{n-1}

となる。ただし、$a_{n}=\sqrt{1+a_{n-1}}$を用いた。

ここで、$a_2-a_1=\sqrt{2}-1>0$より、

a_{3}^2-a_2^2=a_2-a_{1}>0

となるので、$a_3>a_2$となる。このように、帰納的に計算していくことで、

a_n>a_{n-1}>\cdot \cdot \cdot >a_2>a_1

収束値

上記の考察により、$\lim_{n\to \infty} a_n=\alpha (\alpha>0)$ となる実数$\alpha$が存在するはずである。これを示す。

したがって、$\lim_{n\to \infty} a_n=lim_{n\to \infty} a_{n+1}=\alpha$が成立するため、

a_{n+1}=\sqrt{1+a_n}

より、特性方程式

\alpha=\sqrt{1+\alpha}

を得られる。

したがって、両辺を2乗して、それぞれを引くと、

a_{n+1}^2-\alpha^2 =(1+a_n)-(1+\alpha)=a_n-\alpha

したがって、

(a_{n+1}-\alpha )(a_{n+1}+\alpha )=a_n-\alpha

ゆえに、

a_{n+1}-\alpha =\frac{1}{a_{n+1}+\alpha }(a_n-\alpha)

ここで、$\frac{1}{a_{n+1}+\alpha }<1$より、

帰納的に、$n\to \infty$のとき、$\lim_{n\to \infty} |a_n-\alpha|=0$

これにより、

$\lim_{n\to \infty} a_n=\alpha$ただし$\alpha=\frac{1+\sqrt{5}}{2}$であることが分かる。

プログラム

無理数の近似値

$\lim_{n\to \infty} a_n=\frac{1+\sqrt{5}}{2}$であることからその数についての近似値を推定するプログラムを作成した。

python murisuu1.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
num=100
a_ary=[]
i_ary=[]
a=1
for i in range(num):
    a=(1+a)**0.5
    a_ary.append(a)
    i_ary.append(i+1)
plt.xlabel("n")
plt.ylabel("an")
plt.plot(i_ary,a_ary)
plt.savefig("収束の様子.png")
plt.show()

これを実行すると以下のとおりである。

収束の様子.png

このように、$a_n$は、単調増加かつ上限が存在するということが分かる。

図形的解釈

一方で、以下のようなプログラムを作成する。

python murisuu2.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
n=100
x=np.linspace(-1,3,n)
y=(1+x)**0.5
plt.plot(x,y)
plt.plot(x,x,color="red")
num=10
a=1
a_ary=[0]
for i in range(num):
    a_ary.append(a)
    a=(1+a)**0.5
for i in range(3,num):
    xx=np.linspace(a_ary[i-3],a_ary[i-2],n)
    yy=a_ary[i-2]*np.ones(n)
    plt.plot(xx,yy,color="black")
    yy=np.linspace(a_ary[i-2],a_ary[i-1],n)
    xx=a_ary[i-2]*np.ones(n)
    plt.plot(xx,yy,color="black")
# x軸(y=0)を引く
plt.axhline(y=0, color='black', linewidth=1)
# y軸(x=0)を引く
plt.axvline(x=0, color='black', linewidth=1)
plt.savefig("級数の極限.png")
plt.show()

級数の極限.png

このグラフの解釈は、$y$軸状上の点である$(a_1,0)$から$(a_1,a_1),(a_1,a_2),(a_2,a_2)\cdot\cdot\cdot (a_n,a_n)\cdot\cdot\cdot$と点を繋いでいくと、$y=x$と$y=\sqrt{1+x}$との交点に最終的には収束するという解釈である。

まとめ

今回は、数列で表される級数の極限について議論した。具体的には、ある無理関数で表される級数について、それがある無理数に収束することを前半で示した。また、後半ではプログラムを用いてその値の近似値を算出することも試みた。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?