Skip to content

Hermite Interpolation

Standard polynomial interpolation matches function values at a set of nodes. But what if you also know the derivative at each node? Hermite interpolation incorporates both, effectively doubling the number of conditions — and by the Weierstrass principle, a higher-degree polynomial means lower error. Hermite interpolation achieves a significantly higher degree polynomial without requiring any additional data points.


Motivation

Recall from the Weierstrass theorem: higher degree → smaller error. The bottleneck with standard interpolation is that each node contributes only one condition (the function value), capping the degree at nn for n+1n+1 nodes. Hermite interpolation unlocks additional conditions by also matching the derivative at each node. With the same dataset, the polynomial’s degree more than doubles.


Conditions and Degree

For n+1n+1 nodes x0,x1,…,xnx_0, x_1, \ldots, x_n, Hermite interpolation imposes:

Condition TypeCount
Function values: P(xk)=f(xk)P(x_k) = f(x_k)n+1n+1
Derivative values: P′(xk)=f′(xk)P'(x_k) = f'(x_k)n+1n+1
Total conditions2n+2\mathbf{2n+2}

A polynomial is uniquely determined by its coefficients. Matching 2n+22n+2 conditions requires exactly 2n+22n+2 free coefficients, which means a polynomial of degree 2n+1\mathbf{2n+1}.

NodesStandard DegreeHermite Degree
2 (n=1n=1)13 (cubic)
3 (n=2n=2)25 (quintic)
4 (n=3n=3)37
n+1n+1nn2n+12n+1

The Hermite Polynomial Formula

