Está en la página 1de 23

2016

Algoritmo de Horner

Yamil Armando Cerquera Rojas


USCO
8-8-2016
RAÌCES DE POLINOMIOS
Algoritmo de HORNER
Ing Yamil Armando Cerquera Rojas1 – yacerque@gmail.com
Neiva – Huila
Agosto de 2016

Contenido

Algoritmo de Horner .................................................................................................................. 3


Teorema de Horner..................................................................................................................... 3
Historia ................................................................................................................................... 3
Aplicación .............................................................................................................................. 3
Eficiencia ................................................................................................................................ 4
Definición ............................................................................................................................... 4
Aplicando el método de Horner ............................................................................................. 5
Ejemplo 1: Dividir: f1 ( x)  9 x 3  12 x 2  6 x  3 entre 𝑥 − 3. .......................................... 5
Ejemplo 2: f1 ( x)  2 x 3  6 x 2  2 x  1 para x  3 . ........................................................... 7
Ejemplo 3: x 3  6 x 2  11x  6 por x  2 𝒇𝟏/(𝒙 − 𝟐) ...................................................... 7
Divisor de la forma: (𝑎𝑥 + 𝑏) y (𝑎𝑥 − 𝑏) ............................................................................. 7
Ejemplo 4: Dividir 6𝑥3 + 𝑥2 + 8𝑥 − 6 entre 3𝑥 − 1 ....................................................... 8
Ejemplo 5: Teniendo f1 ( x)  4 x 4  6 x 3  3x  5 y f 2 ( x)  2x  1 . Dividir f1 ( x) por
f 2 ( x) .................................................................................................................................. 8
Divisor de la forma: x n  a  y x n  a  ................................................................................. 9
Ejemplo 6: Dividir 2𝑥6 + 3𝑥4 + 8𝑥2 + 9 entre 𝑥2 + 1. .................................................. 9
Divisor de la forma: (𝑎𝑥2 + 𝑏𝑥 + 𝑐) ..................................................................................... 9
Ejemplo 7: Dividir 8 x 3  6 x 5  15 x 4  23x 2  4 entre  5 x 2  1  2 x 3 .......................... 10
Teorema del resto o Descartes.............................................................................................. 11
Ejemplo 8: Halla el residuo de la siguiente división. ....................................................... 11
Cocientes notables: ............................................................................................................... 11
Ejemplos 9: ....................................................................................................................... 11
Ejemplo 10: ...................................................................................................................... 12
Factorización: ....................................................................................................................... 13
De punto flotante de multiplicación y división ................................................................ 16
Ejemplo 11 ....................................................................................................................... 16

1Ingeniero Agrícola-USCO, Especialista en Sistemas-UNal, Especialista en Administración de la Informática Educativa-


UdeS, Magister en Administración de Empresas-UVM Chile, Magister en Gestión Educativa-UdeS (PG),
Evaluación de polinomios: Algoritmo de Horner ................................................................ 18
Implementación en una clase del algoritmo ......................................................................... 21
Algoritmo de Horner
En el campo matemático del análisis numérico, el Algoritmo de Horner, llamado así por
William George Horner, es un algoritmo para evaluar de forma eficiente polinomios de una
forma monomial.

William George Horner (Bristol, 1786 -Bath, 1837) fue un matemático


inglés.

Estudiante precoz, a los 14 años se convirtió en maestro y a los 18 años


era el director de la misma escuela en que estudió. En 1809 se trasladó
a Bath, donde fundó su propio colegio.

Como investigador, sólo tiene en su haber una contribución, el llamado


método Horner para resolver ecuaciones algebraicas, publicado por la
Royal Society en 1819. Este método alcanzó cierta popularidad en
Inglaterra y EE. UU. gracias al también matemático De Morgan, que lo
utilizó en sus artículos divulgativos, aunque finalmente se popularizó la regla de Paolo Ruffini,
descrito y publicado en 1814, por el cual le fue concedida la medalla de oro por la Italian
Mathematical Society for Science. Sin embargo, ni Ruffini, ni Horner fueron los primeros en
descubrir este método ya que Zhu Shijie lo había empleado 500 años antes.

Después de que muriera Horner, su hijo llamado también William Horner mantuvo en
funcionamiento la escuela de Bath.2

Teorema de Horner
Historia
Aunque el método toma el nombre de William George Horner, quien la describió en 1819, el
método ya se conocía a Isaac Newton en 1669, el matemático chino Qin Jiushao en su Tratado
de Matemáticas en nueve secciones en el siglo 13, e incluso anterior a la persa musulmán
matemático Sharaf Al-Din al-Tusi, en el siglo 12.3 El primer uso del sistema de Horner fue en
los nueve capítulos de la matemática de Arte, un trabajo chino de la dinastía Han (202 aC - 220
dC), editado por Liu Hui (siglo fl. 3).4

Aplicación
El algoritmo de Horner ó El régimen de Horner se usa a menudo para convertir entre distintos
sistemas numéricos posicionales — en cuyo caso x es la base del sistema numérico, y los

2http://es.wikipedia.org/wiki/William_George_Horner
3JL Berggren (1990). "Innovación y tradición en Sharaf al-Din al-Tusi del Muadalat", Journal of the American Oriental Society
110 (2), p. 304-309
4 Templo, Robert. (1986). El genio de China: 3000 años de ciencia, descubrimiento, y la invención. Con un delantero por

Joseph Needham. Nueva York: Simón and Schuster, Inc. ISBN 0671620282. Página 142.
coeficientes a i son los dígitos de la representación del número dado en la base 𝑥 − 𝑦 puede
usarse también si 𝑥 es una matriz, en cuyo caso la carga computacional se reduce aún más.

El algoritmo de Horner también puede considerarse como un algoritmo rápido para dividir un
polinomio por otro polinomio lineal (véase Regla de Ruffini).

Eficiencia
La evaluación usando la forma monomial del polinomio de grado-n requiere al menos 𝑛 sumas
y (𝑛2 + 𝑛)/2 multiplicaciones, si las potencias se calculan mediante la repetición de
multiplicaciones. El algoritmo de Horner sólo requiere n sumas y n multiplicaciones.
(Minimizar el número de multiplicaciones es lo más deseable porque necesitan mucha carga
computacional y son inestables comparadas con la suma).

