Factoring the wave operator into two transports
Last guide you watched the wave equation u_tt = c^2 u_xx grow out of a vibrating string: tension pulling each little segment back toward its neighbours, Newton's law turning curvature into acceleration. Now we solve it — completely, in closed form, for the whole infinite string. The trick is a single algebraic observation that you can almost do in your head. Treat the operators d/dt and d/dx as if they were ordinary numbers and factor the difference of squares.
u_tt - c^2 u_xx = ( d/dt - c d/dx )( d/dt + c d/dx ) u = 0 let v = u_t + c u_x (a left-moving signal: v_t - c v_x = 0) then u_t - c u_x applied to v gives 0
Each factor is a transport equation, the very first PDE you met two rungs down, whose solution is just a shape sliding rigidly along at constant speed. The factor (d/dt - c d/dx) carries a profile to the right at speed c; the factor (d/dt + c d/dx) carries one to the left. The wave equation is literally these two transports stacked back to back. So whatever the string does, it must be built out of a rightward slide and a leftward slide — and that single insight, made precise, is the entire solution.
The general solution: two arbitrary travelling shapes
Following the factoring through gives a remarkable answer. Switch to the characteristic coordinates xi = x - c t and eta = x + c t — the two families of lines along which each transport rides — and the wave equation collapses to u_(xi eta) = 0. That says: differentiate u once in xi and once in eta and you get nothing, so u must be a function of xi alone plus a function of eta alone. Translating back, the general solution is u(x,t) = F(x - c t) + G(x + c t).
Pause on how different this is from an ODE. The general solution of a second-order ODE carries two arbitrary constants; here it carries two arbitrary functions, F and G, each an entire shape you are free to choose. That is the recurring truth of PDEs: a general solution leaves whole functions undetermined, and it is the data — what the string looks like and how fast it is moving at the start — that pins them down. F(x - c t) is a fixed profile moving right at speed c (as t grows, the argument x - c t stays constant only if x grows with c t); G(x + c t) is a fixed profile moving left. Two rigid shapes gliding past each other, never changing form — that is every solution of the wave equation, with no exceptions.
Pinning down F and G from the initial data
A general solution is a menu, not a meal. To get the actual motion of one particular string we supply the initial displacement and velocity: at t = 0 the string is shaped like phi(x), and each point is moving with velocity psi(x). Because the wave equation is second order in time, it needs both — position alone is not enough, just as you cannot predict a thrown ball from where it starts without also knowing how fast it leaves your hand. These two functions are exactly the right amount of data to fix the two unknown functions F and G.
- Set t = 0 in u = F(x - c t) + G(x + c t): the displacement gives F(x) + G(x) = phi(x). One equation tying the two shapes together.
- Differentiate u in t, then set t = 0: the velocity gives -c F'(x) + c G'(x) = psi(x), i.e. G'(x) - F'(x) = psi(x)/c. The second condition, now on the slopes.
- Integrate that second relation to get G(x) - F(x) = (1/c) times the integral of psi up to x. Now you have F + G and G - F.
- Add and subtract to solve for each: F = (phi - integral)/2 and G = (phi + integral)/2. Substitute back into F(x - c t) + G(x + c t) and the integrals combine into one tidy formula.
The result is d'Alembert's formula, one of the most satisfying closed forms in all of mathematics: u(x,t) = (1/2)[phi(x - c t) + phi(x + c t)] + (1/(2c)) times the integral of psi from x - c t to x + c t. Read it slowly. The first bracket says: take the initial shape, make two half-height copies, send one right and one left — that is the displacement part. The integral term collects the initial velocity over precisely the stretch between x - c t and x + c t and spreads it as a growing plateau — that is the kick part. The future of the entire string is two shifts and one integral. No infinite series, no eigenfunctions, nothing left to approximate.
Two tiny worked pictures
Make it concrete. Pluck a string: pull it up into a single bump phi(x) and release it from rest, so psi = 0. The integral term vanishes and d'Alembert reduces to u(x,t) = (1/2)phi(x - c t) + (1/2)phi(x + c t). The bump instantly splits into two half-as-tall bumps that march apart, one right and one left, each at speed c. This is the classic plucked-guitar picture: not one travelling pulse but two, born the moment you let go. Watch them and you are literally watching the left- and right-moving waves that the factoring promised.
Now the opposite: a hammer strike, like a piano. The string starts flat, phi = 0, but a short stretch is given an upward velocity psi (the hammer's blow). The displacement bracket vanishes, and u(x,t) = (1/(2c)) times the integral of psi from x - c t to x + c t. As time runs, the interval [x - c t, x + c t] widens, swallowing more and more of the struck region, so the string rises into a flat-topped plateau that spreads outward at speed c and — crucially — stays risen behind the wavefront. A pluck leaves a string flat after the pulses pass; a struck string can stay permanently displaced. Same formula, two terms, two utterly different sounds.
What the formula already tells you about waves
d'Alembert's formula is not just an answer; it is a window into how waves behave, and three lessons jump straight out. First, the value u(x,t) depends ONLY on the initial data over the finite interval [x - c t, x + c t] — the displacement at the two endpoints and the velocity across the span. Nothing outside that interval can possibly influence the point (x,t). This interval is the domain of dependence, and it is bounded because c is finite. The next guide is built entirely around this picture: signals travel at finite speed, so the past that can reach you is a finite triangle, not the whole line.
Second, waves do NOT smooth. d'Alembert just shifts the initial shape around; it never blurs it. If phi has a sharp corner, that corner rides along the characteristic forever, kink intact. Compare this with the heat equation, where even a jagged start becomes instantly, infinitely smooth: the heat equation's smoothing and the wave equation's faithful carrying of sharp features are two sides of the elliptic-parabolic-hyperbolic trichotomy you met a rung ago. Hyperbolic equations transport detail; parabolic equations dissolve it. (Honest footnote: if phi is merely continuous but not twice differentiable, u from d'Alembert is a perfectly good weak or generalized solution — it solves the wave equation in a distributional sense even where the classical second derivatives do not exist.)
Third, the formula proves the problem is well-posed: for any reasonable phi and psi there is exactly one solution, and a small change in the data makes only a small change in u (you can read the bound straight off the formula). That is the gold standard a PDE problem should meet — existence, uniqueness, and continuous dependence — and the wave equation with initial position and velocity passes cleanly. Beautifully, the very same characteristics that carried our travelling shapes are the ones the next guide turns into a domain of dependence and a finite propagation speed; and the superposition of these simple travelling pieces, refracted through reflecting boundaries, is what later becomes standing waves, normal modes, and resonance. From two sliding shapes, the whole theory of vibration unfolds.