Qu

argmean

Builtin index · Core maths

result = argmean(x)

Input: x · Output: result

What it is

Index into x (a Vec or flattened Mat/Signal) of the element closest to mean(x) (ties broken by first occurrence) — not a true order-statistic index like the others above, since the mean generally isn't any actual data point.

Overloads

One call shape — this function is not overloaded.

CodeInputOutputDescription
result = argmean(x)
x Vec, Mat, or Signalnot documented yet
result scalar or Num
Returns a scalar Num index (0-based); errors on an empty x.

Examples

From the documentation, and run by the build -- the output and the figure below are what the engine actually produced. Simplest first.

v = [5.0, 3.0, 8.0, 1.0, 9.0]
print("prod={prod(v)}")
print("argmedian={argmedian(v)}  argquantile(0.9)={argquantile(v, 0.9)}  argmean={argmean(v)}")
print("clamp={clamp([-5, 0, 5, 10], 0, 5)}")
print("var={var(v)}  std^2={std(v)^2}")
print("lse={lse(v)}")
output
prod=1080
argmedian=0  argquantile(0.9)=4  argmean=0
clamp=[0, 0, 5, 5]
var=11.2  std^2=11.2
lse=9.328591

from core-math

How it works

argmean(x) — the index of the element closest to mean(x) (ties broken by first occurrence). Not a standard order- statistic index like the others above (the mean generally isn't any actual data point) — a nearest-neighbor-to-the- mean index instead, which is the only way "argmean" can mean anything concrete.

From the note above this builtin in the interpreter, where the reasoning was written down as it was built.