Hermite interpolation

From HandWiki
Short description: Polynomial interpolation using derivative values

In numerical analysis, Hermite interpolation, named after Charles Hermite, is a method of polynomial interpolation, which generalizes Lagrange interpolation. Lagrange interpolation allows computing a polynomial of degree less than n that takes the same value at n given points as a given function. Instead, Hermite interpolation computes a polynomial of degree fewer than n such that the polynomial and its first few derivatives have the same values at m (fewer than n) given points as the given function and its first few derivatives at those points. The number of pieces of information, function values and derivative values, must add up to n.

Hermite's method of interpolation is closely related to the Newton's interpolation method, in that both can be derived from the calculation of divided differences. However, there are other methods for computing a Hermite interpolating polynomial. One can use linear algebra, by taking the coefficients of the interpolating polynomial as unknowns, and writing as linear equations the constraints that the interpolating polynomial must satisfy. For another method, see § Using Chinese remainder theorem. For yet another method, see,[1] which uses contour integration.

Hermite interpolating polynomials are also deeply related to matrix diagonalization, Jordan normal form and matrix functions via generalized Frobenius covariants and generalized Sylvester's formula.

Statement of the problem

In a restricted formulation[2], Hermite interpolation consists, given a differentiable function, of computing a polynomial function of degree as low as possible such that the two functions and their first r derivatives take the same values at m different points. This means that one starts from n=m(r+1) constraints, each resulting of one of the following given pairs of values: (x1,y1),(x2,y2),…,(xm,ym),(x1,y1′),(x2,y2′),…,(xm,ym′),⋮⋮⋮(x1,y1(r)),(x2,y2(r)),…,(xm,ym(r)) As a polynomial of degree less than n is defined by n coefficients, the resulting polynomial must have a degree less than n, since, otherwise, the solution could not be unique. In a more general case, there is no need for r to have a fixed value; that is, some points may have more known derivatives than others. In this case the resulting polynomial has a degree less than the total number of constraints n.

Let us consider a polynomial h(x) of degree less than n with indeterminate coefficients; that is, the coefficients of h(x) are n new variables. Then, by writing the constraints that the interpolating polynomial must satisfy, one gets a system of n linear equations in n unknowns.

Hermite used contour integration to prove that this is effectively the case here, and to find the unique solution, provided that the xi are pairwise different.[1] Hermite interpolation is a problem of linear algebra that has the coefficients of the interpolation polynomial as unknown variables and a confluent Vandermonde matrix as its matrix.[3] The general methods of linear algebra, and specific methods for confluent Vandermonde matrices are often used for computing the interpolation polynomial, as detailed in § A perspective from linear algebra. Other methods are described below.

Explicit formula

For a given set of m distinct nodes x1,…,xm with associated maximum derivative orders r1,…,rm, let ni=ri+1 be the multiplicity of node xi, and let n=∑i=1mni be the total number of conditions. The Hermite interpolating polynomial h(x) is the unique polynomial of degree at most n−1 that satisfies the interpolation conditions: h(j)(xi)=yi,jfor i=1,…,m and j=0,…,ri.

Define the complementary factor polynomial qi(x) at node xi as: qi(x)=∏j≠i(x−xj)nj.

For each node xi, let gi(x) be the local rith degree Taylor polynomial matching the target derivative conditions: gi(x)=∑j=0riyi,jj!(x−xi)j.

The explicit closed-form formula for the Hermite interpolating polynomial h(x) is given by: h(x)=∑i=1m[∑j=0ri1j!(gi(x)qi(x))(j)|x=xi(x−xi)j]⏟𝒯ximi[gi(x)qi(x)]qi(x), where 𝒯ak[f(x)] denotes the kth degree Taylor operator of a function f(x) centered at x=a.

When ri=0 for all distinct nodes xi, meaning no derivative conditions are specified, this explicit closed-form formula reduces directly to the explicit formula of Lagrange polynomials.

Interpolating a function in closed form

When interpolating a function f(x) that is ri times differentiable at each node xi, the interpolation conditions are determined by the function's derivatives (i.e., yi,j=f(j)(xi)). In this case, the local Taylor polynomial gi(x) represents the rith degree Taylor expansion of f(x) at xi.

