Analysis

The ripples that make a series run away

Adding up the first N terms of a Fourier series is the same as averaging the function against one fixed wiggly curve. Its area is always one, but the area of its absolute value grows like the logarithm of N, without limit — and that single number is enough to force a continuous function, with no jump and no corner anywhere, whose Fourier series diverges at a point. Averaging the partial sums removes the negative ripples, and with them the whole problem.

Worth reading first: A square wave built entirely out of round ones · A plucked string keeps its corners.

A square wave built out of round ones ends with a list of facts about convergence that the pictures could not show. The Fourier series of a continuous function can diverge at a point — du Bois-Reymond, 1873. Averaging the partial sums instead of taking them as they stand repairs it — Fejér, 1900. Both are stated there, as facts. This essay is about why they are true, and the reason turns out to be one picture and one number.

The picture is a curve called the Dirichlet kernel, which is what the NN-th partial sum does to any function whatever. The number is the area under its absolute value. That area grows without limit, but only as fast as the logarithm of NN — so slowly that the divergent series below takes 2642^{64} terms to reach 2.812.81 — and it is the whole of the obstruction. Continuity was never going to be enough, because no condition on the size of a function can beat a multiplier that grows. What averaging does is make the multiplier stop growing, and it does that by making the kernel positive.

A partial sum is an average against a fixed curve

The NN-th partial sum keeps the harmonics from N-N to NN. Written out with the coefficients as projections and the order of sum and integral exchanged, it is

SNf(x)=12πππf(xt)DN(t)dt,DN(t)=k=NNeikt=sin((N+12)t)sin(t/2).S_N f(x) = \frac{1}{2\pi}\int_{-\pi}^{\pi} f(x - t)\,D_N(t)\,dt, \qquad D_N(t) = \sum_{k=-N}^{N} e^{ikt} = \frac{\sin\big((N + \tfrac12)t\big)}{\sin(t/2)}.

The closed form for DND_N is a geometric series summed round the circle. What the formula says is that SNS_N does the same thing to every function: it slides the fixed curve DND_N along and averages ff against it. Everything about how partial sums behave, for every function at once, is a property of that one curve.

The Dirichlet kernel, a spike with ripples that do not die. The Dirichlet kernel for N = 4, 12 on the interval from −π to π: a central spike of height 2N + 1 and side ripples whose total area in absolute value grows with N.
Fig. 1 The kernel for N = 4 and N = 12. The central spike has height 2N + 1 and width shrinking like 1/N; the side ripples alternate in sign and do not shrink in height as N grows, they only crowd closer together. The signed area under each curve, divided by 2π, is exactly 1. The area of its absolute value is 1.880 for N = 4 and 2.294 for N = 12, and it keeps growing.

The spike in the middle does what a partial sum is supposed to do. It is tall and narrow, its signed area is exactly one, and averaging a function against it picks out the function’s value near xx. If the kernel were only the spike, partial sums would converge for every continuous function.

The ripples are the trouble. Away from the centre, DN(t)D_N(t) oscillates between roughly ±1/sin(t/2)\pm 1/\sin(t/2), and that envelope does not depend on NN. As NN grows the ripples crowd together but do not get lower. They alternate in sign, so their signed contributions nearly cancel, and for a smooth function that cancellation is what saves the day. But a function is free to have its own ups and downs, and a function whose ups meet the kernel’s ups and whose downs meet its downs gets no cancellation at all.

The most a partial sum can amplify

Take a function that never exceeds one in size and ask how large SNf(0)S_N f(0) can be. The average against DND_N is largest when ff equals +1+1 wherever DND_N is positive and 1-1 wherever it is negative, and then the average is the area under DN|D_N|:

LN=12πππDN(t)dt.L_N = \frac{1}{2\pi}\int_{-\pi}^{\pi}\big|D_N(t)\big|\,dt.

These are the Lebesgue constants, and LNL_N is exactly the factor by which the NN-th partial sum can magnify a function — the worst case, over every function of size at most one, of how large the partial sum can come out. The sign function is not continuous, but it can be made continuous by replacing each jump with a steep ramp, and the loss is as small as the ramps are narrow.

