What are Kelvin functions of the first kind?
The Kelvin functions of the first kind, written berv(x) and beiv(x), are the real and imaginary parts of the Bessel function Jv evaluated at a phase-rotated argument: \(\mathrm{ber}_v(x) + i\cdot\mathrm{bei}_v(x) = J_v(x\cdot e^{i3\pi/4})\). They appear in problems with cylindrical symmetry and oscillating fields, classically in the analysis of the skin effect in electrical conductors and in heat-conduction and elasticity problems. This calculator returns berv(x), beiv(x), and their first derivatives ber'v(x) and bei'v(x) for any real order v and real argument x.
How to use the calculator
Enter the order v (any real number; v = 0 is the most common) and the argument x (a real number). Press calculate. The hero box shows berv(x), and the table lists beiv(x) and both derivatives. The series converges quickly for x up to roughly 20; for very large x cancellation reduces accuracy and an asymptotic expansion would be preferable.
The formula explained
The functions are computed from the convergent complex power series shown above, where Γ is the gamma function (evaluated here with a Lanczos approximation):
$$\mathrm{ber}_\nu(x) + i\,\mathrm{bei}_\nu(x) = \left(\frac{x}{2}\right)^{\nu} e^{\,i\,3\nu\pi/4} \sum_{k=0}^{\infty} \frac{\left(\frac{i\,x^{2}}{4}\right)^{k}}{k!\,\Gamma(\nu+k+1)}$$Terms are accumulated with the recurrence \(\text{term}_k = \text{term}_{k-1}\cdot(i x^2/4) / [k(\nu+k)]\), using two real accumulators for the real and imaginary parts. The derivatives use the exact relation \(\mathrm{ber}'_\nu = (\mathrm{ber}_{\nu+1}+\mathrm{bei}_{\nu+1})/\sqrt{2} + (\nu/x)\mathrm{ber}_\nu\) and \(\mathrm{bei}'_\nu = (\mathrm{bei}_{\nu+1}-\mathrm{ber}_{\nu+1})/\sqrt{2} + (\nu/x)\mathrm{bei}_\nu\), so the next-order functions are also evaluated with the same definition.
Worked example (v = 0, x = 1)
For v = 0 the series reduce to \(\mathrm{ber}_0(x) = \sum(-1)^{k}(x/2)^{4k}/[(2k)!]^2\) and \(\mathrm{bei}_0(x) = \sum(-1)^{k}(x/2)^{4k+2}/[(2k+1)!]^2\). At x = 1 this gives \(\mathrm{ber}_0(1) \approx 0.984382\) and \(\mathrm{bei}_0(1) \approx 0.249566\), matching standard tables (Abramowitz & Stegun 9.9).
FAQ
What is the valid range of x? The series implementation is reliable for roughly \(0 \le x \le 20\). Beyond that, floating-point cancellation degrades accuracy.
What happens at x = 0? For v = 0, \(\mathrm{ber}_0(0) = 1\) and \(\mathrm{bei}_0(0) = 0\), with both derivatives 0. For v > 0 the functions tend to 0; for v < 0 they may diverge.
Can I use non-integer order? Yes. Any real v is supported as long as v+1 is not a negative integer (a gamma-function pole).