Since the operator 𝒯xiri isolates terms only up to order ri at xi, substituting f(x) in place of its local Taylor expansion gi(x) yields the identical Taylor expansion up to order ri: 𝒯xiri[gi(x)qi(x)]=𝒯xiri[f(x)qi(x)].

The explicit closed-form Hermite interpolating polynomial for f(x) can thus be expressed concisely as: h(x)=∑i=1m𝒯xiri[f(x)qi(x)]qi(x).

Basis polynomials in closed form

The Hermite interpolating polynomial h(x) can also be represented as a linear combination of Hermite basis polynomials hi,j(x): h(x)=∑i=1m∑j=0riyi,jhi,j(x).

An explicit closed-form expression for each basis polynomial hi,j(x) can be obtained directly by choosing the local Taylor polynomial gi(x)=(x−xi)j/j! and setting gk(x)=0 for all k≠i. Substituting gi(x) into the explicit formula yields: hi,j(x)=𝒯xiri[(x−xi)jj!qi(x)]qi(x).

Following the § Alternative basis construction via degree-0 basis polynomials, the full set of basis polynomials can be constructed entirely using only the degree-0 basis polynomial hi,0(x). For hi,0(x), the local Taylor polynomial simplifies to gi(x)=1, giving the explicit closed-form expression: hi,0(x)=𝒯xiri[1qi(x)]qi(x).

Proof of the closed form

The proof proceeds in three steps. First, it shows that evaluating derivatives at any node xi isolates only the ith term in the summation. Next, it verifies that this term matches the required derivative values via local Taylor expansion. Finally, it establishes that the resulting polynomial satisfies the degree bound and uniqueness.

Vanishing of cross-terms at distinct nodes

Fix an arbitrary target node xi and derivative order j∈{0,…,ri}. Evaluating the jth derivative of h(x) at x=xi yields:

h(j)(xi)=djdxj(∑k=1m𝒯xkrk[gk(x)qk(x)]qk(x))|x=xi

For any node index k≠i, the factor polynomial qk(x) contains (x−xi)ni as an explicit factor:

qk(x)=(x−xi)ni∏l≠i,k(x−xl)nl

By the general Leibniz rule, evaluating the jth derivative of 𝒯xkrk[gk(x)/qk(x)]qk(x) at x=xi produces a linear combination of terms involving dl/dxl(x−xi)ni|x=xi for 0≤l≤j. Because l≤j≤ri<ni, each derivative evaluates to 0 at x=xi:

dldxl(x−xi)ni|x=xi=ni!(ni−l)!(x−xi)ni−l|x=xi=0for all 0≤l≤j

Consequently, all terms k≠i in the summation vanish at x=xi.

Verification of target interpolation conditions

Evaluating the remaining term k=i at x=xi:

h(j)(xi)=djdxj(𝒯xiri[gi(x)qi(x)]qi(x))|x=xi

Since the nodes are distinct, qi(xi)=∏k≠i(xi−xk)nk≠0, so the rational function gi(x)/qi(x) is analytic at x=xi. By definition of the Taylor operator 𝒯xiri, it expands locally around xi as:

𝒯xiri[gi(x)qi(x)]=gi(x)qi(x)+O((x−xi)ni)

Multiplying by qi(x) yields:

𝒯xiri[gi(x)qi(x)]qi(x)=(gi(x)qi(x)+O((x−xi)ni))qi(x)=gi(x)+O((x−xi)ni)

Because the big O term represents an analytic function near xi with a zero of order at least ni, all of its derivatives of orders up to ri vanish at x=xi. Taking the jth derivative (0≤j≤ri) and evaluating at x=xi yields:

h(j)(xi)=djdxj(gi(x)+O((x−xi)ni))|x=xi=gi(j)(xi)+0=yi,j

Thus, h(x) satisfies all n interpolation conditions h(j)(xi)=yi,j.

Degree bound and uniqueness

