HankelH1[n,z]
gives the Hankel function of the first kind
.
HankelH1
HankelH1[n,z]
gives the Hankel function of the first kind
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
is given by
. - HankelH1[n,z] has a branch cut discontinuity in the complex z plane running from
to
. - For certain special arguments, HankelH1 automatically evaluates to exact values.
- HankelH1 can be evaluated to arbitrary numerical precision.
- HankelH1 automatically threads over lists.
- HankelH1 can be used with a CenteredInterval object. »
Examples
open all close allBasic Examples (5)
HankelH1[3, 1.2]Plot the real and imaginary parts of the function:
ReImPlot[HankelH1[1, x], {x, -10, 10}]Plot over a subset of the complexes:
ComplexPlot3D[HankelH1[-1 / 2, z], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[HankelH1[2, x], {x, 0, 3}]Series expansion at Infinity:
Series[HankelH1[2, x], {x, ∞, 2}]//NormalScope (33)
Numerical Evaluation (6)
HankelH1[2., 3]N[HankelH1[1 / 7, 5], 50]The precision of the output tracks the precision of the input:
HankelH1[0.222222222222000000000, 3]N[HankelH1[23 / 47, 5 - I]]Evaluate efficiently at high precision:
HankelH1[3 / 47, 5`100]//TimingHankelH1[5 / 71, 5`1000];//TimingHankelH1 can be used with a CenteredInterval object:
HankelH1[1, CenteredInterval[2 / 3, 1 / 100]]Compute the elementwise values of an array:
HankelH1[.3, {{2 - I, 5I}, {1 + I, 4I}}]Or compute the matrix HankelH1 function using MatrixFunction:
MatrixFunction[HankelH1[.3, #]&, {{2 - I, 5I}, {1 + I, 4I}}]Specific Values (4)
Limit[HankelH1[n, x], x -> Infinity]Evaluate HankelH1 symbolically for noninteger orders:
HankelH1[1 / 2, x]//FunctionExpandHankelH1[1 / 3, x]//FunctionExpandHankelH1 for symbolic n:
HankelH1[n, 1 ]//FunctionExpandFind the first positive maximum for the real part of HankelH1[1/2,x]:
sol = FindRoot[Re[D[HankelH1[1 / 2, x], x]] == 0, {x, 1}]xmax = x /. sol;
Plot[Re[HankelH1[1 / 2, x]], {x, 0, 8}, Epilog -> Style[Point[{xmax, Re[HankelH1[1 / 2, xmax]]}], PointSize[Large], Red]]Visualization (4)
Plot the absolute values and phase of the HankelH1 function for various orders:
AbsArgPlot[{HankelH1[0, x], HankelH1[1, x], HankelH1[2, x]}, {x, 0, 10}, PlotLegends -> Automatic]Plot the real and imaginary parts of the HankelH1 function for various orders:
ReImPlot[{HankelH1[0, x], HankelH1[1, x], HankelH1[2, x]}, {x, 0, 10}]ComplexContourPlot[Re[HankelH1[0, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[HankelH1[0, z]], {z, -3 - 3I, 3 + 3I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Re[HankelH1[1 / 2, z]], {z, -3 - 3I, 3 + 3I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[HankelH1[1 / 2, z]], {z, -3 - 3I, 3 + 3I}, IconizedObject[«PlotOptions»]]Function Properties (7)
Complex domain for
is the whole plane except
:
FunctionDomain[HankelH1[n, z], z, Complexes]It is not defined as a function from
to
:
FunctionDomain[HankelH1[n, z], z]HankelH1 is a complex linear combination of BesselJ and BesselY:
FullSimplify[HankelH1[x, n] == BesselJ[x, n] + I BesselY[x, n]]For integer
and arbitrary fixed
,
:
Table[FullSimplify[HankelH1[-n, z] == (-1)^n HankelH1[n, z]], {n, 0, 4}]
is not an analytic function of
:
FunctionAnalytic[HankelH1[n, z], z, Complexes]HankelH1 is not injective over complexes:
Table[FunctionInjective[HankelH1[a, x], x, Complexes], {a, 4}]Use FindInstance to find inputs that demonstrate it is not injective:
FindInstance[HankelH1[1, x] == SphericalHankelH1[1, y] && x ≠ y, {x, y}]
has both singularities and discontinuities along the negative real axis:
FunctionSingularities[HankelH1[n, z], z, Complexes]//ReduceFunctionDiscontinuities[HankelH1[n, z], z, Complexes]//ReduceTraditionalForm formatting:
HankelH1[n, r]//TraditionalFormDifferentiation (3)
First derivative with respect to z:
D[HankelH1[n, z], z]Higher derivatives with respect to z:
Table[D[HankelH1[n, z], {z, k}], {k, 1, 3}]//FullSimplifyPlot the higher derivatives with respect to z when n=2:
Plot[Evaluate[Abs[%] /. { n -> 2}], {z, -3, 3}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]Formula for the ![]()
derivative with respect to z:
D[HankelH1[n, z], {z, k}]// FullSimplifyIntegration (3)
Compute the indefinite integral using Integrate:
Integrate[HankelH1[3, x], x]Integrate[HankelH1[1 / 2, x], {x, 0, 3}]Integrate[HankelH1[1 / 2, x]HankelH2[3 / 2, x], x]//FullSimplifyIntegrate[x ^ 2 HankelH1[3 / 2, x], {x, 0, 5}]//FullSimplifySeries Expansions (6)
Find the Taylor expansion using Series:
Series[HankelH1[0, x], {x, 1, 3}]Plots of the first three approximations around
:
terms = Abs[Normal@Table[Series[HankelH1[0, x], {x, 1, m}], {m, 1, 3}]];
Plot[{Abs[HankelH1[0, x]], terms}, {x, -1, 3}]General term in the series expansion using SeriesCoefficient:
SeriesCoefficient[HankelH1[n, x], {x, 1, m}]// FullSimplifyAsymptotic approximation of HankelH1:
Series[HankelH1[n, x], {x, Infinity, 1}]// FullSimplifyFind series expansion for an arbitrary symbolic direction
:
Series[HankelH1[n, x], {x, DirectedInfinity[z], 1}, Assumptions -> x > 0]// FullSimplifyTaylor expansion at a generic point:
Series[HankelH1[n, x], {x, x0, 2}]// FullSimplifyHankelH1 can be applied to a power series:
HankelH1[2, Log[1 + x] + O[x] ^ 2]Applications (1)
There can be subtleties with asymptotic approximation when the function to be approximated approaches zero infinitely many times in every neighborhood of the approximation point. As an example, consider the asymptotic expansion of
near
:
besselJ = Normal@Series[BesselJ[1, x], {x, ∞, 2}]Consider the approximation of the never-zero Hankel function
:
hankel1 = Normal@Series[HankelH1[1, x], {x, ∞, 2}]//ExpandThis approximation is asymptotic:
AsymptoticLess[HankelH1[1, x] - hankel1, hankel1, x -> ∞]So is the approximation of the Hankel function of the second kind,
:
hankel2 = Normal@Series[HankelH2[1, x], {x, ∞, 2}]//ExpandAsymptoticLess[HankelH2[1, x] - hankel2, hankel2, x -> ∞]//QuietAs
, its approximation can be understood as nearly asymptotic, being the sum
of two such approximations:
FullSimplify[besselJ == (hankel1 + hankel2/2)]Properties & Relations (2)
Use FunctionExpand to convert to Bessel functions:
FunctionExpand[HankelH1[n, z]]Integrate expressions with HankelH1:
Integrate[HankelH1[2, x]^2, x]Possible Issues (1)
HankelH1 does not automatically evaluate symbolically for half-integer arguments:
HankelH1[1 / 2, x]Use FunctionExpand to obtain an expanded form:
FunctionExpand[%]Neat Examples (1)
With[{n = 0, ε = 1*^-12}, ParametricPlot3D[Table[{r Cos[φ], r Sin[φ], Im[(-1)^n k - 1((k - 1)HankelH1[n, r Exp[I φ]] + k HankelH2[n, r Exp[I φ]])]}, {k, -2, 2}], {r, ε, 3}, {φ, -π + ε, π - ε}, BoxRatios -> {1, 1, 2.5}, Mesh -> None, PlotStyle -> Directive[Hue[0.46], Opacity[0.6]]]]With[{ν = 1 / 3, ε = 1*^-12}, ParametricPlot3D[Table[{r Cos[φ], r Sin[φ], Im[-ChebyshevU[k - 2, Cos[ν π]]HankelH1[ν, r Exp[I φ]] - Exp[-ν π I]ChebyshevU[k - 1, Cos[ν π]]HankelH2[ν, r Exp[I φ]]]}, {k, -2, 2}], {r, ε, 3}, {φ, -π + ε, π - ε}, BoxRatios -> {1, 1, 2.5}, Mesh -> None, PlotStyle -> Directive[Hue[0.23], Opacity[0.6]]]]See Also
Tech Notes
Related Guides
Related Links
History
Text
Wolfram Research (2007), HankelH1, Wolfram Language function, https://reference.wolfram.com/language/ref/HankelH1.html.
CMS
Wolfram Language. 2007. "HankelH1." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/HankelH1.html.
APA
Wolfram Language. (2007). HankelH1. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/HankelH1.html
BibTeX
@misc{reference.wolfram_2026_hankelh1, author="Wolfram Research", title="{HankelH1}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/HankelH1.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_hankelh1, organization={Wolfram Research}, title={HankelH1}, year={2007}, url={https://reference.wolfram.com/language/ref/HankelH1.html}, note=[Accessed: 12-June-2026]}