Interpolación spline

Muy frecuentemente se dispone de una gran cantidad de datos relativos a una función, conocida o no, que se desea aproximar. Las técnicas de interpolación polinómica dan lugar en general a interpolantes que presentan grandes oscilaciones. La interpolación spline desempeña un papel fundamental en el tratamiento de este tipo de problemas. En lo que sigue, nos centraremos principalmente en la interpolación spline cúbica, aunque trataremos primero brevemente la lineal y la cuadrática.

Interpolación con splines de grado uno

Como hemos indicado, los polinomios de grado elevado pueden presentar grandes oscilaciones. Ello hace que un polinomio pueda coincidir con una función en muchos puntos y que, aunque dos de ellos estén muy próximos, en puntos entre estos dos el valor del polinomio diste mucho del de la función. Incluso es posible que la distancia tienda a infinito cuando el grado del polinomio crece (el ejemplo de Runge es una buena ilustración).

Por el contrario para los polinomios de grado bajo no se dan tales oscilaciones; basta pensar en las gráficas de las rectas, las parábolas o las cúbicas, por citar los de grado más bajo, que son los de mayor interés en la construcción de las funciones spline polinómicas.

La idea de este tipo de funciones es hacer posible la construcción de espacios de funciones suficientemente suaves fácilmente manejables. Los más utilizados son los construidos, hablando en términos gráficos, a partir de funciones polinómicas a trozos de grado bajo que presentan cierta regularidad.

Un ejemplo sencillo es el de una función cuya gráfica la forman rectas a trozos, es decir segmentos, sobre una partición

MATH del intervalo $\left[ a,b\right] $, de tal manera que el extremo final de un segmento coincide con el principio del siguiente. La gráfica que resulta es lo que conocemos como una poligonal. Obsérvese que se trata de una función continua en el intervalo total $\left[ a,b\right] $, y que al restringirla al intervalo $[x_{i},x_{i+1}]$, $1\leq i\leq n-1$, es un polinomio de grado menor o igual que uno; además, estas dos propiedades se mantienen cuando se suman poligonales o se multiplican por escalares. Por tanto las funciones cuyas gráficas son las poligonales asociadas a la partición anterior constituyen un espacio vectorial. Este espacio vectorial es el de las funciones spline de grado uno y nodos $x_{1},...,x_{n}$, y se nota por MATH

También se observa de inmediato que si en los nodos $x_{1}$, $\ldots$, $x_{n}$ se conocen los valores $y_{1}$, $\ldots$, $y_{n}$ que toma cierta función y se desea construir una poligonal, del tipo anterior, que pasa por ellos, el problema tiene solución y es única: su gráfica la forman los segmentos que unen los puntos resultantes: el punto MATH con el punto MATH, el MATH con MATH, etc., y su expresión analítica, $s_{i}(x),$ en el subintervalo MATH, $1\leq i\leq n-1$, es

MATH (el último subintervalo se considera cerrado por la derecha, es decir, MATH).

Por tanto, el problema consistente en interpolar datos lagranianos referidos a los nodos $x_{1}$, $\ldots$, $x_{n}$ en el espacio MATH es unisolvente (es decir, tiene solución en ese espacio vectorial y es única). Este hecho también nos indica que la dimensión de dicho espacio es $n.$ La dimensión también se puede deducir teniendo en cuenta que cada spline es un polinomio de grado menor o igual que $1$ en cada subintervalo, lo que deja dos parámetros libres para su determinación; en total, como hemos de obtener $n-1$ polinomios, serían MATH parámetros, a los que habría que restar $n-2$ restricciones originadas al exigir la continuidad en los $n-2$ nodos interiores, obteniendo como valor de la dimensión MATH (este resultado, obtenido a partir de un razonamiento de tipo heurístico, requiere una demostración rigurosa, pues no hemos probado que las formas lineales asociadas al problema sean linealmente independientes).

Una base del espacio MATH la constituyen las $n$ poligonales que valen, respectivamente, $1$ en un nodo y $0$ en los $n-1$ nodos restantes. Esta base es muy útil en problemas de elementos finitos (ver figura c10g1 ).
Figure
Gráfica de la función de de la base de MATH correspondiente al nodo $x_{i}$.

Otra base se puede definir a partir de potencias truncadas. La función potencia truncada de grado $m$ en el punto $c$ se nota por MATH y se define por