For each distinct node xi, the degree of 𝒯xiri[gi(x)/qi(x)] is at most ri, and deg⁡(qi)=∑j≠inj=n−ni. Therefore, each term in h(x) has degree at most ri+n−ni=n−1, so deg⁡(h)≤n−1.

To establish uniqueness, assume another polynomial p(x) of degree ≤n−1 satisfies the same n conditions. Because h(j)(xi)=p(j)(xi)=yi,j for all 1≤i≤m and 0≤j≤ri, the difference d(x)=f(x)−p(x) satisfies d(j)(xi)=0 for all 0≤j≤ri, meaning each node xi is a root of multiplicity at least ni. This gives n roots counted with multiplicity across the m nodes. A nonzero polynomial of degree at most n−1 cannot have n roots counted with multiplicity. Therefore, f(x)−p(x) must be the zero polynomial, so f(x)=p(x).

Using Chinese remainder theorem

Let m be a positive integer representing the number of distinct nodes, r1,…,rm be nonnegative integers specifying the maximum derivative order at each node, ni=ri+1 be the multiplicity of node xi, and the nodes x1,…,xm be real numbers or elements of any other field of characteristic zero. The Hermite interpolation problem consists of finding a polynomial h(x) such that h(xi)=yi,0,h′(xi)=yi,1,…,h(ri)(xi)=yi,ri for i=1,…,m, where the yi,j are given values in the same field as the xi.

These conditions implies that the Taylor polynomial of h(x) of degree ri at xi is gi(x)=∑j=0riyi,jj!(x−xi)j. In other words, the desired polynomial h(x) is congruent to this polynomial gi(x) modulo pi(x)=(x−xi)ni.

The Chinese remainder theorem for polynomials implies that there is exactly one solution of degree less than n=∑i=1mni.

Moreover, this solution can be computed with O(n2) arithmetic operations, or even faster with fast polynomial multiplication.

This approach does not work in positive characteristic, because of the denominators of the coefficients of the Taylor polynomial. The approach through divided differences, below, works in every characteristic.

Explicit construction via Chinese remainder theorem

For general Hermite interpolation, an explicit solution satisfying the system of simultaneous congruences can be constructed directly by following the constructive proof of the Chinese remainder theorem.

The target polynomial h(x) must satisfy the system of modular equivalences: h(x)≡gi(x)(modpi(x))for i=1,…,m, where pi(x)=(x−xi)ni is the modulus polynomial at node xi.

The solution is constructed iteratively by building a sequence of polynomials a1(x),a2(x),…,am(x) such that ai(x) satisfies the first i congruences.

1. Base Step: Set the initial partial solution for i=1: a1(x)=g1(x).

2. Inductive Step: Define bi(x)=∏j=1ipj(x) for i=1,…,m. For i=2,…,m, since bi−1(x) and pi(x) share no roots and thus are coprime. By Bézout's identity, there exist polynomials ui(x) and vi(x) satisfying: ui(x)bi−1(x)+vi(x)pi(x)=1.

The polynomials ui(x) and vi(x) can be solved together using the polynomial extended Euclidean algorithm.

Define the ith partial solution ai(x) as: ai(x)=gi(x)ui(x)bi−1(x)+ai−1(x)vi(x)pi(x).

This construction satisfies all conditions up to node i:

  • Modulo pi(x), the term containing pi(x) vanishes while ui(x)bi−1(x)≡1(modpi(x)), giving ai(x)≡gi(x)(modpi(x)).
  • Modulo pj(x) for any j<i, bi−1(x)≡0(modpj(x)) and vi(x)pi(x)≡1(modpj(x)), giving ai(x)≡ai−1(x)≡gj(x)(modpj(x)).

After m−1 inductive steps, the final interpolating polynomial h(x) is obtained by reducing am(x) modulo the total degree product polynomial bm(x)=∏i=1mpi(x): h(x)=am(x)modbm(x).

Basis polynomials via Chinese remainder theorem

Following § Alternative basis construction via degree-0 basis polynomials, a full basis can be constructed by only solving the degree-0 basis polynomials hi,0(x), which can be obtained in a simplified manner.

