Dynamic programming approach of Hermite interpolation

258 Views Asked by At

Let's define the $k$-th degree Hermite interpolating spline as a curve which interpolates between points $P_0$ and $P_1$ and also between their derivatives $v_0^j$ and $v_1^j$ up to order $j=(k-1)/2$. The interpolation parameter is $t \in [0,1]$.

Goldman presented a dynamic programming "pyramid" approach for the evaluation of a wide range of curves as series of recursive linear interpolations. The book states that Neville's algorithm for Lagrange interpolation can be extended to Hermite interpolation. In this case steps involving vectors ($v_i^j$) instead of points ($P_i$) become translation instead of linear interpolation.

For example the cubic ($k=3$) case is:

$P_0^3(t) = t^3 (v_0 + v_1 + 2 P_1 - 2 P_2) - t^2 (2 v_0 + v_1 + 3 P_1 - 3 P_2) + t v_0 + P_1$

which can be evaluated as

evaluation of cubic Hermite spline

However it is not straightforward how to extend the algorithm to higher degree, like quintic (5th degree) and septic (7th degree) Hermite interpolating polynomials.

It would be great to extend it to the quintic ($k=5$) case:

$P_0^5 = -\frac{ 1 }{2} t ^ 5 (6 v_0 + 6 v_1 + v_0^2 - v_1^2 + 12 P_0 - 12 P_1) + \frac{ 1 }{2} t ^ 4 (16 v_0 + 14 v_1 + 3 v_0^2 - 2 v_1^2 + 30 P_0 - 30 P_1) - \frac{ 1 }{2} t ^ 3 (12 v_0 + 8 v_1 + 3 v_0^2 - v_1^2 + 20 P_0 - 20 P_1) + v_0 t + \frac{ v_0^2 t ^ 2 }{2}+P_0$

I tried to make a pyramid for quintic Hermite, without success. Any help is appreciated.