Si los datos numéricos se representan en términos de dígitos (o bits), entonces el algoritmo


ingenuo también implica el almacenamiento de aproximadamente 2 veces el número n de bits
de x (polinomio ha evaluado la magnitud aproximada 𝑥 𝑛 , y uno también debe guardar en sí
𝑥 𝑛 ). Por el contrario, el esquema de Horner sólo requiere 𝑛 sumas y multiplicaciones n, y sus
requisitos de almacenamiento son sólo n veces el número de bits de 𝑥. Como alternativa, el
esquema de Horner puede ser calculado con n multiplicaciones. Horner del sistema también
puede ser ampliado para evaluar el primer 𝑘 derivados del polinomio 𝑘𝑁 con adiciones y
multiplicaciones5.

Se ha demostrado que el algoritmo de Horner es óptimo, de modo que cualquier algoritmo


que se use para evaluar un polinomio requerirá como mínimo el mismo número de
operaciones. El hecho de que el número de operaciones requeridas es mínimo fue
demostrado por Alexander Ostrowski6 en 1954, y que el número de multiplicaciones es
mínimo por Víctor Pan en 1966. Cuando x es una matriz, el algoritmo de Horner no es óptimo.

Esto supone que el polinomio se evalúa en forma y no monomio pre acondicionamiento de la


representación se permite, lo cual tiene sentido si el polinomio se evalúa una sola vez. Sin
embargo, si se permite pre acondicionamiento y el polinomio se tiene que evaluar muchas
veces y, a continuación, los algoritmos son más rápido posible. Se trata de una transformación
de la representación del polinomio. En general, un polinomio de grado-n puede ser evaluada
utilizando sólo n multiplicaciones y adiciones (véase Knuth: The Art of Computer
Programming, Vol. 2).

Definición
Dado el polinomio p( x)  a 0  a1 x  a 2 x 2  a3 x 3  ...  a n x n , donde a0 ,..., a n son números
reales, se quiere evaluar el polinomio a un valor específico de x , digamos. x 0

5 W. Pankiewicz. "Algoritmo 337: el cálculo de un polinomio de valores y sus derivados por Horner régimen".
Http://portal.acm.org/citation.cfm?doid=364063.364089.
6 Markowich Alexander Ostrowski (25 septiembre 1893, Kiev, Ucrania-20 de noviembre 1986, Montagnola, Lugano, Suiza),

y un matemático especializado en la teoría de números.


Para llevar a cabo el procedimiento, se define una nueva secuencia de constantes como se
muestra a continuación:

bn = an
bn 1 = a n1  bn x0

b0 = a0  b1 x0

Entonces b0 es el valor de p( x0 ) .

Para ver cómo funciona esto, nótese que el polinomio puede escribirse de la forma
p( x)  a0  xa1  xa2  xa3  ...  xan1  an x 
Después, sustituyendo iterativamente la b j en la expresión,
p( x0 )  a0  x0 a1  xa2  ...x0 an1  bn x0 ...
a0  x0 a1  xa2  ...x0 bn1 ...
.
.
a0  x0 (b1 )
b0

Aplicando el método de Horner


Método de Ruffini: casos

Este método se aplica a los divisores de la forma (𝑥 + 𝑎) y (𝑥 − 𝑎) y con algunas restricciones


a los divisores de la forma (𝑎𝑥 𝑛 + 𝑏) y (𝑎𝑥 𝑛 − 𝑏).

Divisores de la forma (𝑥 + 𝑎) y (𝑥 − 𝑎)

Para dividir por el método de Ruffini se trazan dos líneas vertical y horizontal que se
interceptan:

 Encima de la línea horizontal y a la derecha de la vertical se colocan los coeficientes


del dividendo con el signo de cada uno.
 Encima de la línea horizontal y a la izquierda de la vertical se coloca el valor de "x" que
anula al divisor.

Ejemplo 1: Dividir: f1 ( x)  9 x 3  12 x 2  6 x  3 entre 𝑥 − 3.

Solución: Inicialmente se colocan en la primera fila de una tabla los coeficientes del dividendo,
en este caso los valores 9, -12, 6 y -3. Deberán aparecer 𝑛 + 1 término, donde n es el orden
del polinomio. En caso de allegar a faltar un monomio se coloca con cero (0). En la segunda
fila y una columna atrás del primer término se coloca el valor que anula el factor sobre el cual
se quiere dividir es decir el factor (𝑥 − 3) se anula cuando 𝑥 = 3, por lo tanto se coloca 3,
como se observa en seguida.

9 -12 6 -3
3 El valor de x que anula el factor (𝑥 − 3) es 3

Para comenzar a dividir, se procede de la siguiente manera:

Se baja el primer coeficiente nueve (9), colocándolo debajo de la línea horizontal,

9 -12 6 -3
3
9

Éste se multiplica por el valor de "x" que anula al divisor (3) y el resultado (3x9) se coloca
debajo del siguiente coeficiente del dividendo (-12), es decir el valor de 27.

9 -12 6 -3
3 27
9

Esta columna se suma (-12+27) y el resultado se coloca debajo de la línea horizontal.

9 -12 6 -3
3 27
9 15

Luego se procede a multiplicar el resultado (15) por el valor de "x" que anula al divisor (3) y
dicho resultado (45) se coloca en la siguiente columna.

9 -12 6 -3
3 27 45
9 15 51

Dichos valores de la columna se suman y el valor (51) se coloca en la fila inferior.

Este proceso se sigue realizando hasta agotar los coeficientes del dividendo;

9 -12 6 -3
3 27 45 153
9 15 51 150

Siendo el último coeficiente resultante, el que constituye el residuo y los demás coeficientes
del resultado vienen a ser los coeficientes del cociente.
Ejemplo 2: f1 ( x)  2 x 3  6 x 2  2 x  1 para x  3 .

Evaluar f1 ( x)  2 x 3  6 x 2  2 x  1 para x  3 . Al cabo en repetidas ocasiones por x, f1 puede