For each node xi, the degree-0 basis polynomial hi,0(x) must satisfy:

  • hi,0(x)≡0(modpj(x))for j≠i,
  • hi,0(x)≡1(modpi(x)).

To satisfy the zero-remainder conditions at all other nodes j≠i, hi,0(x) must contain the product factor qi(x)=∏j≠ipj(x). Thus, hi,0(x)=ui(x)qi(x) for some polynomial ui(x).

Since pi(x) and qi(x) share no roots and thus are coprime, Bézout's identity guarantees the existence of polynomials ui(x) and vi(x) satisfying: ui(x)qi(x)+vi(x)pi(x)=1.

Taking this relation modulo pi(x), the term vi(x)pi(x) vanishes, showing that ui(x) is a modular multiplicative inverse of qi(x): ui(x)qi(x)≡1(modpi(x)).

Since the polynomial vi(x) is not required for the construction, ui(x) can be computed directly using half extended Euclidean algorithm that tracks only one set of Bézout coefficients.

Because the degree of the modular inverse ui(x) obtained via the extended Euclidean algorithm is strictly less than deg⁡(pi)=ni, and deg⁡(qi)=n−ni, the product degree is bounded by: deg⁡(uiqi)=deg⁡(ui)+deg⁡(qi)<ni+(n−ni)=n. Thus, deg⁡(uiqi)≤n−1, meaning the product ui(x)qi(x) already satisfies the degree constraint without requiring any further modular reduction, yielding directly the unique degree-0 basis polynomial hi,0(x)=ui(x)qi(x).

For any individual simple node xi with no derivative conditions (ri=0), pi(x)=x−xi. By the polynomial remainder theorem, the modular condition ui(x)qi(x)≡1(modx−xi) simplifies to the point evaluation ui(xi)qi(xi)=1. In this case, ui(x) reduces to a scalar constant that can be evaluated directly in closed form: ui(x)=1qi(xi)=∏j≠i1pj(xi).

Using divided differences

For a given set of m distinct nodes x1,…,xm with associated maximum derivative orders r1,…,rm, let ni=ri+1 be the multiplicity of node xi, and let n=∑i=1mni be the total number of conditions. An efficient way to construct the Hermite interpolating polynomial h(x) is by extending Newton's divided difference method. Since Newton interpolation and Lagrange interpolation construct the exact same unique polynomial for a distinct set of nodes, Newton's method can be generalized to the confluent case where distinct nodes coalesce. To interpolate a function f(x) or a given set of derivative conditions yi,j (for i=1,…,m and j=0,…,ri), the original set of nodes is transformed into a dataset z1,…,zn by repeating each node xi according to its multiplicity ni times: (z1,…,zn)=(x1,…,x1⏟n1 times,x2,…,x2⏟n2 times,…,xm,…,xm⏟nm times). When constructing the divided difference table for this dataset, the standard finite difference quotient for identical confluent nodes would result in an undefined 0/0 expression; these entries are directly replaced by the corresponding scaled derivative values f(j)(xi)/j! (or yi,j/j!). The interpolating polynomial is then represented in Newton form: h(x)=∑i=1nf[z1,…,zi]∏j=1i−1(x−zj). Once the target function and derivative values are known, this generalized construction requires only basic algebraic operations (addition, subtraction, multiplication, and division) to compute the divided difference table and construct the polynomial.

Simple case with only first derivatives

Here we will consider only the simplest case ri=1 (i.e., ni=2) for all distinct nodes. Therefore, given m distinct nodes x1,…,xm, and values f(x1),…,f(xm) and f′(x1),…,f′(xm) for a function f(x) that we want to interpolate, we create a new dataset z1,…,z2m such that z2i−1=z2i=xi.

Now, we create a divided differences table for the nodes z1,…,z2m. However, for some divided differences, zi=zi+1⟹f[zi,zi+1]=f(zi+1)−f(zi)zi+1−zi=00 which is undefined. In this case, the divided difference is replaced by f′(zi). All others are calculated normally.

General case for higher-order derivatives

