Esto es comúnmente referido como un "Taylor shift", por la razón ya citado. Por desgracia, una búsqueda en la web normalmente revela manera más resultados para "Taylor Swift"...
[editar]curiosamente, este se mantiene incluso después de que usted haga clic en "Buscar lugar para taylor shift" en Google. Por otro lado, por ahora esta respuesta muy anotó #1 para la consulta "taylor shift polinomio". Sin embargo, "taylor swift polinomio" te lleva a la "Polinomio de Taylor de la Serie de la fórmula" en la Uncyclopedia, que se describe como "Un País Occidental de la fórmula musical inventado por Taylor Swift", así como los Polinomios de la Canción, una parodia de Taylor Swift "Todo ha Cambiado". Bueno, plus ça change, plus c'est la même chose...[/edit]
Hay un breve estudio de la complejidad de los resultados para Taylor cambios en el capítulo 4 de Jürgen Gerhard del Modular de los Algoritmos en la Simbólica Suma y la Integración Simbólica (Springer, Lecture Notes in Computer Science, Vol. 3218, 2004; DOI: 10.1007/b104035), con enlaces a los artículos originales de investigación. También, busque en los libros de texto de Álgebra computacional; buenas palabras de moda son "Taylor shift", "rápido polinomio de división con resto y aplicaciones", y "basado en FFT polinomio multipunto de evaluación y de interpolación".
Línea de base: el Uso de, por ejemplo, un divide y vencerás enfoque, usted puede ahorrar aproximadamente un orden de magnitud (es decir, $n$). Que trae el costo a $\tilde O(n)$ aritmética de las operaciones en el coeficiente de anillo, donde polylogarithmic factores son ignorados. Tenga en cuenta que estas son las operaciones aritméticas; el bit de complejidad será mayor por un factor de $n$ y, obviamente, también dependerá del tamaño (magnitud y/o de precisión) de la entrada.
El rápido algoritmos son, conceptualmente, no demasiado. Pero requieren de un buen número de asintóticamente rápido subrutinas para el polinomio aritmético, así que no es para los débiles de corazón. Y cuando se trata de una aplicación real: que bien podría ser una forma totalmente diferente de la bestia. El ingenuo algoritmo funciona bastante bien para los bajos grados; el rendimiento de la rápida algoritmos depende de manera crucial de la implementación subyacente de rápido polinomio aritmético. Es decir, no hacerlo por su cuenta, pero mira por las bibliotecas como Víctor Shoup del NTL, William Hart FLINT, Fredrik Johansson Arb, Andreas Engel del MPFRCX, o de un adulto sistema de álgebra computacional.
También, si usted está interesado sólo en los cambios por 1 ($x \mapsto x+1$), el esquema de Horner-como el de Taylor cambio debe ser de multiplicación -, que se eleva significativamente el umbral cuando asintóticamente métodos rápidos tomar la iniciativa.
[editar] se me olvidó mencionar: si sustituye $1/x$$x$, usted termina con una función racional. Pero es posible que desee obtener $q(x) = x^n p(1/x)$, y esto es simplemente el polinomio con coeficientes en orden inverso, es decir,$q_i = p_{n-i}$. También, de una escala ($x \mapsto s\cdot x$) es bastante fácil de lograr: sólo la escala de la $i$-ésimo coeficiente por $s^i$. Esto es especialmente barato si $s$ es una potencia de dos (y, por lo tanto, la multiplicación es sólo un bitshift). Para una combinación lineal arbitraria $x \mapsto a\cdot x+b$ o Mobius transformar $x \mapsto \frac{a\cdot x +b}{c\cdot x + d}$, descompone en pasos más simples. Para un mayor orden de la composición (es decir, calcular los $(f \circ g)(x) = g(f(x))$, donde ambos se $f$ $g$ son no-lineal de polinomios), probablemente debería mirar a multipunto de evaluación - y la interpolación basada en algoritmos.