ser reescrito como f1 ( x )  x 2 x 2  6 x1  2  1 y luego f ( x )  x ( x ( 2 x  6)  2)  1 . Se usa
esquema de síntesis para organizar estos cálculos y que el proceso sea más rápido.

Fila 1→ 𝑥0 𝑥 3 𝑥 2 𝑥1 𝑥0
Fila 2→ 3 2 -6 2 -1 Coeficientes de la función original
Fila 3→ 6 0 6
Fila 4→ 2 0 2 5

Las entradas en la cuarta fila son la suma de las de la segunda y tercera fila. Cada entrada en
la tercera fila es el producto de la x-valor (3 en este ejemplo) con la cuarta fila de entrada de
inmediato a la izquierda. Las entradas en la primera fila son los coeficientes del polinomio a
evaluar. La respuesta es 5.

Como consecuencia del teorema de polinomio resto, las entradas en la tercera fila son los
coeficientes del polinomio de segundo grado que es el cociente de 𝒇𝟏 /(𝒙 − 𝟑). O sea que el
polinomio resultante de la división es 2 x 2  0 x  2 y el residuo es 5. Esto hace que el método
de Horner útil para polinomio largo división.

Ejemplo 3: x 3  6 x 2  11x  6 por x  2 𝒇𝟏 /(𝒙 − 𝟐)

Dividir x 3  6 x 2  11x  6 por x  2

Fila 1→ 𝑥0 𝑥 3 𝑥 2 𝑥1 𝑥0
Fila 2→ 2 1 -6 11 -6 Coeficientes de la función original
Fila 3→ 2 -8 6
Fila 4→ 1 -4 3 0

El cociente es x 2  4 x  3 .

Divisor de la forma: (𝑎𝑥 + 𝑏) y (𝑎𝑥 − 𝑏)


Se sabe que para aplicar el método de Ruffini el coeficiente junto al término "x" debe ser la
unidad.

Estando este problema se procede a convertirlo a la unidad de la siguiente manera:


𝐷𝑖𝑣𝑖𝑑𝑒𝑛𝑑𝑜 𝐷𝑖𝑣𝑖𝑠𝑜𝑟
:
𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒 x(𝑒𝑛 𝑒𝑙 𝑑𝑖𝑣𝑖𝑠𝑜𝑟) 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒 x (𝑒𝑛 𝑒𝑙 𝑑𝑖𝑣𝑖𝑠𝑜𝑟)

Sin embargo al hacer esto el residuo quedará dividido por dicho coeficiente de "x", para lo
cual se multiplicará por el mismo y se hallará el residuo final o verdadero.

Ejemplo 4: Dividir 6𝑥 3 + 𝑥 2 + 8𝑥 − 6 entre 3𝑥 − 1

 En primer lugar se divide entre 3 tanto al dividendo como al divisor.

𝟔𝒙𝟑 + 𝒙𝟐 + 𝟖𝒙 − 𝟔 3𝑥 − 1
:
3 3
𝒙𝟐 𝟖𝒙 𝟏
Resultando: 2𝒙𝟑 + + − 𝟐: 𝒙 −
3 𝟑 𝟑

 Luego se aplica el método de Ruffini:

El residuo verdadero sería:


Q (x) = 2x 2 + x + 3
R𝑓 = −1 ; Rv = −3
𝑅𝑣 = 3(−1) = −3
𝑅𝑣 = −3

𝑄(𝑥) = 2𝑥 2 + 𝑥 + 3
𝑅𝑓 = −1; 𝑅𝑣 = −3

Ejemplo 5: Teniendo f1 ( x)  4 x 4  6 x 3  3x  5 y f 2 ( x)  2x  1 . Dividir f1 ( x) por f 2 ( x)

Utilizando el esquema de Horner.

𝑥0 𝑥 4 𝑥3 𝑥2 𝑥1 𝑥0
2 4 -6 0 3 -5 Coeficientes de la función original
1 2 -2 -1 1 Segunda Fila
2 -2 -1 1 -4 Tercera Fila

La Tercera Fila, es la suma de las dos primeras filas, dividido por 2. Cada entrada en la segunda
fila es el producto de 1 con la tercera fila de entrada a la izquierda. La respuesta es:
f 1 ( x) 4
 2x3  2x 2  x  1 
f 2 ( x) (2 x  1)

Divisor de la forma: x n  a  y x n  a 
Para resolver una división por este método se requiere que todos los exponentes de la variable
"x" en el dividendo sean múltiplos de los exponentes de dicha variable en el divisor.

Para dividir se hace cambio de variable con la razón: x n = y . Y luego se efectúa.

Ejemplo 6: Dividir 2𝑥 6 + 3𝑥 4 + 8𝑥 2 + 9 entre 𝑥 2 + 1.

Solución:

Se aplica el cambio de variable: 𝑥 2 = 𝑦

2(𝑥 2 )3 + 3(𝑥 2 )2 + 8(𝑥 2 ) + 9 𝑒𝑛𝑡𝑟𝑒 𝑥 2 + 1

→ 2𝑥 3 + 3𝑦 2 + 8𝑦 + 9 entre y+1

 Luego se aplica estos polinomios dividiendo por el método de Ruffini.

Finalmente se reemplaza 𝑦 = 𝑥 2 :

𝑄(𝑥) = 2𝑦 2 + 𝑦 + 7
𝑄(𝑥) = 2(𝑥 2 )2 + 𝑥 2 + 7 = 2𝑥 4 + 𝑥 2 + 7
𝑄(𝑥) = 2𝑥 4 + 𝑥 2 + 7
R=2

Divisor de la forma: (𝑎𝑥 2 + 𝑏𝑥 + 𝑐)


 Primero se trazan dos rectas horizontal y vertical que se interceptan.
 Encima de la recta horizontal y a la derecha de la vertical se colocan los coeficientes
del dividendo con su propio signo (manteniendo el signo de cada coeficiente).
 A la izquierda de la recta vertical se coloca el primer coeficiente del divisor con su