MATH En la figura c10g2 se muestran las gráficas de dos de ellas.
Figure
Gráficas en MATH de las potencias truncadas de grados $m=1,2$ correspondientes a $c=2$.

La base de MATH mediante potencias truncadas es

MATH

Interpolación con splines cuadráticos

Las funciones spline polinómicas de grado mayor que uno siguen una filosofía idéntica a las de grado uno, sólo que al aumentar el grado se puede conseguir mayor regularidad global, sin que cambie mucho la dimensión del espacio vectorial. Así, los splines cuadráticos con nodos $x_{1}$, $\ldots$, $x_{n}$ están constituidos por parábolas a trozos, unidas entre sí no sólo con continuidad sino también con tangente continua, de tal forma que son funciones de clase uno en el intervalo $\left[ a,b\right] $. El espacio vectorial correspondiente se nota por MATH Es evidente que si se desea calcular una parábola conociendo su valor en dos puntos, por ejemplo en $x_{1}$ y $x_{2}$, y el valor de su derivada en uno de ellos, por ejemplo en $x_{1}, $ el problema es unisolvente. Si queremos usar el spline cuadrático para interpolar datos, la siguiente parábola tendría que volver a interpolar el valor en el nodo $x_{2}$, puede interpolar un nuevo valor de función en $x_{3},$ pero no podemos interpolar una derivada arbitraria en uno de estos extremos, pues, para que ambas parábolas enlacen con clase uno se necesita que la nueva parábola tenga en $x_{2}$ la misma derivada que la parábola construida en el intervalo MATH Continuando la construcción hasta el último subintervalo, observamos que el espacio MATH permite resolver un problema de interpolación con $n+1$ datos (valores en los $n$ nodos y el valor de la derivada en uno de ellos). Nuevamente, la dimensión $n+1$ es igual al número de parábolas que hay que construir, $n-1$, por el número de parámetros de cada una, tres, menos el número de nodos interiores, $n-2$, por las restricciones en cada nodo interior, dos (coincidencia del valor y de la primera derivada).

Detallemos el problema de interpolación lagrangiana en MATH, que describimos como sigue: MATH

Si $s_{k}$ es el polinomio cuadrático que se obtiene al restringir MATH al intervalo MATH, $k=1,2,\ldots,n-1$, entonces MATH, donde $\alpha_{k}$, $\beta_{k}$ y $\gamma_{k} $ son constantes reales. La función $s$ cumplirá las condiciones de interpolación MATH, $k=1,2,\ldots,n$, si y sólo si MATH y MATH, $k=1,2,\ldots,n-1$, condiciones equivalentes a MATH donde MATH. Entonces MATH donde MATH. La determinación del interpolante spline $s$ pasa por hallar los valores $\beta_{k}$. Sólo resta imponer que $s$ sea de clase MATH. Pero esto está garantizado si $s$ es derivable en los nodos interiores MATH. En definitiva, $s$ es de clase MATH si y sólo si MATH, $k=1,2,\ldots,n-2$, es decir, si y sólo si MATH igualdades que se simplifican dando lugar a MATH

Se trata de un sistema de $n-2$ ecuaciones para las incógnitas MATH, por lo que el problema (c10:Lagcuad) no es unisolvente en MATH. Una forma de conseguir un problema unisolvente consiste en especificar el valor de la derivada de la función spline en uno de los nodos. Si es el inicial, equivale a especificar el valor de $\beta_{1}$. En cualquiera de estos casos las igualdades (c10:sistcuad) permiten determinar recurrentemente los restantes valores de las incógnitas.

Otra forma de abordar el problema es elegir $\beta_{0}$ de modo que alguna cantidad relacionada con el spline se minimice, por ejemplo la energía o alguna aproximación de la curvatura (ver [Späth]).

El problema descrito también podría haberse expresado en términos de la base de potencias truncadas de MATH, dada por MATH

Interpolación con splines cúbicos de clase dos

De igual forma que en los casos anteriores, se puede construir un espacio formado por funciones cúbicas a trozos de clase dos. Es el espacio vectorial de los splines cúbicos, que se nota por MATH. Este espacio tiene dimensión $n+2$, como indica un razonamiento similar al de los casos precedentes. De nuevo podemos escribir una base para el mismo en función de potencias truncadas

MATH