A function of size one that a partial sum turns into more than two. A continuous function bounded by 1, shaped to match the signs of the Dirichlet kernel D₁₀, and its 10-term Fourier partial sum, which rises to 2.22 at the origin.
Fig. 2 A continuous function that never leaves the band from −1 to 1, built to agree in sign with the ten-term kernel everywhere except in narrow ramps where it crosses from one sign to the other. Its ten-term partial sum is drawn over it. At the origin the partial sum is 2.221, against L10=2.223L_{10} = 2.223: a function of size one has been turned into a value more than twice as large, by nothing but truncating its series.

The figure’s function looks like a square wave that has been told where to switch, and that is exactly what it is. Its ten-term partial sum at the origin is 2.2212.221 — the function it came from never exceeded one. Nothing about the function is extreme. It is continuous, bounded, and changes sign twenty times. What is extreme is its alignment with the kernel, and any fixed NN has such a function.

The same function is harmless to other partial sums. Its sign pattern was cut to match the ripples of D10D_{10}, which sit at spacing 2π/212\pi/21; the ripples of D100D_{100} sit ten times closer, and against them the function’s slow switching averages out, so its partial sum at the origin falls from 2.222.22 at ten terms to 1.151.15 at thirty and 0.9850.985 at a hundred, settling on the function’s own value of one. A bad function for one NN is an ordinary function for the others. That is why the Lebesgue constants alone do not yet give a divergent series: a single function has to be bad for infinitely many NN at once, which means it has to carry sign patterns aligned with kernels at infinitely many scales, each small enough not to spoil continuity and each large enough to push its own partial sum up. Stacking them without letting them interfere is the whole difficulty of the construction below, and it is solved by putting the scales so far apart that each one has finished before the next begins.

The number is computable in closed form, which is how the figures check it: LN=12N+1+2πk=1N1ktankπ2N+1L_N = \frac{1}{2N+1} + \frac{2}{\pi}\sum_{k=1}^{N}\frac1k\tan\frac{k\pi}{2N+1}, a formula of Fejér’s, compared at small NN with a direct quadrature of DN|D_N| that shares none of its arithmetic. L1L_1 is 13+23/π=1.436\tfrac13 + 2\sqrt3/\pi = 1.436, and the constants rise from there.

Growing like a logarithm

How fast they rise is the heart of the matter, and it can be read off the picture. Away from the spike, DN(t)|D_N(t)| is sin((N+12)t)|\sin((N + \frac12)t)| divided by sin(t/2)t/2\sin(t/2) \approx t/2. The numerator oscillates so fast that it contributes its average value, 2/π2/\pi. So the ripples contribute roughly

1π1/Nπ2π2tdt=4π2ln(πN),\frac{1}{\pi}\int_{1/N}^{\pi} \frac{2}{\pi}\cdot\frac{2}{t}\,dt = \frac{4}{\pi^2}\ln(\pi N),

and the spike, whose area is bounded, contributes a constant. The Lebesgue constants grow like (4/π2)lnN(4/\pi^2)\ln N — without limit, but only as fast as the harmonic series, and for exactly the same reason: an integral of 1/t1/t.

How much a partial sum can amplify, as the number of terms grows. The Lebesgue constants Lₙ of the Fourier partial sums, N from 1 to 10000, on a logarithmic axis: a straight line of slope 4/π² per unit of ln N, against the constant 1 of Fejér's averaged sums.
Fig. 3 The Lebesgue constants computed exactly for every decade from N = 1 to N = 10,000, on a logarithmic axis, against the line (4/π2)lnN+1.2704(4/\pi^2)\ln N + 1.2704. From N = 10 on the two agree to within 0.02. At ten thousand terms a partial sum can multiply a function of size one by 4.98. The dashed line at 1 is what the averaged sums of the last section achieve at every N.