propio signo y debajo de la horizontal se coloca el resto de los coeficientes con signo
cambiado.
Ejemplo 7: Dividir 8 x 3  6 x 5  15 x 4  23x 2  4 entre  5 x 2  1  2 x 3

Primero se ordena de la mayor potencia a la menor y se completan los términos faltantes en


cada polinomio dividendo y divisor:

6 x 5  15 x 4  8 x 3  23x 2  0 x  4 , entre 2 x 3  5 x 2  0 x  1

A continuación:
2 6  15 8  23 0 4
5
0
1
********
 Antes de comenzar a dividir se cuenta de derecha a izquierda la cantidad de columnas
en el dividendo según el grado de divisor. además de trazar una recta paralela a la del
dividendo para colocar debajo de ella la respuesta a las operaciones.

Para dividir:

 Se divide el coeficiente del primer término del dividendo (6) entre el número "atrapado"
entre la intersección de las rectas horizontal y vertical (2); resultando 3, para colocar este
debajo de la segunda línea horizontal y se multiplica por los números que hay a la
izquierda de la línea vertical, y debajo de la primera línea horizontal se colocan los
productos.
 A continuación se suma la siguiente columna y el resultado se divide por el número
"atrapado"(entre la intersección de las líneas horizontal y vertical) y se coloca el resultado
debajo de la segunda línea horizontal y sigue el mismo proceso mencionado
anteriormente hasta completar la primera columna (contando de derecha a izquierda).
Teorema del resto o Descartes
Permite calcular el resto sin necesidad de efectuar una división.

Por lo general se utiliza en polinomios de la forma: (𝑎𝑥 + 𝑏) y (𝑎𝑥 − 𝑏), o variables que se
puedan transformar a esta.

Para calcular el resto se iguala el divisor a cero, se despeja la variable y se reemplaza en el


dividendo; el resultado obtenido es el resto.

Ejemplo 8: Halla el residuo de la siguiente división.

(2𝑥 5 − 3𝑥 4 + 5𝑥 − 4)/ (𝑥 − 2)

Proceso: Primero se iguala el divisor a cero: 𝑥 − 2 = 0 → 𝑥 = 2

Se reemplaza el resultado en el dividendo:

2𝑥 5 − 3𝑥 4 + 5𝑥 − 4: 2(2)5 − 3(2)4 + 5(2) − 4 → 64 − 48 + 10 − 4 → 22

Residuo = 22 → Rpta.

Cocientes notables:
Son ciertos cocientes que se escriben por simple inspección, sujetándose a reglas fijas y sin
realizar la división.

Casos

1. Cociente de la suma o diferencia de los cubos de dos cantidades entre la suma o


diferencia de las cantidades.

http://photos1.blogger.com/blogger/294/1402/1600/ecu7.jpg

Ejemplos 9: Halla el cociente de la división

Halla el cociente de la siguiente división por simple inspección lógica:


2. Cociente de la suma o diferencia de los cubos de dos monomios entre la suma o
diferencia de los mismos.

Ejemplo 10: Halla el cociente de la división


𝑥 3 +8 𝑥 3 +2𝑥 3
Halla el cociente de la división siguiente: = = 𝑥 2 − 2𝑥 + 22 = 𝑥 2 − 2𝑥 + 4
𝑥+2 𝑥+2

Cocientes notables en general:


𝑥 𝑛 ±𝑎𝑛
Son casos especiales de división exacta entre divisores binomios de la forma: , en los
𝑥±𝑎
cuales es posible deducir el cociente sin necesidad de efectuar la operación.

Se presentan tres casos:


𝑥 𝑛 −𝑎𝑛
1er Caso impar: 𝑥−𝑎
= 𝑥 𝑛+1 + 𝑎𝑥 𝑛−2 + 𝑎2 𝑥 𝑛−3 + 𝑎3 𝑥 𝑛−4 + ⋯ + 𝑎𝑛−1
𝑥 𝑛 −𝑎𝑛
2do Caso par: = 𝑥 𝑛+1 − 𝑎𝑥 𝑛−2 − 𝑎2 𝑥 𝑛−3 − 𝑎3 𝑥 𝑛−4 − ⋯ − 𝑎𝑛−1
𝑥+𝑎
𝑥 𝑛 +𝑎𝑛
3er Caso Impar: = 𝑥 𝑛−1 − 𝑎𝑥 𝑛−2 + 𝑎2 𝑥 𝑛−3 − 𝑎3 𝑥 𝑛−4 + ⋯ + 𝑎𝑛−1
𝑥+𝑎

𝑥 7 +𝑎7
Ejemplo: = 𝑥 6 − 𝑎𝑥 5 + 𝑎2 𝑥 4 − 𝑎3 𝑥 3 + ⋯ + 𝑎6
𝑥+𝑎

Propiedades de los cocientes notables

Las propiedades de los cocientes notables son:


𝑥 𝑛 ±𝑎𝑛
1. Al desarrollar expresiones algebraicas de la forma ; el exponente del primer término
𝑥±𝑎
irá disminuyendo de uno en uno a partir de (𝑛 − 1) hasta cero, incluso mientras el
exponente del segundo término irá aumentando a partir de cero hasta (𝑛 − 1).
2. El desarrollo tiene "𝑛" términos, es decir que el número de términos será indicado por el
exponente "𝑛".
3. En los cocientes notables que tienen por denominador expresiones de la forma (𝑥 − 𝑎)
los signos de los términos del desarrollo serán alternadamente positivos y negativos.
4. En los cocientes notables que tienen por denominador expresiones de la forma (𝑥 + 𝑎)
los signos de los términos del desarrollo serán alternadamente positivos y negativos.
5. Cualquier término del desarrollo de un cociente notable se puede notar usando la
fórmula: 𝑇𝑘 = 𝑥 𝑛−𝑘 𝑎𝑘−1 ; en donde “𝑘” es el lugar del término que se pide, “𝑥”
representa el primer término que se pide, “x” representa el primer término del
denominador del cociente notable, “a” representa el segundo término del denominador
del cociente notable y “n” es el exponente común al cual están elevados cada uno de los
términos del denominador del cociente y que aparecen en el numerador.
𝑥 𝑚 ±𝑎𝑝
6. Para que una expresión de la forma ; sea desarrollada como cociente notable, ante
𝑥 𝑛 ±𝑎𝑞
𝑚 𝑝
todo debe cumplirse que: = 𝑞.
𝑛

