d'Alembert's Solution

On an infinite string the wave equation has a beautifully explicit solution. Because u_{tt} - c^2 u_{xx} = 0 factors like a difference of squares — (\partial_t - c\partial_x)(\partial_t + c\partial_x)u = 0 — its general solution is a sum of two travelling shapes:

u(x, t) = F(x - ct) + G(x + ct).

One profile F moves right at speed c, the other G moves left. The wave equation is just two transport equations bundled together, one for each direction.

Matching the initial data

Given the initial shape u(x, 0) = f(x) and initial velocity u_t(x, 0) = g(x), solving for F and G yields d'Alembert's formula:

u(x, t) = \tfrac{1}{2}\big[f(x - ct) + f(x + ct)\big] + \frac{1}{2c}\int_{x - ct}^{x + ct} g(s)\,ds.

With zero initial velocity (g = 0) it says something vivid: the initial shape splits in half, and the two halves glide apart in opposite directions at speed c.

The formula also reveals the domain of dependence: the value at (x, t) depends only on the initial data in the interval [x - ct, x + ct]. Information travels at finite speed c — nothing outside that interval can yet have reached the point. This is the sharpest contrast with the heat equation, whose influence is instantaneous.

The bump that splits in two

A Gaussian pluck f(x) = e^{-x^2} released from rest (g = 0), so u = \tfrac12[e^{-(x - ct)^2} + e^{-(x + ct)^2}] with c = 1. Advance time and the single bump cleaves into two half-height copies racing apart — exactly the formula made visible. The faint curve is the original bump at t = 0.