Чистую реализацию на python можно найти в модуле mpmath (http://code.google.com/p/mpmath/)
Из строки документа:
>>> from mpmath import *
>>> mp.dps = 15
>>> print erf(0)
0.0
>>> print erf(1)
0.842700792949715
>>> print erf(-1)
-0.842700792949715
>>> print erf(inf)
1.0
>>> print erf(-inf)
-1.0
Для больших реальных x
, \mathrm{erf}(x)
подходит к 1 очень
быстро ::
>>> print erf(3)
0.999977909503001
>>> print erf(5)
0.999999999998463
Функция ошибки является нечетной функцией ::
>>> nprint(chop(taylor(erf, 0, 5)))
[0.0, 1.12838, 0.0, -0.376126, 0.0, 0.112838]
: func: erf
реализует оценку произвольной точности и
поддерживает комплексные числа ::
>>> mp.dps = 50
>>> print erf(0.5)
0.52049987781304653768274665389196452873645157575796
>>> mp.dps = 25
>>> print erf(1+j)
(1.316151281697947644880271 + 0.1904534692378346862841089j)
Связанные функции
См. Также: func: erfc
, что более точно для больших x
,
и: func: erfi
, который дает антипроизводное
\exp(t^2)
.
Интегралы Френеля: func: fresnels
и: func: fresnelc
также связаны с функцией ошибки.