6
$\begingroup$

During the analysis of OEIS sequence A179381 I got the following expression with an infinite product:

$$\prod _{k=1}^{\infty } \left(1-4^{-k} C_{k-1}\right)$$

 N[Product[1 - CatalanNumber[k-1]/4^k, {k, 1, Infinity}]]

 (* 0.582348 *)

How to calculate this infinite product with higher precision ? With N[..., 10] I got an error message

 (* NIntegrate::ncvb: NIntegrate failed to converge to prescribed accuracy after 9 recursive bisections... *)

I will get the same error message after the transformation to an infinite sum

 N[Exp[Sum[Log[1 - CatalanNumber[k-1]/4^k], {k, 1, Infinity}]], 10]

Does anyone have any idea how to calculate more decimal places?

$\endgroup$
  • $\begingroup$ This seems to be very slowly convergent. When I manually performed Wynn $\varepsilon$ on your product with 250 digit precision, I was only able to manage the result 0.5829. $\endgroup$ – J. M.'s technical difficulties Mar 10 '18 at 9:21
  • $\begingroup$ NProduct[1 - CatalanNumber[k - 1]/4^k, {k, 1, Infinity}, PrecisionGoal -> 20] yields 0.582348, but with the warning that "NIntegrate failed to converge". Perhaps increasing MaxRecursion? (as in NProduct[1 - CatalanNumber[k - 1]/4^k, {k, 1, Infinity}, PrecisionGoal -> 20, Method -> {NIntegrate, MaxRecursion -> 25}]) $\endgroup$ – AccidentalFourierTransform Mar 10 '18 at 18:45
2
$\begingroup$

Progress can be made by summing the logs of the terms in the product,

Exp@NSum[Log[1 - CatalanNumber[k - 1]/4^k], {k, 1, Infinity}]

This, in itself, gives the same result as in the question, 0.582348. Moreover, attempting to improve precision by means of the ideas suggested by AccidentalFourierTransform in a comment above are no more successful than they were for NProduct. However, because the terms in the sum approach zero for large k, the terms can be approximated there by

s = Series[Log[1 - CatalanNumber[k - 1]/4^k], {k, Infinity, 8}] // Normal
(* -17/(1024 k^5 π) - 3/(128 k^4 π) - 1/(32 k^3 π) - 25/(512 k^(7/2) Sqrt[π]) 
   - 3/(32 k^(5/2) Sqrt[π]) - 1/(4 k^(3/2) Sqrt[π]) *)

plus many more smaller terms (which are not discarded in the actual computation).

Comparing s with the summand at k == 10^4 shows good agreement.

N[(Log[1 - CatalanNumber[k - 1]/4^k] - s) /. k -> 10^4, 50]
(* -1.5905675495607351158866494466074940463334600411045*10^-37 *)

So, use this approximation to perform the summation for k > 10^4.

suml = NSum[s, {k, 10^4 + 1, Infinity}, WorkingPrecision -> 30, 
    PrecisionGoal -> 16, Method -> {NIntegrate, MaxRecursion -> 25}]
(* -0.00282091270584364563 *)

The sum for smaller k can, in principle, be performed by NSum using brute force, but it is quite slow. Instead, use

FunctionExpand[CatalanNumber[k - 1]/4^k]
(* Gamma[-(1/2) + k]/(4 Sqrt[π] Gamma[1 + k]) *)

which can be summed much more rapidly.

sums = NSum[Log[1 - Gamma[-(1/2) + k]/(4 Sqrt[π] Gamma[1 + k])], {k, 1, 10^4}, 
    WorkingPrecision -> 30, PrecisionGoal -> 16]
(* -0.5378660936971350 *)

Finally,

Exp[suml + sums]
(* 0.58234803808391506 *)

with an accuracy of about sixteen significant figures. Greater precision can be obtained in a similar manner, although the computations are likely to be much slower.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.