One idea wearing many costumes
By now you have met the same trick in three or four costumes. An ordinary Fourier series writes a function as a sum of sines and cosines; a Legendre series writes one as a sum of Legendre polynomials; a Fourier-Bessel series uses Bessel functions. Each time the recipe felt identical: project the function onto a family of building blocks, one integral per block. The generalized Fourier series is simply the recipe stated once, with the building blocks left as a blank to be filled in. Whatever orthogonal eigenbasis your geometry hands you, the bookkeeping is the same.
Why does this keep happening? Because all those bases come from the same source. The previous guides showed that the Sturm-Liouville problem — the eigenvalue equation (d/dx)(p y') + q y + lambda w y = 0 with suitable boundary conditions — is self-adjoint, and self-adjointness forces its eigenfunctions to be mutually orthogonal. Sines, Legendre polynomials, and Bessel functions are not three unrelated miracles; they are three solutions of the same kind of equation, on three different intervals, with three different weights. The orthogonality is what makes the expansion cheap, and the orthogonality is guaranteed. So 'expand any function in an orthogonal eigenbasis' is not a lucky special case — it is the whole point of the theory.
The universal coefficient formula
Here is the single formula that runs everything. Let {y_n} be the orthogonal eigenfunctions of your Sturm-Liouville problem on [a, b], with weight function w(x). You want to write f(x) = sum over n of c_n y_n(x). To pin down a particular coefficient c_m, multiply both sides by y_m(x) w(x) and integrate from a to b. On the right, orthogonality makes every term vanish except the one with n = m — exactly as dotting a vector with the x-axis kills the y- and z-components. What survives is c_m times the integral of y_m^2 w dx. Solving gives the universal rule: c_m = (integral from a to b of f y_m w dx) divided by (integral from a to b of y_m^2 w dx).
Read the two pieces. The numerator, integral of f y_m w dx, is the projection — 'how much of mode m is present in f'. The denominator, integral of y_m^2 w dx, is the squared length of y_m, and it just normalizes; if you pre-scale each y_m to have unit weighted norm, the denominator becomes 1 and c_m is the projection outright. The decisive character is the weight w, and it is the one thing beginners drop. It is not a decoration you can ignore: it is the exact coefficient sitting in front of lambda y in the self-adjoint form, and the eigenfunctions are orthogonal with respect to w, never against the bare dx. Forget the w and your coefficients come out wrong and the series will not rebuild f.
Generalized Fourier series: f(x) = sum_n c_n y_n(x)
Project onto y_m, integrate with weight w over [a,b]:
integral_a^b f y_m w dx = sum_n c_n * integral_a^b y_n y_m w dx
|
orthogonality kills every n != m
v
integral_a^b f y_m w dx = c_m * integral_a^b y_m^2 w dx
==> c_m = ( integral_a^b f y_m w dx ) / ( integral_a^b y_m^2 w dx )
Special cases (just change a,b,w):
sines on [0,L], w=1 -> ordinary Fourier coefficient
Legendre on [-1,1], w=1 -> c_n = (2n+1)/2 * integral f P_n dx
Bessel on [0,a], w=r -> Fourier-Bessel coefficientA worked picture: a step on the sphere
Picture a sphere painted hot on its top half and cold on its bottom half — temperature +1 above the equator, -1 below it. In the variable x = cos(theta), this is the step function f(x) = sign(x) on [-1, 1], and the natural basis is the Legendre polynomials (weight w = 1). By symmetry f is odd, so only the odd-degree polynomials P_1, P_3, P_5, ... survive; every even coefficient is exactly zero before you compute anything, which is the function-space echo of 'an odd vector has no component along an even axis'. Run the universal formula for the first nonzero term and you get f roughly equal to (3/2) P_1(x) plus smaller corrections, with each later coefficient computed by its own independent integral.
- Identify the geometry's basis and weight: a sphere gives Legendre polynomials P_n on [-1, 1] with weight w = 1.
- Exploit symmetry first: f(x) = sign(x) is odd, so all even-degree coefficients vanish without any integral.
- Apply the universal formula c_n = ((2n+1)/2) times the integral from -1 to 1 of f(x) P_n(x) dx, one integral per surviving n.
- Sum the projections: f(x) = c_1 P_1 + c_3 P_3 + c_5 P_5 + ..., the Legendre series of the hot-cold sphere.
Now notice what is different from a power series and what is the same. A Taylor series also writes f as an infinite sum, but its coefficients are coupled through derivatives at one point, and a single jump like sign(x) destroys it instantly — you cannot even differentiate at x = 0. The generalized Fourier series has no such fragility: each coefficient is a global average against y_n, computed by an honest definite integral that does not care that f has a corner or a jump. That robustness — happily swallowing discontinuous data — is precisely why these expansions, not Taylor series, are the right tool for boundary-value problems with rough initial data.
In what sense does the series equal f?
Here is the question that separates a careful reader from a sloppy one. When we write f(x) = sum of c_n y_n(x), what does the equals sign promise? The honest answer is convergence in the mean (also called mean-square or L^2 convergence): as you keep more terms, the weighted integral of the squared error, integral of (f - partial sum)^2 w dx, marches to zero. This is a statement about total accumulated error, not about any single point. The series can be a tiny bit wrong at scattered points and still converge in the mean perfectly, because a few isolated errors contribute nothing to an integral.
That the series converges in the mean to f, with nothing left over, is exactly the completeness of the eigenbasis — the deep guarantee, for a regular Sturm-Liouville problem, that the eigenfunctions reach every direction in the function space and miss none. Completeness is a stronger and harder theorem than orthogonality, but for regular problems it holds. Be clear on the division of labor: orthogonality makes the coefficients easy to compute; completeness makes the resulting series actually equal to f. You need both, and they are different facts.
Parseval: the energy ledger
There is a conservation law hiding inside every orthogonal expansion, and it is just Pythagoras stretched to infinitely many dimensions. In ordinary space the squared length of a vector equals the sum of its squared components. Parseval's identity says the same for functions: the squared weighted norm of f equals the sum of its squared coefficients (each scaled by the squared norm of its eigenfunction). In symbols, integral from a to b of f^2 w dx equals sum over n of c_n^2 times integral of y_n^2 w dx — and if you normalized the y_n to unit norm, it reads cleanly as 'the energy of f equals the sum of c_n^2'. The whole size of the function is exactly accounted for, mode by mode, with nothing lost and nothing invented.
This is more than elegant — it is your error meter. Keep only the first N terms and Parseval tells you the leftover mean-square error is exactly the tail sum of c_n^2 from N+1 onward. So you can decide in advance how many modes you need to hit a tolerance: watch the tail shrink and stop when it is small enough. Parseval is also the precise certificate of completeness. The one-sided version, Bessel's inequality (sum of c_n^2 is at most the norm), always holds for any orthogonal set; it becomes the Parseval equality exactly when no part of f escapes the basis. So if Parseval comes out as an equality, your basis was complete; if it falls short, you are missing directions.
And it pays a delightful bonus. Because Parseval is an exact equation, you can run it backward to evaluate sums that have nothing obvious to do with eigenfunctions. Expand f(x) = x as a sine series on [0, pi], feed the coefficients into the Fourier version of Parseval, and out drops the famous identity sum of 1/n^2 = pi^2/6 — a fact about the integers, conjured from a fact about a vibrating string. That is the same identity in the eigenfunction setting, the Parseval identity for eigenfunctions, applied to the simplest Sturm-Liouville basis of all.
Why this is the engine of the whole volume
Step back and see why every method downstream keeps reaching for orthogonal pieces. When you solve a partial differential equation by separation of variables, the space part collapses into a Sturm-Liouville problem and you are handed its eigenbasis for free; the eigenfunction expansion method then says: expand your initial data as a generalized Fourier series, and because each eigenfunction is a pure mode that evolves on its own simple timetable, the hard PDE splits into a stack of easy one-mode problems you solve separately and add back up. Heat diffusing in a bar, a potential around a charged sphere, a drumhead ringing — all the same move.
Two honest caveats so you carry the right expectations. First, all of this rests on completeness, which is guaranteed for regular Sturm-Liouville problems on a finite interval but can fail elsewhere; on an infinite domain the discrete spectrum can spread into a continuum, the sum becomes an integral, and you have crossed over into transform methods (the next rung). Second, convergence in the mean is genuinely weaker than pointwise: the series is the right answer in the energy sense, the Gibbs overshoot at jumps never vanishes, and term-by-term differentiation of the series may converge far more slowly than the series itself — so differentiate a generalized Fourier series only with care. None of this is a defect; it is the precise, honest contract the method offers.