$\tan \pi/4=1$から円周率を計算する

微分、積分などの知識を使って円周率を計算します。まずはじめに、単純なところから。

$\tan \frac{\pi}{4}=1$

$\pi/4$は45度なので、$tan=1$なのはすぐにわかります。そこでtanの逆数arctanを考えます。

$\displaystyle \frac{\pi}{4}=\arctan 1$

ここで$acrtan(x)$について微分をします。この結果は$-x^2$の等比数列となるので、面白い形になります。

$\arctan^{\prime}(x)=\dfrac{1}{1+x^2}=1-x^2 +x^4-x^6 +x^8\cdots$

これを再度、積分してarctanに戻します。

$\displaystyle \arctan(x) = x-\frac{x^3}{3}+\frac{x^5}{5}-\frac{x^7}{7}+\frac{x^9}{9}\cdots$

テイラー展開を使わなくても、こんな計算ができるところが素晴らしいことです。

ここで$x=1$を代入すると次の通りになります。

$\displaystyle \frac{\pi}{4}=1-\frac{1}{3}+\frac{1}{5}-\frac{1}{7}+\frac{1}{9}\cdots$
total=0
for i in range(100):
    total+=(-1)**i*1/(2*i+1)
    
total*4
3.1315929035585537

とりあえず計算はできましたが、100回ループを回しても3.131とあまり精度が良くありません。

そこで、少し工夫してみます。

$\displaystyle\arctan a+\arctan b=\arctan\left(\frac{a+b}{1-ab}\right)$

となるので、arctan 1を考えると、$\displaystyle \frac{a+b}{1-ab}=1$を満たすa,bの一つとして$a=\frac{1}{2};b=\frac{1}{3}$があるので次の式の通りになります。

$\arctan 1=\displaystyle\arctan \frac{1}{2}+\arctan \frac{1}{3}$

ここからpthonで簡単に計算をすると次の通りになります。

total=0
for i in range(100):
    num=2*i+1
    total+=(-1)**i*(1/(num*(2**num)))+(-1)**i*(1/(num*(3**num)))
total*4
3.1415926535897922

3.14159265358979まで、小数点第14桁まで正しく計算できました。ちょっとした工夫で精度が上がるものです。

この記事を書いた人

目次
閉じる