Con el espacio MATH podemos interpolar valores en los $n$ nodos y dos datos más. Cabría pensar que los dos datos restantes para la interpolación son relativos a derivadas en los extremos de uno de los subintervalos. Efectivamente esa es una posibilidad, pero no la más interesante. Los problemas de interpolación en el espacio MATH tienen sus dos datos restantes referidos a los nodos extremos $a$ y $b$; por tanto, su construcción no es tan simple como en los casos anteriores.

El problema de interpolación lagrangiana en MATH es el siguiente: MATH

Como hemos comentado, se requieren dos condiciones adicionales; tres elecciones muy interesantes son las siguientes:

i)

Caso cúbico natural

MATH.

ii)

Caso cúbico periódico

MATH.

iii)

Caso cúbico sujeto

MATH,

Los problemas de Lagrange con las anteriores condiciones adicionales tienen $n$ datos de interpolación comunes.

Veamos cómo se podría determinar el primero de ellos, el spline cúbico natural de interpolación. Mantenemos la notación empleada en el caso cuadrático. La restricción al subintervalo $[x_{k,}x_{k+1}]$ del spline $s$ se nota $s_{k}$ y es un polinomio de grado menor o igual que tres, que debe tomar en los extremos los valores $y_{k}$ e $y_{k+1}$, respectivamente. Si denominamos $d_{k}$ y $d_{k+1}$ a los valores (desconocidos) de la derivada primera de $s$ en los extremos $x_{k}$ y $x_{k+1}$, entonces $s_{k}$ satisface las igualdades MATH Se trata de un problema de interpolación polinómica de Hermite, por lo que $s_{k}$ puede expresarse en términos de los polinomios de la correspondiente base de Newton: MATH. Unos cálculos elementales muestran que MATH La función $s$ construida a partir de las restricciones $s_{k}$, $k=1,2,\ldots,n-1$, interpola los valores $y_{k}$ y es de clase MATH. Sólo hay que imponer que sea de clase MATH, lo que se consigue si lo es en los nodos interiores MATH. Pero esto equivale a que MATH para $k=1,2,\ldots,n-2$. Pero MATH y MATH En definitiva, igualando ambos valores y simplificando, se tiene clase MATH si y sólo si MATH para $k=1,2,\ldots,n-2$. Constituyen un sistema de $n-2$ ecuaciones para $n$ incógnitas, por lo que el problema (c10:Lagcub) no es unisolvente, como ya se anunció. Son necesarias dos condiciones adicionales. En el caso cúbico natural, son MATH, o, equivalentemente, MATH. A partir de las expresiones de $s_{1}$ y $s_{n-1}$, se obtiene que la segunda derivada de $s$ en $a$ y $b$ será nula si y sólo si MATH La matriz de coeficientes del sistema que determina los valores de la derivada de $s$ en los nodos de interpolación es MATH Es una matriz diagonalmente dominante en sentido estricto, por lo que es invertible. Así pues, existe un único spline natural de interpolación. El vector de términos intependientes es MATH

En las figuras (c10g3) y (c10g4) se muestran las gráficas de la función MATH y de su spline cúbico natural de interpolación relativo a la partición uniforme del intervalo MATH con paso $h=\frac\pi4$, y el error de interpolación asociado, respectivamente.
Figure
Gráficas de la función MATH y de su spline cúbico natural de interpolación relativo a la partición uniforme del intervalo MATH con paso $h=\frac\pi4$.


Figure
Gráfica del error de interpolación correspondiente al ejemplo de la figura (c10g3).

El caso cúbico sujeto es más simple, pues las condiciones en los extremos se traducen en valores concretos de $d_{1}$ y $d_{n}$, por lo que las ecuaciones primera y última que relacionan los valores de las incógnitas se simplifican, obteniendo un sistema de orden $n-2$ en lugar de uno de orden $n$.

Conocidos los valores de las derivadas del spline en cada nodo es inmediato obtener con Mathematica la expresión del spline en ese intervalo con la orden InterpolatingPolynomial.

El caso periódico, que también es unisolvente, se trata de forma análoga, aunque la matriz de coeficientes ya no es tridiagonal.

Interpolación con splines cúbicos de clase uno

Podríamos pensar en utilizar un espacio formado por cúbicas a trozos que enlazaran con continuidad y también con tangente continua pero sin exigir coincidencia de las segundas derivadas en los nodos interiores. Lo notaremos por MATH, donde el superíndice indica la regularidad global y el subíndice el grado de los polinomios. Es de nuevo un espacio vectorial, de mayor dimensión que el anterior, que además contiene al espacio de los splines cúbicos de clase dos.

