# Numerically evaluating parameter derivatives of a hypergeometric function

I am unable to obtain the numerical value of the derivative of the hypergeometric function. Please note that the (2,4,0,0) is the derivative with respect to the first and second argument

      N[Hypergeometric2F1(2,4,0,0)[0,1,2,1]]

• Derivative[2, 4, 0, 0][ Hypergeometric2F1][0, 1, 2, 1] Commented Dec 23, 2020 at 9:06
• With Maple 2020.2 I have: 291.989096054116602579595642923. Commented Dec 23, 2020 at 9:20
• It is also curious to me that why we can't calculate the 4-order derivative of the second variable. Only 3-order derivative is OK. Derivative[2, 3, 0, 0][Hypergeometric2F1][0, 1, 2, 1] // N Commented Dec 23, 2020 at 9:20
• A dirty workaround: func = (D[ D[Pochhammer[a, k] Pochhammer[b, k]/Pochhammer[c, k]*z^k/ k!, {a, 2}], {b, 4}] // FunctionExpand) /. z -> 1 /. c -> 2 /. b -> 1 // FullSimplify; NSum[ func /. a -> 10^-12, {k, 0, Infinity}] Commented Dec 23, 2020 at 9:23
• Another dirty workaround. ((Derivative[2, 3, 0, 0][Hypergeometric2F1][0, 1 + t, 2, 1] - Derivative[2, 3, 0, 0][Hypergeometric2F1][0, 1, 2, 1])/t /. t -> 10^-12) // N Commented Dec 23, 2020 at 9:24

If I use the integral representation of the Gaussian hypergeometric function, and then differentiate that before plugging in the arguments, I get the following expression:

$$\frac{2\pi^4}{5}+8 \int_0^1 \left(2(\operatorname{artanh}(1-2t))^2-\pi ^2\right)(\operatorname{artanh}(1-2t)\log(1-t))^2 \, \mathrm dt$$

which does not symbolically evaluate in Mathematica, but readily evaluates numerically:

(2 π^4)/5 + 8 NIntegrate[(2 ArcTanh[1 - 2 t]^2 - π^2) (ArcTanh[1 - 2 t] Log[1 - t])^2,
{t, 0, 1}, WorkingPrecision -> 30]
291.989096054116602579595642919


In general, parameter derivatives of hypergeometric functions can get easily complicated, so I am not overly surprised that a symbolic route did not easily yield a known expression in terms of other special functions known to Mathematica.

Have a look at the definition of the hypergeometric function: you can see that $$_2F_1(a,b;2;1)=\frac{\Gamma(2-a-b)}{\Gamma(2-a)\Gamma(2-b)}$$:

h[a_,b_] = Sum[Pochhammer[a, k]*Pochhammer[b, k]/Pochhammer[2, k] * 1/k!, {k, 0, ∞}]
(*    Gamma[2 - a - b]/(Gamma[2 - a] Gamma[2 - b])    *)


The general form of this hypergeometric function at $$z=1$$ is described on the Wolfram Functions site. Thanks @DrWolfgangHintze!

The derivatives now become explicit:

D[h[a, b], {a, 2}, {b, 4}] /. {a -> 0, b -> 1} // FullSimplify
(*    68*π^6/315 + 24*(Zeta[3]^2+2*Zeta[5])    *)

% // N
(*    291.989    *)

• @ Roman Very good idea! The general formula is $_2F_1(a,b,c,1) = \frac{\Gamma(c-b-a) \Gamma(c)}{\Gamma(c-a)\Gamma(c-b)}$. Unfortunately, my Mathematica was not able to verify this formula. Commented Dec 29, 2020 at 21:57
• @Dr. and Roman, indeed, using Gauß's hypergeometric theorem is a clever idea... Commented Dec 30, 2020 at 9:28
• Thanks to Dr. Wolfgang Hintze and J.M. for putting this calculation in its proper mathematical frame. Commented Dec 30, 2020 at 11:45

Increasing MaxExtraPrecision to the value 1000 helps.

$MaxExtraPrecision = 1000; N[Derivative[2, 4, 0, 0][Hypergeometric2F1][0, 1, 2, 1],20] (*291.98909605411660258*)  Try this, you will see what is going on: $MaxExtraPrecision = 100;
N[Derivative[2, 4, 0, 0][Hypergeometric2F1][0, 1, 2, 1],20]

(*N::meprec: Internal precision limit \$MaxExtraPrecision = 100. reached while evaluating (Hypergeometric2F1^(2,4,0,0))[0,1,2,1].*)
(*292*)
`