P2n+1(x)=∑k=0n[ hk(x) f(xk)  +  h^k(x) f′(xk)]P_{2n+1}(x) = \sum_{k=0}^{n} \Bigl[\,h_k(x)\,f(x_k) \;+\; \hat{h}_k(x)\,f'(x_k)\Bigr]

where the two families of basis polynomials are built directly from the Lagrange basis Lk(x)L_k(x):

hk(x)=[1−2(x−xk) Lk′(xk)] [Lk(x)]2h_k(x) = \bigl[1 - 2(x - x_k)\,L_k'(x_k)\bigr]\,\bigl[L_k(x)\bigr]^2

h^k(x)=(x−xk) [Lk(x)]2\hat{h}_k(x) = (x - x_k)\,\bigl[L_k(x)\bigr]^2

Why Two Families?

The two basis families are designed to never interfere with each other:

BasisPropertyEnsures
hk(xj)=δkjh_k(x_j) = \delta_{kj}Equals 1 at own node, 0 elsewhereMatches function value f(xk)f(x_k)
hk′(xj)=0h_k'(x_j) = 0 for all jjZero derivative at every nodeDoes not disturb derivative conditions
h^k(xj)=0\hat{h}_k(x_j) = 0 for all jjZero value at every nodeDoes not disturb function value conditions
h^k′(xj)=δkj\hat{h}_k'(x_j) = \delta_{kj}Derivative equals 1 at own node, 0 elsewhereMatches derivative f′(xk)f'(x_k)

The hkh_k terms carry the function values; the h^k\hat{h}_k terms carry the derivative values. Neither family disrupts the other’s conditions.


Worked Example

Problem: Consider the following data points. Compute all Hermite basis elements and evaluate the Hermite interpolation polynomial.

xxf(x)f(x)f′(x)f'(x)
000011
π\pi1100

(i) Compute all Hermite basis elements

First, we find the standard Lagrange basis polynomials, l0(x)l_0(x) and l1(x)l_1(x), and their derivatives:

For x0=0x_0 = 0:

l0(x)=x−x1x0−x1=x−π0−π=1−xπl_0(x) = \frac{x - x_1}{x_0 - x_1} = \frac{x - \pi}{0 - \pi} = 1 - \frac{x}{\pi}

l0′(x)=−1πl_0'(x) = -\frac{1}{\pi}

For x1=πx_1 = \pi:

l1(x)=x−x0x1−x0=x−0π−0=xπl_1(x) = \frac{x - x_0}{x_1 - x_0} = \frac{x - 0}{\pi - 0} = \frac{x}{\pi}

l1′(x)=1πl_1'(x) = \frac{1}{\pi}

Next, we use these to compute the Hermite basis elements h0,h1,h^0,h_0, h_1, \hat{h}_0, and h^1\hat{h}_1:

Computing h0(x)h_0(x):

h0(x)=l02(x)[1−2(x−x0)l0′(x0)]=(1−xπ)2[1−2(x−0)(−1π)]=(1−xπ)2[1+2xπ]h_0(x) = l_0^2(x)[1 - 2(x - x_0)l_0'(x_0)] = \left(1 - \frac{x}{\pi}\right)^2 \left[1 - 2(x - 0)\left(-\frac{1}{\pi}\right)\right] = \left(1 - \frac{x}{\pi}\right)^2 \left[1 + \frac{2x}{\pi}\right]

Computing h1(x)h_1(x):

h1(x)=l12(x)[1−2(x−x1)l1′(x1)]=(xπ)2[1−2(x−π)(1π)]=x2π2[1−2(x−π)π]h_1(x) = l_1^2(x)[1 - 2(x - x_1)l_1'(x_1)]= \left(\frac{x}{\pi}\right)^2 \left[1 - 2(x - \pi)\left(\frac{1}{\pi}\right)\right] = \frac{x^2}{\pi^2} \left[1 - \frac{2(x - \pi)}{\pi}\right]

=x2π2[1−2xπ+2]=x2π2[3−2xπ] = \frac{x^2}{\pi^2} \left[1 - \frac{2x}{\pi} + 2\right] = \frac{x^2}{\pi^2} \left[3 - \frac{2x}{\pi}\right]

Computing h^0(x)\hat{h}_0(x):

h^0(x)=(x−x0)(l0(x))2=(x−0)(1−xπ)2=x(1−xπ)2\hat{h}_0(x) = (x - x_0)(l_0(x))^2 = (x - 0)\left(1 - \frac{x}{\pi}\right)^2 = x\left(1 - \frac{x}{\pi}\right)^2

Computing h^1(x)\hat{h}_1(x):

h^1(x)=(x−x1)(l1(x))2=(x−π)(xπ)2\hat{h}_1(x) = (x - x_1)(l_1(x))^2 = (x - \pi)\left(\frac{x}{\pi}\right)^2

(ii) Evaluate the Hermite interpolation polynomial

Since there are 2 nodes (n=1n=1), the polynomial will be of degree 3 (2n+1=32n+1=3). Using the formula:

P3(x)=f(x0)h0(x)+f′(x0)h^0(x)+f(x1)h1(x)+f′(x1)h^1(x)P_3(x) = f(x_0)h_0(x) + f'(x_0)\hat{h}_0(x) + f(x_1)h_1(x) + f'(x_1)\hat{h}_1(x)

Substitute the given data f(0)=0f(0)=0, f′(0)=1f'(0)=1, f(π)=1f(\pi)=1, f′(π)=0f'(\pi)=0:

P3(x)=(0)h0(x)+(1)h^0(x)+(1)h1(x)+(0)h^1(x)P_3(x) = (0)h_0(x) + (1)\hat{h}_0(x) + (1)h_1(x) + (0)\hat{h}_1(x)

The first and last terms zero out, leaving:

P3(x)=h^0(x)+h1(x)P_3(x) = \hat{h}_0(x) + h_1(x)

Substituting our evaluated bases back in gives the final polynomial:

P3(x)=x(1−xπ)2+x2π2(3−2xπ)P_3(x) = x\left(1 - \frac{x}{\pi}\right)^2 + \frac{x^2}{\pi^2}\left(3 - \frac{2x}{\pi}\right)

Advantage Over Standard Interpolation

MethodData UsedDegree AchievedError Bound
Standard interpolationn+1n+1 function valuesnnHigher
Hermite interpolationn+1n+1 values ++ n+1n+1 derivatives2n+12n+1Lower

For a fixed set of n+1n+1 data points, Hermite interpolation achieves a polynomial of degree 2n+12n+1 rather than nn. The error formula from the previous section shows that a higher-degree interpolant has a larger (n+1)!(n+1)! damping factor, which leads directly to a tighter upper bound on the approximation error.