On a logarithmic axis the constants are a straight line of slope 4/π20.4054/\pi^2 \approx 0.405 per unit of lnN\ln N, which is 0.930.93 per factor of ten. At ten thousand terms the amplification is 4.984.98; at a million it would be 6.96.9; at 1010010^{100} about 9595. Nobody will ever see the amplification become large on a computer, and it is unbounded all the same.

The same slow growth appears in polynomial interpolation at well-chosen nodes, where the best possible interpolation still has a Lebesgue constant growing like a logarithm. That is not a coincidence. A theorem of Lozinski and Kharshiladze says that every linear way of producing a trigonometric polynomial of degree NN from a continuous function, if it leaves such polynomials alone, amplifies some function by at least LNL_N. The Fourier partial sum is the best of all of them, and even the best one cannot keep its amplification bounded.

From unbounded amplification to a divergent series

A different bad function for each NN is not yet a single function whose series diverges. The step from one to the other is a principle about linear operations that is worth stating in full, because it is one of the few places in analysis where an existence proof arrives from nothing but a size count.

If each of a sequence of linear operations on continuous functions is bounded, but their bounds are not, then some single continuous function is made unbounded by the sequence. That is the uniform boundedness principle, proved in general by Banach and Steinhaus in 1927. Applied to the partial sums evaluated at 00, whose bounds are the LNL_N, it produces a continuous ff with supNSNf(0)=\sup_N |S_N f(0)| = \infty: a continuous function whose Fourier series diverges at 00.

The proof is not a construction. It uses a completeness argument due to Baire to show that the functions whose partial sums at 00 stay bounded are, in a precise sense, a negligible set — so negligible that most continuous functions, in that sense, have Fourier series that diverge at 00. The functions a reader draws, and the functions whose series anybody computes, are the exceptions.

That is a stronger conclusion than du Bois-Reymond’s, and it came fifty years later. His 1873 counterexample was a construction, and so was a much cleaner one that Fejér gave in 1910. Fejér’s is worth drawing, because every piece of it can be computed.

Fejér’s function, one block at a time

The building block is a trigonometric polynomial

Qn(x)=2sin(nx)j=1nsin(jx)j,Q_n(x) = 2\sin(nx)\sum_{j=1}^{n}\frac{\sin(jx)}{j},

chosen to be a small function with a large partial sum. It is small because the sum jnsin(jx)/j\sum_{j\le n}\sin(jx)/j never exceeds 1.85191.8519 in size, for any nn and any xx. That constant is 0πsinttdt\int_0^\pi \frac{\sin t}{t}\,dt, the Wilbraham–Gibbs integral, and it is the same number that fixes the square wave’s 9% overshoot: the overshoot at a jump is 1.8519/π12=0.08951.8519/\pi - \tfrac12 = 0.0895 of its height. So every QnQ_n lies between 3.70-3.70 and 3.703.70.

Its partial sums are large because multiplying out turns QnQ_n into cosines: +1/j+1/j at frequency njn - j and 1/j-1/j at frequency n+jn + j. Its value at 00 is zero, since the two halves cancel. But a partial sum that stops at frequency nn has collected every +1/j+1/j and none of the 1/j-1/j, so at 00 it equals 1+12++1nlnn1 + \tfrac12 + \cdots + \tfrac1n \approx \ln n. The block holds a hidden harmonic sum, and the truncation exposes it.

Now add blocks at wildly separated frequencies, shrunk by 1/k21/k^2 so that the total stays small: f=kQnk/k2f = \sum_k Q_{n_k}/k^2 with nk=2k3n_k = 2^{k^3}. The shrinking makes the sum converge uniformly, so ff is continuous, and f(0)=0f(0) = 0. The separation means that when the partial sums reach the kk-th block, the earlier blocks are complete and contribute nothing at 00, and the later ones have not started. So the partial sum at 00 climbs to about ln(nk)/k2=kln2\ln(n_k)/k^2 = k\ln 2 as it passes nkn_k, and falls back to nothing after 2nk2n_k.