Factorización:
Casos:

 Factor común polinomio:


 Factor común monomio:

Factorizar 4𝑥 3 − 12𝑥 2 + 6𝑥

En este caso podemos observar que la variable x aparece en todos los términos y debe formar
parte del máximo factor común. Podemos decir que el máximo factor común de un conjunto
de variables es el producto de las variables que se repiten al exponente menor.

Volviendo al ejemplo anterior podemos decir que el máximo factor común entre los términos
del polinomio es 2𝑥 y la factorización se llevará a cabo de la siguiente manera:

4𝑥 3 − 12𝑥 2 + 6𝑥 = 2𝑥(4𝑥 3 − 12𝑥 2 + 6𝑥)


2𝑥 2𝑥 2𝑥

Esto es: Buscamos el máximo factor común y dividimos cada término del polinomio por el
máximo factor común.
= 2𝑥(2𝑥 2 − 6𝑥 + 3)
Recuerda en división: si las bases son iguales los exponentes se restan.

 Por agrupación de términos:

Para factorizar un polinomio de cuatro términos que se supone provenir de la multiplicación


de dos factores binomios:

1. Agrúpense convenientemente los cuatro términos en dos binomios tales que cada uno
admita un factor común.
2. Indíquese, en cada grupo, el producto del factor común por su binomio
correspondiente, el cual resultará el mismo en todos ellos, si efectivamente el
polinomio dado proviene del producto de dos factores binomios.
3. Indíquese el producto del binomio común por la suma algebraica de los otros factores
diferentes.

Sea el polinomio: 𝑎𝑐 + 𝑎𝑑 + 𝑏𝑐 + 𝑏𝑑, Que se supone provenir del producto de dos factores
binomios.

Agrupando los términos de dos en dos, de manera que cada grupo tenga un factor común, se
puede escribir: (𝑎𝑐 + 𝑎𝑑) + (𝑏𝑐 + 𝑏𝑑).
Como se ve, el primer grupo es divisible entre a y el segundo lo es entre b ; resulta por tanto:
(𝑎𝑐 + 𝑎𝑑) + (𝑏𝑐 + 𝑏𝑑) = 𝑎(𝑐 + 𝑑) + 𝑏(𝑐 + 𝑑).

Poniendo el binomio 𝑐 + 𝑑 en factor común, se tiene: 𝑎𝑐 + 𝑎𝑑 + 𝑏𝑐 + 𝑏𝑑 = (𝑎 + 𝑏)(𝑐 + 𝑑)

 Diferencia de cuadrados: Un binomio formado por la sustracción de dos cuadrados


perfectos, se puede expresar como una multiplicación de dos factores, uno de ellos puede
expresar como una multiplicación de dos factores; uno de ellos es la suma de las bases de
los cuadrados y el otro es su diferencia.

 Suma de cubos
 Diferencia de cubos
 Trinomios de segundo grado:

 Trinomio cuadrado perfecto: Un trinomio es un cuadrado perfecto cuando coincide con


el desarrollo del cuadrado de un binomio, es decir:

 Dos de sus términos son cuadrados perfectos.


 El otro término, con signo más o menos, es el doble del producto de las bases de los
cuadrados anteriores.

Citas y referencias bibliográficas: http://www.galeon.com/student_star/factor04.html

 Trinomio de la forma 𝒙𝟐 + 𝑏𝑥 + 𝑐: método del aspa

Teniendo presente que el producto de dos binomios, tales como (𝑥 + 𝑎)(𝑥 + 𝑏), es:
(𝑥 + 𝑎)(𝑥 + 𝑏) = 𝑥 2 + (𝑎 + 𝑏)𝑥 + 𝑎𝑏,
Si se reemplaza 𝑎 + 𝑏 por m y 𝑎𝑏 por n, se puede escribir:
𝑥 2 + 𝑚𝑥 + 𝑛 = (𝑥 + 𝑎)(𝑥 + 𝑏)
Sea 𝑥 2 + 7𝑥 + 12.

El producto +12 indica que los factores son del mismo signo, y la suma +7 indica que los dos
son positivos.

El producto 12, con factores enteros, puede obtenerse multiplicando 12 por 1, ó 6 por 2, ó 4
por 3 . Los dos últimos factores son los buscados, pues su suma es 4 + 3 = 7. Se tiene, por
consiguiente, que: 𝑥 2 + 7𝑥 + 12 = (𝑥 + 4)(𝑥 + 3).

 Trinomio de la forma 𝑎𝑥 2 + 𝑏𝑥 + 𝑐; (a¹1)

Factorizar un trinomio de la forma ax 2 + mx + n. Los trinomios de la forma ax2 + mx + n,


proviene de la multiplicación de dos binomios, como se ve en los ejemplos que siguen:
Polinomio primo o irreductible: Es el polinomio que no se puede factorizar, es decir no se
puede reducir a factores primos.

Trinomio por suma y resta (Quita y Pon): Se basa en el siguiente principio: Si a una expresión
se le suma y se le resta una misma expresión, la expresión inicial no varía.

Sumamos y estamos este doble producto para completar el trinomio cuadrado perfecto
(T.C.P.) y además obtener una diferencia de cuadrados. Sumamos y estamos este doble
producto para completar el trinomio cuadrado perfecto (T.C.P.) y además obtener una
diferencia de cuadrados.

Empleando aspa doble:


Sirve para factorizar expresiones de la forma:

 Empleando el método de los divisores binomios: Si el polinomio tiene como primer


coeficiente la unidad, los posibles ceros, estarán dados por los divisores del término
independiente con su doble signo. Si el primer coeficiente del polinomio es diferente de
la unidad, los posibles ceros estarán expresados por:

𝐷𝑖𝑣𝑖𝑠𝑜𝑟𝑒𝑠 𝑑𝑒𝑙 𝑡é𝑟𝑚𝑖𝑛𝑜 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒


