The special package of Commons-Math gathers several useful special functions not provided by java.lang.Math.
Erf contains several useful functions involving the Error Function, Erf.
| Function | Method | Reference |
|---|---|---|
| Error Function | erf | See Erf from MathWorld |
Class Gamma contains several useful functions involving the Gamma Function.
Gamma.gamma(x) computes the Gamma function, Γ(x) (see MathWorld, DLMF). The accuracy of the Commons-Math implementation is assessed by comparaison with high precision values computed with the Maxima Computer Algebra System.
| Interval | Values tested | Average error | Standard deviation | Maximum error |
|---|---|---|---|---|
| -5 < x < -4 | x[i] = i / 1024, i = -5119, ..., -4097 | 0.49 ulps | 0.57 ulps | 3.0 ulps |
| -4 < x < -3 | x[i] = i / 1024, i = -4095, ..., -3073 | 0.36 ulps | 0.51 ulps | 2.0 ulps |
| -3 < x < -2 | x[i] = i / 1024, i = -3071, ..., -2049 | 0.41 ulps | 0.53 ulps | 2.0 ulps |
| -2 < x < -1 | x[i] = i / 1024, i = -2047, ..., -1025 | 0.37 ulps | 0.50 ulps | 2.0 ulps |
| -1 < x < 0 | x[i] = i / 1024, i = -1023, ..., -1 | 0.46 ulps | 0.54 ulps | 2.0 ulps |
| 0 < x ≤ 8 | x[i] = i / 1024, i = 1, ..., 8192 | 0.33 ulps | 0.48 ulps | 2.0 ulps |
| 8 < x ≤ 141 | x[i] = i / 64, i = 513, ..., 9024 | 1.32 ulps | 1.19 ulps | 7.0 ulps |
Gamma.logGamma(x) computes the natural logarithm of the Gamma function, log Γ(x), for x > 0 (see MathWorld, DLMF). The accuracy of the Commons-Math implementation is assessed by comparaison with high precision values computed with the Maxima Computer Algebra System.
| Interval | Values tested | Average error | Standard deviation | Maximum error |
|---|---|---|---|---|
| 0 < x ≤ 8 | x[i] = i / 1024, i = 1, ..., 8192 | 0.32 ulps | 0.50 ulps | 4.0 ulps |
| 8 < x ≤ 1024 | x[i] = i / 8, i = 65, ..., 8192 | 0.43 ulps | 0.53 ulps | 3.0 ulps |
| 1024 < x ≤ 8192 | x[i], i = 1025, ..., 8192 | 0.53 ulps | 0.56 ulps | 3.0 ulps |
| 8933.439345993791 ≤ x ≤ 1.75555970201398e+305 | x[i] = 2**(i / 8), i = 105, ..., 8112 | 0.35 ulps | 0.49 ulps | 2.0 ulps |
Gamma.regularizedGammaP(a, x) computes the value of the regularized Gamma function, P(a, x) (see MathWorld).
Beta contains several useful functions involving the Beta Function.
Beta.logBeta(a, b) computes the value of the natural logarithm of the Beta function, log B(a, b). (see MathWorld, DLMF). The accuracy of the Commons-Math implementation is assessed by comparaison with high precision values computed with the Maxima Computer Algebra System.
| Interval | Values tested | Average error | Standard deviation | Maximum error |
|---|---|---|---|---|
| 0 < x ≤ 8 0 < y ≤ 8 | x[i] = i / 32, i = 1, ..., 256 y[j] = j / 32, j = 1, ..., 256 | 1.80 ulps | 81.08 ulps | 14031.0 ulps |
| 0 < x ≤ 8 8 < y ≤ 16 | x[i] = i / 32, i = 1, ..., 256 y[j] = j / 32, j = 257, ..., 512 | 0.50 ulps | 3.64 ulps | 694.0 ulps |
| 0 < x ≤ 8 16 < y ≤ 256 | x[i] = i / 32, i = 1, ..., 256 y[j] = j, j = 17, ..., 256 | 1.04 ulps | 139.32 ulps | 34509.0 ulps |
| 8 < x ≤ 16 8 < y ≤ 16 | x[i] = i / 32, i = 257, ..., 512 y[j] = j / 32, j = 257, ..., 512 | 0.35 ulps | 0.48 ulps | 2.0 ulps |
| 8 < x ≤ 16 16 < y ≤ 256 | x[i] = i / 32, i = 257, ..., 512 y[j] = j, j = 17, ..., 256 | 0.31 ulps | 0.47 ulps | 2.0 ulps |
| 16 < x ≤ 256 16 < y ≤ 256 | x[i] = i, i = 17, ..., 256 y[j] = j, j = 17, ..., 256 | 0.35 ulps | 0.49 ulps | 2.0 ulps |
(see MathWorld)