HypergeometricU[a,b,z]
is the Tricomi confluent hypergeometric function
.
HypergeometricU
HypergeometricU[a,b,z]
is the Tricomi confluent hypergeometric function
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
- The function
has the integral representation
. - HypergeometricU[a,b,z] has a branch cut discontinuity in the complex
plane running from
to
. - For certain special arguments, HypergeometricU automatically evaluates to exact values.
- HypergeometricU can be evaluated to arbitrary numerical precision.
- HypergeometricU automatically threads over lists.
- HypergeometricU can be used with Interval and CenteredInterval objects. »
Examples
open all close allBasic Examples (5)
HypergeometricU[3, 2, 1.]Plot
over a subset of the reals:
Plot[HypergeometricU[3, 2, x], {x, 0.5, 2}]Plot over a subset of the complexes:
ComplexPlot3D[HypergeometricU[3, 2, z], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[HypergeometricU[3, 2, x], {x, ∞, 5}]Series expansion at Infinity:
Series[HypergeometricU[3, 2, x], {x, ∞, 8}]//NormalScope (39)
Numerical Evaluation (5)
N[ HypergeometricU[1 / 3, 2 / 3, 2], 50]The precision of the output tracks the precision of the input:
HypergeometricU[1 / 3, 2 / 3, 2.000000000000000000000000000000]Evaluate for complex arguments:
HypergeometricU[3 - I, 2I, 3.0]Evaluate HypergeometricU efficiently at high precision:
HypergeometricU[1 / 3, 2, 3`500]//TimingHypergeometricU[1 / 3, 2, 3`2000];//TimingCompute worst-case guaranteed intervals using Interval and CenteredInterval objects:
HypergeometricU[2 / 3, 1 / 2, Interval[{0.21, 0.22}]]HypergeometricU[2 / 3, 1 / 2, CenteredInterval[1 / 5, 1 / 100]]Or compute average-case statistical intervals using Around:
HypergeometricU[1 / 2, 1, Around[1 / 2, 0.01]]Compute the elementwise values of an array:
HypergeometricU[1 / 2, 1 / 2, {{1 / 2, 0}, {1, 1 / 2}}]Or compute the matrix HypergeometricU function using MatrixFunction:
MatrixFunction[HypergeometricU[1 / 2, 1 / 2, #]&, {{1 / 2, 0}, {1, 1 / 2}}]Specific Values (3)
HypergeometricU automatically evaluates to simpler functions for certain parameters:
HypergeometricU[1, 3, x]HypergeometricU[1 / 2, 1, x]Limit[HypergeometricU[a, b, x], x -> Infinity]Find a value of
satisfying the equation
:
f[x_] := HypergeometricU[3, 2, x] - 1;
xzero = Solve[f[x] == 0 && 0 < x < 0.5, x][[1, 1, 2]]//QuietPlot[f[x], {x, 0, 1}, Epilog -> Style[Point[{xzero, f[xzero]}], PointSize[Large], Red]]Visualization (3)
Plot the HypergeometricU function:
Plot[{HypergeometricU[-1 / 2, Sqrt[3], x], HypergeometricU[-1 / 2, Sqrt[5], x], HypergeometricU[1 / 2, Sqrt[3], x], HypergeometricU[1 / 2, Sqrt[5], x]}, {x, 0, 4}]Plot HypergeometricU as a function of its second parameter:
Plot[{HypergeometricU[-Sqrt[5], b, 1], HypergeometricU[-Sqrt[2], b, 1], HypergeometricU[Sqrt[2], b, 1], HypergeometricU[Sqrt[5], b, 1]}, {b, -6, 6}]ComplexContourPlot[Re[HypergeometricU[1 / 2, Sqrt[3], z]], {z, -10 - 10I, 10 + 10I}, Contours -> 24]ComplexContourPlot[Im[HypergeometricU[1 / 2, Sqrt[3], z]], {z, -10 - 10I, 10 + 10I}, Contours -> 24]Function Properties (9)
Real domain of HypergeometricU:
FunctionDomain[HypergeometricU [a, b, z], z]Complex domain of HypergeometricU:
FunctionDomain[HypergeometricU [a, b, z], z, Complexes]FunctionAnalytic[HypergeometricU[Sqrt[3], Sqrt[2], z], z]
is neither non-decreasing nor non-increasing on its real domain:
FunctionMonotonicity[HypergeometricU[Sqrt[3], Sqrt[2], z], z, PositiveReals]FunctionInjective[HypergeometricU[Sqrt[3], Sqrt[2], z], z]Plot[{HypergeometricU[Sqrt[3], Sqrt[2], z], 2}, {z, 0, 2}]FunctionSurjective[HypergeometricU[Sqrt[3], Sqrt[2], z], z]Plot[{HypergeometricU[Sqrt[3], Sqrt[2], z], -2}, {z, 0, 2}]
is positive on its real domain:
FunctionSign[HypergeometricU[Sqrt[3], Sqrt[2], z], z, PositiveReals]
has both singularity and discontinuity for z≤0:
FunctionSingularities[HypergeometricU[Sqrt[3], Sqrt[2], z], z]FunctionDiscontinuities[HypergeometricU[Sqrt[3], Sqrt[2], z], z]FunctionConvexity[{HypergeometricU[Sqrt[3], Sqrt[2], z], z > 0}, z]TraditionalForm formatting:
HypergeometricU[a, b, z]//TraditionalFormDifferentiation (3)
D[HypergeometricU[a, b, x], x]derivs = Table[D[HypergeometricU[a, b, x], {x, n}], {n, 1, 4}]Plot higher derivatives for
and
:
Plot[Evaluate[derivs /. {a -> 1 / 2, b -> Sqrt[3]}], {x, 0, 3}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative", "Fourth Derivative"}]D[HypergeometricU[a, b, x], {x, n}]Integration (3)
Indefinite integral HypergeometricU:
Integrate[HypergeometricU[a, b, x], x]Definite integral of HypergeometricU:
Integrate[HypergeometricU[1, Sqrt[2], x], {x, 0, 1}]Integrate[x ^ (α - 1)HypergeometricU[a, b, x], x]Integrate[x ^ (α - 1)HypergeometricU[a, b, x], {x, 0, Infinity}, Assumptions -> Max[0, Re[b] - 1] < Re[α] < Re[a]]Series Expansions (3)
Series expansion for HypergeometricU:
Series[HypergeometricU[a, b, x], {x, 0, 3}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[HypergeometricU[1 / 2, Sqrt[3], x], {x, 0, m}], {m, 0, 2}];
Plot[{HypergeometricU[1 / 2, Sqrt[3], x], terms}, {x, 0, 2}]Expand HypergeometricU in series around infinity:
Series[HypergeometricU[a, b, x], {x, Infinity, 2}]Apply HypergeometricU to a power series:
HypergeometricU[1 / 7, 3 / 7, Log[1 + z] + O[z] ^ 2]Integral Transforms (3)
Compute the Laplace transform using LaplaceTransform:
LaplaceTransform[HypergeometricU[a, b, t], t, s]MellinTransform[HypergeometricU[a, b, r], r, s]HankelTransform[HypergeometricU[a, b, r], r, s]Function Identities and Simplifications (2)
z^1 - b HypergeometricU[a - b + 1, 2 - b, z]//FullSimplifyHypergeometricU[a, b, z] == (2 + 2 a - b + z) HypergeometricU[1 + a, b, z] - (1 + a) (2 + a - b) HypergeometricU[2 + a, b, z]//FullSimplify(a - b)HypergeometricU[a, b, z] == z HypergeometricU[a, b + 2, z] - (b + z) HypergeometricU[a, b + 1, z]//FullSimplifyFunction Representations (5)
(1/Gamma[a])Integrate[Exp[-z t]t^a - 1(1 + t)^b - a - 1, {t, 0, Infinity}, Assumptions -> Re[z] > 0 && Re[a] > 0]Representation through Gamma and Hypergeometric1F1:
(Gamma[1 - b]/Gamma[a - b + 1]) Hypergeometric1F1[a, b, z] + (Gamma[b - 1]/Gamma[a]) z^1 - b Hypergeometric1F1[a - b + 1, 2 - b, z]//FullSimplifyHypergeometricU can be represented in terms of MeijerG:
MeijerGReduce[HypergeometricU[a, b, x], x]Activate[%]HypergeometricU can be represented as a DifferentialRoot:
DifferentialRootReduce[HypergeometricU[a, b, x], x]TraditionalForm formatting:
HypergeometricU[a, b, z]//TraditionalFormApplications (3)
Solve the confluent hypergeometric differential equation:
DSolve[z w''[z] + (b - z) w'[z] - a w[z] == 0, w[z], z]Borel summation of the divergent series for the function
gives HypergeometricU:
Sum[z^-a(Pochhammer[a, k]Pochhammer[1 + a - b, k]/k!)(-(1/z))^k (t^k/k!), {k, 0, ∞}]Integrate[% Exp[-t], {t, 0, ∞}, Assumptions -> z > 0]The same result can be obtained using the Regularization option of Sum:
Sum[z^-a(Pochhammer[a, k]Pochhammer[1 + a - b, k]/k!)(-(1/z))^k, {k, 0, ∞}, Regularization -> "Borel"]Define distribution for scaled condition number of a WishartMatrixDistribution:
n = 200;
wmd = WishartMatrixDistribution[n, IdentityMatrix[n, SparseArray]];
cn𝒟 = MatrixPropertyDistribution[(1/n)Sqrt[(Max[#]/Min[#])]&[Eigenvalues[𝓂]], 𝓂wmd];Sample the scaled condition number of a large matrix and check that it agrees with asymptotic closed-form distribution:
asymp𝒟 = ProbabilityDistribution[(2κ + 4/κ^3)Exp[-(2/κ) - (2/κ^2)], {κ, 0, Infinity}];data = RandomVariate[cn𝒟, 2000];Show[
Histogram[data, {0.8}, PDF],
Plot[PDF[asymp𝒟, κ], {κ, 0.1, 30}, PlotRange -> All]]The asymptotic scaled condition number distribution has infinite mean:
generalizedMean = Expectation[κ^α, κasymp𝒟, Assumptions -> 0 < α < 1]meanScaledCN = Limit[generalizedMean, α -> 1, Direction -> 1]Properties & Relations (4)
Use FunctionExpand to expand HypergeometricU into simpler functions:
HypergeometricU[3 / 2, 1 / 2, x]FunctionExpand[%]Integrate may give results involving HypergeometricU:
Integrate[t^1 / 3 (t + 1)^2 / 3 Exp[-t], {t, 0, Infinity}]HypergeometricU can be represented as a DifferentialRoot:
DifferentialRootReduce[HypergeometricU[a, b, z], z]HypergeometricU can be represented as a DifferenceRoot:
DifferenceRootReduce[HypergeometricU[k, 1, 2], k]DifferenceRootReduce[HypergeometricU[z, k, y], k]Possible Issues (1)
The default setting of $MaxExtraPrecision can be insufficient to obtain requested precision:
N[HypergeometricU[10 ^ 4, 1 / 3, 1], 20]A larger setting for $MaxExtraPrecision may be needed:
Block[{$MaxExtraPrecision = 100}, N[HypergeometricU[10 ^ 4, 1 / 3, 1], 20]]Neat Examples (2)
Visualize the confluency relation
:
Block[{a = 3 / 2, b = 1, z = 1 / 2}, Plot[Abs[Hypergeometric2F1[a, a - b + 1, E ^ t, 1 - E ^ t / z] / z ^ a / HypergeometricU[a, b, z]], {t, 5, 10}]]With[{a = 1 / 2, b = 2 / 3, ε = 1*^-12},
Show[Table[ParametricPlot3D[{r Cos[φ], r Sin[φ], Im[Exp[-2π I b k]HypergeometricU[a, b, r Exp[I φ]] + (2π I/Gamma[a - b + 1])Exp[-π I b k]ChebyshevU[k - 1, Cos[π b]]Hypergeometric1F1Regularized[a, b, r Exp[I φ]]]}, {r, 0, 3}, {φ, -π + ε, π - ε}, Mesh -> None, PlotPoints -> 21, PlotStyle -> Directive[Hue[0.85], Opacity[0.6]]], {k, -1, 1}], BoxRatios -> {1, 1, 3}, PlotRange -> {All, All, {-5, 5}}]]Tech Notes
Related Guides
Related Links
History
Introduced in 1988 (1.0) | Updated in 2021 (13.0) ▪ 2022 (13.1)
Text
Wolfram Research (1988), HypergeometricU, Wolfram Language function, https://reference.wolfram.com/language/ref/HypergeometricU.html (updated 2022).
CMS
Wolfram Language. 1988. "HypergeometricU." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2022. https://reference.wolfram.com/language/ref/HypergeometricU.html.
APA
Wolfram Language. (1988). HypergeometricU. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/HypergeometricU.html
BibTeX
@misc{reference.wolfram_2026_hypergeometricu, author="Wolfram Research", title="{HypergeometricU}", year="2022", howpublished="\url{https://reference.wolfram.com/language/ref/HypergeometricU.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_hypergeometricu, organization={Wolfram Research}, title={HypergeometricU}, year={2022}, url={https://reference.wolfram.com/language/ref/HypergeometricU.html}, note=[Accessed: 13-June-2026]}