BesselJ[n,z]
gives the Bessel function of the first kind
.
BesselJ
BesselJ[n,z]
gives the Bessel function of the first kind
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
satisfies the differential equation
. - BesselJ[n,z] has a branch cut discontinuity in the complex z plane running from
to
. - FullSimplify and FunctionExpand include transformation rules for BesselJ.
- For certain special arguments, BesselJ automatically evaluates to exact values.
- BesselJ can be evaluated to arbitrary numerical precision.
- BesselJ automatically threads over lists.
- BesselJ can be used with Interval and CenteredInterval objects. »
Examples
open all close allBasic Examples (5)
BesselJ[0, 5.2]Plot
over a subset of the reals:
Plot[BesselJ[0, x], {x, 0, 50}]Plot over a subset of the complexes:
ComplexPlot3D[BesselJ[1 / 2, z], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[BesselJ[0, x], {x, 0, 10}]Series expansion at Infinity:
Series[BesselJ[0, x], {x, ∞, 3}]//NormalScope (52)
Numerical Evaluation (6)
BesselJ[0, 4.0]N[BesselJ[0, 4], 50]The precision of the output tracks the precision of the input:
BesselJ[0, 4.000000000000000000000000]Evaluate for complex arguments and parameters:
BesselJ[7 / 3 + I, 4.5 - I]Evaluate BesselJ efficiently at high precision:
BesselJ[0, 4`500]//TimingBesselJ[0, 4`50000];//TimingCompute worst-case guaranteed intervals using Interval and CenteredInterval objects:
BesselJ[Interval[{0.5, 0.6}], Interval[{2.4, 2.5}]]BesselJ[1 / 2, CenteredInterval[2, 1 / 100]]Or compute average-case statistical intervals using Around:
BesselJ[2, Around[2, 0.01]]Compute the elementwise values of an array:
BesselJ[0.5, {{1, 2}, {3, 4}}]Or compute the matrix BesselJ function using MatrixFunction:
MatrixFunction[BesselJ[0.5, #]&, {{1, 2}, {3, 4}}]Specific Values (3)
For half-integer orders, BesselJ evaluates to elementary functions:
Table[BesselJ[(2n + 1) / 2, x], {n, 0, 2}]Limit[BesselJ[n, x], x -> Infinity]Table[BesselJZero[0, x], {x, 3}]//NFind the first positive zero of
using Solve:
sol = Solve[BesselJ[0, x] == 0 && 0 < x < 3, x]//Nxzero = x /. First@sol;
Plot[BesselJ[0, x], {x, -1, 8}, Epilog -> Style[Point[{xzero, BesselJ[0, xzero]}], Red, PointSize[Large]]]Visualization (4)
Plot the BesselJ function for integer (
) and half-integer (
) orders:
Plot[{BesselJ[0, x], BesselJ[1, x], BesselJ[-1 / 2, x]}, {x, -7, 7}]Plot the real and imaginary parts of the BesselJ function for half-integer orders:
ReImPlot[{BesselJ[1 / 2, x], BesselJ[3 / 2, x]}, {x, -3, 3}]ComplexContourPlot[Re[BesselJ[0, z]], {z, -4 - 4I, 8 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[BesselJ[0, z]], {z, -4 - 4I, 8 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Re[BesselJ[-1 / 4, z]], {z, -4 - 4I, 8 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[BesselJ[-1 / 4, z]], {z, -4 - 4I, 8 + 4I}, IconizedObject[«PlotOptions»]]Function Properties (12)
is defined for all real and complex values:
FunctionDomain[BesselJ[0, x], x]FunctionDomain[BesselJ[0, z], z, Complexes]
is defined for all real values greater than 0:
FunctionDomain[BesselJ[1 / 2, x], x]Complex domain is the whole plane except
:
FunctionDomain[BesselJ[1 / 2, z], z, Complexes]Approximate function range of
:
FunctionRange[BesselJ[0, x], x, y]//QuietApproximate function range of
:
FunctionRange[BesselJ[1, x], x, y]//QuietFor integer
,
is an even or odd function in
depending on whether
is even or odd:
BesselJ[0, -z]BesselJ[1, -z]FullSimplify[BesselJ[n, z] == (-1)^n BesselJ[n, -z], n∈ℤ]
is an analytic function of
for integer
:
Table[FunctionAnalytic[BesselJ[n, z], z], {n, -2, 2}]It is not analytic for noninteger orders:
Table[FunctionAnalytic[BesselJ[n, z], z], {n, -(3/2), (3/2)}]BesselJ is neither non-decreasing nor non-increasing:
Table[FunctionMonotonicity[BesselJ[n, z], z], {n, 5}]Table[FunctionMonotonicity[BesselJ[1 / n, z], z], {n, 5}]BesselJ is not injective:
Table[FunctionInjective[BesselJ[n, z], z], {n, 5}]Table[FunctionInjective[BesselJ[1 / n, z], z], {n, 5}]Plot[{BesselJ[1, z], BesselJ[2, z], BesselJ[1 / 3, z], .2}, {z, 0, 15}]BesselJ is not surjective:
Table[FunctionSurjective[BesselJ[n, z], z], {n, 5}]Table[FunctionSurjective[BesselJ[1 / n, z], z], {n, 5}]Plot[{BesselJ[1, z], BesselJ[2, z], BesselJ[1 / 3, z], 1}, {z, 0, 15}]BesselJ is neither non-negative nor non-positive:
Table[FunctionSign[BesselJ[n, z], z], {n, 4}]
is singular for
, possibly including
, when
is noninteger:
FunctionSingularities[BesselJ[n, z], z]//SimplifyThe same is true of its discontinuities:
FunctionDiscontinuities[BesselJ[n, z], z]//SimplifyBesselJ is neither convex nor concave:
Table[FunctionConvexity[BesselJ[a, z], z], {a, 5}]TraditionalForm formatting:
BesselJ[n, r]//TraditionalFormDifferentiation (3)
D[BesselJ[n, x], x]derivs = Table[D[BesselJ[n, x], {x, k}], {k, 1, 3}]//FullSimplifyPlot higher derivatives for integer and half-integer orders:
Plot[Evaluate[derivs /. n -> 0], {x, -2, 2}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]ReImPlot[Evaluate[derivs /. n -> 1 / 2], {x, -2, 2}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]D[BesselJ[n, x], {x, j}]Integration (5)
Compute the indefinite integral of BesselJ using Integrate:
Integrate[BesselJ[n, x], x]Indefinite integral of an expression involving BesselJ:
Integrate[Sin[x] BesselJ[n, x], x]Integrate[BesselJ[n, x], {x, 0, Infinity}]Definite integral of
over an interval centered at the origin is 0:
Integrate[BesselJ[1, x], {x, -10, 10}]Definite integral of
(even integrand) over an interval centered at the origin:
Integrate[BesselJ[0, x], {x, -10, 10}]This is twice the integral over half the interval:
2 Integrate[BesselJ[0, x], {x, 0, 10}]Series Expansions (6)
Series[BesselJ[0, x], {x, 0, 7}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[BesselJ[0, x], {x, 0, m}], {m, 2, 7, 2}];
Plot[{BesselJ[0, x], terms}, {x, -8, 8}, PlotRange -> {All, {-1, 1.5}}]General term in the series expansion of BesselJ:
SeriesCoefficient[BesselJ[0, x], {x, 0, n}]Series[BesselJ[-1 / 2, x], {x, 0, 7}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[BesselJ[-1 / 2, x], {x, 0, m}], {m, 2, 7, 2}];
Plot[{BesselJ[-1 / 2, x], terms}, {x, 0, 10}, PlotRange -> {All, {-1, 1.5}}]Asymptotic approximation of BesselJ:
Series[BesselJ[n, x], {x, ∞, 2}]//NormalTaylor expansion at a generic point:
Series[BesselJ[n, x], {x, x0, 2}]// FullSimplifyBesselJ can be applied to a power series:
BesselJ[1 / 3, Log[1 + x] + O[x] ^ 2]Integral Transforms (4)
Compute a Fourier transform using FourierTransform:
FourierTransform[BesselJ[0, t], t, ω]LaplaceTransform[BesselJ[n, t], t, s]HankelTransform[BesselY[n, r], r, s ]MellinTransform[BesselJ[n, x], x, s]Function Identities and Simplifications (4)
Use FullSimplify to simplify Bessel functions:
FullSimplify[x BesselJ[2, x] + x BesselJ[0, x]]BesselJ[n - 1, z] BesselJ[-n, z] + BesselJ[1 - n, z] BesselJ[n, z] == (2 Sin[n π]/π z)//FullSimplifyFullSimplify[z (BesselJ[n - 1, z] + BesselJ[n + 1, z]) == 2n BesselJ[n, z]]For integer
and arbitrary fixed
,
:
FullSimplify[BesselJ[-n, z] == (-1)^n BesselJ[n, z], n∈ℤ]Function Representations (5)
Representation through BesselI:
FullSimplify[(z^n/(I z)^n)BesselI[n, I z]]Sum[ (-1)^k((x/2))^2k / (k!) ^ 2, {k, 0, ∞}]Integrate[ Cos[x Cos[2 π t]], {t, 0, 1}, Assumptions -> x > 0]Representation in terms of MeijerG:
MeijerGReduce[BesselJ[n, x], x]Activate[%]Representation in terms of DifferenceRoot:
DifferenceRootReduce[BesselJ[k, z], k]Applications (3)
Solve the Bessel differential equation:
DSolve[ x^2y''[x] + x y'[x] + (x - n)(x + n)y[x] == 0, y[x], x]Solve another differential equation:
DSolve[(a + x Cot[x]) y[x] + (x + 2 x^2 Cot[x]) Derivative[1][y][x] + x^2 Derivative[2][y][x] == 0, y[x], x]Fraunhofer diffraction is the type of diffraction that occurs in the limit of a small Fresnel number. Plot the intensity of the Fraunhofer diffraction pattern of a circular aperture versus diffraction angle:
Plot[2(BesselJ[1, 20Sin[θ]] / (20Sin[θ])) ^ 2, {θ, 0, π / 3}]Kepler's equation describes the motion of a body in an elliptical orbit. Approximate solution of Kepler's equation as a truncated Fourier sine series:
aKeplerE[ϵ_, m_] = m + Sum[(2/n)BesselJ[n, n ϵ]Sin[n m], {n, 1, 12}];eKeplerE[ϵ_Real, m_Real] := Block[{x}, x /. FindRoot[x - ϵ Sin[x] == m, {x, m}]]Plot the difference between solutions:
Plot[eKeplerE[0.5, m] - aKeplerE[0.5, m], {m, 0, 4Pi}]Properties & Relations (5)
Use FullSimplify to simplify Bessel functions:
FullSimplify[x BesselJ[2, x] + x BesselJ[0, x]]Sum and Integrate can produce BesselJ:
Sum[ (-1)^kx^2k / (k!) ^ 2, {k, 0, ∞}]Integrate[ Cos[x Cos[2 π t]], {t, 0, 1}, Assumptions -> x > 0]Find limits of expressions involving BesselJ:
Limit[(BesselJ[3, x]/Sin[x] - x), x -> 0]BesselJ can be represented as a DifferentialRoot:
DifferentialRootReduce[BesselJ[n, x], x]The exponential generating function for BesselJ:
ExponentialGeneratingFunction[BesselJ[n, k], n, x]Possible Issues (1)
With numeric arguments, half-integer Bessel functions are not automatically evaluated:
BesselJ[11 / 2, 1]For symbolic arguments they are:
BesselJ[11 / 2, x]This can lead to major inaccuracies in machine-precision evaluation:
{BesselJ[35 / 2, 1.], BesselJ[35 / 2, x] /. x -> 1.}Neat Examples (1)
With[{ν = 1 / 3, ε = 1*^-12}, ParametricPlot3D[Table[{r Cos[φ], r Sin[φ], Im[Exp[k ν π I] BesselJ[ν, r Exp[I φ]]]}, {k, -1, 1}], {r, ε, 3}, {φ, -π + ε, π - ε}, BoxRatios -> {1, 1, 2.5}, Mesh -> None, PlotStyle -> Directive[Hue[0.23], Opacity[0.6]]]]Tech Notes
History
Introduced in 1988 (1.0) | Updated in 1999 (4.0) ▪ 2000 (4.1) ▪ 2002 (4.2) ▪ 2021 (13.0) ▪ 2022 (13.1)
Text
Wolfram Research (1988), BesselJ, Wolfram Language function, https://reference.wolfram.com/language/ref/BesselJ.html (updated 2022).
CMS
Wolfram Language. 1988. "BesselJ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/BesselJ.html.
APA
Wolfram Language. (1988). BesselJ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BesselJ.html
BibTeX
@misc{reference.wolfram_2026_besselj, author="Wolfram Research", title="{BesselJ}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/BesselJ.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_besselj, organization={Wolfram Research}, title={BesselJ}, year={2022}, url={https://reference.wolfram.com/language/ref/BesselJ.html}, note=[Accessed: 12-June-2026]}