BESSELI Function (Gnumeric)
Evaluate modified Bessel I in Gnumeric with native examples, fractional orders, recurrence checks and the documented-versus-observed negative-order caveat.
Verification status: 16 reference, boundary and advanced-check formulas were recalculated through Gnumeric 1.12.57 ssconvert with retained native formula identities and ODF results. Independent arithmetic and 1.12.62 source were also checked; 1.12.62 was not executed. How formula examples are checked
Quick answer: =BESSELI(1,1) returns 0.565159103992 in Gnumeric 1.12.57. The result is numeric.
Availability and version history
- Introduced: Gnumeric 0.32 release notes explicitly record BESSELI being implemented.
- Supported in: Gnumeric 1.12.62, with no retirement established.
- Scope: Desktop Gnumeric with the Engineering plugin; English comma-separated formulas are used below.
- Checked: October 14, 2026. The reference and boundary tables plus the explicit roundtrip or recurrence were recalculated through 1.12.57 ssconvert and compared with native formula records, source and independent arithmetic. 1.12.62 is source-checked only.
What BESSELI returns
BESSELI returns the modified Bessel function of the first kind, Iα(x). It is not the oscillatory ordinary Bessel J function. For positive x and the nonnegative orders used in the reference table, the values are real; their size is not restricted to the interval from zero to one. Versioned function help.
Syntax and arguments
=BESSELI(x,order)
Both x and order are required numeric arguments. Order is passed as a real value, not truncated to an integer. The reference table therefore includes order 0.5. For negative x, the real-valued implementation requires an integer order; the half-order negative-x example returns #NUM!. Function implementation.
Reproducible examples
Noninteger results are rounded to twelve decimal places. All eight reference rows below were recalculated in the stated 1.12.57 build.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=BESSELI(0,0) |
1 |
=BESSELI(0,1) |
0 |
=BESSELI(1,0) |
1.266065877752 |
=BESSELI(1,1) |
0.565159103992 |
=BESSELI(2,0) |
2.279585302336 |
=BESSELI(2,1) |
1.590636854637 |
=BESSELI(2,0.5) |
2.046236863089 |
=BESSELI(0.7,3) |
0.007367373608 |
Practical worksheet
To tabulate a model’s special-function term, put x values 0, 1 and 2 in A2:A4 and the selected order 1 in B1. Enter =BESSELI(A2,$B$1) in B2 and fill down. The corresponding literal tests give 0, approximately 0.565159103992, and 1.590636854637.
The cell-reference layout is a reproducible way to use the tested values, not a separate GUI-session claim. Keep the order labeled and preserve enough significant digits until the final result is presented.
Advanced checks and interpretation
For positive x, the half-order identity is I½(x)=SQRT(2/(PI()×x))×SINH(x). At x=2 it gives approximately 2.046236863089, matching the listed BESSELI value. This identity is an independent mathematical check, not an instruction to replace the implementation for every input.
A recurrence provides another check: I0(2)−I2(2)=I1(2). The executed formula =BESSELI(2,0)-BESSELI(2,2)-BESSELI(2,1) returned 0 in this build. In general floating-point work, a small residual should be judged relative to the magnitudes involved rather than requiring exact equality.
Boundaries and troubleshooting
The help warning about every negative order returning #NUM! is too broad for the tested implementation. =BESSELI(2,-1) returned approximately 1.590636854637, the same value as order +1. The function entry passes the order to the Bessel helper without the blanket negative-order guard stated in the help. This observation does not establish every negative fractional-order case.
For positive x, order 1.9 is retained: =BESSELI(1,1.9) is approximately 0.159681606781, not the order-1 value. Very large arguments or orders can challenge numerical range and accuracy; the modest examples below do not establish extreme-argument performance.
In the following tests F5 is an actually empty cell. The empty string "", when present, is an explicit string argument.
| Formula | Gnumeric 1.12.57 result |
|---|---|
=BESSELI(2,-1) |
1.590636854637 |
=BESSELI(-2,1) |
-1.590636854637 |
=BESSELI(-2,0.5) |
#NUM! |
=BESSELI("abc",1) |
#VALUE! |
=BESSELI(F5,1) |
0 |
=BESSELI(1) |
#N/A |
=BESSELI(1,1.9) |
0.159681606781 |
Implementation and test scope
The 1.12.62 Bessel helper and worksheet entry explain the real-order and negative-x handling. Help and implementation differ on the restrictions identified above, so the tested cases are stated explicitly. The formula identities, saved results and two recalculation controls establish the named 1.12.57 run; no GUI entry, other locale or later-release execution is claimed.