x <- 8:5
y <- 1:4
# The arithmetic and geometric means are special cases of the
# generalized logarithmic mean.
all.equal(generalized_logmean(2)(x, y), (x + y) / 2)
all.equal(generalized_logmean(-1)(x, y), sqrt(x * y))
# The harmonic mean cannot be expressed as a logarithmic mean, but can
# be expressed as an extended mean.
all.equal(extended_mean(-2, -1)(x, y), 2 / (1 / x + 1 / y))
# The quadratic mean is also a type of extended mean.
all.equal(extended_mean(2, 4)(x, y), sqrt(x^2 / 2 + y^2 / 2))
# As are heronian and centroidal means.
all.equal(
extended_mean(0.5, 1.5)(x, y),
(x + sqrt(x * y) + y) / 3
)
all.equal(
extended_mean(2, 3)(x, y),
2 / 3 * (x^2 + x * y + y^2) / (x + y)
)
Run the code above in your browser using DataLab