I am trying to compute the sum "hypergeom([0.5 1 0.4 0.9],[0.95,1.45,1.4],-1)" in Matlab R2022a, but the function is not returning a value even after 5 minutes of waiting. On Mathematica, running the code "HypergeometricPFQ[{0.5 , 1, 0.4, 0.9}, {0.95, 1.45, 1.4}, -1]" immeditely returns as 0.928766. I am unable to understand why this sum is not getting computed. Is this a bug in the hypergeom function?

2 commentaires

Sabhrant
Sabhrant le 14 Avr 2024
Modifié(e) : Sabhrant le 14 Avr 2024
Aah I see. Is there a way to know before hand, for which inputs it does analytic continuation?
Torsten
Torsten le 14 Avr 2024
Modifié(e) : Torsten le 15 Avr 2024
The sum diverges for z = -1, and the analytical continuation seems to take quite a long time, especially at the boundary of the convergence radius (see below for the convergence criteria for the hypergeometric function).

Connectez-vous pour commenter.

 Réponse acceptée

Torsten
Torsten le 14 Avr 2024
Déplacé(e) : Torsten le 14 Avr 2024
The hypergeometric function has convergence criteria:
  • Converges if pq and |z| < ∞.
  • Converges if p = q + 1 and |z| < 1. For |z| >= 1, the series diverges, and is defined by analytic continuation.
  • Diverges if p > q + 1 and z ≠ 0. Here, the series is defined by an asymptotic expansion of pFq(a;b;z) around z = 0. The branch cut is the positive real axis.
And the analytic continuation takes quite long ...
format long
hypergeom([0.5 1 0.4 0.9],[0.95,1.45,1.4],-0.999999999999)
ans =
0.928766175273251

Plus de réponses (0)

Catégories

Produits

Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by