Recurrence Relations for Special Functions
Special functions almost never live alone. The Bessel functions , the Legendre polynomials , the Hermite and Laguerre polynomials, and the Gamma function itself all come in indexed families, and the members of a family are welded together by recurrence relations — algebraic identities that link neighbouring orders, degrees, or arguments with a handful of simple coefficients. These relations are not decorative. They are the most efficient route to numerical values, the cleanest tool for proving identities, and the algebraic skeleton from which the defining differential equation can be reconstructed. A physicist who knows a family's recurrences can compute it, differentiate it, integrate it, and factor its operator without ever looking up a series. Three ideas organize the whole subject. First, there is a single universal structure: orthogonality with respect to a positive weight forces every family of orthogonal polynomials into a three-term recurrence , and Favard's theorem makes this an if-and-only-if statement. Bessel and Legendre obey close cousins of the same form. Second, every pure recurrence has a partner derivative relation; combine the two and you eliminate a neighbour and recover the governing second-order ODE, while reading them as raising and lowering operators factors that ODE into a ladder — the same algebra that solves the quantum oscillator. Third, and most practically, a three-term recurrence has two independent solutions, one growing and one decaying with , so it is numerically trustworthy in one direction only. This is why must be computed downward by Miller's algorithm while marches upward — a lesson that, fittingly, recurs throughout computational physics.
- A recurrence relation ties a special function to its neighbours of nearby order, degree, or argument through a finite linear formula with elementary coefficients.
- The three-term recurrence is universal for orthogonal polynomials; Bessel obeys and Legendre obeys Bonnet's .
- Each recurrence pairs with a derivative relation; together they regenerate the ODE, and read as ladder operators they factor it — the classical shadow of and of .
- The three-term recurrence is a symmetric tridiagonal (Jacobi) matrix: its eigenvalues are the Gauss quadrature nodes (Golub–Welsch).
- A recurrence is useful only in its numerically stable direction: downward via Miller, upward, downward, upward.
- Key idea: indexed special functions obey finite linear relations among neighbouring orders; the three-term recurrence is universal for orthogonal polynomials, pairs with a derivative relation to regenerate the ODE, and must be iterated only in its numerically stable direction.
Indexed special functions obey finite linear relations among neighbouring orders; the three-term recurrence is universal for orthogonal polynomials, pairs with a derivative relation to regenerate the governing ODE, and must be iterated only in its numerically stable direction.
Where this lives today
Recurrence relations are the silent infrastructure of scientific computing. Every numerical library that evaluates Bessel, Legendre, Coulomb, or spheroidal functions — from GNU GSL to the routines inside MATLAB, SciPy, and Boost — does so through recurrences, with the upward-versus-downward decision made by the stability analysis above; a wrong direction is a classic silent bug that returns plausible garbage. In cosmology the analysis of Cosmic Microwave Background maps demands associated Legendre functions up to , computed by carefully stabilized recurrences in both and , and the same relations reappear as the classical shadow of the quantum angular-momentum ladder acting on . Gaussian quadrature — the default integration rule in finite-element solvers, lattice QCD, and quantum-chemistry codes — is generated by the Golub–Welsch eigenvalue algorithm straight from recurrence coefficients. And in symbolic computation, Zeilberger's algorithm turns the search for hypergeometric-sum identities into the discovery of a recurrence and its certificate, letting a computer prove closed forms that once took a career. The humble three-term relation is, quietly, one of the most-executed pieces of mathematics in physics.
The physical picture
Think of a recurrence as a discrete dynamical system in the order : hand it two starting members of the family and it marches out the entire sequence, exactly as a two-step integrator marches an ODE forward in time. The two independent solutions of the recurrence are the discrete analogues of the two solutions of the underlying second-order equation — one that grows with and one that decays. The first figure shows this marching concretely for the Legendre polynomials, where Bonnet's recursion turns the seeds and into the whole tower of polynomials with nothing but multiplication by and a subtraction.
The coefficient structure is not arbitrary; it encodes the geometry of the weight function. For orthogonal polynomials the recurrence coefficients are moments of the weight, and the whole recurrence assembles into a symmetric tridiagonal Jacobi matrix whose eigenvalues are the Gauss quadrature nodes — a three-term recurrence literally is a tridiagonal operator. Reading the same relations differently, a raising step and a lowering step multiply to a second-order operator that annihilates , the classical mirror of for the oscillator. But the sharpest practical fact is stability, and the second figure is its punchline: because is the decaying solution of its recurrence, iterating toward it upward is catastrophic, while iterating away from it downward is exact.
The core equations
The single most important formula in the theory is the universal three-term recurrence for orthogonal polynomials. It says that if a family is orthogonal with respect to any positive weight, then is a linear-in- multiple of minus a constant multiple of — no other members ever appear. Favard's theorem supplies the converse: any such relation with generates an orthogonal family.
where: — polynomial of degree , orthogonal w.r.t. weight ; — real argument; — coefficients fixed by the weight and normalization, with . Reading: given two consecutive members and the coefficients, every higher member follows by arithmetic; the sign structure is what makes the family oscillate and its roots interlace. Bessel functions of the first kind satisfy the direct analogue, with the order playing the role of the degree and the argument entering only through the coefficient. It is the workhorse identity of cylinder-function computation.
where: — Bessel function of the first kind, order ; — argument; — order (integer or real). Reading: three consecutive orders at a fixed are linearly dependent; the same relation holds for , so any cylinder function is fixed by two starting orders. Every pure recurrence has a derivative partner. For Bessel the two forms below are the raising and lowering relations in disguise; adding and subtracting them exchanges the pure recurrence (2) for the derivative and back.
where: — derivative of with respect to . Reading: the derivative of one order is a combination of neighbouring orders — the "differential-difference" property that lets a recurrence carry the full content of the ODE. For Legendre polynomials the three-term recurrence has a name, Bonnet's recursion, and explicit integer coefficients, which is what makes it the standard way to tabulate and to build spherical harmonics.
where: — Legendre polynomial of degree , with ; — argument, in physics; — degree. Reading: this is equation (1) with , , , the coefficients dictated by the weight on . The Hermite polynomials that solve the quantum oscillator carry both a pure recurrence and a clean lowering relation, and the two together are the ladder operators of the harmonic oscillator written for polynomials.
where: — physicists' Hermite polynomial, . Reading: is exactly the lowering operator ; multiplying by the raising step reproduces Hermite's equation and the oscillator ladder. The Gamma function shows that a recurrence need not step a discrete index at all — its functional equation is a one-step recurrence in a continuous parameter, and it is the engine of 's analytic continuation.
where: — Euler Gamma function; — complex argument, . Reading: iterating downward pushes any into a tabulated unit strip; iterating the relation across is what defines at negative non-integers and exposes its poles. The same pattern threads through the rest of the special-function zoo. The modified Bessel functions and the associated Legendre functions each obey their own three-term relations, which drive their libraries.
where: — modified Bessel function of the first kind; — associated Legendre function of degree , order . Reading: the sign flip in the relation (a difference, not a sum) is precisely what reverses which solution is minimal, so is computed downward while is computed upward.
The claim is that orthogonality alone — not any special feature of a particular weight — forces every family of orthogonal polynomials into a relation with exactly three terms. The engine is one structural fact: multiplication by is self-adjoint under the weighted inner product, so an overlap of with can be shifted onto itself, and a degree count then annihilates almost every term in the expansion of . We expand, apply self-adjointness, and count degrees, and the three surviving terms are the recurrence.
Step 1. Expand in the orthogonal basis, . Why: has degree , and is a basis for all polynomials of degree , so the sum is finite and exact.
Step 2. Project onto using the inner product , giving . Why: multiplication by is self-adjoint, , so the can be moved off and onto .
Step 3. Note that has degree ; whenever , i.e. , it lies in the span of and is orthogonal to , so . Why: only can survive, which is exactly three terms — no matter what the weight is.
Step 4. Rename the three survivors and solve for the top member to get , with built from leading coefficients and norms; Favard's theorem is the converse, that any such relation with defines an orthogonal family. Why: this closes the loop — the recurrence and orthogonality are logically equivalent, not merely compatible.
Go deeper · Derivation B · 1 minFrom ladder relations back to Bessel's equation
The point of this derivation is that a recurrence is not a weaker fact than the differential equation — it is an equivalent one. Starting from the two first-order ladder relations for , we differentiate one of them and use the other to eliminate every neighbouring order, and what remains is Bessel's second-order equation. This is the general mechanism by which a recurrence plus a derivative relation regenerates the governing ODE for any of the classical families.
Step 1. Take the raising relation , equivalent to evaluated at order . Why: this expresses the derivative of using the single higher neighbour , giving us something to differentiate.
Step 2. Record the lowering relation , from . Why: adding the two ladder relations recovers the derivative form (3), and subtracting them recovers pure recurrence (2) — we now hold both.
Step 3. Differentiate the raising relation with the product rule, . Why: introducing is the only new ingredient a second-order equation can need; everything else must cancel.
Step 4. Substitute from the raising relation, and from the lowering relation one order up, so every neighbour is written in and alone. Why: eliminating is what collapses the difference structure into a pure differential one.
Step 5. Collect terms; the neighbours cancel identically and leave , Bessel's equation. Why: the recurrence carried the full dynamical content all along — the ODE was hiding inside two first-order relations.
Go deeper · Derivation C · 1 minThe three-term recurrence as a Jacobi matrix
Here the payoff is structural and computational at once. Written for the orthonormal family, the three-term recurrence becomes symmetric, and stacking the polynomials into a vector turns it into the action of a symmetric tridiagonal matrix — the Jacobi matrix. Its eigenvalues are exactly the roots of the polynomials, hence the nodes of Gaussian quadrature, and its eigenvectors give the weights. This is the Golub–Welsch algorithm, and it is why one never root-finds a high-degree polynomial directly.
Step 1. For the orthonormal polynomials the recurrence is symmetric, . Why: rescaling to unit norm makes the sub- and super-diagonal coefficients equal, which is what lets a real symmetric matrix appear.
Step 2. Stack the first members into , so the recurrence reads , where is the tridiagonal Jacobi matrix with diagonal and off-diagonal . Why: the recurrence for every index except the last is captured exactly by ; the leftover term is the single boundary defect.
Step 3. At a root of the defect vanishes, , so — the quadrature nodes are precisely the eigenvalues of . Why: this converts high-degree root-finding into a stable symmetric eigenproblem.
Step 4. The weight for node is , the squared first component of the normalized eigenvector times . Why: this completes Golub–Welsch — recurrence coefficients in, Gauss nodes and weights out, with no explicit polynomials evaluated.
Limiting cases
Which solution of a recurrence dominates, and therefore which direction is safe to iterate, depends entirely on the regime of order versus argument. The table reads off the asymptotics that decide the computation direction.
| Case | Result | Meaning |
|---|---|---|
| Bessel, | is the minimal (rapidly decaying) solution; upward recursion is unstable, so use downward Miller recursion. | |
| Bessel, | is the dominant (growing) solution; upward recursion is stable and standard. | |
| Legendre, large | Both solutions of Bonnet's recurrence stay bounded on , so upward recursion is stable there. | |
| Modified Bessel | decays, grows with | The sign flip in (7) swaps roles: downward (minimal), upward (dominant). |
| Gamma recurrence | Iterated to shift into a tabulated strip; continues analytically to all |
Worked examples
1 · Computing Bessel values by Miller's backward recursion (fully worked)
Compute using only the recurrence at , starting from the top with arbitrary seeds — and show why the naive upward march fails.
Step 1. Seed at a high order well above : take and set the trial values (any small seed works; the scale is fixed later). At the recurrence is , pure integer arithmetic.
Step 2. Iterate downward, : the chain comes out . Each step damps the unwanted dominant component relative to the wanted .
Step 3. Fix the scale with the closure identity , i.e. divide by . Here .
Step 4. Normalize: . This gives , , , , , — every one correct to the digits shown, from nothing but the recurrence and a normalization.
Step 5. Contrast the upward march. Start from the exact and but with a error, and run upward: the values track truth to , then peel away — by the recurrence returns against the true , wrong by five orders of magnitude. Same relation, opposite direction, opposite fate. Downward is exact to 8 digits; upward blows up.
2 · Building Legendre polynomials with Bonnet's recursion
Use Bonnet's recursion (4) with the seeds to generate , and evaluate at .
Step 1. : , so — the standard quadrupole polynomial.
Step 2. : , hence .
Step 3. : , giving .
Step 4. Numerical check at : , and re-running Bonnet numerically (, then ) gives the same . Recurrence and closed form agree exactly.
Physics of the portrait
Recurrence relations sit at the crossroads of three centuries of analysis: an empirical shortcut for computing tables, a theorem tying orthogonality to a tridiagonal operator, and the discrete face of the ladder algebra that quantizes the oscillator and angular momentum. The portrait here is the structure itself.
Origins · 1 minthree-term recurrence and how this was discovered
The three-term recurrence is one of those objects that was used for a century before it was understood. Legendre and Bessel wrote down the relations for their own functions in the early 1800s as computational conveniences, with no sense that a single theorem governed them all. Pafnuty Chebyshev, working on continued fractions and least-squares approximation in the 1850s, was the first to treat orthogonal polynomials as a general class and to see the recurrence as their defining feature. Thomas Stieltjes made the connection exact in the 1890s: he showed that a three-term recurrence is the same data as a continued fraction and as a moment problem, so the coefficients encode the weight completely. The converse — that any recurrence with produces an orthogonal family — was proved by Jean Favard in 1935 (and independently by Shohat and Natanson), closing the equivalence and giving the theorem its name. The computational side matured later: J.C.P. Miller's 1952 Bessel tables introduced backward recursion as the cure for instability, and Golub and Welsch in 1969 recognized the recurrence as a symmetric tridiagonal matrix whose eigenvalues are the Gauss quadrature nodes. What Legendre used as arithmetic is now known to be a self-adjoint operator, a continued fraction, and a ladder algebra at once.
Going further
References. Stone & Goldbart, Mathematics for Physics (CUP, 2009), chapters on special functions and orthogonal polynomials · Arfken, Weber & Harris, Mathematical Methods for Physicists, 7th ed., chs. 14–15 (Bessel, Legendre) · Hassani, Mathematical Physics, 2nd ed., chs. on Sturm–Liouville systems and classical orthogonal polynomials · Byron & Fuller, Mathematics of Classical and Quantum Physics, ch. 6 · Riley, Hobson & Bence, Mathematical Methods for Physics and Engineering, 3rd ed., ch. 18 · Abramowitz & Stegun, Handbook of Mathematical Functions, secs. 8.5, 9.1, 9.12, 22.7 · NIST DLMF, secs. 8.5, 10.6, 10.74, 14.10, 18.9. The Miller worked example was computed directly: seeds at give the integer chain , normalization , and (true value ), with all six orders matching the known values to the digits shown; the upward march seeded with a error reaches at against the true . Bonnet gives , with , and ; Hermite gives ; and yields .
Builds on: Gamma Function · Orthogonal Polynomials: General Theory · Generating Functions for Special Functions. Leads to: Bessel Functions of the First and Second Kind · Legendre Polynomials · Associated Legendre Functions.
Ask the tutor: Ask me to run Miller's algorithm on a Bessel value of your choice, or to build any special-function family up from its recurrence step by step.
What is the difference between a recurrence relation and a derivative relation?
A pure recurrence links a function to its neighbours of different order at the same argument — for Bessel, connects three orders with no derivatives. A derivative (or differential–difference) relation instead expresses in terms of neighbouring orders, such as . They are partners: adding and subtracting the two ladder forms converts one into the other, and combining a pure recurrence with its derivative relation eliminates a neighbour and regenerates the governing second-order ODE. Together they carry exactly the information of the differential equation, which is why you can compute, differentiate, and factor a special function knowing only its recurrences.
Why is Favard's theorem important if we already have the recurrence?
The forward direction — orthogonality implies a three-term recurrence — is what lets you compute a known family. Favard's theorem runs the implication backward: any three-term recurrence of the form with automatically generates a family that is orthogonal with respect to some positive measure. That converse is what makes the recurrence a genuine characterization rather than a mere consequence. It underlies the moment problem, the theory of continued fractions, and the construction of custom orthogonal families for a chosen weight — you can invent the coefficients and be guaranteed an orthogonality behind them, without ever writing down the weight explicitly.
How do I know which direction to iterate a recurrence?
Look at the asymptotics of the two independent solutions as the index grows. One solution dominates (grows) and one is minimal (decays); you must iterate away from the minimal solution, never toward it. Concretely: compute or recall how each solution behaves for large . For Bessel with , decays super-exponentially while grows, so is minimal and needs downward recursion, whereas is dominant and is safely built upward. The modified functions flip: is minimal (downward), dominant (upward). If both solutions stay comparable — as for Legendre on — either direction is stable. When in doubt, test a case with known values and watch for blow-up.
What does Miller's algorithm actually do, and why the strange normalization?
Miller's algorithm computes the minimal solution (like ) by exploiting the very instability that dooms upward recursion. You start at an order comfortably above both and the highest order you need, seed arbitrary values , and iterate downward. Because downward iteration drives toward the minimal solution, each step suppresses the unwanted dominant component, and after enough steps the ratios converge to the true ratios regardless of the arbitrary seed. What you have lost is the overall scale — the seed was arbitrary — so you recover it at the end with a known closure identity such as , which fixes the single missing constant. It is one of the most elegant tricks in numerical analysis: turning instability into precision.
Are recurrence relations connected to quantum ladder operators?
Directly. The raising and lowering relations of a special function are the classical, polynomial version of the creation and annihilation operators of quantum mechanics. For Hermite polynomials the lowering relation is literally the action of the oscillator's annihilation operator on the number states, and the pure recurrence encodes . The same holds for angular momentum: the recurrences that step the order of the associated Legendre functions are the shadow of moving between states. So the two first-order relations that factor a special-function ODE are the same factorization that Dirac used to solve the oscillator algebraically — recurrences and ladders are one idea in two languages.
Do recurrence relations only apply to orthogonal polynomials?
No — they are far more general. Any indexed family defined by a linear structure tends to satisfy one. The Gamma function obeys , a recurrence in a continuous parameter with no polynomial in sight. Bessel and Hankel functions, Coulomb wavefunctions, spherical harmonics, hypergeometric functions (through Gauss's contiguous relations), and Clebsch–Gordan coefficients all satisfy recurrences. What orthogonal polynomials add is the guarantee of a three-term relation and its equivalence to a self-adjoint tridiagonal operator. Outside that class the number of terms can be larger and the coefficients messier, but the underlying idea — that neighbouring members of a family are linearly dependent in a computable way — is one of the most pervasive structures in mathematical physics.