En gráficos por computadora , los polinomios se pueden utilizar para aproximar curvas planas complejas a partir de unos pocos puntos específicos, por ejemplo, las formas de las letras en tipografía . Esto se hace generalmente con curvas de Bézier , que son una generalización simple de polinomios de interpolación (que tienen tangentes específicas, así como puntos específicos).
En el análisis numérico, la interpolación polinómica es esencial para realizar multiplicaciones y elevaciones al cuadrado subcuadráticas, como la multiplicación de Karatsuba y la multiplicación de Toom-Cook , donde la interpolación a través de puntos en un polinomio producto produce el producto específico requerido. Por ejemplo, dado a = f ( x ) = a 0 x 0 + a 1 x 1 + ··· y b = g ( x ) = b 0 x 0 + b 1 x 1 + ···, el producto ab es un valor específico de W ( x ) = f ( x ) g ( x ). Uno puede encontrar fácilmente puntos a lo largo de W ( x ) en valores pequeños de x , y la interpolación basada en esos puntos producirá los términos de W ( x ) y el producto específico ab . Como se formuló en la multiplicación de Karatsuba, esta técnica es sustancialmente más rápida que la multiplicación cuadrática, incluso para entradas de tamaño modesto, especialmente en hardware paralelo.
Para cualquier punto de datos bivariado , donde no hay dos iguales, existe un polinomio único de grado como máximo que interpola estos puntos, es decir . [2]
De manera equivalente, para una elección fija de nodos de interpolación , la interpolación polinomial define una biyección lineal entre las ( n +1)-tuplas de valores de números reales y el espacio vectorial de polinomios reales de grado n como máximo :
Nótese que es un polinomio de grado , y tenemos para cada , mientras que . De ello se deduce que la combinación lineal:
tiene , por lo que es un polinomio de interpolación de grado .
Para demostrar la unicidad, supongamos que existe otro polinomio de interpolación de grado como máximo , de modo que para todo . Entonces es un polinomio de grado como máximo que tiene ceros distintos (el ). Pero un polinomio distinto de cero de grado como máximo puede tener como máximo ceros, [a] por lo que debe ser el polinomio cero, es decir . [3]
Segunda prueba
Escribe el polinomio de interpolación en la forma
Sustituyendo esto en las ecuaciones de interpolación , obtenemos un sistema de ecuaciones lineales en los coeficientes , que se lee en forma de matriz-vector como la siguiente multiplicación :
Un interpolador corresponde a una solución de la ecuación matricial anterior . La matriz X de la izquierda es una matriz de Vandermonde , cuyo determinante se sabe que es distinto de cero, ya que los nodos son todos distintos. Esto garantiza que la matriz sea invertible y que la ecuación tenga la solución única ; es decir, exista y sea única.
Corolario
Si es un polinomio de grado como máximo , entonces el polinomio interpolador de en puntos distintos es él mismo.
Para un polinomio de grado menor o igual a n, que interpola en los nodos donde . Sea el polinomio de grado menor o igual a n+1 que interpola en los nodos donde . Entonces viene dado por: donde también se conoce como base de Newton y .
Prueba:
Esto se puede demostrar para el caso donde : y cuando : Por la unicidad de los polinomios interpolados de grado menor que , es la interpolación polinómica requerida. La función se puede expresar así:
Coeficientes polinómicos
Para encontrar , tenemos que resolver la matriz triangular inferior formada ordenando la ecuación anterior en forma matricial:
El polinomio de Newton se puede expresar de forma simplificada cuando se disponen consecutivamente con igual espaciado.
Si están ordenados consecutivamente y espaciados equitativamente con para i = 0, 1, ..., k y alguna variable x se expresa como , entonces la diferencia se puede escribir como . Por lo tanto, el polinomio de Newton se convierte en
Dado que la relación entre las diferencias divididas y las diferencias hacia adelante se da como: [4] Tomando , si la representación de x en las secciones anteriores se tomó como , la fórmula de interpolación hacia adelante de Newton se expresa como: que es la interpolación de todos los puntos después de . Se expande como:
Fórmula inversa de Newton
Si los nodos se reordenan como , el polinomio de Newton se convierte en
Si están igualmente espaciados con para i = 0, 1, ..., k y , entonces,
Dado que la relación entre las diferencias divididas y las diferencias hacia atrás se da como: [ cita requerida ] tomando , si la representación de x en las secciones anteriores se tomara como , la fórmula de interpolación hacia atrás de Newton se expresa como: que es la interpolación de todos los puntos antes de . Se expande como:
Diagrama de rombos
Un diagrama de rombos es un diagrama que se utiliza para describir diferentes fórmulas de interpolación que se pueden construir para un conjunto de datos determinado. Se puede utilizar una línea que comience en el borde izquierdo y recorra el diagrama hacia la derecha para representar una fórmula de interpolación si se siguen las siguientes reglas: [5]
Los pasos de izquierda a derecha indican suma, mientras que los pasos de derecha a izquierda indican resta.
Si la pendiente de un escalón es positiva, el término que se utilizará será el producto de la diferencia por el factor inmediatamente inferior. Si la pendiente de un escalón es negativa, el término que se utilizará será el producto de la diferencia por el factor inmediatamente superior.
Si un paso es horizontal y pasa por un factor, se utiliza el producto del factor por el promedio de los dos términos inmediatamente superiores e inferiores. Si un paso es horizontal y pasa por una diferencia, se utiliza el producto de la diferencia por el promedio de los dos términos inmediatamente superiores e inferiores.
Los factores se expresan mediante la fórmula:
Prueba de equivalencia
Si un camino va de a , puede conectarse a través de tres pasos intermedios, (a) a través de , (b) a través de o (c) a través de . Probar la equivalencia de estos tres caminos de dos pasos debería demostrar que todos los caminos (n-pasos) pueden transformarse con el mismo inicio y final, todos los cuales representan la misma fórmula.
Ruta (a):
Ruta (b):
Ruta (c):
Restando las contribuciones de las rutas a y b:
Por lo tanto, la contribución de la ruta (a) o la ruta (b) es la misma. Dado que la ruta (c) es el promedio de las rutas (a) y (b), también contribuye con una función idéntica al polinomio. Por lo tanto, se muestra la equivalencia de rutas con los mismos puntos de inicio y fin. Para verificar si las rutas se pueden desplazar a diferentes valores en la esquina más a la izquierda, es suficiente tomar solo rutas de dos pasos: (a) a través de o (b) factor entre y , a través de o (c) comenzando desde .
Camino (a)
Camino (b)
Camino (c)
Dado que , al sustituir en las ecuaciones anteriores se demuestra que todos los términos anteriores se reducen a y son, por lo tanto, equivalentes. Por lo tanto, estos caminos se pueden transformar para comenzar desde la esquina más a la izquierda y terminar en un punto común. [5]
Fórmula de Newton
Al tomar la pendiente negativa transversal de a se obtiene la fórmula de interpolación de todos los puntos dispuestos consecutivamente, equivalente a la fórmula de interpolación directa de Newton:
mientras que, tomando la pendiente positiva transversal de a , se obtiene la fórmula de interpolación de todos los puntos dispuestos consecutivamente, equivalente a la fórmula de interpolación hacia atrás de Newton:
donde es el número correspondiente al introducido en la interpolación de Newton.
Fórmula de Gauss
Tomando una línea en zigzag hacia la derecha comenzando desde con pendiente negativa, obtenemos la fórmula de Gauss hacia adelante:
Mientras que a partir de una pendiente positiva, obtenemos la fórmula inversa de Gauss:
Fórmula Stirling
Tomando un camino horizontal hacia la derecha a partir de , obtenemos la fórmula de Stirling:
La fórmula de Stirling es el promedio de las fórmulas de Gauss hacia adelante y de Gauss hacia atrás.
Fórmula de Bessel
Tomando un camino horizontal hacia la derecha a partir del factor entre y , obtenemos la fórmula de Stirling:
Por lo tanto, varios autores han propuesto algoritmos que explotan la estructura de la matriz de Vandermonde para calcular soluciones numéricamente estables en operaciones O( n 2 ) en lugar de las O( n 3 ) requeridas por la eliminación gaussiana. [7] [8] [9] Estos métodos se basan en construir primero una interpolación de Newton del polinomio y luego convertirlo a una forma monomial .
Algoritmos que no son de Vandermonde
Para hallar el polinomio de interpolación p ( x ) en el espacio vectorial P ( n ) de polinomios de grado n , podemos utilizar la base monomial habitual para P ( n ) e invertir la matriz de Vandermonde mediante eliminación gaussiana, lo que da un coste computacional de O( n 3 ) operaciones. Para mejorar este algoritmo, una base más conveniente para P ( n ) puede simplificar el cálculo de los coeficientes, que luego deben traducirse de nuevo en términos de la base monomial .
Un método consiste en escribir el polinomio de interpolación en forma de Newton (es decir, utilizando la base de Newton) y utilizar el método de diferencias divididas para construir los coeficientes, por ejemplo, el algoritmo de Neville . El coste es O( n 2 ) operaciones. Además, solo es necesario realizar O( n ) trabajo adicional si se añade un punto adicional al conjunto de datos, mientras que para los otros métodos, hay que rehacer todo el cálculo.
Se prefiere otro método cuando el objetivo no es calcular los coeficientes de p ( x ), sino solo un único valor p ( a ) en un punto x = a que no está en el conjunto de datos original. La forma de Lagrange calcula el valor p ( a ) con complejidad O( n 2 ). [10]
Interpolaciones como combinaciones lineales de valores
Dado un conjunto de puntos de datos (posición, valor) donde no hay dos posiciones iguales, el polinomio de interpolación puede considerarse como una combinación lineal de los valores , utilizando coeficientes que son polinomios en función de . Por ejemplo, el polinomio de interpolación en la forma de Lagrange es la combinación lineal
con cada coeficiente dado por el polinomio base de Lagrange correspondiente en las posiciones dadas :
Dado que los coeficientes dependen únicamente de las posiciones , no de los valores , podemos utilizar los mismos coeficientes para encontrar el polinomio de interpolación para un segundo conjunto de puntos de datos en las mismas posiciones:
Además, los coeficientes sólo dependen de los espacios relativos entre las posiciones. Así, dado un tercer conjunto de datos cuyos puntos están dados por la nueva variable (una transformación afín de , invertida por ):
Podemos utilizar una versión transformada de los polinomios de coeficientes anteriores:
y escribe el polinomio de interpolación como:
Los puntos de datos suelen tener posiciones espaciadas de manera uniforme , que pueden normalizarse mediante una transformación afín a . Por ejemplo, considere los puntos de datos
.
El polinomio de interpolación en la forma de Lagrange es la combinación lineal
Por ejemplo, y .
El caso de puntos igualmente espaciados también puede tratarse mediante el método de diferencias finitas . La primera diferencia de una secuencia de valores es la secuencia definida por . La iteración de esta operación da como resultado la operación de diferencia n , definida explícitamente por: donde los coeficientes forman una versión con signo del triángulo de Pascal, el triángulo de coeficientes de la transformada binomial :
Un polinomio de grado d define una secuencia de valores en puntos enteros positivos, , y la diferencia de esta secuencia es idénticamente cero:
.
Por lo tanto, dados valores en puntos igualmente espaciados, donde , tenemos: Por ejemplo, 4 puntos de datos igualmente espaciados de una cuadrática obedecen a , y al resolver para se obtiene la misma ecuación de interpolación obtenida anteriormente utilizando el método de Lagrange.
Error de interpolación: fórmula del resto de Lagrange
Al interpolar una función dada f por un polinomio de grado n en los nodos x 0 ,..., x n obtenemos el error
Además, existe una forma de resto de Lagrange del error, para una función f que es n + 1 veces continuamente diferenciable en un intervalo cerrado , y un polinomio de grado n como máximo que interpola f en n + 1 puntos distintos . Para cada uno existe tal que
Este límite de error sugiere elegir los puntos de interpolación x i para minimizar el producto , lo que se logra mediante los nodos de Chebyshev .
Prueba del resto de Lagrange
Establezca el término de error como y defina una función auxiliar: Por lo tanto:
Pero como es un polinomio de grado como máximo n , tenemos , y:
Ahora bien, como x i son raíces de y , tenemos , lo que significa que Y tiene al menos n + 2 raíces. Del teorema de Rolle , tiene al menos n + 1 raíces, e iterativamente tiene al menos una raíz ξ en el intervalo I . Por lo tanto:
y:
Esto es paralelo al razonamiento detrás del término de resto de Lagrange en el teorema de Taylor ; de hecho, el resto de Taylor es un caso especial de error de interpolación cuando todos los nodos de interpolación x i son idénticos. [11] Nótese que el error será cero cuando para cualquier i . Por lo tanto, el error máximo ocurrirá en algún punto en el intervalo entre dos nodos sucesivos.
Intervalos igualmente espaciados
En el caso de nodos de interpolación igualmente espaciados donde , para y donde el término del producto en la fórmula de error de interpolación se puede limitar como [12]
Por lo tanto, el límite de error se puede dar como
Sin embargo, esto supone que está dominado por , es decir . En varios casos, esto no es cierto y el error en realidad aumenta a medida que n → ∞ (véase el fenómeno de Runge ). Esa cuestión se trata en la sección Propiedades de convergencia.
Constantes de Lebesgue
Fijamos los nodos de interpolación x 0 , ..., x n y un intervalo [ a , b ] que contiene todos los nodos de interpolación. El proceso de interpolación asigna la función f a un polinomio p . Esto define una aplicación X del espacio C ([ a , b ]) de todas las funciones continuas en [ a , b ] a sí misma. La aplicación X es lineal y es una proyección sobre el subespacio de polinomios de grado n o menor.
En otras palabras, el polinomio de interpolación es, como máximo, un factor ( L + 1) peor que la mejor aproximación posible. Esto sugiere que busquemos un conjunto de nodos de interpolación que haga que L sea pequeño. En particular, tenemos para los nodos de Chebyshev :
Concluimos nuevamente que los nodos de Chebyshev son una muy buena opción para la interpolación polinómica, ya que el crecimiento de n es exponencial para los nodos equidistantes. Sin embargo, esos nodos no son óptimos.
Propiedades de convergencia
Es natural preguntar para qué clases de funciones y para qué nodos de interpolación la secuencia de polinomios de interpolación converge a la función interpolada cuando n → ∞ . La convergencia puede entenderse de diferentes maneras, por ejemplo, puntual, uniforme o en alguna norma integral.
La situación es bastante mala para los nodos equidistantes, en el sentido de que la convergencia uniforme ni siquiera está garantizada para funciones infinitamente diferenciables. Un ejemplo clásico, debido a Carl Runge , es la función f ( x ) = 1 / (1 + x 2 ) en el intervalo [−5, 5] . El error de interpolación || f − p n || ∞ crece sin límite a medida que n → ∞ . Otro ejemplo es la función f ( x ) = | x | en el intervalo [−1, 1] , para la cual los polinomios de interpolación ni siquiera convergen puntualmente excepto en los tres puntos x = ±1, 0. [13]
Se podría pensar que se pueden obtener mejores propiedades de convergencia eligiendo diferentes nodos de interpolación. El siguiente resultado parece dar una respuesta bastante alentadora:
Teorema — Para cualquier función f ( x ) continua en un intervalo [ a , b ] existe una tabla de nodos para los cuales la secuencia de polinomios interpoladores converge a f ( x ) uniformemente en [ a , b ].
Prueba
Está claro que la sucesión de polinomios de mejor aproximación converge a f ( x ) de manera uniforme (debido al teorema de aproximación de Weierstrass ). Ahora sólo tenemos que demostrar que cada uno de ellos puede obtenerse mediante interpolación en ciertos nodos. Pero esto es cierto debido a una propiedad especial de los polinomios de mejor aproximación conocida a partir del teorema de equioscilación . En concreto, sabemos que dichos polinomios deben intersecar f ( x ) al menos n + 1 veces. Eligiendo los puntos de intersección como nodos de interpolación obtenemos el polinomio de interpolación que coincide con el polinomio de mejor aproximación.
El defecto de este método, sin embargo, es que los nodos de interpolación deben calcularse de nuevo para cada nueva función f ( x ), pero el algoritmo es difícil de implementar numéricamente. ¿Existe una única tabla de nodos para la cual la secuencia de polinomios de interpolación converja a cualquier función continua f ( x )? La respuesta es, lamentablemente, negativa:
Teorema : Para cualquier tabla de nodos existe una función continua f ( x ) en un intervalo [ a , b ] para el cual la secuencia de polinomios interpoladores diverge en [ a , b ]. [14]
La prueba utiliza esencialmente la estimación del límite inferior de la constante de Lebesgue, que definimos anteriormente como la norma del operador de X n (donde X n es el operador de proyección sobre Π n ). Ahora buscamos una tabla de nodos para los cuales
Debido al teorema de Banach-Steinhaus , esto solo es posible cuando las normas de X n están uniformemente acotadas, lo que no puede ser cierto ya que sabemos que
Por ejemplo, si se eligen puntos equidistantes como nodos de interpolación, la función del fenómeno de Runge demuestra la divergencia de dicha interpolación. Nótese que esta función no solo es continua sino también infinitamente diferenciable en [−1, 1] . Sin embargo, para los mejores nodos de Chebyshev , un ejemplo de este tipo es mucho más difícil de encontrar debido al siguiente resultado:
Teorema — Para cada función absolutamente continua en [−1, 1] la secuencia de polinomios interpoladores construidos en los nodos de Chebyshev converge a f ( x ) de manera uniforme. [15]
Conceptos relacionados
El fenómeno de Runge muestra que para valores altos de n , el polinomio de interpolación puede oscilar de forma descontrolada entre los puntos de datos. Este problema se resuelve habitualmente mediante el uso de la interpolación spline . En este caso, el interpolante no es un polinomio sino un spline : una cadena de varios polinomios de grado inferior.
Los problemas de interpolación de Hermite son aquellos en los que no sólo se dan los valores del polinomio p en los nodos, sino también todas las derivadas hasta un orden dado. Esto resulta ser equivalente a un sistema de congruencias polinómicas simultáneas, y puede resolverse por medio del teorema chino del resto para polinomios. La interpolación de Birkhoff es una generalización adicional en la que sólo se prescriben derivadas de algunos órdenes, no necesariamente todos los órdenes desde 0 hasta a k .
Los métodos de colocación para la solución de ecuaciones diferenciales e integrales se basan en la interpolación polinómica.
^ Esto se desprende del teorema del factor para la división de polinomios.
Citas
^ Tiemann, Jerome J. (mayo-junio de 1981). «Polynomial Interpolation». I/O News . 1 (5): 16. ISSN 0274-9998 . Consultado el 3 de noviembre de 2017 .
^ Humpherys, Jeffrey; Jarvis, Tyler J. (2020). "9.2 - Interpolación". Fundamentos de las matemáticas aplicadas, volumen 2: algoritmos, aproximación, optimización . Sociedad de matemáticas industriales y aplicadas. pág. 418. ISBN978-1-611976-05-2.
^ ab Epperson, James F. (2013). Introducción a los métodos numéricos y al análisis (2.ª ed.). Hoboken, NJ: Wiley. ISBN978-1-118-36759-9.
^ Burden, Richard L.; Faires, J. Douglas (2011). Análisis numérico (novena edición). pág. 129. ISBN9780538733519.
^ ab Hamming, Richard W. (1986). Métodos numéricos para científicos e ingenieros (Republicación íntegra de la 2. ed. (1973)). Nueva York: Dover. ISBN978-0-486-65241-2.
^ Gautschi, Walter (1975). "Estimaciones normativas para inversas de matrices de Vandermonde". Matemática numérica . 23 (4): 337–347. doi :10.1007/BF01438260. S2CID 122300795.
^ Higham, NJ (1988). "Solución rápida de sistemas tipo Vandermonde que involucran polinomios ortogonales". IMA Journal of Numerical Analysis . 8 (4): 473–486. doi :10.1093/imanum/8.4.473.
^ Björck, Å; V. Pereyra (1970). "Solución de sistemas de ecuaciones de Vandermonde". Matemáticas de la computación . 24 (112). Sociedad Americana de Matemáticas: 893–903. doi :10.2307/2004623. JSTOR 2004623.
^ Calvetti, D .; Reichel, L. (1993). "Inversión rápida de matrices de tipo Vandermonde que involucran polinomios ortogonales". BIT . 33 (3): 473–484. doi :10.1007/BF01990529. S2CID 119360991.
^ R.Bevilaqua, D. Bini, M.Capovani y O. Menchi (2003). Appunti di Calcolo Numerico . Capítulo 5, pág. 89. Servizio Editoriale Universitario Pisa - Azienda Regionale Diritto allo Studio Universitario.
^ "Errores en la interpolación polinomial" (PDF) .
^ "Notas sobre interpolación polinomial" (PDF) .
↑ Watson (1980, p. 21) atribuye el último ejemplo a Bernstein (1912).
^ Watson (1980, p. 21) atribuye este teorema a Faber (1914).
^ Krylov, VI (1956). "Сходимость алгебраического интерполирования покорням многочленов Чебышева для абсолютно непрерывных функций и функций с ограниченным изменением" [Convergencia de interpolación algebraica con respecto a las raíces del polinomio de Chebyshev para funciones absolutamente continuas y funciones de variación acotada]. Doklady Akademii Nauk SSSR . New Series (en ruso). 107 : 362–365.Sr. 18-32.
Referencias
Bernstein, Sergei N. (1912). "Sur l'ordre de la meilleure approximation des fonctions continue par les polynômes de degré donné" [Sobre el orden de la mejor aproximación de funciones continuas por polinomios de un grado determinado]. Memoria. Acad. Roy. Belga. (en francés). 4 : 1–104.
Faber, Georg (1914). "Über die interpolatorische Darstellung stetiger Funktionen" [Sobre la interpolación de funciones continuas]. Matemáticas alemanas. Año. (en alemán). 23 : 192-210.
Watson, G. Alistair (1980). Teoría de aproximación y métodos numéricos . John Wiley. ISBN 0-471-27706-1.
Lectura adicional
Atkinson, Kendell A. (1988). "Capítulo 3". Introducción al análisis numérico (2.ª ed.). John Wiley and Sons. ISBN 0-471-50023-2.
Brutman, L. (1997). "Funciones de Lebesgue para interpolación polinómica: un estudio". Ann. Numer. Math . 4 : 111–127.
Powell, MJD (1981). "Capítulo 4". Teoría y métodos de aproximación . Cambridge University Press. ISBN 0-521-29514-9.
Schatzman, Michelle (2002). "Capítulo 4". Análisis numérico: una introducción matemática . Oxford: Clarendon Press. ISBN 0-19-850279-6.
Süli, Endre ; Mayers, David (2003). "Capítulo 6". Introducción al análisis numérico . Cambridge University Press. ISBN 0-521-00794-1.