Core concepts

Units & uncertainty

The two pillars: native physical units and ±σ measurement uncertainty, propagated correctly through every operation — end to end.

Why this matters

In most numeric tools a voltage and a length are both "just doubles," and sin(volts) happily returns garbage. Captyse refuses that. Every quantity carries its physical dimension and, optionally, a standard uncertainty $\sigma$ — and both propagate correctly through arithmetic, FFTs, filters, fits, and even a live ODE solve.

Pillar A — physical units

Captyse has a full dimensional-analysis system: a sparse representation over the seven SI base dimensions, affine units (so °C, °F, and K coexist with offsets, not just scale factors), and a recursive unit-expression parser for things like kg·m/s² or mV/√Hz.

Unit algebra runs on every binary operation. Multiplying a velocity by a time yields a length:

Rejecting nonsense, loudly

Adding incommensurable quantities is a dimensional error, not a silent bug:

volts + seconds → rejected. Captyse tells you why, instead of returning a meaningless number.

Units flow through matrices, tensors, and complex numbers — not just scalars — and through the simulation solver, where an integrator's output unit is derived as derivative_unit × time_unit (so over seconds correctly yields metres).

Pillar B — measurement uncertainty

Every value can carry a standard uncertainty . Captyse propagates it continuously using first-order Gaussian error propagation with a Taylor kernel. For a function of independent inputs:

Correlation-aware lineage

Naive propagation gets wrong, reporting instead of . Captyse tracks the provenance of each value, so correlated terms cancel correctly — even when the subtraction happens across a compound-block boundary. This is genuinely hard, and most tools get it wrong.

Nonlinear operations

For nonlinear ops (min/max/clamp/saturation/abs/products), a first-order kernel isn't enough. Captyse uses a moment-matching layer — Clark's method, folded-normal results, mixture switching, and second-order corrections — to capture both the bias () and the non-Gaussian spread a naive piecewise selection would miss.

The combined claim

Wire up a measurement chain — sensor → calibration → FFT → filter → fit → simulation — and the final number comes out as value ± σ [unit] that is physically meaningful and statistically honest, end to end. Confidence bands (±kσ) render directly on your plots. That is the headline differentiator.