A continuous function whose Fourier series runs away at one point. The partial sums at x = 0 of the Fourier series of Fejér's continuous function, plotted against the number of terms on a base-two logarithmic axis from 1 to 2 to the 66: spikes of rising height at each block, while the function itself is 0 there.
Fig. 4 Fejér’s function with four blocks, at frequencies 2, 256, 2272^{27} and 2642^{64}. The function never exceeds 5.27 in size and is 0 at the origin. Its partial sums at the origin, plotted against the number of terms on a doubling scale, spike to 1.50, 1.53, 2.14 and 2.81 as each block is reached, and return to 0 once each block is complete. The values are exact, computed from harmonic numbers rather than by summing 2642^{64} terms.

The figure uses four blocks and so draws a function whose series converges — every finite sum of blocks is a trigonometric polynomial. With the blocks continued for ever, the spikes grow like kln2k\ln 2, the partial sums at 00 are unbounded, and the series diverges there, while the function it came from is continuous and zero at that very point. The fourth spike sits at 2642^{64} terms — about eighteen billion billion — and reaches only 2.812.81. The divergence is real and it is invisible to computation, which is why it was found by argument rather than by observation.

Averaging makes the kernel positive

Fejér’s more famous result came first and is the repair. Instead of the partial sums, take their running average,

σNf=S0f+S1f++SNfN+1,\sigma_N f = \frac{S_0 f + S_1 f + \cdots + S_N f}{N + 1},

which is the averaging Cesàro used to give Grandi’s series a value. Averaging partial sums means averaging their kernels, and the average of D0D_0 through DND_N has a closed form that is a square:

KN(t)=1N+1(sin((N+1)t/2)sin(t/2))2.K_N(t) = \frac{1}{N+1}\left(\frac{\sin\big((N+1)t/2\big)}{\sin(t/2)}\right)^{2}.

Averaging the kernels removes every negative ripple. The Dirichlet kernel for N = 10 and Fejér's kernel, the average of the first 11 Dirichlet kernels, on the interval from −π to π. Fejér's kernel is a single positive bump with no dips below zero.
Fig. 5 The ten-term Dirichlet kernel, thin, and the average of the first eleven Dirichlet kernels, bold — Fejér’s kernel. Every negative ripple of the Dirichlet kernel has been averaged away: the new curve is one positive bump with low positive shoulders. Its signed area is 1 and so is the area of its absolute value, against 2.223 for the kernel it was averaged from.

A square is never negative. So KNK_N has no negative ripples at all, its absolute area equals its signed area, and that is one, for every NN. The amplification that grew like a logarithm is now stuck at exactly one. More than that, an average against a positive kernel with area one is a genuine weighted average of the function’s values, so σNf\sigma_N f always lies between the smallest and largest values of ff — which is why the averaged sums of the square wave rise to the jump from underneath without ever overshooting. And as NN grows the positive bump concentrates at the centre, so the weights concentrate near xx, and continuity of ff does the rest: the averages converge to ff, uniformly, for every continuous ff.

Fejér proved it in 1900, while still a student in Budapest. A corollary is Weierstrass’s theorem that every continuous periodic function is a uniform limit of trigonometric polynomials, since each σNf\sigma_N f is one. The coefficients were never the problem. The partial sums use them in a way whose kernel has negative ripples, and the averaged sums use the same coefficients in a way whose kernel does not.

What the curves cannot show

They cannot show the divergent function. The fourth block of Fejér’s function oscillates at frequency 2642^{64}, and no drawing of the function could resolve it; what is drawn is its partial sums at a single point, computed from harmonic numbers. The function itself is known only through its formula and the bound that makes it continuous.

They cannot show where divergence can happen. The picture shows divergence at one point. How large the set of such points can be for a continuous function is a hard question with a two-sided answer: Carleson’s theorem of 1966 says the series of any continuous function — indeed of any function with finite energy — converges everywhere except on a set of length zero, and Kahane and Katznelson showed the same year that every set of length zero is the divergence set of some continuous function. The logarithmic growth of LNL_N drawn above is far too weak to reach Carleson’s theorem, whose proof needs a much finer analysis of how the kernel’s ripples interact with the function’s own oscillations.

