Machinの公式

同義語:Machin's formula

概要

Machinの公式(Machin's formula)とは、$\frac\pi4=4\arctan\frac15-\arctan\frac1{239}$ という等式である。$\alpha=\arctan\frac15$ について 2 倍角の公式から $\tan4\alpha=\frac{120}{119}$、加法定理から $\tan(4\alpha-\frac\pi4)=\frac1{239}$ を求め、角の範囲を確かめて示せる。$0<x\le1$ で $\arctan x$ を $x-\frac{x^3}3+\cdots+(-1)^{n-1}\frac{x^{2n-1}}{2n-1}$ で近似した誤差の絶対値は $\frac{x^{2n+1}}{2n+1}$ 未満なので、$x=1$ の Leibniz の級数は遅いが、Machin の公式では各 8 項で約 12 桁が正しくなる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 逆三角関数, 定積分, 加法定理, 等比数列

級数で円周率を計算する

$\arctan$ を $\tan$ の $\bigl(-\frac\pi2,\frac\pi2\bigr)$ 上の逆関数とすると、$(\arctan x)'=\frac1{1+x^2}$、$\arctan0=0$、$\arctan1=\frac\pi4$ である。したがって
$$ \arctan x=\int_0^x\frac{dt}{1+t^2},\qquad\frac\pi4=\int_0^1\frac{dt}{1+t^2} $$
である。被積分関数 $\frac1{1+t^2}$ を等比数列の和で書き直して積分すると、$\arctan x$ を足し算だけで近似できる。$x=1$ とすれば $\pi$ が計算できるが、それはとても遅い。この記事では、小さな $x$ での $\arctan$ を組み合わせることで計算を速くする Machin の公式
$$ \frac\pi4=4\arctan\frac15-\arctan\frac1{239} $$
を証明し、実際に $\pi$ を計算する。この記事で答える問いは次の 3 つである。

  • $\arctan x$ を多項式で近似したとき、誤差はどれくらいか。→ prop-mach-arctan
  • なぜ $x=1$ では遅いのか。→ ex-mach-leibniz
  • どうすれば速くなるか。→ thm-mach-machin、cor-mach-error、ex-mach-table
    高校の計算この記事の言葉大学での見方
    等比数列の和の公式$\arctan$ の級数と誤差の積分冪級数(Taylor 展開)
    正接の加法定理Machin の公式複素数の積と偏角
    項を足して近似値を出す誤差の上界 $\frac{x^{2n+1}}{2n+1}$収束の速さ

等比数列の和で書き直す

一般の式の前に、項が 1 つの場合と 2 つの場合を確かめる。

項が 1 つ・2 つの場合

項が 1 つの場合:$\frac1{1+t^2}=\frac{1+t^2-t^2}{1+t^2}=1-\frac{t^2}{1+t^2}$ である。たとえば $t=1$ では、左辺は $\frac12$、右辺は $1-\frac12=\frac12$ で一致する。
項が 2 つの場合:$(1-t^2)(1+t^2)=1-t^4$ なので、$1-t^2=\frac{1-t^4}{1+t^2}=\frac1{1+t^2}-\frac{t^4}{1+t^2}$ であり、
$$ \frac1{1+t^2}=1-t^2+\frac{t^4}{1+t^2} $$
である。たとえば $t=\frac12$ では、左辺は $\frac1{1.25}=0.8$、右辺は $1-0.25+\frac{0.0625}{1.25}=0.75+0.05=0.8$ で一致する。最後の項 $\frac{t^4}{1+t^2}$ は $t$ が小さいとき小さい。

$\frac{1}{1+t^2}$ の分解

すべての実数 $t$ と正の整数 $n$ について
$$ \frac1{1+t^2}=\sum_{k=0}^{n-1}(-1)^kt^{2k}+(-1)^n\frac{t^{2n}}{1+t^2} $$
である。

等比数列の和の公式

公比 $r:=-t^2$ の等比数列の和の公式により、$r\ne1$ なら $\sum_{k=0}^{n-1}r^k=\frac{1-r^n}{1-r}$ である。ここで $1-r=1+t^2>0$ なので $r\ne1$ であり、
$$ \sum_{k=0}^{n-1}(-1)^kt^{2k}=\sum_{k=0}^{n-1}(-t^2)^k=\frac{1-(-t^2)^n}{1+t^2}=\frac1{1+t^2}-(-1)^n\frac{t^{2n}}{1+t^2} $$
である。最後の項を左辺に移せば主張になる。$\square$

逆正接の級数と誤差

逆正接の級数の打ち切り誤差

$0< x\le1$、$n\ge1$ について
$$ \arctan x=\sum_{k=0}^{n-1}\frac{(-1)^kx^{2k+1}}{2k+1}+(-1)^nR_n(x),\qquad0< R_n(x)<\frac{x^{2n+1}}{2n+1} $$
である。ここで $R_n(x):=\int_0^x\frac{t^{2n}}{1+t^2}dt$ である。つまり
$$ \arctan x=x-\frac{x^3}3+\frac{x^5}5-\cdots+(-1)^{n-1}\frac{x^{2n-1}}{2n-1}+(\text{絶対値が }\tfrac{x^{2n+1}}{2n+1}\text{ 未満の誤差}) $$
である。

分解を 0 から $x$ まで積分する

段 1(積分する)。lem-mach-geometric の両辺を $0$ から $x$ まで積分する。左辺は $\arctan x$ である。右辺の和の部分は、$\int_0^xt^{2k}dt=\frac{x^{2k+1}}{2k+1}$ より $\sum_{k=0}^{n-1}\frac{(-1)^kx^{2k+1}}{2k+1}$ であり、残りは $(-1)^nR_n(x)$ である。
段 2(誤差を挟む)。$0< t\le x$ では $1+t^2>1$ なので $0<\frac{t^{2n}}{1+t^2}< t^{2n}$ である。両辺は連続なので、正の関数の積分は正であること(積分で円周率を評価する で証明した)と積分の単調性により
$$ 0< R_n(x)=\int_0^x\frac{t^{2n}}{1+t^2}dt<\int_0^xt^{2n}dt=\frac{x^{2n+1}}{2n+1} $$
である。$\square$

$x=\frac{1}{5}$ で計算する

$x=\frac15$ とする。

  • $n=1$:$\arctan\frac15\approx\frac15=0.2$ で、誤差は $\frac{(1/5)^3}3=\frac1{375}=0.00266\ldots$ 未満。
  • $n=2$:$\arctan\frac15\approx\frac15-\frac1{3\cdot125}=\frac15-\frac1{375}=0.197333\ldots$ で、誤差は $\frac{(1/5)^5}5=\frac1{15625}=0.000064$ 未満。
    実際の値は $\arctan\frac15=0.1973955\ldots$ であり、誤差はそれぞれ $0.0026044\ldots$、$0.0000622\ldots$ で、確かに上界より小さい。項を 1 つ増やすと、上界は $\frac1{375}$ から $\frac1{15625}$ へ、約 $\frac1{25}$ 倍(正確には $\frac3{5}\cdot\frac1{25}$ 倍)になる。
項を 1 つ増やしたときの上界の比

$n$ 項のときの上界 $\frac{x^{2n+1}}{2n+1}$ と、$n+1$ 項のときの上界 $\frac{x^{2n+3}}{2n+3}$ の比は
$$ \frac{x^{2n+3}}{2n+3}\mathbin{÷}\frac{x^{2n+1}}{2n+1}=x^2\cdot\frac{2n+1}{2n+3}< x^2 $$
である。つまり、項を 1 つ増やすごとに上界は $x^2$ 倍よりさらに小さくなる。$x=\frac15$ なら $x^2=\frac1{25}$、$x=\frac1{239}$ なら $x^2=\frac1{239^2}=\frac1{57121}$ である。ところが $x=1$ では $x^2=1$ なので、上界は $\frac1{2n+1}$ 程度にしか減らない。

$x=1$ のとき(Leibniz の級数)

$x=1$ では $\frac\pi4=\arctan1=1-\frac13+\frac15-\cdots+(-1)^{n-1}\frac1{2n-1}+(-1)^nR_n(1)$ である。$0< t<1$ では $\frac12<\frac1{1+t^2}$ なので、上の prop-mach-arctan の上界に加えて $R_n(1)>\int_0^1\frac{t^{2n}}2dt=\frac1{2(2n+1)}$ という下界も得られる。

  • $n=1$:$\frac\pi4=1-R_1(1)$、$\frac16< R_1(1)<\frac13$ なので $\frac23<\frac\pi4<\frac56$、つまり $\frac83<\pi<\frac{10}3$。
  • $n=2$:$\frac\pi4=1-\frac13+R_2(1)$、$\frac1{10}< R_2(1)<\frac15$ なので $\frac{23}{30}<\frac\pi4<\frac{13}{15}$、つまり $\frac{46}{15}<\pi<\frac{52}{15}$($3.066\ldots<\pi<3.466\ldots$)。
  • $n=1000$:$\pi$ の近似値 $4\bigl(1-\frac13+\cdots-\frac1{1999}\bigr)$ の誤差 $4R_{1000}(1)$ は $\frac4{2\cdot2001}=0.00099\ldots$ より大きい。実際の誤差は $0.0009999\ldots$ である(数値計算)。
    1000 項足しても小数第 2 位までしか正しくない。$n\to\infty$ とすると $R_n(1)\to0$ なので $\frac\pi4=1-\frac13+\frac15-\cdots$(Leibniz の級数)が成り立つが、$\pi$ の計算には向かない。

3 つの公式で π を計算したときの誤差。x=1 の Leibniz の級数はほとんど減らず、1/5 と 1/239 を使う Machin の公式は項ごとに約 1.4 桁ずつ減る 3 つの公式で π を計算したときの誤差。x=1 の Leibniz の級数はほとんど減らず、1/5 と 1/239 を使う Machin の公式は項ごとに約 1.4 桁ずつ減る
$\frac1{1+x^2}$ の級数が $\lvert x\rvert<1$ でしか収束しない例を含め、Taylor 級数と収束半径は 関数の近似とテイラー展開 で扱う。

Machin の公式

$\frac\pi4$ を、小さな $x$ での $\arctan$ の組み合わせで書ければ、計算は速くなる。まず簡単な例を見る。

2 つの逆正接の和

$\beta:=\arctan\frac12$、$\gamma:=\arctan\frac13$ とおく。正接の加法定理により
$$ \tan(\beta+\gamma)=\frac{\tan\beta+\tan\gamma}{1-\tan\beta\tan\gamma}=\frac{\frac12+\frac13}{1-\frac16}=\frac{\frac56}{\frac56}=1 $$
である。$\tan\theta=1$ となる角は $\frac\pi4$ だけではない($\frac{5\pi}4$ なども)ので、角の範囲を確かめる。$0<\theta<\frac\pi2$ で $\theta<\tan\theta$ なので(正多角形で円周率を挟む で証明した)、$0<\beta<\frac12$、$0<\gamma<\frac13$ であり、$0<\beta+\gamma<\frac56<\frac\pi2$ である($\pi>3$ を使った)。$\tan$ は $\bigl(-\frac\pi2,\frac\pi2\bigr)$ で狭義に増加するので、この範囲で $\tan$ の値が $1$ になる角は $\frac\pi4$ だけである。よって
$$ \frac\pi4=\arctan\frac12+\arctan\frac13 $$
である。$x=\frac12$ では項を 1 つ増やすごとに誤差の上界が約 $\frac14$ 倍になり、Leibniz の級数よりずっと速い(図 1 の青)。

Machin の公式

$$ \frac\pi4=4\arctan\frac15-\arctan\frac1{239} $$
である。

2 倍角の公式を 2 回と加法定理

方針:$\alpha:=\arctan\frac15$ とおき、$\tan4\alpha$ を 2 倍角の公式で求め、$\tan\bigl(4\alpha-\frac\pi4\bigr)=\frac1{239}$ を示す。最後に角の範囲を確かめる。
段 1($\tan2\alpha$)。$\tan\alpha=\frac15$ である。2 倍角の公式 $\tan2\theta=\frac{2\tan\theta}{1-\tan^2\theta}$ により
$$ \tan2\alpha=\frac{2\cdot\frac15}{1-\frac1{25}}=\frac{\frac25}{\frac{24}{25}}=\frac25\cdot\frac{25}{24}=\frac5{12} $$
である。
段 2($\tan4\alpha$)。もう一度 2 倍角の公式を使うと
$$ \tan4\alpha=\frac{2\cdot\frac5{12}}{1-\frac{25}{144}}=\frac{\frac56}{\frac{119}{144}}=\frac56\cdot\frac{144}{119}=\frac{120}{119} $$
である。
段 3($\frac\pi4$ を引く)。正接の加法定理と $\tan\frac\pi4=1$ により
$$ \tan\Bigl(4\alpha-\frac\pi4\Bigr)=\frac{\tan4\alpha-1}{1+\tan4\alpha}=\frac{\frac{120}{119}-1}{1+\frac{120}{119}}=\frac{\frac1{119}}{\frac{239}{119}}=\frac1{239} $$
である。
段 4(角の範囲)。$0<\theta<\frac\pi2$ で $\theta<\tan\theta$ なので、$0<\alpha<\tan\alpha=\frac15$ である。よって $0<2\alpha<\frac25$、$0<4\alpha<\frac45$ であり、$\pi>3$ より $\frac45<\frac\pi2$ なので、段 1・段 2 で使った角 $\alpha,2\alpha$ の $\tan$ は定義されていて、$4\alpha$ も $\bigl(0,\frac\pi2\bigr)$ に入る。すると $-\frac\pi4<4\alpha-\frac\pi4<\frac\pi4$ であり、$4\alpha-\frac\pi4$ は $\bigl(-\frac\pi2,\frac\pi2\bigr)$ に入る。$\arctan\frac1{239}$ もこの区間に入り、$\tan$ はこの区間で狭義に増加するので、$\tan$ の値が等しい 2 つの角は等しい。段 3 から $4\alpha-\frac\pi4=\arctan\frac1{239}$、つまり $\frac\pi4=4\arctan\frac15-\arctan\frac1{239}$ である。$\square$

角 α=arctan(1/5) を 4 倍すると、π/4 をわずか arctan(1/239)(約 0.24°)だけ超える 角 α=arctan(1/5) を 4 倍すると、π/4 をわずか arctan(1/239)(約 0.24°)だけ超える
図 2 のとおり、$4\alpha$ は $\frac\pi4$ にとても近い。その差 $\arctan\frac1{239}$ は小さな角なので、$\arctan\frac1{239}$ の級数は 1〜2 項でほとんど正確になる。
正接の加法定理と 2 倍角の公式の導き方は 加法定理から積和・和積・合成・正接の公式を導く で扱う。

$4\alpha$ と $\frac{\pi}{4}$ の差

$\arctan\frac1{239}=0.0041840\ldots$ ラジアンである(数値計算)。度に直すと、$180^\circ$ が $\pi$ ラジアンなので $0.0041840\ldots\times\frac{180}\pi=0.2397\ldots$ 度、つまり約 $0.24^\circ$ である。prop-mach-arctan で $n=1$ とすると、$\arctan\frac1{239}\approx\frac1{239}$ の誤差は $\frac1{3\cdot239^3}$ 未満で、$10^{-7}$ より小さい。

Machin の公式で $\pi$ を計算する

thm-mach-machin の両辺を 4 倍すると $\pi=16\arctan\frac15-4\arctan\frac1{239}$ である。2 つの $\arctan$ をどちらも prop-mach-arctan の $n$ 項で打ち切ると、$\pi$ の近似値が得られる。その誤差は次のように押さえられる。

Machin の公式で $\pi$ を計算したときの誤差

$n\ge1$ とし、$S_n(x):=\sum_{k=0}^{n-1}\frac{(-1)^kx^{2k+1}}{2k+1}$ とおく。近似値 $A_n:=16S_n\bigl(\frac15\bigr)-4S_n\bigl(\frac1{239}\bigr)$ について
$$ \lvert\pi-A_n\rvert<\frac{16}{(2n+1)5^{2n+1}}+\frac4{(2n+1)239^{2n+1}} $$
である。

誤差を $R_n$ で書いて押さえる

方針:誤差を prop-mach-arctan の $R_n$ で書き、$R_n$ が正であることと $R_n$ の上界を使う。
段 1(誤差の式)。prop-mach-arctan により $\arctan x=S_n(x)+(-1)^nR_n(x)$($x=\frac15,\ \frac1{239}$)である。これを $\pi=16\arctan\frac15-4\arctan\frac1{239}$ に代入すると
$$ \pi=16S_n\Bigl(\frac15\Bigr)-4S_n\Bigl(\frac1{239}\Bigr)+(-1)^n\Bigl(16R_n\Bigl(\frac15\Bigr)-4R_n\Bigl(\frac1{239}\Bigr)\Bigr) $$
なので、$\pi-A_n=(-1)^n\bigl(16R_n(\frac15)-4R_n(\frac1{239})\bigr)$ である。
段 2(絶対値を和で押さえる)。$a:=16R_n(\frac15)$、$b:=4R_n(\frac1{239})$ とおくと、prop-mach-arctan により $a>0$、$b>0$ である。$a-b< a< a+b$ であり、$-(a-b)=b-a< b< a+b$ でもあるので、$\lvert a-b\rvert< a+b$ である。$(-1)^n$ を掛けても絶対値は変わらないので
$$ \lvert\pi-A_n\rvert=\lvert a-b\rvert< a+b=16R_n\Bigl(\frac15\Bigr)+4R_n\Bigl(\frac1{239}\Bigr) $$
である。
段 3(上界を代入)。prop-mach-arctan の $R_n(x)<\frac{x^{2n+1}}{2n+1}$ を $x=\frac15,\ \frac1{239}$ に使うと、$16R_n(\frac15)<\frac{16}{(2n+1)5^{2n+1}}$、$4R_n(\frac1{239})<\frac4{(2n+1)239^{2n+1}}$ である。段 2 の式に代入して主張を得る。$\square$

手で計算する

$n=1$(各 $\arctan$ を 1 項で打ち切る):
$$ \pi\approx16\cdot\frac15-4\cdot\frac1{239}=3.2-0.0167364\ldots=3.1832635\ldots $$
cor-mach-error の誤差の上界は $\frac{16}{3\cdot125}+\frac4{3\cdot239^3}=0.0426666\ldots+0.0000000976\ldots=0.0426667\ldots$ で、実際の誤差は $0.04167\ldots$ である。
$n=2$(各 2 項):
$$ \pi\approx16\Bigl(\frac15-\frac1{375}\Bigr)-4\Bigl(\frac1{239}-\frac1{3\cdot239^3}\Bigr)=\frac{1184}{375}-0.0167363\ldots=3.1405970\ldots $$
cor-mach-error の誤差の上界は $\frac{16}{5\cdot3125}+\frac4{5\cdot239^5}=0.001024+(\text{ごく小さい数})$ で、実際の誤差は $0.000995\ldots$ である。わずか 2 項ずつで小数第 2 位まで正しい。

項数を増やす

数値計算の結果は次のとおりである。誤差の上界は cor-mach-error の右辺である。「…」を付けた値は書いた桁で切り捨てた値、$10$ の累乗を使った値は、誤差は四捨五入、上界は切り上げで 3 桁にした値である。

項数 $n$近似値誤差誤差の上界
$1$$3.18326\ldots$$0.04167\ldots$$0.04266\ldots$
$2$$3.140597\ldots$$0.000995\ldots$$0.00102\ldots$
$3$$3.1416210\ldots$$2.84\times10^{-5}$$2.93\times10^{-5}$
$5$$3.141592682\ldots$$2.88\times10^{-8}$$2.98\times10^{-8}$
$8$$3.14159265358860\ldots$$1.19\times10^{-12}$$1.24\times10^{-12}$

Leibniz の級数(ex-mach-leibniz)では 1000 項で誤差 $0.001$ だったのに対し、Machin の公式では 8 項ずつで 12 桁近く正しい。項を 1 つ増やすごとに誤差は約 $\frac1{25}$、つまり約 1.4 桁ずつ減る。

歴史

J. Machin はこの公式を使って $\pi$ を 100 桁計算し、その結果は 1706 年に W. Jones の本で公表された(Jon06 pp. 243, 263)。同じ型の公式(小さな $x$ での $\arctan$ の組み合わせ)は、その後もコンピュータで $\pi$ を計算するのに長く使われた。

例と反例

外した条件崩れることボックス
角が $\bigl(-\frac\pi2,\frac\pi2\bigr)$ に入ることを確かめない$\tan$ の値が等しくても角は等しいとは限らないex-mach-range
$x$ が小さくない($x=1$)級数の収束が遅いex-mach-leibniz
反例:角の範囲を確かめないと誤る

$\arctan2+\arctan3$ を考える。加法定理により
$$ \tan(\arctan2+\arctan3)=\frac{2+3}{1-2\cdot3}=\frac5{-5}=-1 $$
である。$\tan\bigl(-\frac\pi4\bigr)=-1$ だからといって $\arctan2+\arctan3=-\frac\pi4$ とすると誤りである。$\arctan2$ と $\arctan3$ はどちらも正(しかも $\tan\frac\pi4=1$ より大きい値の $\arctan$ なので $\frac\pi4$ より大きい)なので、和は $\frac\pi2$ と $\pi$ の間にある。$\tan$ は $\bigl(\frac\pi2,\frac{3\pi}2\bigr)$ で狭義に増加し($\tan(\theta+\pi)=\tan\theta$ なので、$\bigl(-\frac\pi2,\frac\pi2\bigr)$ での増加をそのまま $\pi$ だけずらしたもの)、$\tan\frac{3\pi}4=-1$ なので、$\bigl(\frac\pi2,\pi\bigr)$ で $\tan$ の値が $-1$ になる角は $\frac{3\pi}4$ だけである。よって
$$ \arctan2+\arctan3=\frac{3\pi}4 $$
である。prf-thm-mach-machin の段 4 で角の範囲を確かめたのは、このような取り違えを防ぐためである。

大学数学で見る

複素数の積で見る Machin の公式

複素数 $a+bi$($a>0$)の偏角は $\arctan\frac ba$ であり、複素数の積の偏角は偏角の和である。$(5+i)^4$ を計算すると $(5+i)^2=24+10i$、$(24+10i)^2=476+480i$ なので
$$ (5+i)^4(239-i)=(476+480i)(239-i)=114244+114244i=114244(1+i) $$
である。左辺の偏角は $4\arctan\frac15-\arctan\frac1{239}$、右辺の偏角は $\frac\pi4$ である(偏角は $2\pi$ の整数倍の違いを除いて等しいが、prf-thm-mach-machin の段 4 と同じ範囲の確認で等号になる)。Machin の公式は、「$(5+i)^4(239-i)$ の実部と虚部が等しい」という整数の計算に言い換えられる。

さらに先へ

  • 他の速い方法:今日のコンピュータによる $\pi$ の計算には、Machin 型の公式のほか、算術幾何平均を使う方法や、Ramanujan 型の級数が使われている(この記事では扱わない)。
  • 冪級数:prop-mach-arctan は、$\arctan x$ の冪級数展開 $x-\frac{x^3}3+\frac{x^5}5-\cdots$ を、誤差の評価つきで述べたものである。大学では、関数を冪級数で表す一般論(冪級数)として学ぶ。
  • 超越性:$\pi$ は、$0$ でない有理数係数の多項式の根にもならない(超越数である)。F. Lindemann が 1882 年に証明した(Lin82。この記事では証明しない)。これにより、定規とコンパスで円と同じ面積の正方形を作図することは不可能だと分かる(超越数)。$\pi$ が無理数であることの証明は 円周率の無理性 にある。
  • 他の評価の方法:正多角形で挟む方法は 正多角形で円周率を挟む、積分で「有理数 $-\pi$」を作る方法は 積分で円周率を評価する で扱う。Leibniz の級数と $\pi$ の定義の関係は 円周率 にある。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する