In the general case, suppose a given node xi has up to rith order derivatives. Then the dataset z1,…,zn contains ni adjacent identical copies of xi. When creating the table, divided differences of j+1 (for j=0,…,ri) identical values will be calculated as f[xi,…,xi⏟j+1times]=f(j)(xi)j!.

For example, f[xi,xi,xi]=f″(xi)2 f[xi,xi,xi,xi]=f(3)(xi)6 etc.

A fast algorithm for the fully general case is given by Schneider and Werner.[4] A slower but more numerically stable algorithm is given by Corless and Fillion.[5]

Example

Case of uniform derivative orders

Consider the function f(x)=x8+1. Evaluating the function and its first two derivatives at x∈{−1,0,1}, we obtain the following data:

x f(x) f′(x) f″(x)
−1 2 −8 56
0 1 0 0
1 2 8 56

Since we have two derivatives to work with, we construct the dataset (zi,…,zn)=(−1,−1,−1,0,0,0,1,1,1). Our divided difference table is then: z1=−1f[z1]=2f′(z1)1=−8z2=−1f[z2]=2f″(z2)2=28f′(z2)1=−8f[z4,z3,z2,z1]=−21z3=−1f[z3]=2f[z4,z3,z2]=715f[z4,z3]=−1f[z5,z4,z3,z2]=−6−10z4=0f[z4]=1f[z5,z4,z3]=154f′(z4)1=0f[z6,z5,z4,z3]=−1−2−1z5=0f[z5]=1f″(z5)2=0121f′(z5)1=0f[z7,z6,z5,z4]=121z6=0f[z6]=1f[z7,z6,z5]=154f[z7,z6]=1f[z8,z7,z6,z5]=610z7=1f[z7]=2f[z8,z7,z6]=715f′(z7)1=8f[z9,z8,z7,z6]=21z8=1f[z8]=2f″(z8)2=28f′(z8)1=8z9=1f[z9]=2 and by taking the coefficients from the diagonal of the divided difference table, and multiplying the ith coefficient by ∏j=1i−1(x−zj), as we would when constructing Newton form to generate a Newton polynomial, the generated polynomial h(x) is h(x)=2−8(x+1)+28(x+1)2−21(x+1)3+15x(x+1)3−10x2(x+1)3+4x3(x+1)3−1x3(x+1)3(x−1)+x3(x+1)3(x−1)2=2−8+28−21−8x+56x−63x+15x+28x2−63x2+45x2−10x2−21x3+45x3−30x3+4x3+x3+x3+15x4−30x4+12x4+2x4+x4−10x5+12x5−2x5+4x5−2x5−2x5−x6+x6−x7+x7+x8=x8+1.

Case of non-uniform derivative orders

Consider the following set of derivative conditions yi,j at nodes xi∈{−1,0,1}:

i xi yi,0 yi,1
1 −1 1 2
2 0 1
3 1 -1 -2

For this example with non-uniform derivative orders, we construct the dataset (z1,…,zn)=(−1,−1,0,1,1). Denoting the divided differences as y[za,…,zb] when constructed from the derivative conditions yi,j, the constructed divided difference table is given by: z1=−1y[z1]=y1,0=1y1,11=2z2=−1y[z2]=y1,0=1y[z3,z2,z1]=−2y[z3,z2]=−012z3=0y[z3]=y2,0=1y[z4,z3,z2]=−10y[z4,z3]=−212z4=1y[z4]=y3,0=−1y[z5,z4,z3]=0y3,11=−2z5=1y[z5]=y3,0=−1 and the generated polynomial h(x) in Newton form is h(x)=1+2(x+1)−2(x+1)2+12x(x+1)2+0x(x+1)2(x−1)=12x3−x2−32x+1.

A perspective from linear algebra

The interpolation problem can also be formulated and solved directly using linear algebra in a similar way to Lagrange interpolation, by replacing the standard Vandermonde matrix with a confluent Vandermonde matrix to account for both function values and derivative conditions at each node.

