pushforward

std.stats.pushforward · Level L3

The law of a random variable X on a finite sample space, for one law or a family of laws (one per row of P): P(X = t) = Σ over the outcomes s with X(s) = t of P(s). With a statistic T and a parametric family P_θ it is T's sampling distribution, one row per θ. X is given by value indices into 0 … k − 1 (a carrier vector of length k, only its length read). It is not a likelihood or a posterior.

P(X = t) = Σ_{s : X(s) = t} P(s)

Signature

pushforward(P: f64[r, n], X: i64[n], cod: f64[k]) → f64[r, k]

Structure

The function as NOVA stores it: one box per input, operation and output, and arrows that carry values. A double border marks another library function this one runs — called once, or by Scan once per element; select it to open that function.

Pf64[r, n]Xi64[n]codf64[k]Castonehot_fIotaonehot_yReshapeonehot_cReshapeonehot_rEqualonehotMatMulQQf64[r, k]
  • input
  • operation
  • constant
  • call
  • output

Verification

  • Signature proven by NOVA’s shape solver, for every size.
  • Equal to the reference the masses of the outcomes with each value, summed in exact rational arithmetic, on all 40 test cases.
  • All 647 float64 results are exact: the error is zero.
  • Interpreter and NumPy backend return bit-identical results.
  • At float32 too: the 40 test cases rounded to float32, and 40 of them exact, with zero error.
Accuracy in detail
correctly rounded (the float64 nearest the exact value)
100%
bit-equal to the NumPy formula in float64
100%
largest error, in units in the last place
0

Identity

Calls
—
Called by
sha256:41a1dfb364ea8db7679062ee864f162c6d2bd441b6636d8bc79e25e379d89261

The semantic hash of the graph. It changes when the program changes, and never when only its documentation does.

Control handle

Symbol
Ω:std.stats.pushforward · Ω:pushforward
Pins
sha256:5c318b295f21cf0f3403218189ee82e245a116d8f3ed9b3ed1f865ca8e5b4ddfthis graph alone
Evidence
sha256:62624d1194f32f3e59bf2a01f88fedc0fef41af7504d1ba683455868bd485369the hash of its verification record
Needs
no capability: a pure function

Through NOVA’s control layer, the symbol launches this function only while the program still matches what it pins: a change to this graph, or to any graph it reaches, needs a migration first.

ΣEML 2026

Efficient New Language — a high-density semantic overlay for humans and AI agents.

This site’s demos run on the real EML toolchain, in your browser.

© 2026 EveMissLab (一言諾科技有限公司) / Neo.K. All rights reserved.