Splines Come to Mathematica
One of the areas I contributed to Mathematica 7 was support for splines. The word “spline” originated from the term used by ship builders referring to thin wood pieces. Over the last 40 years, splines have become very popular in computer graphics, computer animation and computer-aided design fields. From containers for household goods to state-of-the-art airplanes, it is hard to find any industrial product without spline surfaces. Also, they are widely used in other mathematical studies, such as interpolation and approximation. Through its integration of numerics, symbolics and graphics, Mathematica has the opportunity to go much further with splines than has ever been possible before. Mathematica has had basic spline packages for a long time. But in Mathematica 7 we decided to make highly general spline support a core feature of the system. Splines give another way to represent classes of functions. For decades, mathematicians had been using polynomials for numerical analysis. In the early 20th century, with advances in approximation theory, spline functions were beginning to emerge. The basic idea is simple. In essence, they consist of piecewise polynomials with local supports. Since Version 5.1, Mathematica has offered general support for piecewise functions, both numerically and symbolically. In Mathematica 7, the B-spline functions can be expanded using PiecewiseExpand. For example, a uniform cubic B-spline basis function can be expanded to the following.