𝑃𝑜𝑠𝑖𝑏𝑙𝑒𝑠 𝑐𝑒𝑟𝑜𝑠 =
𝐷𝑖𝑣𝑖𝑠𝑜𝑟𝑒𝑠 𝑑𝑒𝑙 𝑡𝑒𝑟𝑚𝑖𝑛𝑜 𝑑𝑒 𝑚𝑎𝑦𝑜𝑟 𝑔𝑟𝑎𝑑𝑜

 Máximo común divisor: El máximo común divisor (m.c.d.) de dos o más números es el
mayor de los divisores comunes.

Se descompone cada número un producto de factores primos.

El producto de estos factores comunes elevados al menor exponente es el máximo común


divisor de los números dados.

 Mínimo común múltiplo: El mínimo común múltiplo de dos o más números es el menor
múltiplo común distinto a cero

Se descompone cada número en producto de factores primos.


El producto de estos factores comunes elevados al mayor exponente y de los no comunes es
el mínimo común múltiplo de los números dados.
De punto flotante de multiplicación y división

Horner es un método rápido, eficaz método de código para la multiplicación y la división de


números binarios en un microcontrolador sin coprocesador matemático. Uno de los números
binarios que se multiplica se representa como un polinomio triviales, cuando, (usando la
notación de arriba): 𝑎𝑖 = 1, 𝑦 = 𝑥2. Entonces, x (x o para algunos el poder) es un factor a
cabo en repetidas ocasiones. En este número del sistema binario (base 2), 𝑥 = 2, por lo que
son potencias de 2 factores a cabo en repetidas ocasiones.

Ahora se procede a calcular las raíces irracionales por medio de un proceso conocido con el
nombre de método de aproximación de Horner. Este método sólo es aplicable a las ecuaciones
enteras, pero tiene la ventaja de que los cálculos necesarios son más sencillos que los usados
en el método de la interpolación lineal. La facilidad de cálculo es debida a que cada cifra de la
raíz se determina individualmente.

El razonamiento fundamental del método de Horner es muy sencillo. Supongamos que una
ecuación entera dada f ( x)  0 y tiene una raíz irracional que, correcta con 3 cifras decimales,
es 2.124. Para determinar esta raíz primeramente veremos que la ecuación dada tiene una
raíz entera. Después disminuiremos las raíces de f ( x)  0 en 2 unidades, obteniendo la nueva
ecuación f1 ( x1 )  0 que tiene la raíz 0.124. Entonces hacemos ver que f1{X 1}  0 tiene una
raíz entre 0.1 y 0.2 y disminuimos sus raíces en 0.1, obteniendo una nueva ecuación
f 2 ( x2 )  0 que tiene la raíz 0.024. Repitiendo el paso anterior, mostramos que f 2 {X 2 }  0
tiene una raíz entre 0.02 y 0.03 y disminuimos sus raíces en 0.02, obteniendo una nueva
ecuación f 3 ( x3 )  0 que tiene la raíz 0.004. Continuando este proceso, es posible obtener la
raíz con el número de cifras decimales correctas que se desee. Los detalles del método los
vamos a explicar en el ejemplo que sigue.
Ejemplo 11
f ( x )  x 3  5x 2  x  9  0
Ecuación 1

Demostrar que la ecuación, f ( x )  x 3  5x 2  x  9  0 , tiene una raíz entre 1 y 2, y calcularla


con 3 cifras decimales por medio del método de Horner.

SOLUCION

Por división sintética encontramos f (1)  4 y f ( 2)  17 lo que significa que la Ecuación 1


tiene una raíz entre 1 y 2. Ahora disminuimos las raíces de la Ecuación 1 en el valor 1 así:
La ecuación transformada es
f1 ( x )  x13  8 x12  12 x1  4  0
Ecuación 2

Tiene una raíz entre 0 y 1 que procederemos a determinar entre dos décimas sucesivas. Ya
que la raíz de Ecuación 2 es pequeña, su cubo y cuadrado son aún más pequeños, por lo que,
para una primera aproximación, podemos despreciar los términos en X13 y X12, obteniendo así
la ecuación modificada 12x1- 4 = O que tiene la solución X1 = 0.3+. Ya que esto es sólo una
aproximación, debemos probarla en la ecuación (2). Por división sintética se encuentra
f1 (0.3)  0.347 y f1 (0.2)  1.272 . Por tanto, la Ecuación 2 tiene una raíz entre 0.2 y 0.3. A
continuación disminuimos las raíces de la Ecuación 2 en el valor 0.2. Al efectuar esta operación
conviene dejar espacio suficiente para los decimales necesarias, como se indica:

La ecuación transformada:
f 2 ( x2 )  x23  8.6 x22  15.32 x2  1.272  0
Ecuación 3

La Ecuación 3 tiene una raíz entre 0 y 0.1 que se procede a localizar entre dos centésimas
sucesivas. De los últimos dos términos de la Ecuación 3, se obtiene la ecuación modificada
15.32 x2  1.272  0 que tiene la solución x2  0.08 . Por división sintética se encuentra que
f 2 (00.8)  0.009152 , y f 2 (0.07)  0.157117 . Por tanto, la Ecuación 3 tiene una raíz entre
0.07 y 0.08. Ahora disminuimos las raíces de Ecuación 3 en 0.07:

La ecuación transformada es
f 3 ( x3 )  x33  8.81x32  16.5387 x3  0.157117  0
Ecuación 4

La Ecuación 4 tiene una raíz entre 0 y 0.01 la cual se debe localizar entre dos milésimas
sucesivas. De los últimos dos términos de Ecuación 4, se tiene la ecuación modificada
16.5387 x3  0.157117  0 , con la, solución x3  0.009 . Por división sintética se encuentra
f 3 (0.009)  10.007554361 y f 3 (0.01)  0.009152 . Por tanto, la Ecuación 4 tiene una raíz
entre 0.009 y 0.011, Ahora disminuimos las raíces de la Ecuación 4 en 0.009.

Se deja como un ejercicio mostrar que la ecuación transformada es


f 4 ( x4 )  x43  8.837 x42  16.697523x4  0.007554361  0
Ecuación 5

