Numerical Methods for PDEs: Finite Differences

the BTCS scheme

/ B-T-C-S /

FTCS marches heat forward by computing each new value purely from the old neighbours — fast, but it explodes if the time step is too big. BTCS makes the opposite bargain: it writes the equation in terms of the NEW, unknown neighbours, so all the spatial coupling happens at the future time level. The reward is that you can take huge time steps without any blow-up; the price is that every step now requires solving a linear system. BTCS is the fully implicit scheme for the heat equation u_t = alpha * u_xx.

The recipe is Backward in Time, Central in Space. The time derivative is a backward difference (u_j^n - u_j^{n-1}) / k — equivalently, advancing from level n to n+1 you write (u_j^{n+1} - u_j^n) / k — and the central second-difference for u_xx is evaluated at the NEW level n+1, not the old one. Rearranged, the update reads -r * u_{j-1}^{n+1} + (1 + 2r) * u_j^{n+1} - r * u_{j+1}^{n+1} = u_j^n, with r = alpha * k / h^2. The new value at j now depends on its new neighbours, so you cannot just read it off; instead all the unknowns at level n+1 are tangled together into a tridiagonal linear system A u^{n+1} = u^n that you solve every step (the Thomas algorithm does this in O(N) time).

The payoff is unconditional stability. Von Neumann analysis gives an amplification factor 1 / (1 + 2r*(1 - cos)) whose magnitude is at most 1 for every r > 0 — no time-step restriction at all. You can march with a large k limited only by accuracy, not by stability, which is exactly what you want for diffusion problems that you only need to resolve coarsely in time, or for stiff problems where an explicit step would be impossibly small. BTCS is first-order accurate in time and second-order in space; Crank-Nicolson upgrades the time accuracy to second order while keeping the unconditional stability.

With r = 2 (far beyond FTCS's 0.5 limit), one BTCS step on N interior nodes means solving a tridiagonal system whose diagonal is 1 + 2r = 5 and off-diagonals are -r = -2, right-hand side the old values. The Thomas algorithm sweeps it in one forward and one backward pass; the result is smooth and stable even at this large step where FTCS would have detonated.

Unconditionally stable — but each step costs a tridiagonal solve.

Unconditionally stable does NOT mean unconditionally accurate: BTCS is only first-order in time, so a giant k that is stable can still give a badly inaccurate answer. Stability merely guarantees the error will not blow up, not that it is small — that distinction is the heart of the Lax equivalence theorem.

Also called
backward-time central-spaceimplicit Euler in timefully implicit scheme隱式格式後向尤拉時間