In SciPy's interpolation module there is a function called interp1d. The documentation says that it is a spline interpolation: http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp1d.html I could however nowhere find what is the boundary condition on the endpoints. For instance, in the case of a cubic spline, one should specify the derivatives (or the second derivatives) at the endpoints. What are the values used by interp1d?
interp1dcode uses thesplmakefunction withkind=smoothest. That lands in the_find_smoothestfunction, here. Though what exactly that's computing, I'm not quite sure. :-) It does look as though this is different from a natural spline, which would have been my first guess. - Mark Dickinson