(rontolisp) docs
← Functions

linalg:erf

(linalg:erf a)

Elementwise Gauss error function (scipy.special.erf), an odd function rising from -1 to 1:

erf(x) = 2 / sqrt(pi) * integral from 0 to x of e^(-t^2) dt

Accurate to the last few ulps of a double over the whole range: it sums the all-positive-term series A&S 7.1.6 rather than the alternating Maclaurin series, whose cancellation loses every significant digit by |x| ~ 3, and returns exactly +-1 beyond |x| = 6, where the difference is below a double's resolution.

There is no erfc member: (linalg:sub 1.0 (linalg:erf a)) is it, and the far tail where a dedicated erfc would be more accurate is also where erf itself is already 1. The differentiable counterpart is torch:erf, and x * (1 + erf(x / sqrt(2))) / 2 is torch:gelu.