Homogeneous Splines

A polynomial spline of homogeneous degree (or simply a homogeneous spline) is a piecewise polynomial, -times continuously differentiable function interpolating a list of points (knots) in the plane. If the points are equally spaced, the spline is said to be uniform, and otherwise nonuniform. Importantly, homogeneous (nonuniform) splines may be used in lieu of the usual Lagrange interpolating polynomials, because they mitigate the oscillation problems due to (general) Runge's phenomenon.



  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


The control "interpolating polynomial" displays the Lagrange interpolating polynomial of the knots (fixed) and (corresponding to the locators), obtained via the Mathematica built-in function InterpolatingPolynomial. If "derivative degree" is greater than "spline degree", the highest nonzero derivative is shown. The locators' ranges are restricted to keep most of the spline within the range of the plot.
The naive spline algorithm used to generate the spline is locally recursive in the abscissas, that is, the equation of the spline in the interval depends on that in the interval (precisely, on the derivatives for ). It follows that the spline is particularly well-behaved in for low values of , while dispersion phenomena increase for high values. As a consequence, oscillation phenomena are expected on the right of a given interval rather than on the left and, more generally, is (significantly) increasing with respect to both and .
Snapshots 1, 2: Quadratic and linear splines shown with their first derivatives.
Snapshot 3: Shows general Gibbs phenomenon for splines. In the presence of a "step" in the knots' list, that is, whenever and or , the spline displays significant local oscillation.
Snapshot 4: Shows general Runge's phenomenon for the Lagrange polynomial. The Lagrange polynomial (yellow) often displays a general Runge's phenomenon, that is, significant oscillation in the extremal (left/right) regions of the plot, while the spline (blue) is not affected by the issue in the leftmost interval.
Snapshot 5: Spline interpolation allows the spline to be locally nonhomogeneous in its degree, that is, including (isolated) pieces (here in ) with lower degree, in order to obtain continuity of the derivative.
Snapshot 6: Spline interpolation may be locally (although not globally) arbitrarily close to Lagrange interpolation, even if the spline degree is strictly lower than that of Lagrange polynomial.
[1] Wikipedia. "Spline". (Nov 4, 2014) en.wikipedia.org/wiki/Spline_%28 mathematics %29.
[2] Wikipedia. "Runge's Penomenon. (Nov 4, 2014) en.wikipedia.org/wiki/Runge%27 s_phenomenon.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+