算術幾何平均 (Arithmetic Geometric Mean)

2002-02-03
Revised 2026-01-31
細田 隆之

算術幾何平均(Arithmetic Geometric Mean)

算術平均と幾何平均による下記の漸化式は同じ値に収束し、これを算術幾何平均 (AGM, Arithmetic Geometric Mean)と呼ぶ。

an+1 ← (an + bn) / 2
bn+1 ← √(an bn)

証明

a0 > b0 とする。
a1 = (a0 + b0) / 2 < (a0 + a0) / 2 = a0
b1 = √(a0 b0) > √(b0 b0) = b0
a1 - b1 
= (a0b0) / 2 - √(a0 b0) 
= 1 / 2 (√a0 - √bb0) > 0
帰納的に
a0 > … > an > an+1 > bn+1 > bn > … > b0 
より数列 {an}, {bn} は単調数列となり同じ値に収束する。Q.E.D.

プログラム例

Listing 1: _agm — Arithmetic Geometric Mean (ANSI C / ISO C89)
/* agm: calculate arithmatic geographic mean */
#include <math.h> /* fabs(), sqrt */

#ifndef DBL_EPSILON
#define DBL_EPSILON     2.2204460492503131E-16
#endif

double _agm(double a, double b);
double _agm(double a, double b) {
    double t;
    while(fabs(a / b - 1.0) > DBL_EPSILON){
        t = (a + b) / 2.0;
        b = sqrt(a * b);
        a = t;
    }
    return a;
}

REFERENCES

  1. 数学選書 特殊関数入門, 一松 信(ひとつまつ・しん), 森北出版, 1999年

SEE ALSO


www.finetune.co.jp [Mail] yokohamaat finetune dotco dotjp © 2000 Takayuki HOSODA.