StruveL[n,z]
gives the modified Struve function
.
StruveL
StruveL[n,z]
gives the modified Struve function
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
for integer
is related to the ordinary Struve function by
. - StruveL[n,z] has a branch cut discontinuity in the complex
plane running from
to
. - For certain special arguments, StruveL automatically evaluates to exact values.
- StruveL can be evaluated to arbitrary numerical precision.
- StruveL automatically threads over lists.
Examples
open all close allBasic Examples (5)
StruveL[0, 2.5]Plot[StruveL[0, x], {x, 0, 5}]Plot over a subset of the complexes:
ComplexPlot3D[StruveL[2, z], {z, -1 - I, 1 + I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[StruveL[0, x], {x, 0, 10}]Asymptotic expansion at Infinity:
Series[StruveL[0, x], {x, ∞, 3}]//Normal//SimplifyScope (42)
Numerical Evaluation (6)
Evaluate numerically to high precision:
N[StruveL[0, 4], 50]The precision of the output tracks the precision of the input:
StruveL[0, 4.000000000000000000000000]Evaluate for complex arguments and parameters:
StruveL[7 / 3 + I, 4.5 - I]Evaluate StruveL efficiently at high precision:
StruveL[0, 1.2`500]//TimingStruveL[0, 1.2`10000];//TimingStruveL threads elementwise over lists:
StruveL[1, {0.5, 1.0, 1.5}]Compute average-case statistical intervals using Around:
StruveL[2, Around[2, 0.01]]Compute the elementwise values of an array:
StruveL[.2, {{1, 2}, {3, 4}}]Or compute the matrix StruveL function using MatrixFunction:
MatrixFunction[StruveL[.2, #]&, {{1, 2}, {3, 4}}]Specific Values (4)
For half-integer indices, StruveL evaluates to elementary functions:
StruveL[1 / 2, x]Value of
at a complex infinity is indeterminate:
StruveL[1 / 2, ComplexInfinity]Limit[StruveL[n, x], x -> Infinity]f[x_] := StruveL[0, x] - 1;xzero = Solve[f[x] == 0 && 1.0 < x < 2.0, x][[1, 1, 2]]//QuietPlot[f[x], {x, 0, 3}, Epilog -> Style[Point[{xzero, f[xzero]}], PointSize[Large], Red]]Visualization (4)
Plot the StruveL function for integer
:
Plot[{StruveL[-3, x], StruveL[-2, x], StruveL[-1, x], StruveL[0, x], StruveL[1, x], StruveL[2, x]}, {x, -4, 4}]Plot the StruveL function for half-integer values of
:
Plot[{StruveL[-1 / 2, x], StruveL[1 / 2, x], StruveL[3 / 2, x]}, {x, 0, 3}]ComplexContourPlot[Re[StruveL[0, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[StruveL[0, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Re[StruveL[-3, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[StruveL[-3, z]], {z, -4 - 4I, 4 + 4I}, IconizedObject[«PlotOptions»]]Function Properties (9)
Function domain of StruveL for half-integer
:
{FunctionDomain[StruveL[-1 / 2, x], x], FunctionDomain[StruveL[1 / 2, x], x], FunctionDomain[StruveL[3 / 2, x], x]}{FunctionDomain[StruveL[1 / 2, z], z, Complexes], FunctionDomain[StruveL[3 / 2, z], z, Complexes], FunctionDomain[StruveL[5 / 2, z], z, Complexes]}Approximate function range of StruveL for half-integer values of
:
{FunctionRange[StruveL[1 / 2, x], x, y], FunctionRange[StruveL[3 / 2, x], x, y], FunctionRange[StruveL[5 / 2, x], x, y]}StruveL[n, -x]//FunctionExpand
is analytic in the interior of its real domain:
FunctionAnalytic[{StruveL[1 / 3, x], x > 0}, x]It is not analytic everywhere, as it has both singularities and discontinuities:
FunctionSingularities[StruveL[1 / 3, x], x]FunctionDiscontinuities[StruveL[1 / 3, x], x]
is nondecreasing on its real domain:
FunctionMonotonicity[{StruveL[1 / 2, x], x > 0}, x]FunctionInjective[StruveL[1 / 3, x], x]Plot[{StruveL[1 / 3, x], 20}, {x, 0, 7}]FunctionSurjective[StruveL[1 / 2, x], x]Plot[{StruveL[1 / 2, x], -2}, {x, -1, 5}]
is non-negative on its real domain:
FunctionSign[{StruveL[1 / 2, x], x > 0}, x]FunctionConvexity[{StruveL[1 / 2, x], x > 0}, x]Differentiation (3)
D[StruveL[n, z], z]derivs = Table[D[StruveL[n, x], {x, k}], {k, 1, 3}]Plot[Evaluate[derivs /. n -> 0], {x, -2, 2}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]Plot[Evaluate[derivs /. n -> 1 / 2], {x, 0, 2}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative"}]D[StruveL[n, x], {x, k}]Integration (4)
Integrate[StruveL[n, x], x]Integrate[Exp[-x]StruveL[n, x] / x, {x, 0, Infinity}, Assumptions -> Re[n] > -1]Definite integral of the odd integrand
over an interval centered at the origin is 0:
Integrate[StruveL[0, x], {x, -1, 1}]Definite integral of the even integrand
over an interval centered at the origin:
Integrate[StruveL[1, x], {x, -1, 1}]This is twice the integral over half the interval:
2 Integrate[StruveL[1, x], {x, 0, 1}]//ExpandSeries Expansions (4)
Series[StruveH[1, x], {x, 0, 10}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[StruveL[1, x], {x, 0, m}], {m, 2, 6, 2}];
Plot[{StruveL[1, x], terms}, {x, -5, 5}]General term in the series expansion of
:
SeriesCoefficient[StruveL[1, x], {x, 0, n}]Series expansion of StruveL at infinity:
Series[StruveL[n, x], {x, Infinity, 1}]//FullSimplifyStruveL can be applied to a power series:
Assuming[x > 0, StruveL[1 / 3, Log[1 + x] + O[x] ^ 3]]Integral Transforms (2)
Compute the Laplace transform using LaplaceTransform:
LaplaceTransform[StruveL[n, t], t, s]HankelTransform[StruveL[n, r], r, s]Function Identities and Simplifications (2)
StruveL[n, I z]//FunctionExpandStruveL[n, Sqrt[z^2]]//FunctionExpandStruveL[n, z] == (2 (n + 1)/z) StruveL[n + 1, z] + StruveL[n + 2, z] + (2^-1 - n z^n + 1/Sqrt[π] Gamma[(5/2) + n])//FullSimplifyFunction Representations (4)
((z/2))^(n + 1)Sum[(1/Gamma[k + (3/2)]Gamma[k + n + (3/2)])((z/2))^2k, {k, 0, Infinity}]//FullSimplifyRepresentation in terms of StruveH:
StruveL[n, z] == I z^n(-I z )^-n StruveH[n, -I z]//FullSimplifyStruveL can be represented in terms of MeijerG:
MeijerGReduce[StruveL[n, x], x]Activate[%]//FullSimplifyTraditionalForm formatting:
StruveL[n, x]//TraditionalFormGeneralizations & Extensions (1)
StruveL can be applied to a power series:
StruveL[1 / 3, Log[1 + x] + O[x] ^ 2]Applications (3)
Solve the inhomogeneous Bessel differential equation:
DSolve[x^2y''[x] + x y'[x] - (x ^ 2 + 1)y[x] == (2/π)x ^ 2, y[x], x]3D relativistic, non-Markovian transition PDF that has the Gaussian non-relativistic limit:
p[t_, x_, y_, z_] := 𝒩 HeavisideTheta[t - Sqrt[x ^ 2 + y ^ 2 + z ^ 2]] Exp[Sqrt[t ^ 2 - x ^ 2 - y ^ 2 - z ^ 2] / (2 σ)]Its normalization
is computed after a change of variables
:
4 π 𝒩 t^3 Integrate[Cos[ϕ]Sin[ϕ]^2Exp[(t/2σ)Cos[ϕ]], {ϕ, 0, π / 2}]//FunctionExpand//SimplifyThe mean saddle order in the mean-field
-trigonometric model as a function of temperature:
Plot[(1/2)(1 - StruveL[0, 5 / t] / BesselI[0, 5 / t]), {t, 0.1, 20}]Tech Notes
Related Guides
Related Links
History
Introduced in 1999 (4.0)
Text
Wolfram Research (1999), StruveL, Wolfram Language function, https://reference.wolfram.com/language/ref/StruveL.html.
CMS
Wolfram Language. 1999. "StruveL." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/StruveL.html.
APA
Wolfram Language. (1999). StruveL. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StruveL.html
BibTeX
@misc{reference.wolfram_2026_struvel, author="Wolfram Research", title="{StruveL}", year="1999", howpublished="\url{https://reference.wolfram.com/language/ref/StruveL.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_struvel, organization={Wolfram Research}, title={StruveL}, year={1999}, url={https://reference.wolfram.com/language/ref/StruveL.html}, note=[Accessed: 13-June-2026]}