Skip to content

HypergeometricUStar ​

The regularized Tricomi confluent hypergeometric function U∗(a,b,z)=za U(a,b,z)U^*(a,b,z) = z^a\,U(a,b,z), for bb not an integer. Provided by @enumeratio/analytic.

✓ checked against that system · ! checked, with disagreements (hover a chip)FungrimHypergeometricUStar✓Fungrim entry
HypergeometricUStar(a, b, z)zaz^a times Tricomi's confluent hypergeometric U(a,b,z)U(a,b,z).
Typed signatures
TypePackageApplies
(number, number, number) -> numberanalyticalways

Domain: Special functions

Details
  • compute-engine declares HypergeometricU but does not evaluate it numerically (a symbolic stub only), so UU itself is supplied here via Kummer's connection formula in terms of the entire confluent hypergeometric M=1F1M = {}_1F_1: U(a,b,z)=Γ(1−b)Γ(a−b+1)M(a,b,z)+Γ(b−1)Γ(a)z1−bM(a−b+1,2−b,z)U(a,b,z) = \tfrac{\Gamma(1-b)}{\Gamma(a-b+1)}M(a,b,z) + \tfrac{\Gamma(b-1)}{\Gamma(a)}z^{1-b}M(a-b+1,2-b,z).
  • 1/Γ1/\Gamma is taken directly (zero at the nonpositive integers) rather than as a raw division, so the formula stays finite exactly where a−b+1a-b+1 or aa lands on one of Γ\Gamma's poles — not an edge case Fungrim's own identities avoid.
  • bb at (or very near) an integer is declined: both Γ(1−b)\Gamma(1-b) and Γ(b−1)\Gamma(b-1) blow up there, and the log-case limit that resolves it is not implemented. So is any point where the two terms of the formula cancel past a relative error of 10−1110^{-11} (a bb within about 10−310^{-3} of an integer, or a large zz): measured against mpmath on a grid of 546 real points, every answered point is within 5×10−125\times10^{-12}.
  • z1−bz^{1-b} and the closing zaz^a take the principal branch, matching mpmath's hyperu and Wolfram's HypergeometricU.

Examples

4 more kept as data, checked against the oracles
Basic #

U∗(12,32,2)=1U^*(\tfrac12,\tfrac32,2) = 1

live ↗
Inchop(N(HypergeometricUStar(1/2,3/2,2))−1)\mathrm{chop}(N(\mathrm{HypergeometricUStar}(1/2, 3/2, 2))-1)Out0.00.0

a generic point, checked against mpmath's hyperu

live ↗
InHypergeometricUStar(1.3,2.7,4)\mathrm{HypergeometricUStar}(1.3, 2.7, 4)Out1.113 705 290 586 790 61.113\,705\,290\,586\,790\,6
Possible issues #

integer bb stays symbolic — the connection formula's log-case limit is not implemented

live ↗
InHypergeometricUStar(1,2,3)\mathrm{HypergeometricUStar}(1, 2, 3)OutHypergeometricUStar(1,2,3)\mathrm{HypergeometricUStar}(1, 2, 3)
About
Examples7
CrosswalkFungrimFungrim entry ×11

Implementation

primitive · numericirreducibly numeric — it evaluates rather than rewrites

nativeenginetypescriptpackages/symbols/analysis/analytic/src/hypergeometric-ustar.ts
mappedexternalwolfram / mpmathpackages/oracle/src/mappings.ts

z^a HypergeometricU[a,b,z]; z**a * mpmath.hyperu(a,b,z).