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

The Method of Characteristics

The transport equation handed us one travelling wave; the method of characteristics is the general machine behind it — special curves along which a PDE collapses into a single ODE you can actually solve.

From one travelling wave to a method

In the previous guide we solved the transport equation u_t + c u_x = 0 and found that every solution is a frozen profile sliding right at speed c: u(x,t) = f(x - c t). That answer came almost for free, and it is tempting to treat it as a lucky special case. It is not. Hidden inside it is a completely general idea — the method of characteristics — that solves a whole family of first-order PDEs, and we are going to drag that idea out into the open.

Here is the shift in viewpoint. A PDE ties together rates of change in several directions at once, which is exactly why it feels hard — there is no single line to march along. The method of characteristics finds, for a first-order equation, the right lines: paths in the (x,t)-plane along which the unknown u changes in a way governed by an ordinary differential equation, not a partial one. Walk those paths and the multivariable problem dissolves into one-variable problems you already know how to solve from the ODE rung below.

The directional derivative trick

Take the most basic equation the method handles, a linear first-order PDE with constant coefficients: a u_x + b u_t = 0. Stare at the left side. If you remember the chain rule, a u_x + b u_t is exactly the rate at which u changes as you move through the (x,t)-plane in the direction (a, b). So the whole equation is saying one calm sentence: *u does not change at all when you move in the direction (a, b)*. It is constant along every line pointing that way.

Those lines are the characteristic curves. In this constant-coefficient case they are just straight lines b x - a t = constant, and u carries whatever value it had where the line started, unchanged, forever. For the transport equation a u_x + b u_t becomes u_t + c u_x with (a, b) = (c, 1): the characteristics are x - c t = constant, and the fact that u is constant on each one is precisely why u(x,t) = f(x - c t). The travelling wave was the characteristic picture all along; we just had not named the curves.

The characteristic ODE system

Now let us make the procedure mechanical, because the real payoff is that it works even when a and b depend on x and t. We parametrize a characteristic curve by a parameter s, so the moving point is (x(s), t(s)), and we ask how u behaves along it. The equation a u_x + b u_t = 0 tells us to choose the velocity of the point to be (a, b). That gives the characteristic ODE system: ordinary differential equations for x(s) and t(s) that trace the curve, plus one more for u itself along the curve.

Equation:   a u_x + b u_t = 0

Characteristic ODE system (parameter s):
   dx/ds = a
   dt/ds = b
   du/ds = a u_x + b u_t = 0   ->   u is constant along the curve

So: solve for (x(s), t(s)), and carry u unchanged from the start.
A first-order PDE traded for three ODEs: two that draw the curve, one that transports u along it.

That third line, du/ds = a u_x + b u_t, is the heart of it: by the chain rule du/ds is just how fast u changes as the point (x(s), t(s)) moves, and the PDE says that quantity is zero. So u is constant along each characteristic. The bookkeeping that earlier looked like magic — "u keeps its initial value" — is now a one-line ODE, du/ds = 0, with the obvious solution u = constant. We have genuinely turned a PDE into ODEs.

A worked recipe

Let us run the whole loop on a non-constant example so you can feel the mechanism turn: x u_x + u_t = 0 with u(x, 0) = g(x). Here the speed depends on position, a = x and b = 1, so the characteristics curve and bend instead of marching as parallel straight lines. The recipe is the same as before; only the curves get more interesting.

  1. Write the characteristic ODEs. From a = x, b = 1: dt/ds = 1, dx/ds = x, du/ds = 0. Reading t as the parameter (since dt/ds = 1), this is just dx/dt = x and du/dt = 0.
  2. Solve for the curves. dx/dt = x gives x = x_0 e^t, where x_0 is where the curve sits at t = 0. Equivalently x e^(-t) = x_0 is constant along each characteristic — that combination is the conserved quantity.
  3. Transport u. du/dt = 0 means u keeps its starting value g(x_0). Each point of the solution remembers the data at the foot of its characteristic.
  4. Assemble the answer. Replace x_0 by x e^(-t): u(x, t) = g(x e^(-t)). Check it — u_x = g'·e^(-t), u_t = g'·(-x e^(-t)), so x u_x + u_t = g'(x e^(-t)) - g'(x e^(-t)) = 0, and u(x,0) = g(x). It works.

Notice the shape of the final answer: a single arbitrary function g, evaluated at the conserved combination x e^(-t). That is the signature of a general solution of a PDE. Unlike an ODE, where the general solution carries arbitrary constants, a PDE's general solution carries arbitrary functions — there is a whole function's worth of freedom, and it is the initial data g that pins down exactly which one. Characteristics make that freedom concrete: each characteristic is one independent dial.

The geometry: a surface woven from curves

There is a beautiful picture underneath all the algebra. Think of the answer as a solution surface: the graph of u above the (x,t)-plane, a sheet floating in (x, t, u)-space. Each characteristic, once we attach its (constant) u-value, becomes a curve lying in that sheet. Solving the PDE is literally weaving the surface out of these characteristic curves, like laying down threads. Start with the data curve at t = 0, then let every point of it ride forward along its characteristic, and the threads sweep out the whole surface.

This geometry also makes honest the limits of the method — limits we will spend the rest of the rung exploring. For a constant-speed advection equation the characteristics are parallel, never touch, and the weave is flawless for all time. But the moment the characteristic speed depends on u itself — a quasilinear equation, guide 3 — the characteristics can fan together and cross. Where two threads carrying different u-values meet, the surface tries to be in two places at once, the solution loses its single value, and a shock is born. That is the road to Burgers' equation at the end of this rung.