And they cannot show the uniform boundedness argument. It is a proof by category: it shows that the functions with bounded partial sums at 00 are too few to be everything, without exhibiting one that is left out. No figure represents “most continuous functions”, and the figure that does exist, Fejér’s, represents a single exception built by hand.

A race between two numbers

The Lebesgue constants do more than produce counterexamples. They also say exactly which functions are safe, through an inequality that fits on one line and turns the whole question into a race.

Let EN(f)E_N(f) be the smallest possible uniform error between ff and any trigonometric polynomial of degree NN — the best that any method whatsoever could do with NN harmonics. Pick the polynomial pp that achieves it. The partial sum leaves pp alone, since pp is already its own series cut off at NN, so

fSNf=(fp)SN(fp),f - S_N f = (f - p) - S_N(f - p),

and the right-hand side is a function of size at most EN(f)E_N(f) plus that same function amplified by at most LNL_N. Hence

fSNf(1+LN)EN(f).|f - S_N f| \le (1 + L_N)\,E_N(f).

This is Lebesgue’s inequality, and it reframes everything above. The partial sums converge whenever the best possible approximation error shrinks faster than the amplification grows — whenever EN(f)lnN0E_N(f)\ln N \to 0. The obstruction is not that the partial sums approximate badly; it is that they can be worse than the best approximation by a factor of lnN\ln N, and only a function that is barely approximable at all can lose that race.

How approximable a function is depends on how smooth it is, and that dependence was worked out by Dunham Jackson in 1911: if ff changes by at most ω(δ)\omega(\delta) over any distance δ\delta, then EN(f)E_N(f) is at most a constant times ω(1/N)\omega(1/N). Put the two together and the partial sums converge uniformly as soon as ω(1/N)lnN0\omega(1/N)\ln N \to 0. That is the Dini–Lipschitz test, and it covers every function whose graph is no steeper than any power of the distance — every Hölder continuous function, and so every function anybody writes down with a formula. The counterexamples have to be continuous with a modulus that decays more slowly than 1/ln(1/δ)1/\ln(1/\delta), which is an extraordinarily weak form of continuity, and Fejér’s blocks are built with exactly that slowness: their frequencies run away so fast that each one only just fits under the bound.

So the logarithm cuts both ways. It is small enough that a trace of smoothness defeats it, and large enough that continuity alone cannot.

Where this leads: how fast, not whether

For functions with any smoothness at all, then, convergence is settled, and the question that matters in practice is not whether a series converges but how fast, and that is decided by how quickly the coefficients decay, which is decided by how smooth the function is: a jump costs 1/m1/m, a corner 1/m21/m^2, as the plucked string showed, and every further derivative buys another power.

The larger lesson travels. Whenever a limit is taken by a sequence of linear operations — interpolations, quadratures, discretisations — the right first question is whether their sizes stay bounded. If they do not, the uniform boundedness principle guarantees a continuous input that defeats the method, whether or not anyone has found it, and the cure, when there is one, is to replace the operations by averages with positive weights.

One number decides it

The NN-th Fourier partial sum is an average against the Dirichlet kernel, and the area of that kernel’s absolute value, the Lebesgue constant LNL_N, grows like (4/π2)lnN(4/\pi^2)\ln N without bound. Any fixed NN therefore has a continuous function of size one that its partial sum amplifies by LNL_N, and the uniform boundedness principle turns that sequence of bad functions into one continuous function whose series diverges at a point — as Fejér’s explicit function, with blocks at 2k32^{k^3}, does in plain view.

Averaging the partial sums averages the kernels, and the average is a square: positive, of area one, with no ripples below zero. The amplification stops growing, the averaged sums stay within the function’s range, and they converge for every continuous function. The coefficients were fine all along; the way the partial sums weigh them was not.

When a method fails for some input nobody can draw, measure the method’s size first — an unbounded size is a proof that the input exists.

Shares its objects with

Essays that name at least two of the same things, and that neither author linked.

Named objects

A dashed tag is an object no other essay names yet.

Cesaro summationContinuityConvergenceCounterexampleDirichlet kernelFourier analysisGrowth rateLebesgue constantUniform boundedness