Let m be the number of distinct nodes x1,…,xm, let ni be the multiplicity of node xi representing the number of specified values including derivatives, and let n=∑i=1mni be the total number of data conditions. Let V be the constructed confluent Vandermonde matrix, let H=V−1 be its inverse, and let d=n−1 be the degree bound of the interpolating polynomial. The matrix H is given by: H=(H00⋯H0d⋮⋱⋮Hd0⋯Hdd).

The sample vector 𝐲 stacks all target function values and derivative constraints into a single column vector of total dimension n. The pair of node index i and derivative index j is mapped to a single flattened index k∈{0,…,d} via the indexing function: k=σ(i,j)=j+∑l=1i−1nl.

Given the interpolation condition vector 𝐲, the coefficient vector 𝐚=(a0a1⋯ad)T of the Hermite interpolating polynomial h(x)=∑k=0dakxk can be computed as: 𝐚=H𝐲.

Furthermore, the individual Hermite interpolating basis polynomials hi,j(x) correspond to the basis polynomials hk(x) in the flattened indexing under k=σ(i,j), allowing the interpolating polynomial to be expressed equivalently as: h(x)=∑k=0dykhk(x)=∑i=1m∑j=0ni−1yσ(i,j)hi,j(x). The basis polynomials hi,j(x)=hk(x) can be constructed directly from the columns of H: hi,j(x)=hk(x)=H0k+H1kx+⋯+Hdkxd.

In numerical practice, directly computing H by inverting the confluent Vandermonde matrix is generally avoided because confluent Vandermonde matrices are notoriously ill-conditioned. As the number of nodes or their degree increases, their condition number grows exponentially, making direct matrix inversion numerically unstable and highly sensitive to floating-point errors.

Common low-degree cases

Cubic Hermite spline

Cubic Hermite splines are widely used in numerical analysis, computer graphics, and motion planning for keyframe animation, path trajectories, and geometric modeling because they ensure smooth C1 continuity while providing precise local control over both endpoint positions and tangents.

On the unit interval x∈[0,1], the two endpoints are defined as x1=0 and x2=1, the cubic Hermite interpolant h(x) is uniquely determined by boundary values and first derivatives f(0),f(1),f′(0),f′(1): h(x)=f(0)h1,0(x)+f′(0)h1,1(x)+f(1)h2,0(x)+f′(1)h2,1(x)

where the four basis polynomials are: h1,0(x)=2x3−3x2+1,h1,1(x)=x3−2x2+x,h2,0(x)=−2x3+3x2,h2,1(x)=x3−x2.

For rescaling to arbitrary intervals, piecewise multi-interval construction, or extension to 2D/3D parametric curves, see Cubic Hermite spline.

Quintic Hermite interpolation

The quintic Hermite interpolation based on the function f(x), its first f′(x) and second derivatives f″(x) at two different points (x1 and x2) can be used for example to interpolate the position of an object based on its position, velocity and acceleration. The general form is given by f(x)=f(x1)+f′(x1)(x−x1)+12f″(x1)(x−x1)2+f(x2)−y(x1)−f′(x1)(x2−x1)−12f″(x1)(x2−x1)2(x2−x1)3(x−x1)3+3f(x1)−3f(x2)+2(f′(x1)+12f′(x2))(x2−x1)+12f″(x1)(x2−x1)2(x2−x1)4(x−x1)3(x−x2)+6f(x2)−6f(x1)−3(f′(x1)+f′(x2))(x2−x1)+12(f″(x2)−f″(x1))(x2−x1)2(x2−x1)5(x−x1)3(x−x2)2.

Basis polynomials

