hypergeom function, no output

2 visualizaciones (últimos 30 días)
Sabhrant
Sabhrant el 14 de Abr. de 2024
Editada: Torsten el 15 de Abr. de 2024
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 comentarios
Sabhrant
Sabhrant el 14 de Abr. de 2024
Editada: Sabhrant el 14 de Abr. de 2024
Aah I see. Is there a way to know before hand, for which inputs it does analytic continuation?
Torsten
Torsten el 14 de Abr. de 2024
Editada: Torsten el 15 de Abr. de 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).

Iniciar sesión para comentar.

Respuesta aceptada

Torsten
Torsten el 14 de Abr. de 2024
Movida: Torsten el 14 de Abr. de 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
  1 comentario
Sabhrant
Sabhrant el 14 de Abr. de 2024
Thank you. I understand now.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Error Functions en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by