pub fn besseli_seq<T: BesselFloat>(
nu: T,
z: Complex<T>,
n: usize,
scaling: Scaling,
) -> Result<BesselResult<T>, Error>Expand description
Compute I_{ν+j}(z) for j = 0, 1, …, n−1 in a single call.
Returns a BesselResult containing n values and an Accuracy:
Accuracy::Normal— full machine precisionAccuracy::Reduced— more than half of significant digits may be lost (|z| or ν very large)
The scaling parameter selects Scaling::Unscaled or Scaling::Exponential;
see crate-level docs for details.
Negative orders are supported via DLMF reflection formulas:
- Non-integer ν: I_{−ν}(z) = I_ν(z) + (2/π) sin(νπ) K_ν(z)
- Integer ν: I_{−n}(z) = I_n(z)
See crate-level docs for more on sequence functions.
§Example
use complex_bessel::*;
use num_complex::Complex;
let z = Complex::new(1.0_f64, 0.0);
// I_0(z), I_1(z), I_2(z) in one call
let result = besseli_seq(0.0, z, 3, Scaling::Unscaled).unwrap();
assert_eq!(result.values.len(), 3);
assert!((result.values[0].re - 1.2661).abs() < 1e-3); // I_0(1) ≈ 1.2661§Errors
Returns Error::InvalidInput if n < 1.