|
In mathematics, the arithmetic-geometric mean M(x, y) of two positive real numbers x and y is defined as follows: we first form the arithmetic mean of x and y and call it a1, i.e. a1 = (x + y) / 2. We then form the geometric mean of x and y and call it g1, i.e. g1 is the square root of xy. Now we can iterate this operation with a1 taking the place of x and g1 taking the place of y. In this way, two sequences (an) and (gn) are defined: and These two sequences converge to the same number, which we call the arithmetic-geometric mean M(x, y) of x and y. M(x, y) is a number between the geometric and arithmetic mean of x and y; in particular it is between x and y. If r > 0, then M(rx, ry) = r M(x, y). M(x, y) is sometimes denoted agm(x, y).
Implementation The following example code in the Scheme programming language computes the arithmetic-geometric mean of two positive real numbers: (define agmean (lambda (a b epsilon) (letrec ((ratio-diff ; determine whether two numbers (lambda (a b) ; are already very close together (abs (/ (- a b) b)))) (loop ; actually do the computation (lambda (a b) ;; if they're already really close together, ;; just return the arithmetic mean (if (< (ratio-diff a b) epsilon) (/ (+ a b) 2) ;; otherwise, do another step (loop (sqrt (* a b)) (/ (+ a b) 2)))))) ;; error checking (if (or (not (real? a)) (not (real? b)) (<= a 0) (<= b 0)) (error 'agmean "~s and ~s must both be positive real numbers" a b) (loop a b))))) One can show that where K(x) is the complete elliptic integral of the first kind. The geometric-harmonic mean can be calculated by an analogous method, using sequences of geometric and harmonic means. The arithmetic-harmonic mean is none other than the geometric mean. See also: generalized mean
|