JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Infinite Products and Their Convergence

A polynomial wears its roots on its sleeve as a product of factors. To carry that factored picture to functions with infinitely many zeros, we first need to make sense of multiplying infinitely many things — and the honest convergence rule has one surprising twist that addition never had.

Why multiply when we already know how to add?

Everything on the rungs below this one was built by adding: a Taylor series sum a_n (z - z_0)^n, a Laurent series with its negative powers, every estimate that turned a hard fact about an holomorphic function into a statement about a convergent sum. So why suddenly reach for multiplication? Because of one stubborn fact: zeros multiply. A polynomial is c(z - r_1)(z - r_2) ... (z - r_n), a finite product whose factors vanish exactly at its roots, and you can read every root straight off the page. A sum can never put zeros on display like that.

Now picture a function with infinitely many zeros — sin(pi z), say, which vanishes at every integer 0, plus/minus 1, plus/minus 2, and so on. We would dearly love to write it the polynomial way, as a product of one factor per zero. That is exactly the dream this whole rung chases: the Weierstrass factorization theorem in guide 3 will manufacture an entire function with any zeros you prescribe, and the famous sine product formula will write sin(pi z) as one clean infinite product. But before any of that, we have to answer the first honest question: what does it even MEAN to multiply infinitely many factors, and when does the answer settle down to something finite?

Partial products, and a twist addition never had

We copy the playbook from series exactly. For a sum, you watch the partial sums S_N = a_1 + ... + a_N and ask whether they settle. For a product, you watch the partial products P_N = b_1 b_2 ... b_N and ask the same thing. There is one convention worth adopting right away that makes everything cleaner: write each factor as 1 + a_n rather than as a bare b_n. So an infinite product is (1 + a_1)(1 + a_2)(1 + a_3) ..., and you watch P_N = (1 + a_1) ... (1 + a_N) as N grows. Writing factors as 1 + a_n is not cosmetic; it says out loud that, to settle, the factors must approach 1, which forces a_n to approach 0 — the multiplicative echo of 'terms must go to zero'.

Here is the twist that has no analogue for sums. With addition, the only way to settle is to add ever-smaller pieces. With multiplication you can also drift to zero — multiply by 0.9, then 0.99, then 0.999, and the running product can slide all the way down to 0 even though each factor is close to 1. We therefore make a deliberate choice: a product is said to converge only when P_N tends to a NONZERO limit P. Tending to 0 is counted as DIVERGENCE. This sounds fussy, but it keeps the theory honest: if a single factor were 0, the partial products would be 0 forever and any garbage after it would look 'convergent'. By outlawing the limit 0, a convergent product can vanish only through finitely many genuinely-zero factors — which is precisely how the zeros of a function will show up later.

The master trick: take a logarithm

How do you actually decide whether a product settles? The honest answer is to turn multiplication into addition — by taking a logarithm. The log of a product is the sum of the logs: log[(1 + a_1) ... (1 + a_N)] = log(1 + a_1) + ... + log(1 + a_N). So the partial PRODUCTS P_N settle to a nonzero limit precisely when the partial SUMS of log(1 + a_n) settle. In one stroke, the convergence of an infinite product becomes the convergence of a series you already know how to test. The hard multiplicative question has been traded for the familiar additive one.

log[ (1+a_1)(1+a_2) ... (1+a_N) ]  =  log(1+a_1) + log(1+a_2) + ... + log(1+a_N)

    product converges (nonzero)   <=>   series  sum log(1 + a_n)  converges

    and since  log(1 + a) = a - a^2/2 + ...  ~  a  for small a:

    product of (1 + a_n) converges ABSOLUTELY   <=>   sum |a_n|  <  infinity
Logarithms convert a product into a sum; because log(1 + a) behaves like a for small a, testing the product reduces to testing sum |a_n|.

That last line is the test you will actually use. Because the Taylor expansion gives log(1 + a) = a - a^2/2 + a^3/3 - ..., the log of a factor is approximately a_n itself when a_n is small — and the factors of any sensible product DO have small a_n. So the logarithm series sum log(1 + a_n) converges absolutely under exactly the same condition as the bare series sum a_n: namely when sum |a_n| is finite. The working slogan could not be simpler: sum |a_n| < infinity is the safe harbour. When it holds, the product converges to a nonzero value, and you may even reorder the factors freely without changing the answer, just as with an absolutely convergent series.

A tiny worked example, and one that fails

Let us test the safe-harbour rule on a real product before we trust it. Consider the product of (1 + 1/n^2) over n >= 1. Here a_n = 1/n^2, so sum |a_n| = sum 1/n^2, which famously equals pi^2/6 — finite. The rule promises a nonzero limit, and indeed the product converges to a perfectly good number (it is sinh(pi)/pi, though we do not need that). Contrast the failed product from earlier, (1 - 1/n): there a_n = -1/n and sum |a_n| = sum 1/n diverges, so the test correctly refuses to certify it — and indeed it slid to 0.

  1. Write the factors in the standard form 1 + a_n. For the product of (1 + 1/n^2) this is already done, with a_n = 1/n^2.
  2. Read off a_n and form the series of moduli sum |a_n|. Here sum |1/n^2| = sum 1/n^2.
  3. Test that series by any tool you already own — comparison, p-series, ratio test. Since sum 1/n^2 is a convergent p-series (p = 2 > 1), it is finite.
  4. Conclude: sum |a_n| < infinity, so the product converges absolutely to a nonzero limit, and its factors may be reordered at will. No zero factor appears, so the limit is genuinely nonzero.

When the factors are functions of z

So far the a_n were plain numbers. The whole reason we are here, though, is to build FUNCTIONS by multiplying, where each factor is 1 + f_n(z) and the deviations f_n(z) depend on the point z. Now a single number's convergence is not enough — we want the product to converge in a way that respects holomorphy, so that the limiting function is itself holomorphic. The right strength is uniform convergence on compact sets: on every closed bounded piece K of the region, the partial products approach their limit at a single rate that does not depend on which z in K you chose. Uniform limits of holomorphic functions are holomorphic (a Weierstrass theorem you met on the normal-families rung), so this is exactly the condition that lets the limit inherit holomorphy from its factors.

The practical handle mirrors the numerical case exactly. If on every compact subset K you can bound sum (sup over K of |f_n|) < infinity — the deviations are uniformly summable on K — then the product of (1 + f_n) converges uniformly on K to a holomorphic limit, and you may differentiate or integrate by working with the factors. This 'uniform summability of the deviations on compacta' is the standard hypothesis, sometimes called normal convergence, under which every construction on this rung is carried out. Why insist on compact pieces rather than the whole plane at once? Because the deviations of a real product like the sine formula do NOT stay uniformly small near infinity — sum |z^2/n^2| blows up as |z| grows. The cure is to fix attention on each disk |z| <= R at a time, where the tail is uniformly tiny, then let R grow to cover the plane disk by disk.

With this machinery in hand, the dream from the opening section becomes reachable. We now know exactly when an infinite product of functions converges to a holomorphic limit, and we know that the limit can vanish only at the finitely-many points where some factor was genuinely zero. The next guide, 'Factoring a Function by Its Zeros', spends that knowledge: it asks how to choose the factors so that their zeros land precisely where we want, sets up the bookkeeping that keeps sum |f_n| finite, and exposes the obstacle — naive factors like (1 - z/z_n) often fail to converge — that the Weierstrass elementary factors of guide 3 were invented to fix.