Re: infinite product



Paul Abbott wrote:

The leading term of the asymptotic series expansion is

m^(2 a - b) Gamma[b + 1] / Gamma[a + 1]^2

so, if 2 a == b (not 2 Re[a] <= Re[b] as I stated),......

That was exactly the point I stumbled upon. My ansatz was to use Gauss's product formula: For n a positive integer put

(1) Gamma_n(x) := n! n^x/(x*(x+1)*(x+2)*....*(x+n))

Then

(2) Gamma(x) = lin_{n->oo} Gamma_n(x) .

By (1), we may write, for any n

(3) product_{k=1}^n (1+x/k) = n^x/(x*Gamma_n(x))

Now let r_1,...r_p be any complex numbers, m_1,...,m_p integers. Fix n.
Then, by (3)

product_{k=1}^n product_{i=1}^p (1+r_i*x/k)^m_i
(4)
= n^{sum_i r_i*m_i}*product_i r_i*x*Gamma_n(r_i*x)^{-m_i}

and so the exponentiated n causes trouble which your former statement did not fully relieve. But this now settles it, of course.


..............then one obtains

Gamma[b + 1] / Gamma[a + 1]^2

Note that 2 a is the coefficient of k^(-1) in the (expanded) numerator and b is the coefficient of k^(-1) in the denominator. This result generalizes to products with an arbitrary number of numerator and denominator terms. For example,

Product[ (1 + a[1]/k)(1 + a[2]/k) / ((1 + b[1]/k) (1 + b[2]/k) (1 + b[3]/k)), {k, 1, Infinity}]

is

Gamma[b[1]+1] Gamma[b[2]+1] Gamma[b[3]+1]
-----------------------------------------
Gamma[a[1]+1] Gamma[a[2]+1]

if a[1] + a[2] == b[1] + b[2] + b[3].

This is similar to the reasoning by the above ansatz: From (2) and (4), one expects for n -> oo

A) If sum_i r_i*m_i > 0: ,

product_{k=1}^n product_{i=1}^p (1+r_i*x/k)^m_i diverges

at least generically (what happens if some of the Gammas have poles, can these cancel the numerator?).

B) If sum_i r_i*m_i < 0: ,

product_{k=1}^n product_{i=1}^p (1+r_i*x/k)^m_i -> 0

C) (the interesting case) If sum_i r_i*m_i = 0: ,

product_{k=1}^n product_{i=1}^p (1+r_i*x/k)^m_i ->
(5)
product_i r_i*x*Gamma(r_i*x)^{-m_i}

= product_i Gamma(1+r_i*x)^{-m_i}


Now, both products

K3 = \prod (1 + 1/k + 1/k^2)^2/(1 + 2/k + 3/k^2)

K4 = \prod (1 + 1/k + 1/k^2 + 1/k^3)^2/(1 + 2/k + 3/k^2 + 4/k^3)

are such that the coefficient of k^(-1) in the (expanded) numerator is the same as that of the denominator. Indeed, for finite n and m, infinite products over k of terms of the form

1 + a[1]/k + a[2]/k^2 + ... + a[n]/k^n
--------------------------------------
1 + b[1]/k + b[2]/k^2 + ... + b[m]/k^m

where a[1] == b[1], can be computed in closed form, in terms of finite products of gamma functions of the roots of the numerator and denominator polynomials (in inverse powers of k).

Yes, this is what also results from (5): If

F(t) = 1 + a_1*t + a_2*t^2 + ... + a_m*t^m
and

G(t) = 1 + b_1*t + b_2*t^2 + ... + b_n*t^n

are polynomials, factor them as

F(t) = product_{i=1}^p (1+r_i*t)^m_i

G(t) = product_{j=1}^q (1+s_j*t)^n_j

Then a_1 = b_1 is equivalent to sum_i r_i*m_i + sum_j (-s_j)*n_j = 0, and then

product_{k=1}^oo F(x/k)/G(x/k)
(6)
= product_j Gamma(1+s_j*x)^n_j/product_i Gamma(1+r_i*x)^m_i

Note that this does not always give interesting formulae, since both sides may be zero because of poles of Gamma. This is e.g. the case for the triggering example

product_{k=1}^oo (1-x^2/k^2)/(1+x^2/k^2)

= Gamma(1-I*x)*Gamma(1+I*x)/(Gamma(1-x)*Gamma(1+x))

= sin(Pi*x)/sinh(Pi*x)

at x = 1 ; one then has to cancel the zeros on both sides via evaluation by the Rule of l'Hopital to arrive at

product_{k=2}^oo (1-1/k^2)/(1+1/k^2) = Pi/sinh(Pi)

It is for this reason that it is advisable to keep x in formula (6).

To finish, the formula for K4 is really nice and reasonably simple. This is the more astonishing as the experts Borwein and Corless state in [1]:

"We do not know any closed form expression for K_4, however."

You have the choice whether this renders you optimistic or thrusts you into depression. Optimistic, because it shows that, even if experts are at work, you may have a reasonable chance to outdo them. And depression, because it makes you think what expertise might be really worth.


Regards Boudewijn

.



Relevant Pages

  • Re: Conflicting needs for __init__ method
    ... single integer, another Rational instance, and perhaps floats, Decimal ... And when initializing from a pair of integers---a numerator ... sure that the denominator is positive. ... like negation or raising to a positive integer power, ...
    (comp.lang.python)
  • Re: Convert decimal to fraction string
    ... You can specify the maximum denominator to use in the ... Dim GCD As Long ... Dim TopNumber As Long ... Dim Numerator As Long ...
    (microsoft.public.vb.general.discussion)
  • Re: ga10- Integers found that form the sqrt(2) or transcendental numbers.
    ... the numerator and the denominator have the same number of decimal places. ... decimal comma to construct the integers until you have no comma (the limit of the sequence). ...
    (sci.math)
  • Struct vs Class
    ... The simplest declaration for the struct is: ... private Int32 _numerator; ... private Int32 _denominator; ...
    (microsoft.public.dotnet.languages.csharp)
  • Conflicting needs for __init__ method
    ... And when initializing from a pair of integers---a numerator ... sure that the denominator is positive. ... any of the above complications: it's easy and natural to arrange that ... possibly computationally expensive processing. ...
    (comp.lang.python)