For a given set of m distinct nodes x1,…,xm with associated maximum derivative orders r1,…,rm, let ni=ri+1 be the multiplicity of node xi, and let n=∑ini be the total number of conditions. The Hermite interpolating polynomial h(x) can be expressed as a linear combination of basis polynomials hi,j(x): h(x)=∑i=1m∑j=0riyi,jhi,j(x), where each basis polynomial hi,j(x) is uniquely defined as the interpolating polynomial of degree at most n−1 for the basis conditions given by the Kronecker delta: dldxlhi,j(x)|x=xk=δi,kδj,l={1if k=i and l=j,0otherwise.

To construct a specific basis polynomial hi,j(x) using general methods for solving Hermite interpolation (such as those described in this article), one specifies a system of target conditions yk,l(i,j) across all nodes xk and derivative orders 0≤l≤rk: yk,l(i,j)=δi,kδj,l={1if k=i and l=j,0otherwise.

By passing these target conditions yk,l(i,j) as input values into any general method for solving Hermite interpolation, the resulting unique interpolating polynomial generated by the method is precisely the basis polynomial hi,j(x). Repeating this process for each pair of indices (i,j) constructs the full set of n basis polynomials.

Alternative basis construction via degree-0 basis polynomials

Let q(x)=∏i(x−xi)ni be the polynomial of degree n, which vanishes at each node xi with multiplicity ni. Once the degree-0 basis polynomials hi,0(x) (corresponding to the function value condition yi,0=1 at node xi) are obtained, the higher-order derivative basis polynomials hi,j(x) for 1≤j≤ri can be constructed directly via polynomial reduction: hi,j(x)=((x−xi)jj!hi,0(x))modq(x).

Taking the remainder modulo q(x) guarantees that deg⁡(hi,j)<deg⁡(q)=n, projecting the polynomial into the subspace of degree at most n−1. Because q(x) vanishes at every node xi to order ni, all target derivative evaluation conditions at the nodes are preserved under this modular reduction. This bounds the degree and ensures that each constructed hi,j(x) is the unique polynomial of degree at most n−1 satisfying its corresponding interpolation conditions.

This construction is particularly advantageous when direct evaluation of higher-order basis polynomials hi,j(x) is computationally expensive or numerically unstable. In some cases, the degree-0 basis polynomials hi,0(x) are simply cleaner and easier to construct and compute, allowing all remaining derivative basis polynomials for that node to be generated efficiently through straightforward polynomial multiplication and modular reduction.

Error

Let m be the number of distinct nodes x1,…,xm, let ni be the multiplicity of node xi representing the number of specified values including derivatives, and let n=∑i=1mni be the total number of interpolation conditions. Denote the constructed Hermite interpolating polynomial as h(x) and the original function as f(x). Consider first the real-valued case. Let a=minixi and b=maxixi. Evaluating at a point x∈[a,b], the error function is f(x)−h(x)=f(n)(c)n!∏i=1m(x−xi)ni, where c is an unknown value within the range [a,b], derived using a generalization of the mean value theorem for divided differences to confluent nodes. The degree of the product polynomial on the right is n, which is one higher than the degree bound n−1 for h(x). Furthermore, the error and all its derivatives up to order ni−1 are zero at each node xi, as expected.

In the complex case, as described for example on p. 360 in [5], f(z)−h(z)=q(z)2πi∮Cf(ζ)q(ζ)(ζ−z)dζ where the contour C encloses z and all the nodes xi, and q(z)=∏i=1m(z−xi)ni is the product polynomial of all node factors.

See also

References

  1. ↑ 1.0 1.1 Hermite, Charles (1878). "Sur la formule d'interpolation de Lagrange.". Journal für die reine und angewandte Mathematik 84: 70–79. https://eudml.org/doc/148345. 
  2. ↑ Traub, J. F. (December 1964). "On Lagrange—Hermite interpolation". Journal of the Society for Industrial and Applied Mathematics 12 (4): 886–891. doi:10.1137/0112076. https://www.jstor.org/stable/2946361. 
  3. ↑ Spitzbart, A (January 1960). "A Generalization of Hermite Interpolation". American Mathematical Monthly 67 (1): 42–46. doi:10.1080/00029890.1960.11989446. https://www.jstor.org/stable/2308924. Retrieved 2 June 2024. 
  4. ↑ Schneider, C; Werner, W (1991). "Hermite Interpolation: The Barycentric Approach". Computing 46: 35–51. doi:10.1007/BF02239010. https://link.springer.com/article/10.1007/BF02239010. 
  5. ↑ 5.0 5.1 Corless, Robert M; Fillion, Nicolas (2013). A Graduate Introduction to Numerical Methods. New York: Springer. ISBN 978-1-4614-8452-3.