Es inmediato que con este espacio podemos interpolar, con solución única, el valor de una función y el de su derivada en cada uno de los nodos. Por tanto, la dimensión del espacio MATH es $2n+2$. Además, la construcción de cada uno de los trozos se puede hacer por separado con la orden InterpolatingPolynomial..

Propiedades extremales de los splines cúbicos

Consideremos dos funciones MATH. Entonces, se tiene que

MATH Si $s^{\prime\prime}$ es derivable en casi todos sus puntos, entonces se puede desarrollar por partes la última integral de la expresión anterior y se obtiene MATH Teniendo en cuenta las relaciones anteriores, probaremos las siguientes propiedades de tipo extremal para los splines cúbicos.

Teorema.-

Supongamos que $g$ interpola los valores $y_{i}$ en los nodos $x_{i}$, para $i=0,\ldots,n$, y que $s$ es el spline cúbico natural que interpola dichos datos. Entonces, se tiene que MATH y la igualdad se verifica si y sólo si MATH, para todo MATH.

Demostración El primer miembro a la derecha del signo igual en (c10:es5) es nulo, por ser MATH (spline cúbico natural), y resulta que MATH donde $\alpha_{i}$ es el valor constante de MATH en MATH. Por tanto, MATH y la igualdad (c10:es4) se reduce a MATH y, por tanto, MATH

De la continuidad de $g^{\prime\prime}$ y $s^{\prime\prime}$ se deduce que la igualdad sólo se da si MATH, es decir, si y sólo si MATH, para todo MATH, por lo que $s $ y $g$ difieren únicamente en un polinomio de grado uno. Como coinciden en al menos dos nodos, este polinomio se anula en, al menos, dos puntos y, por consiguiente es idénticamente nulo. En definitiva, MATH con lo que concluye la demostración. $\Box$

Teorema.-

Supongamos que $g$ interpola los datos $y_{i}$ en los nodos $x_{i}$, para $i=1,\ldots,n$, y además los datos derivada en los extremos, $y_{a}^{\prime}$ e $y_{b}^{\prime}$. Sea $\overline{s}$ el spline cúbico sujeto asociado a los mismos datos. Entonces se tiene que MATH y la igualdad se da si y sólo si MATH para todo MATH.

Demostración La demostración es análoga a la del teorema precedente, teniendo en cuenta que la condición MATH se debe sustituir por MATH y MATH. $\Box$

Sean ahora $u$ un spline cúbico cualquiera con nodos $x_{1},\ldots,x_{n}$, $x_{0}=a$ y $x_{n}=b$, y $f$ una función de clase MATH. Sean $g=f-u$ y $s=\overline{s}-u$, donde $\overline {s}$ es el spline cúbico sujeto que interpola a $f$.

Notemos que MATH, $i=1,\ldots,n$, MATH y MATH. Aplicando (c10:es6), se tiene que MATH cumpliéndose la igualdad si y sólo si MATH.

La propiedad (c10:es7) se puede interpretar como que, si medimos la distancia entre $f$ y cualquier spline cúbico $u$ mediante la expresión MATH, entonces esta distancia se minimiza cuando MATH y para todos sus trasladados mediante un polinomio de grado uno. Por tanto, podemos decir que $\overline{s}$ es la mejor aproximación de $f$ en este sentido.

Estudio del error

Sean $\left[ a,b\right] $ un intervalo cerrado real y MATH una partición del mismo. Sea MATH. Sean MATH y $s$ el spline cúbico natural o sujeto que interpola a $f$ en los nodos de la partición considerada. Entonces, el error de interpolación MATH verifica, para cada intervalo MATH, que MATH y, por el teorema de Rolle, existe al menos un valor MATH tal que MATH. En consecuencia, MATH

Por la desigualdad de Cauchy-Schwartz, se tiene que MATH

Aplicando la propiedad extremal que verifica $s$, ya sea el spline cúbico natural o el sujeto, se verifica que MATH

Teniendo en cuenta (c10:es8), y tomando raíz cuadrada se obtiene que MATH Luego la derivada del error está acotada por una expresión proporcional a $h^{\frac12}$.

Como MATH se tiene que MATH

Luego, una cota del error de interpolación spline cúbica natural o sujeta es MATH deduciéndose que el error está acotado por una expresión proporcional a $h^{\frac{3}{2}}$.