StruveH[n,z]
gives the Struve function
.
StruveH
StruveH[n,z]
gives the Struve function
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
for integer n satisfies the differential equation
. - StruveH[n,z] has a branch cut discontinuity in the complex
plane running from
to
. - For certain special arguments, StruveH automatically evaluates to exact values.
- StruveH can be evaluated to arbitrary numerical precision.
- StruveH automatically threads over lists.
Examples
open all close allBasic Examples (5)
StruveH[0, 5.2]Plot[StruveH[0, x], {x, 0, 50}]Plot over a subset of the complexes:
ComplexPlot3D[StruveH[2, z], {z, -1 - I, 1 + I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[StruveH[0, x], {x, 0, 10}]Asymptotic expansion at Infinity:
Series[StruveH[0, x], {x, ∞, 3}]//Normal//FullSimplifyScope (43)
Numerical Evaluation (6)
Evaluate numerically to high precision:
N[StruveH[0, 4], 50]The precision of the output tracks the precision of the input:
StruveH[0, 4.000000000000000000000000]Evaluate for complex arguments and parameters:
StruveH[7 / 3 + I, 4.5 - I]Evaluate StruveH efficiently at high precision:
StruveH[0, 1.2`500]//TimingStruveH[0, 1.2`10000];//TimingStruveH threads elementwise over lists:
StruveH[1, {0.5, 1.0, 1.5}]Compute average-case statistical intervals using Around:
StruveH[2, Around[2, 0.01]]Compute the elementwise values of an array:
StruveH[.2, {{1, 2}, {3, 4}}]Or compute the matrix StruveH function using MatrixFunction:
MatrixFunction[StruveH[.2, #]&, {{1, 2}, {3, 4}}]Specific Values (4)
For half-integer indices, StruveH evaluates to elementary functions:
StruveH[1 / 2, x]Limit[{StruveH[0, x], StruveH[1, x], StruveH[2, x]}, x -> Infinity]Value of
at a complex infinity is indeterminate:
StruveH[1 / 2, ComplexInfinity]xzero = Solve[StruveH[0, x] == 0 && 4.0 < x < 5.0, x][[1, 1, 2]]//QuietPlot[StruveH[0, x], {x, 0, 10}, Epilog -> Style[Point[{xzero, StruveH[0, xzero]}], PointSize[Large], Red]]Visualization (5)
Plot the StruveH function for
:
Plot[{StruveH[0, x], StruveH[1, x], StruveH[2, x], StruveH[3, x], StruveH[4, x], StruveH[5, x]}, {x, -8, 8}]Plot the StruveH function for negative integer values of
:
Plot[{StruveH[-3, x], StruveH[-2, x], StruveH[-1, x]}, {x, -10, 10}]Plot the StruveH function for half-integer values of
:
Plot[{StruveH[-5 / 2, x], StruveH[-3 / 2, x], StruveH[-1 / 2, x], StruveH[1 / 2, x], StruveH[3 / 2, x], StruveH[5 / 2, x]}, {x, 0, 10}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Re[StruveH[0, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[StruveH[0, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Re[StruveH[-3, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[StruveH[-3, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]Function Properties (9)
Function domain of StruveH for half-integer
:
{FunctionDomain[StruveH[1 / 2, x], x], FunctionDomain[StruveH[3 / 2, x], x], FunctionDomain[StruveH[5 / 2, x], x]}{FunctionDomain[StruveH[1 / 2, z], z, Complexes], FunctionDomain[StruveH[3 / 2, z], z, Complexes], FunctionDomain[StruveH[5 / 2, z], z, Complexes]}Approximate function range of
:
FunctionRange[StruveH[-1 / 2, x], x, y]//NFunctionRange[StruveH[5 / 2, x], x, y]StruveH[n, -x]//FunctionExpand
is analytic in the interior of its real domain:
FunctionAnalytic[{StruveH[1 / 3, x], x > 0}, x]It is not analytic everywhere, as it has both singularities and discontinuities:
FunctionSingularities[StruveH[1 / 3, x], x]FunctionDiscontinuities[StruveH[1 / 3, x], x]
is neither nondecreasing nor nonincreasing:
FunctionMonotonicity[{StruveH[1 / 3, x], x >= 0}, x]FunctionInjective[StruveH[1 / 3, x], x]Plot[{StruveH[1 / 3, x], .5}, {x, 0, 20}]FunctionSurjective[StruveH[1 / 2, x], x]Plot[{StruveH[1 / 2, x], -1}, {x, 0, 25}]
is neither non-negative nor non-positive:
FunctionSign[{StruveH[1 / 3, x], x >= 0}, x]
is neither convex nor concave:
FunctionConvexity[{StruveH[1 / 3, x], x >= 0}, x]Differentiation (3)
D[StruveH[n, z], z]derivs = Table[D[StruveH[n, x], {x, k}], {k, 1, 3}]Plot[Evaluate[derivs /. n -> 0], {x, -10, 10}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]Plot[Evaluate[derivs /. n -> 1 / 2], {x, 0, 10}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]D[StruveH[n, x], {x, k}]Integration (4)
Integrate[StruveH[n, x], x]Definite integral of StruveH:
Integrate[StruveH[n, x], {x, 0, Infinity}, Assumptions -> {-2 < n < 0}]Definite integral of the odd integrand
over an interval centered at the origin is 0:
Integrate[StruveH[0, x], {x, -1, 1}]Definite integral of the even integrand
over an interval centered at the origin:
Integrate[StruveH[1, x], {x, -1, 1}]This is twice the integral over half the interval:
2 Integrate[StruveH[1, x], {x, 0, 1}]//ExpandSeries Expansions (4)
Series[StruveH[0, x], {x, 0, 7}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[StruveH[0, x], {x, 0, m}], {m, 1, 5, 2}];
Plot[{StruveH[0, x], terms}, {x, -3, 3}]General term in the series expansion of
:
SeriesCoefficient[StruveH[0, x], {x, 0, n}]Series expansion of StruveH at infinity:
Series[StruveH[n, x], {x, Infinity, 1}]//FullSimplifyStruveH can be applied to a power series:
Assuming[x > 0, StruveH[0, Log[1 + x] + O[x] ^ 10]]Integral Transforms (2)
Compute the Hankel transform using HankelTransform:
HankelTransform[StruveH[n, r], r, s]Mellin transform for
using MellinTransform:
MellinTransform[StruveH[0, x], x, s]Function Identities and Simplifications (2)
StruveH[n, I z]//FunctionExpandStruveH[n, Sqrt[z^2]]//FunctionExpandStruveH[n, z] == (2 (n + 1)/z) StruveH[n + 1, z] - StruveH[n + 2, z] + (2^-1 - n z^n + 1/Sqrt[π] Gamma[(5/2) + n])//FullSimplifyFunction Representations (4)
((z/2))^(n + 1)Sum[((-1)^k/Gamma[k + (3/2)]Gamma[k + n + (3/2)])((z/2))^2k, {k, 0, Infinity}]//FullSimplifyRepresentation in terms of StruveL:
I z^n (-I z)^-n StruveL[n, -I z]//FullSimplifyStruveH can be represented in terms of MeijerG:
MeijerGReduce[StruveH[n, x], x]Activate[%]//SimplifyTraditionalForm formatting:
StruveH[n, x]//TraditionalFormGeneralizations & Extensions (1)
StruveH can be applied to a power series:
StruveH[0, Log[1 + x] + O[x] ^ 10]Applications (2)
Solve the inhomogeneous Bessel differential equation:
DSolve[x^2y''[x] + x y'[x] + (x ^ 2 - 1)y[x] == (2/π)x ^ 2, y[x], x]The diffraction pattern from an infinitely long line source by a circular aperture:
LogPlot[3Pi / (8x ^ 2) StruveH[1, 2x], {x, -30, 30}, MaxRecursion -> 1]Tech Notes
Related Guides
Related Links
History
Introduced in 1999 (4.0)
Text
Wolfram Research (1999), StruveH, Wolfram Language function, https://reference.wolfram.com/language/ref/StruveH.html.
CMS
Wolfram Language. 1999. "StruveH." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/StruveH.html.
APA
Wolfram Language. (1999). StruveH. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StruveH.html
BibTeX
@misc{reference.wolfram_2026_struveh, author="Wolfram Research", title="{StruveH}", year="1999", howpublished="\url{https://reference.wolfram.com/language/ref/StruveH.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_struveh, organization={Wolfram Research}, title={StruveH}, year={1999}, url={https://reference.wolfram.com/language/ref/StruveH.html}, note=[Accessed: 13-June-2026]}