Polynomial interpolation

From testwiki
Jump to navigation Jump to search

Template:Short description

In numerical analysis, polynomial interpolation is the interpolation of a given data set by the polynomial of lowest possible degree that passes through the ordered pair of points in the dataset.[1]

Given a set of Template:Math data points (x0,y0),,(xn,yn), with no two xj the same, a polynomial function p(x)=a0+a1x++anxn is said to interpolate the data if p(xj)=yj for each j{0,1,,n}.

There is always a unique such polynomial, commonly given by two explicit formulas, the Lagrange polynomials and Newton polynomials.

Applications

The original use of interpolation polynomials was to approximate values of important transcendental functions such as natural logarithm and trigonometric functions. Starting with a few accurately computed data points, the corresponding interpolation polynomial will approximate the function at an arbitrary nearby point. Polynomial interpolation also forms the basis for algorithms in numerical quadrature (Simpson's rule) and numerical ordinary differential equations (multigrid methods).

In computer graphics, polynomials can be used to approximate complicated plane curves given a few specified points, for example the shapes of letters in typography. This is usually done with Bézier curves, which are a simple generalization of interpolation polynomials (having specified tangents as well as specified points).

In numerical analysis, polynomial interpolation is essential to perform sub-quadratic multiplication and squaring, such as Karatsuba multiplication and Toom–Cook multiplication, where interpolation through points on a product polynomial yields the specific product required. For example, given a = f(x) = a0x0 + a1x1 + ··· and b = g(x) = b0x0 + b1x1 + ···, the product ab is a specific value of W(x) = f(x)g(x). One may easily find points along W(x) at small values of x, and interpolation based on those points will yield the terms of W(x) and the specific product ab. As fomulated in Karatsuba multiplication, this technique is substantially faster than quadratic multiplication, even for modest-sized inputs, especially on parallel hardware.

In computer science, polynomial interpolation also leads to algorithms for secure multi party computation and secret sharing.

Interpolation theorem

For any n+1 bivariate data points (x0,y0),,(xn,yn)2, where no two xj are the same, there exists a unique polynomial p(x) of degree at most n that interpolates these points, i.e. p(x0)=y0,,p(xn)=yn.[2]

Equivalently, for a fixed choice of interpolation nodes xj, polynomial interpolation defines a linear bijection Ln between the (n+1)-tuples of real-number values (y0,,yn)n+1 and the vector space P(n) of real polynomials of degree at most n: Ln:n+1P(n).

This is a type of unisolvence theorem. The theorem is also valid over any infinite field in place of the real numbers , for example the rational or complex numbers.

First proof

Consider the Lagrange basis functions L0(x),,Ln(x) given by: Lj(x)=ijxxixjxi=(xx0)(xxj1)(xxj+1)(xxn)(xjx0)(xjxj1)(xjxj+1)(xjxn).

Notice that Lj(x) is a polynomial of degree n, and we have Lj(xk)=0 for each jk, while Lk(xk)=1. It follows that the linear combination: p(x)=j=0nyjLj(x) has p(xk)=jyjLj(xk)=yk, so p(x) is an interpolating polynomial of degree n.

To prove uniqueness, assume that there exists another interpolating polynomial q(x) of degree at most n, so that p(xk)=q(xk) for all k=0,,n. Then p(x)q(x) is a polynomial of degree at most n which has n+1 distinct zeros (the xk). But a non-zero polynomial of degree at most n can have at most n zeros,Template:Efn so p(x)q(x) must be the zero polynomial, i.e. p(x)=q(x).[3]

Second proof

Write out the interpolation polynomial in the form Template:NumBlk Substituting this into the interpolation equations p(xj)=yj, we get a system of linear equations in the coefficients aj, which reads in matrix-vector form as the following multiplication: [x0nx0n1x0n2x01x1nx1n1x1n2x11xnnxnn1xnn2xn1][anan1a0]=[y0y1yn].

An interpolant p(x) corresponds to a solution A=(an,,a0) of the above matrix equation XA=Y. The matrix X on the left is a Vandermonde matrix, whose determinant is known to be det(X)=1i<jn(xjxi), which is non-zero since the nodes xj are all distinct. This ensures that the matrix is invertible and the equation has the unique solution A=X1Y; that is, p(x) exists and is unique.

Corollary

If f(x) is a polynomial of degree at most n, then the interpolating polynomial of f(x) at n+1 distinct points is f(x) itself.

Constructing the interpolation polynomial

File:Interpolation example polynomial.svg
The red dots denote the data points Template:Math, while the blue curve shows the interpolation polynomial.

Lagrange Interpolation

Template:Main article

We may write down the polynomial immediately in terms of Lagrange polynomials as: p(x)=(xx1)(xx2)(xxn)(x0x1)(x0x2)(x0xn)y0[4pt]+(xx0)(xx2)(xxn)(x1x0)(x1x2)(x1xn)y1[4pt]+[4pt]+(xx0)(xx1)(xxn1)(xnx0)(xnx1)(xnxn1)yn[7pt]=i=0n(ji0jnxxjxixj)yi=i=0np(x)p(xi)(xxi)yiFor matrix arguments, this formula is called Sylvester's formula and the matrix-valued Lagrange polynomials are the Frobenius covariants.

Newton Interpolation

Template:See also

Theorem

For a polynomial pn of degree less than or equal to n, that interpolates f at the nodes xi where i=0,1,2,3,,n. Let pn+1 be the polynomial of degree less than or equal to n+1 that interpolates f at the nodes xi where i=0,1,2,3,,n,n+1. Then pn+1 is given by:pn+1(x)=pn(x)+an+1wn(x)where wn(x):=i=0n(xxi) also known as Newton basis and an+1:=f(xn+1)pn(xn+1)wn(xn+1).

Proof:

This can be shown for the case where i=0,1,2,3,,n:pn+1(xi)=pn(xi)+an+1j=0n(xixj)=pn(xi)and when i=n+1:pn+1(xn+1)=pn(xn+1)+f(xn+1)pn(xn+1)wn(xn+1)wn(xn+1)=f(xn+1)By the uniqueness of interpolated polynomials of degree less than n+1, pn+1(x)=pn(x)+an+1wn(x) is the required polynomial interpolation. The function can thus be expressed as:

pn(x)=a0+a1(xx0)+a2(xx0)(xx1)++an(xx0)(xxn1).

Polynomial coefficients

To find ai, we have to solve the lower triangular matrix formed by arranging pn(xi)=f(xi)=yi from above equation in matrix form:

[101x1x01x2x0(x2x0)(x2x1)1xkx0j=0n1(xnxj)][a0an]=[y0yn]

The coefficients are derived as

aj:=[y0,,yj]

where

[y0,,yj]

is the notation for divided differences. Thus, Newton polynomials are used to provide a polynomial interpolation formula of n points.[3]

Newton forward formula

The Newton polynomial can be expressed in a simplified form when x0,x1,,xk are arranged consecutively with equal spacing.

If x0,x1,,xk are consecutively arranged and equally spaced with xi=x0+ih for i = 0, 1, ..., k and some variable x is expressed as x=x0+sh, then the difference xxi can be written as (si)h. So the Newton polynomial becomes

N(x)=[y0]+[y0,y1]sh++[y0,,yk]s(s1)(sk+1)hk=i=0ks(s1)(si+1)hi[y0,,yi]=i=0k(si)i!hi[y0,,yi].

Since the relationship between divided differences and forward differences is given as:[4][yj,yj+1,,yj+n]=1n!hnΔ(n)yj,Taking yi=f(xi), if the representation of x in the previous sections was instead taken to be x=xj+sh, the Newton forward interpolation formula is expressed as:f(x)N(x)=N(xj+sh)=i=0k(si)Δ(i)f(xj)which is the interpolation of all points after xj. It is expanded as:f(xj+sh)=f(xj)+s1!Δf(xj)+s(s1)2!Δ2f(xj)+s(s1)(s2)3!Δ3f(xj)+s(s1)(s2)(s3)4!Δ4f(xj)+

Newton backward formula

If the nodes are reordered as xk,xk1,,x0, the Newton polynomial becomes

N(x)=[yk]+[yk,yk1](xxk)++[yk,,y0](xxk)(xxk1)(xx1).

If xk,xk1,,x0 are equally spaced with xi=xk(ki)h for i = 0, 1, ..., k and x=xk+sh, then,

N(x)=[yk]+[yk,yk1]sh++[yk,,y0]s(s+1)(s+k1)hk=i=0k(1)i(si)i!hi[yk,,yki].

Since the relationship between divided differences and backward differences is given as:Template:Citation needed[yj,yj1,,yjn]=1n!hn(n)yj,taking yi=f(xi), if the representation of x in the previous sections was instead taken to be x=xj+sh, the Newton backward interpolation formula is expressed as:f(x)N(x)=N(xj+sh)=i=0k(1)i(si)(i)f(xj).which is the interpolation of all points before xj. It is expanded as:f(xj+sh)=f(xj)+s1!f(xj)+s(s+1)2!2f(xj)+s(s+1)(s+2)3!3f(xj)+s(s+1)(s+2)(s+3)4!4f(xj)+

Lozenge Diagram

A Lozenge diagram is a diagram that is used to describe different interpolation formulas that can be constructed for a given data set. A line starting on the left edge and tracing across the diagram to the right can be used to represent an interpolation formula if the following rules are followed:[5]

Error creating thumbnail:
Lozenge Diagram: geometric representation of polynomial interpolations.
  1. Left to right steps indicate addition whereas right to left steps indicate subtraction
  2. If the slope of a step is positive, the term to be used is the product of the difference and the factor immediately below it. If the slope of a step is negative, the term to be used is the product of the difference and the factor immediately above it.
  3. If a step is horizontal and passes through a factor, use the product of the factor and the average of the two terms immediately above and below it. If a step is horizontal and passes through a difference, use the product of the difference and the average of the two terms immediately above and below it.

The factors are expressed using the formula:C(u+k,n)=(u+k)(u+k1)(u+kn+1)n!

Proof of equivalence

If a path goes from Δn1ys to Δn+1ys1, it can connect through three intermediate steps, (a) through Δnys1, (b) through C(us,n) or (c) through Δnys. Proving the equivalence of these three two-step paths should prove that all (n-step) paths can be morphed with the same starting and ending, all of which represents the same formula.

Path (a):

C(us,n)Δnys1+C(us+1,n+1)Δn+1ys1

Path (b):

C(us,n)Δnys+C(us,n+1)Δn+1ys1

Path (c):

C(us,n)Δnys1+Δnys2+C(us+1,n+1)+C(us,n+1)2Δn+1ys1

Subtracting contributions from path a and b:

Path a - Path b=C(us,n)(Δnys1Δnys)+(C(us+1,n+1)C(us,n1))Δn+1ys1=C(us,n)Δn+1ys1+C(us,n)(us+1)(usn)n+1Δn+1ys1=C(us,n)(Δn+1ys1+Δn+1ys1)=0

Thus, the contribution of either path (a) or path (b) is the same. Since path (c) is the average of path (a) and (b), it also contributes identical function to the polynomial. Hence the equivalence of paths with same starting and ending points is shown. To check if the paths can be shifted to different values in the leftmost corner, taking only two step paths is sufficient: (a) ys+1 to ys through Δys or (b) factor between ys+1 and ys, to ys through Δys or (c) starting from ys.

Path (a)

ys+1+C(us1,1)ΔysC(us,1)Δys

Path (b)

ys+1+ys2+C(us1,1)+C(us,1)2ΔysC(us,1)Δys

Path (c)

ys

Since Δys=ys+1ys, substituting in the above equations shows that all the above terms reduce to ys and are hence equivalent. Hence these paths can be morphed to start from the leftmost corner and end in a common point.[5]

Newton formula

Taking negative slope transversal from y0 to Δny0 gives the interpolation formula of all the n+1 consecutively arranged points, equivalent to Newton's forward interpolation formula:

y(s)=y0+C(s,1)Δy0+C(s,2)Δ2y0+C(s,3)Δ3y0+=y0+sΔy0+s(s1)2Δ2y0+s(s1)(s2)3!Δ3y0+s(s1)(s2)(s3)4!Δ4y0+

whereas, taking positive slope transversal from yn to nyn=Δny0, gives the interpolation formula of all the n+1 consecutively arranged points, equivalent to Newton's backward interpolation formula:

y(u)=yk+C(uk,1)Δyk1+C(uk+1,2)Δ2yk2+C(uk+2,3)Δ3yk3+=yk+(uk)Δyk1+(uk+1)(uk)2Δ2yk2+(uk+2)(uk+1)(uk)3!Δ3yk3+y(k+s)=yk+(s)yk+(s+1)s22yk+(s+2)(s+1)s3!3yk+(s+3)(s+2)(s+1)s4!4yk+

where s=uk is the number corresponding to that introduced in Newton interpolation.

Gauss formula

Taking a zigzag line towards the right starting from y0 with negative slope, we get Gauss forward formula:

y(u)=y0+uΔy0+u(u1)2Δ2y1+(u+1)u(u1)3!Δ3y1+(u+1)u(u1)(u2)4!Δ4y2+

whereas starting from y0 with positive slope, we get Gauss backward formula:

y(u)=y0+uΔy1+(u+1)u2Δ2y1+(u+1)u(u1)3!Δ3y2+(u+2)(u+1)u(u1)4!Δ4y2+

Stirling formula

By taking a horizontal path towards the right starting from y0, we get Stirling formula:

y(u)=y0+uΔy0+Δy12+C(u+1,2)+C(u,2)2Δ2y1+C(u+1,3)Δ3y2+Δ3y12+=y0+uΔy0+Δy12+u22Δ2y1+u(u21)3!Δ3y2+Δ3y12+u2(u21)4!Δ4y2+

Stirling formula is the average of Gauss forward and Gauss backward formulas.

Bessel formula

By taking a horizontal path towards the right starting from factor between y0 and y1, we get Bessel formula:

y(u)=1y0+y12+C(u,1)+C(u1,1)2Δy0+C(u,2)Δ2y1+Δ2y02+=y0+y12+(u12)Δy0+u(u1)2Δ2y1+Δ2y02+(u12)u(u1)3!Δ3y0+(u+1)u(u1)(u2)4!Δ4y1+Δ4y22+

Vandermonde Algorithms

The Vandermonde matrix in the second proof above may have large condition number,[6] causing large errors when computing the coefficients Template:Math if the system of equations is solved using Gaussian elimination.

Several authors have therefore proposed algorithms which exploit the structure of the Vandermonde matrix to compute numerically stable solutions in O(n2) operations instead of the O(n3) required by Gaussian elimination.[7][8][9] These methods rely on constructing first a Newton interpolation of the polynomial and then converting it to a monomial form.

Non-Vandermonde algorithms

To find the interpolation polynomial p(x) in the vector space P(n) of polynomials of degree Template:Mvar, we may use the usual monomial basis for P(n) and invert the Vandermonde matrix by Gaussian elimination, giving a computational cost of O(n3) operations. To improve this algorithm, a more convenient basis for P(n) can simplify the calculation of the coefficients, which must then be translated back in terms of the monomial basis.

One method is to write the interpolation polynomial in the Newton form (i.e. using Newton basis) and use the method of divided differences to construct the coefficients, e.g. Neville's algorithm. The cost is O(n2) operations. Furthermore, you only need to do O(n) extra work if an extra point is added to the data set, while for the other methods, you have to redo the whole computation.

Another method is preferred when the aim is not to compute the coefficients of p(x), but only a single value p(a) at a point x = a not in the original data set. The Lagrange form computes the value p(a) with complexity O(n2).[10]

The Bernstein form was used in a constructive proof of the Weierstrass approximation theorem by Bernstein and has gained great importance in computer graphics in the form of Bézier curves.

Interpolations as linear combinations of values

Given a set of (position, value) data points (x0,y0),,(xj,yj),,(xn,yn) where no two positions xj are the same, the interpolating polynomial y(x) may be considered as a linear combination of the values yj, using coefficients which are polynomials in x depending on the xj. For example, the interpolation polynomial in the Lagrange form is the linear combination y(x):=j=0kyjcj(x) with each coefficient cj(x) given by the corresponding Lagrange basis polynomial on the given positions xj: cj(x)=Lj(x0,,xn;x)=0inijxxixjxi=(xx0)(xjx0)(xxj1)(xjxj1)(xxj+1)(xjxj+1)(xxn)(xjxn).

Since the coefficients depend only on the positions xj, not the values yj, we can use the same coefficients to find the interpolating polynomial for a second set of data points (x0,v0),,(xn,vn) at the same positions: v(x):=j=0kvjcj(x).

Furthermore, the coefficients cj(x) only depend on the relative spaces xixj between the positions. Thus, given a third set of data whose points are given by the new variable t=ax+b (an affine transformation of x, inverted by x=tba): (t0,w0),,(tj,wj),(tn,wn)withtj=axj+b,

we can use a transformed version of the previous coefficient polynomials:

c~j(t):=cj(tba)=cj(x),

and write the interpolation polynomial as:

w(t):=j=0kwjc~j(t).

Data points

(xj,yj)

often have equally spaced positions, which may be normalized by an affine transformation to

xj=j

. For example, consider the data points

(0,y0),(1,y1),(2,y2)

.

The interpolation polynomial in the Lagrange form is the linear combination

y(x):=j=02yjcj(x)=y0(x1)(x2)(01)(02)+y1(x0)(x2)(10)(12)+y2(x0)(x1)(20)(21)=12y0(x1)(x2)y1(x0)(x2)+12y2(x0)(x1).

For example, y(3)=y3=y03y1+3y2 and y(1.5)=y1.5=18(y0+6y1+3y2).

The case of equally spaced points can also be treated by the method of finite differences. The first difference of a sequence of values v={vj}j=0 is the sequence Δv=u={uj}j=0 defined by uj=vj+1vj. Iterating this operation gives the nth difference operation Δnv=u, defined explicitly by:uj=k=0n(1)nk(nk)vj+k,where the coefficients form a signed version of Pascal's triangle, the triangle of binomial transform coefficients:

1 Row n = 0
1 −1 Row n = 1 or d = 0
1 −2 1 Row n = 2 or d = 1
1 −3 3 −1 Row n = 3 or d = 2
1 −4 6 −4 1 Row n = 4 or d = 3
1 −5 10 −10 5 −1 Row n = 5 or d = 4
1 −6 15 −20 15 −6 1 Row n = 6 or d = 5
1 −7 21 −35 35 −21 7 −1 Row n = 7 or d = 6

A polynomial

y(x)

of degree d defines a sequence of values at positive integer points,

yj=y(j)

, and the

(d+1)th

difference of this sequence is identically zero:

Δd+1y=0

.

Thus, given values

y0,,yn

at equally spaced points, where

n=d+1

, we have:

(1)ny0+(1)n1(n1)y1+(nn1)yn1+yn=0.

For example, 4 equally spaced data points

y0,y1,y2,y3

of a quadratic

y(x)

obey

0=y0+3y13y2+y3

, and solving for

y3

gives the same interpolation equation obtained above using the Lagrange method.

Interpolation error: Lagrange remainder formula

Template:Confusing section

When interpolating a given function f by a polynomial pn of degree Template:Mvar at the nodes x0,..., xn we get the error f(x)pn(x)=f[x0,,xn,x]i=0n(xxi)

where

f[x0,,xn,x]

is the (n+1)st divided difference of the data points

(x0,f(x0)),,(xn,f(xn)),(x,f(x))

.

Furthermore, there is a Lagrange remainder form of the error, for a function f which is Template:Math times continuously differentiable on a closed interval

I

, and a polynomial

pn(x)

of degree at most Template:Mvar that interpolates f at Template:Math distinct points

x0,,xnI

. For each

xI

there exists

ξI

such that

f(x)pn(x)=f(n+1)(ξ)(n+1)!i=0n(xxi).

This error bound suggests choosing the interpolation points Template:Math to minimize the product |(xxi)|, which is achieved by the Chebyshev nodes.

Proof of Lagrange remainder

Set the error term as Rn(x)=f(x)pn(x), and define an auxiliary function:Y(t)=Rn(t)Rn(x)W(x)W(t)whereW(t)=i=0n(txi).Thus:Y(n+1)(t)=Rn(n+1)(t)Rn(x)W(x) (n+1)!

But since pn(x) is a polynomial of degree at most Template:Mvar, we have Rn(n+1)(t)=f(n+1)(t), and: Y(n+1)(t)=f(n+1)(t)Rn(x)W(x) (n+1)!

Now, since Template:Math are roots of Rn(t) and W(t), we have Y(x)=Y(xj)=0, which means Template:Mvar has at least Template:Math roots. From Rolle's theorem, Y(t) has at least Template:Math roots, and iteratively Y(n+1)(t) has at least one root Template:Mvar in the interval Template:Mvar. Thus: Y(n+1)(ξ)=f(n+1)(ξ)Rn(x)W(x) (n+1)!=0

and: Rn(x)=f(x)pn(x)=f(n+1)(ξ)(n+1)!i=0n(xxi).

This parallels the reasoning behind the Lagrange remainder term in the Taylor theorem; in fact, the Taylor remainder is a special case of interpolation error when all interpolation nodes Template:Math are identical.[11] Note that the error will be zero when x=xi for any i. Thus, the maximum error will occur at some point in the interval between two successive nodes.

Equally spaced intervals

In the case of equally spaced interpolation nodes where xi=a+ih, for i=0,1,,n, and where h=(ba)/n, the product term in the interpolation error formula can be bound as[12] |i=0n(xxi)|=i=0n|xxi|n!4hn+1.

Thus the error bound can be given as |Rn(x)|hn+14(n+1)maxξ[a,b]|f(n+1)(ξ)|

However, this assumes that f(n+1)(ξ) is dominated by hn+1, i.e. f(n+1)(ξ)hn+11. In several cases, this is not true and the error actually increases as Template:Math (see Runge's phenomenon). That question is treated in the section Convergence properties.

Lebesgue constants

Template:Main

We fix the interpolation nodes x0, ..., xn and an interval [a, b] containing all the interpolation nodes. The process of interpolation maps the function f to a polynomial p. This defines a mapping X from the space C([a, b]) of all continuous functions on [a, b] to itself. The map X is linear and it is a projection on the subspace P(n) of polynomials of degree n or less.

The Lebesgue constant L is defined as the operator norm of X. One has (a special case of Lebesgue's lemma): fX(f)(L+1)fp*.

In other words, the interpolation polynomial is at most a factor (L + 1) worse than the best possible approximation. This suggests that we look for a set of interpolation nodes that makes L small. In particular, we have for Chebyshev nodes: L2πlog(n+1)+1.

We conclude again that Chebyshev nodes are a very good choice for polynomial interpolation, as the growth in n is exponential for equidistant nodes. However, those nodes are not optimal.

Convergence properties

It is natural to ask, for which classes of functions and for which interpolation nodes the sequence of interpolating polynomials converges to the interpolated function as Template:Math? Convergence may be understood in different ways, e.g. pointwise, uniform or in some integral norm.

The situation is rather bad for equidistant nodes, in that uniform convergence is not even guaranteed for infinitely differentiable functions. One classical example, due to Carl Runge, is the function f(x) = 1 / (1 + x2) on the interval Template:Math. The interpolation error Template:Math grows without bound as Template:Math. Another example is the function f(x) = |x| on the interval Template:Math, for which the interpolating polynomials do not even converge pointwise except at the three points x = ±1, 0.[13]

One might think that better convergence properties may be obtained by choosing different interpolation nodes. The following result seems to give a rather encouraging answer:

Template:Math theorem

Template:Math proof

The defect of this method, however, is that interpolation nodes should be calculated anew for each new function f(x), but the algorithm is hard to be implemented numerically. Does there exist a single table of nodes for which the sequence of interpolating polynomials converge to any continuous function f(x)? The answer is unfortunately negative:

Template:Math theorem

The proof essentially uses the lower bound estimation of the Lebesgue constant, which we defined above to be the operator norm of Xn (where Xn is the projection operator on Πn). Now we seek a table of nodes for which

limnXnf=f, for every fC([a,b]).

Due to the Banach–Steinhaus theorem, this is only possible when norms of Xn are uniformly bounded, which cannot be true since we know that

Xn2πlog(n+1)+C.

For example, if equidistant points are chosen as interpolation nodes, the function from Runge's phenomenon demonstrates divergence of such interpolation. Note that this function is not only continuous but even infinitely differentiable on Template:Math. For better Chebyshev nodes, however, such an example is much harder to find due to the following result:

Template:Math theorem

Runge's phenomenon shows that for high values of Template:Mvar, the interpolation polynomial may oscillate wildly between the data points. This problem is commonly resolved by the use of spline interpolation. Here, the interpolant is not a polynomial but a spline: a chain of several polynomials of a lower degree.

Interpolation of periodic functions by harmonic functions is accomplished by Fourier transform. This can be seen as a form of polynomial interpolation with harmonic base functions, see trigonometric interpolation and trigonometric polynomial.

Hermite interpolation problems are those where not only the values of the polynomial p at the nodes are given, but also all derivatives up to a given order. This turns out to be equivalent to a system of simultaneous polynomial congruences, and may be solved by means of the Chinese remainder theorem for polynomials. Birkhoff interpolation is a further generalization where only derivatives of some orders are prescribed, not necessarily all orders from 0 to a k.

Collocation methods for the solution of differential and integral equations are based on polynomial interpolation.

The technique of rational function modeling is a generalization that considers ratios of polynomial functions.

At last, multivariate interpolation for higher dimensions.

See also

Notes

Template:Notelist

Citations

Template:Reflist

References

Further reading

  • J. L. Walsh: Interpolation and Approximation by Rational Functions in the Complex Domain, AMS (Colloquium Publications, Vol.20), ISBN 0-8218-1020-0 (1960). Chapter VII:'Interpolation by Polynomials'.
  1. Template:Cite journal
  2. Template:Cite book
  3. 3.0 3.1 Template:Cite book
  4. Template:Cite book
  5. 5.0 5.1 Template:Cite book
  6. Template:Cite journal
  7. Template:Cite journal
  8. Template:Cite journal
  9. Template:Cite journal
  10. R.Bevilaqua, D. Bini, M.Capovani and O. Menchi (2003). Appunti di Calcolo Numerico. Chapter 5, p. 89. Servizio Editoriale Universitario Pisa - Azienda Regionale Diritto allo Studio Universitario.
  11. Template:Cite web
  12. Template:Cite web
  13. Template:Harvtxt attributes the last example to Template:Harvtxt.