Evaluar numéricamente derivadas de funciones hipergeométricas.

Sep 01 2020

Me gustaría evaluar numéricamente los coeficientes de expansión de una serie. Esto suele ser sencillo de hacer, sin embargo, en este caso me encuentro con términos del siguiente tipo:

$$^{\phantom{0}}_2F_1^{(0,1,0,1)} \left( \frac{1}{2} , 1 , \frac{3}{2} , 0 \right). \tag{1}$$

El uso Nde una expresión de este tipo da el siguiente resultado:

Limit[Indeterminate, System`HypergeometricPFQDump`eps$148402513$148402514 -> 0, Analytic -> False, Assumptions -> True, Direction -> Automatic, Method -> "InternalClassic"]

No estoy seguro de cómo interpretar este mensaje, pero cuando trazo esta función:

$$^{\phantom{0}}_2F_1^{(0,1,0,1)} \left( \frac{1}{2} , 1 , \frac{3}{2} , x \right), \tag{2}$$

para $-1<x<1$ parece continuo (y distinto de cero) en $x=0$. Entonces, ¿qué pasa? ¿Cómo puedo obtener los valores numéricos de expresiones como (1)? Tengo otras funciones hipergeométricas similares con el mismo problema. Intenté aumentar la precisión de trabajo de Npero eso no ayudó.

El código que crea el mensaje inesperado anterior:

\!\(\*SuperscriptBox[\(Hypergeometric2F1\), TagBox[RowBox[{"(",RowBox[{"0", ",", "1", ",", "0", ",", "1"}], ")"}],Derivative],MultilineFunction->None]\)[1/2, 1, 3/2, 0] // N

Respuestas

2 Roman Sep 01 2020 at 12:27

En mi experiencia, a menudo es más fácil expresar la función hipergeométrica en términos de su suma definitoria y luego trabajar con los términos de esta suma individualmente.

Para el presente caso, partiendo de $$ g(x,y)={_2}F_{1}\left(\frac12,y,\frac32,x\right)= \sum_{k=0}^{\infty}\frac{\left(\frac12\right)_k\left(y\right)_k}{\left(\frac32\right)_k}\frac{x^k}{k!} $$ tenemos $$ \frac{\partial^2 g(x,y)}{\partial x\partial y}= \sum_{k=0}^{\infty}\frac{\left(\frac12\right)_k\left(y\right)_k\left[\psi(y+k)-\psi(y)\right]}{\left(\frac32\right)_k}\frac{k x^{k-1}}{k!} $$ en términos de la función digamma $\psi(z)$eso está PolyGammaen Mathematica.

Evaluar los términos en la suma para los valores específicos $y=1$ y $x=0$:

Table[Pochhammer[1/2,k]*Pochhammer[y,k]*(PolyGamma[y+k]-PolyGamma[y])/Pochhammer[3/2,k]*
      k*x^(k-1)/k!, {k, 0, 20}] /. {y -> 1, x -> 0}

(*    {0, 1/3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}    *)

Entonces ves que solo queda un término, y el resultado es $1/3$.

Otra forma de proceder es tomar las derivadas una a una y estudiar los resultados intermedios:

D[Hypergeometric2F1[1/2, y, 3/2, x], x]

(*    ((1 - x)^-y - Hypergeometric2F1[1/2, y, 3/2, x])/(2 x)    *)

Limit[%, x -> 0]

(*    y/3    *)

lo que implica que $\left.\frac{\partial^2 g(x,y)}{\partial x \partial y}\right|_{x=0}=\frac13$ $\forall y$.