Representación de polinomios arbitrarios en forma de diferencias finitas con un paso arbitrario.

Introduccion


Este artículo considera la posibilidad de representar un polinomio arbitrario de un número entero arbitrario n en forma de diferencias finitas. El enfoque en este artículo difiere de los existentes en que todas las fórmulas se derivan para un polinomio arbitrario con coeficientes arbitrarios, así como en que se usa un intervalo arbitrario en lugar de unitario como el intervalo entre puntos. Las fórmulas obtenidas son universales y se pueden usar sin modificación para calcular los valores "futuro" y "pasado" del polinomio. Es decir, por ejemplo, para cualquier curva expresada por una ecuación cuadrática con coeficientes arbitrarios, es posible calcular todos los valores que tienen solo 3 valores y previamente conocidos tomados en un intervalo igual arbitrario φ. Como consecuencia, se introduce el enunciado de que a través de (n + 1) puntos igualmente espaciados se puede dibujar una y solo una curva, expresada por un polinomio de grado n.

Descargo de responsabilidad


No soy matemático, solo soy un programador con 20 años de experiencia. Realicé una investigación independiente, pero no encontré las mismas conclusiones que hice en este artículo. Agradecería cualquier comentario y "consejo" sobre desarrollos existentes, cuyas conclusiones son similares (o cercanas) a las mías.

Información general


Primero, doy una fórmula general para calcular la función S (t) dada por un polinomio de grado n y expresada en términos de (n + 1) valores anteriores tomados en un intervalo igual φ:

S(t)= sumn+1k=1(1)k1Ckn+1S(tk varphi)


Es decir, por ejemplo, para un polinomio de grado n = 1 (línea normal), esta fórmula se verá así:

S(t)=2S(t varphi)S(t2 varphi)


Para un polinomio de grado n = 2, esta fórmula tendrá la forma:

S(t)=3S(t varphi)3S(t2 varphi)+S(t3 varphi)


Y así sucesivamente. Se proporciona una prueba matemática detallada en este documento . También preparé un código de verificación, ejecutado en forma de código JavaScript. Puede obtenerlo en este enlace . En el mismo artículo mostraré algunas conclusiones prácticas y opciones para usar las ecuaciones obtenidas.

Construcción de polinomios de grado 2.


Para una comprensión general, un "polinomio de grado 2" se expresa usando la siguiente fórmula:

S(t)=Q2t2+Q1t+Q0


Sin embargo, resultó que puede calcular todos los valores de este polinomio (de hecho, solo puede calcular los valores del polinomio en los nodos con algún paso arbitrario φ) utilizando la ecuación "en diferencias finitas":

S(t)=3S(t varphi)3S(t2 varphi)+S(t3 varphi)


Es decir, basado en cualquiera de los tres valores de la función S (t) tomados en un intervalo arbitrario igual φ, se pueden obtener todos los valores polinómicos. Mostramos esto en datos reales. Deje que el polinomio real se exprese mediante la siguiente función:

R(t)=1t2+2t+3


Ahora calculamos los valores de la función R (t) en los puntos t = 111, t = 115 yt = 119. Es decir, el paso φ en este caso es 4. Los valores obtenidos serán R (111) = 12546, R (115) = 13458 y R (119) = 14402. Ahora calculamos los siguientes dos valores del polinomio usando la ecuación con diferencias finitas:

R(123)=3R(119)3R(115)+R(111)=15378


R(127)=3R(123)3R(119)+R(115)=16386


Es fácil calcular que los valores calculados usando la fórmula en diferencias finitas coinciden completamente con los valores calculados usando la fórmula "estándar" para un polinomio de segundo grado.

Además, la fórmula en diferencias finitas permite calcular los valores "hacia atrás" sin cambiar la fórmula misma. Por ejemplo, para calcular R (107) y R (103) obtenemos lo siguiente:

R(107)=3R(111)3R(115)+R(119)=11666


R(103)=3R(107)3R(111)+R(115)=10818


Nuevamente, es fácil calcular que los valores obtenidos usando las fórmulas de diferencias finitas coinciden completamente con los valores calculados usando la fórmula "estándar" para un polinomio de segundo grado.

Para todos los grados posteriores, los resultados serán similares. He probado polinomios hasta el grado 99: los resultados obtenidos con las fórmulas "estándar" coinciden completamente con los resultados obtenidos con diferencias finitas.

Además


También me gustaría señalar que para construir un polinomio de grado n no es necesario tener exactamente (n + 1) puntos equidistantes, puede arbitrariamente más (denotarlo como (m + 1)). Pero en este caso, deberá utilizar la fórmula para un polinomio de grado m. Esto se puede ilustrar con el siguiente ejemplo:

Q2x2+Q1x+Q0=0x4+0x3+Q2x2+Q1x+Q0


Es decir, para un polinomio de segundo grado, puede usar fórmulas de un polinomio de cuarto y tercer grado; el resultado seguirá siendo correcto.

Conclusiones


Las fórmulas en diferencias finitas permiten calcular (y expresar como una fórmula) cualquier polinomio de una función de cualquier grado entero. Para la ecuación en diferencias finitas, no importa qué coeficientes se utilizaron para qué grados del polinomio. Para la ecuación en diferencias finitas, no importa en qué intervalo se tomaron los puntos iniciales; el intervalo puede ser arbitrariamente pequeño o arbitrariamente grande. Los cálculos en diferencias finitas tienen una precisión potencialmente mayor en comparación con los cálculos que utilizan fórmulas "estándar" (debido a la falta de funciones de potencia). La función para el polinomio en diferencias finitas se expresa sin funciones de potencia y, como consecuencia, solo puede tener un valor para determinadas variables. Y, por lo tanto, a través de (n + 1) puntos igualmente espaciados, se puede dibujar una sola curva expresada por un polinomio de grado n.

Source: https://habr.com/ru/post/446924/


All Articles