cross

std.linalg.cross · Level L2

The cross product of 3-vectors, row by row: u × v, perpendicular to both, with length |u||v| sin θ. NumPy's np.cross.

u × v = (u₂v₃ − u₃v₂, u₃v₁ − u₁v₃, u₁v₂ − u₂v₁)

Signature

cross(u: f64[n, 3], v: f64[n, 3]) → f64[n, 3]

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.

uf64[n, 3]vf64[n, 3]Sliceu0Slicev0Sliceu1Slicev1Sliceu2Slicev2Multiplyz_pMultiplyz_qMultiplyy_pMultiplyy_qMultiplyx_pMultiplyx_qSubtractzSubtractySubtractxConcatwwf64[n, 3]
  • input
  • operation
  • constant
  • call
  • output

Verification

  • Signature proven by NOVA’s shape solver, for every size.
  • Equal to the reference np.cross(u, v) in exact rational arithmetic, on all 40 test cases.
  • All 435 float64 results inside the running error bound; the closest uses 83% of it.
  • Interpreter and NumPy backend return bit-identical results.
  • At float32 too: the 40 test cases rounded to float32, and 40 of them inside the running error bound at u = 2⁻²⁴; the closest uses 73% of it.
Accuracy in detail
correctly rounded (the float64 nearest the exact value)
80%
bit-equal to the NumPy formula in float64
100%
largest error, in units in the last place
249

Large ulp counts appear where a result is tiny next to the numbers it is computed from (after cancellation, for example), so one unit in the last place is tiny too; the absolute error is still inside the bound. Results within their own error of zero are not counted.

Identity

Calls
—
Called by
—
sha256:41262839d38e2209375d1175e60a1b122f32c1983bc9641b79128b64911421a6

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

Control handle

Symbol
Ω:std.linalg.cross · Ω:cross
Pins
sha256:ee59bccc339749f635c7ec9df689fb2e08163f7f318166bdb61615f82de3722athis graph alone
Evidence
sha256:e29408960698cfc4c579895b2db876a85b4f715b50a4addd8b4fac64f426989cthe 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.