De la ecuación modificada 16.697523x4  0.007554361  0 , se obtiene la solución


x4  0.0004 . En este punto, ya que la raíz de Ecuación 5 es muy pequeña, la solución de la
ecuación modificada es suficientemente precisa.

Por tanto, la raíz buscada es x = 1 + 0.2 + 0.07 + 0.009 + 0.0004 = 1.2794 y, con precisión de
3 decimales, es 1.279.

NOTAS.

1. Por motivos de exposición, la resolución del ejemplo anterior se ha descrito en forma


más extensa de lo necesario. En la práctica se puede hallar la solución en forma más
breve, mostrando solamente las operaciones de disminución de las raíces y omitiendo
las ecuaciones transformadas de cuyos coeficientes ya se dispone.
2. Es muy importante probar cada cifra sucesiva de la raíz buscada para asegurarse de que
la raíz de cada ecuación transformada está entre dos valores sucesivos.
3. Conforme se avanza en la determinación de aproximaciones por el método de Horner,
las raíces de las ecuaciones transformadas se hacen más y más pequeñas por lo que las
ecuaciones modificadas se hacen más y más precisas y a menudo pueden usarse para
obtener cifras decimales adicionales.
4. Para hallar una raíz negativa de f ( x )  0 por el método de Horner, se calcula la raíz
positiva correspondiente de f ( x )  0 y se le cambia el signo.

Evaluación de polinomios: Algoritmo de Horner


Estamos tan acostumbrados a ver los polinomios expresados como suma de monomios, que
cuando tenemos que implementar un algoritmo para evaluarlos tendemos a interpretar tal
cual la expresión y a codificarla tal y como lo haríamos a mano con ayuda de una calculadora.

Por ejemplo para evaluar un polinomio como 𝑃(𝑥) = 3𝑥 3 − 2𝑥 2 + 5𝑥 − 1, cuando x vale 7,


se calcula el primer monomio: primero se calcula 73 , y se multiplica por 3, luego se calcula 72 ,
y se multiplica por −2, y así sucesivamente. Luego se suman todos los valores de cada
monomio.

Esto no supone mayor problema cuando se evalúa un polinomio sencillito para un solo valor,
como 𝑥 = 7, pero ¿Y si se necesita evaluar un polinomio una y otra vez para montones de
valores distintos de 𝑥?

Se planteará cómo hacerlo lo mejor posible con la ayuda del esquema de Horner, como de
costumbre con un enfoque básico. Simplemente pretendemos ilustrar cómo a veces, un poco
de análisis y reflexión permiten construir algoritmos más eficientes.
El algoritmo de Horner propone una forma de evaluar los polinomios descritos como una suma
de monomios.

El algoritmo se basa en el Esquema de Horner, una forma de reescribir los polinomios atribuida
a William George Horner, un matemático inglés del siglo XIII, más conocido por la invención
del zootropo, un aparato que mostraba imágenes creando la ilusión de animación. Digo
atribuido porque aunque el algoritmo lleva su nombre, y en efecto Horner lo describió, se sabe
que el algoritmo había sido utilizado con anterioridad.

Pero hablaremos luego del esquema de Horner. Primero veamos cómo evaluaríamos un
polinomio genérico sin conocer el esquema de Horner.

Vea como ejemplo el que se ha comentado al inicio: 𝑃(𝑥) = 3𝑥 3 − 2𝑥 2 + 5𝑥 − 1, este


polinomio está compuesto de cuatro monomios. Cada monomio es un coeficiente que
multiplica a una variable x, que está elevada a una potencia determinada. El valor de la
potencia mayor es el grado del monomio. El primer monomio es de grado 3 y el último es de
grado 0. Para representar a un polinomio, se puede utilizar cualquier tipo de lista o vector que
permita almacenar los coeficientes, por ejemplo, ésta: (utilizar C#, como de costumbre)

double[] coeficientes={-1, 5, -2, 3};

Almacenamos los coeficientes al revés de cómo se escribe el polinomio, porque así tenemos
el coeficiente del monomio de grado 0 en la componente 0 del vector, y el coeficiente del
monomio de grado 3 en la posición 3 del vector.

Bien... vamos a calcular el valor del polinomio para un valor cualquiera de x. Como vamos a
tener que elevar x al cuadrado y también al cubo, quizá fuera conveniente definirnos un
método o función para calcular una potencia. Después, basta con ir recorriendo el vector,
multiplicando cada coeficiente por la potencia de x elevado al grado del monomio
correspondiente, que por la forma en la que hemos almacenado los coeficientes, corresponde
con la posición del vector. Bien... programémoslo:

//NOTA: ESTE ALGORITMO NO ES MUY BUENO


/*este método calcula la potencia de x elevado a y multiplicando y veces x por si mismo. */
private double potencia(double x, int y)
{ double resultado=1;
for (int i = 1; i <= y; i++)
{ resultado *= x;
}
return resultado;
}

//Calculando cada monomio y sumándolos


public double evaluar(double x)
{ double resultado = 0;
/* En cada iteración calculamos un monomio y sumamos. Empezamos por el de mayor grado
y vamos bajando (daría igual al revés) */
for (int i = grado; i >= 0; i--)
{ //La operación potencia puede ser bastante costosa, y
//la calculamos incluso para aquellos coeficientes
//que pudieran ser 0.
resultado += coeficientes[i] * potencia(x, i);
}
return resultado;
}

Si nos paramos un momento a pensar las operaciones de suma y producto que estamos
haciendo, nos daremos cuenta rápidamente de que el algoritmo no es muy bueno. ¿Por qué?
Pues porque invocamos varias veces al método potencia. En cada invocación, se calcula una
potencia de x. En el caso del ejemplo, x3, luego x2, luego x1 y luego x0. Ningún programador
elegante haría semejante barbaridad, ya que en cada llamada a potencia se entra en un bucle
que multiplica x por sí mismo un determinado número de veces. Es decir... si nuestro
polinomio fuera de grado 15, una llamada a potencia(x,15) multiplicaría x por sí mismo 15
veces, y luego la llamada a potencia(x,14) de la iteración siguiente volvería a multiplicar x por
sí mismo 14 veces.

Es necesario darse cuenta de que 𝑥 𝑛 = 𝑥 (𝑛−1) 𝑥 cuando 𝑛 > 1 y aprovecharlo. En lugar de


utilizar ese método potencia sería más adecuado utilizar una variable que en cada vuelta del
bucle del método evaluar fueramos multiplicando por sí misma. Así iríamos calculando la
potencia de x a la vez que recorremos el vector de coeficientes. Vamos a probar... utilizaremos
una variable que llamaremos pot para calcular las potencias de x.

//Este algoritmo es mucho mejor


public double evaluar1(double x)
{ double pot = 1;
double resultado = 0;
//en cada iteración calculamos un monomio
//y sumamos. Empezamos por el de grado 1 y vamos
//subiendo
for (int i = 0; i <= grado; i++)
{ //Vamos calculando la potencia de x a memedida
//que vamos calculando los monomios.
resultado += coeficientes[i] * pot;
pot *= x;
}
return resultado;
}

Mucho mejor... con éste algoritmo de arriba, en cada iteración del bucle for se realizan sólo
dos multiplicaciones y una suma. Es decir, para nuestro polinomio de ejemplo, se realizan
cuatro vueltas del bucle, así que 8 multiplicaciones y cuatro sumas. En el primer algoritmo, se
realizaban 13 multiplicaciones y cuatro sumas. Si el polinomio fuera mayor, por ejemplo de
grado 15... Con éste segundo algoritmo se realizan 30 multiplicaciones y 15 sumas, pero con
el primero se realizan ¡¡¡ 134 multiplicaciones y 15 sumas !!! Como ves, hemos disminuido
muchísimo el número de operaciones.

Bueno, pero todavía lo podemos mejorar. Aquí es donde entra el algoritmo de Horner.

Se retoma el polinomio de ejemplo 𝑃(𝑥 ) = 3𝑥 3 − 2𝑥 2 + 5𝑥 − 1, y se separa el coeficiente


que no está multiplicado por 𝑥, el -1, y se deja a un lado.

Queda 3𝑥 3 − 2𝑥 2 + 5𝑥 Rápidamente se da cuenta que sobre la expresión se puede sacar


factor común, y dejarla como (3x 2 − 2x + 5) ∗ x

Vale. Ahora cojamos el interior del paréntesis (nos dejamos la x que multiplica en el mismo
lado que nos dejamos el -1), y volvamos a separar el coeficiente que no multiplica a x (y
nuevamente lo dejamos a un lado)... 3𝑥 2 − 2𝑥 Si se saca factor común, queda (3x − 2)x

Ahora reescriba todo junto, el resultado al que se ha llegado y todo lo que se ha dejado a un
lado: ((3x − 2)x + 5)x − 1. Simplemente, se tiene el mismo polinomio de antes, pero escrito
de otra forma. De la expresión como suma de monomios se ha sacado la 𝑥 como factor común
unas cuantas veces. ¿No crees?... Haz las operaciones...

((3x-2)x-5)x-1=((3x2-2x)-5)x-1=(3x2-2x-5)x-1=(3x3-2x2+5x)-1=3x3-2x2+5x-1--> El polinomio como nuevo.

Bueno... pues a esta forma de escribir los polinomios "((3x-2)x -5)x-1", en la cual, todas las
veces que aparece x no está elevado a ninguna potencia, se le denomina esquema de horner.
Realmente, x se va multiplicando por sí mismo, pero esto se logra gracias a la astuta
parentización.

Pues bien, cuando implementamos un algoritmo que se basa en evaluar un polinomio escrito
según el esquema de Horner, resulta que sólo necesitamos una suma y una multiplicación por
cada iteración del bucle... y además, al no realizarse operaciones de potencia, los errores de
redondeo cometidos son mucho menores.
Recapitulando, para evaluar un polinomio según el algoritmo de Horner, empezamos por el
coeficiente del monomio de mayor grado, y lo multiplicamos por x. Luego sumamos el
siguiente coeficiente y volvemos a multiplicar por x.... Luego sumamos el siguiente y
multiplicamos por x...... y así sucesivamente, hasta que sumamos el último coeficiente y
paramos.

Se coloca todo en una clase que se llama Polinomio. Se coloca un constructor y una función
evaluar que utilice el esquema de Horner.

Implementación en una clase del algoritmo


Esta clase es sólo un ejemplo, para ilustrar el algoritmo de Horner. No tiene control de errores,
excepciones ni ninguna otra funcionalidad

class Polinomio
{ //los coeficientes, de grado 0 a n
double[] coeficientes;
//una propiedad para obtener el grado
//del polinomio
int grado
{ get {return coeficientes.Length-1;}
}
/* Este constructor admite una serie variable de
* valores double, que representan a los coeficientes.
* El primero será el coeficiente del monomio de mayor
* grado y el último el coeficiente del monomio de grado 0.
*/
public Polinomio(params double[] coeficientes)
{ this.coeficientes = coeficientes;
//vamos a darle la vuelta, sólo por comodidad
//así, nos quedamos con el coeficiente del monomio de
//grado 0 en la posición 0 del vector, y el coeficiente
//del monomio de grado n en la posición n.
Array.Reverse(this.coeficientes);
}

//Evaluar mediante el algoritmo


//de Horner
public double evaluar(double x)
{ double resultado = 0;
//llegamos hasta el coeficiente
//del monomio de grado 1
for (int i = grado; i >= 1; i--)
{ //sumar un coeficiente
resultado += coeficientes[i];
//multiplicar el resultado por valor
resultado *= x;
}
//finalmente, sumamos el último coeficiente
return resultado+coeficientes[0];
}
} //class

Para utilizarlo, basta con crear un nuevo polinomio, pasándole la lista de coeficientes, tal cual
se escriben en el polinomio, e invocar al método evaluar. Por ejemplo:

//crear el polinomio
Polinomio p = new Polinomio(3, -2, 5, -1);
//evaluar para x=7
Console.WriteLine(p.evaluar(7));

También podría gustarte