Вы находитесь на странице: 1из 10

Un algoritmo general de tipo Ruffini para la divisin de polinomios arbitrarios

Escrito por Domingo Hernndez Abreu el 10-07-2007 23:00 Visitas 25176 Estimad@ lector/a, muy probablemente recordars con cierto estupor aquellas soporferasclases de matemticas en los primeros aos de la educacin secundariadedicadas a la divisin de polinomios.Estoy seguro de que tu gusto por las matemticas no se debeprecisamente a la divisin de polinomios. Cunto tiempo dedicado amultiplicar y dividir potencias de la variable independiente x! Yaquellos fastidiosos cambios de signo en los coeficientes! Recordarsadems aquella estupenda regla de Ruffini (tambinconocida como algoritmo de Horner) que, entre otras muchas cosas,permita realizar de modo inmediato divisiones de polinomios en las queel polinomio divisor era de grado uno. Con este algoritmo tan maravilloso a nuestra disposicin, es muy probable que t mism@ te preguntaras por qu no se nos facilitaba en clase un algoritmo similar para realizar las tediosas divisiones de polinomiossin tener que recurrir a las potencias de la dichosa variable x y a losincordios cambios de signo en los coeficientes que surgen en elalgoritmo usual de la divisin. Cuntas veces habremos cometidoerrores inocentes en este proceso, echando al traste parte del trabajorealizado anteriormente! Con este artculo pretendemos que aprendas a dividir polinomios engeneral por medio de un mtodo algortmico que generaliza de modonatural la regla de Ruffini. A modo de ejemplo introductorio consideremos la divisin

(2x3-x2+x-

5):(x+2)

(cociente de grado 2 y resto de grado 0) por medio de la regla de Ruffini

que, como es sabido, nos da un cociente

C(x)=2x2-5x+11

y un resto

R(x)=-27.

Pues bien, presentamos ahora un algoritmo general al estilo de la regla de Ruffini que permite realizar divisiones de polinomios cualesquiera con un costo computacional bajo. Antes de justificar tericamente el algoritmo general, presentamoscinco ejemplos como ilustracin del algoritmo. En todo momentoasumiremos, sin prdida de generalidad, que el polinomio divisor tienecoeficiente director igual a 1 (en otro caso, bastara con dividirtodos los coeficientes del polinomio dividendo y del polinomio divisorpor el valor de dicho

coeficiente). Aconsejamos la realizacin paso a paso de las tablasque aparecen abajo para una mejor comprensin del algoritmo. Si sesimultanea la realizacin de las tablas con el proceso de divisin depolinomios usual se entender la relacin que existe entre el procesousual y las diagonales inversas de las tablas. Tal vez los detalles que sean de mayor complejidad en la configuracinde las tablas son las posiciones nulas (cuadros negros) que aparecen enlas mismas. En general, a la hora de configurar las tablas paradesarrollar el algoritmo de divisin, notaremos que si el divisor tienegrado k+1, con k0, entonces deben ubicarse k(k+1) posiciones vacas (o nulas), separadas simtricamente en dos grupos triangulares de k(k+1)/2cuadros, que no deben tenerse en cuenta a la hora de realizaroperaciones en la tabla. En particular, si el divisor es de grado 1entonces no se insertarn posiciones vacas en la tabla. La realizacinde las divisiones por el proceso usual nos hace ver por qu debenaparecer estas posiciones nulas en las tablas.

Ejemplo 1: Dividir (3x2-4x+1):(x2-3x+2)


Sabemos a priori que el proceso nos conducir a un resto de grado 1 y a un cociente de grado 0. Formamos entonces una tabla al estilo Ruffini, en cuya fila superior secolocan los coeficientes del dividendo (de mayor grado a menor grado) yen cuya primera columna se colocan los coeficientes del divisorcambiados de signo (de menor grado a mayor grado), exceptuando elcoeficiente director (que vale 1). A continuacin se inicia el procesousual de la regla de Ruffini. En caso de que el grado del divisor sea mayor o igual que 2, notamosque al realizar la tabla quedan posiciones vacas en las primerascolumnas. Estas posiciones deben situarse simtricamente en el tablero(es decir, tambin habrn posiciones vacas en las ltimas columnas detablero) y no deben considerarse a efectos operacionales.

Se comprueba entonces que efectivamente el cociente de la divisin es resto

C(x)=3 y el

R(x)=5x-5.
Dividir

Ejemplo 2:

(x3+x-1):(x2+1)

Sabemos que el proceso nos conducir a un resto de grado 1 y a un cociente de grado 1. Colocamos los coeficientes convenientemente en la tabla y realizamos elmismo proceso anterior. Observemos la disposicin simtrica de lascasillas nulas en la tabla.

As, el cociente ser

C(x)=1x+0=x, y el resto R(x)=0x-1=-1. (5x5-4x4+3x3-2x2+x):(x3-7x2+6x-2)

Ejemplo 3:

Dividir

En este caso, el proceso nos conducir a un resto de grado 2 y a un cociente de grado 2.

Podemos comprobar que efectivamente el resto de la divisin es

R(x)=1152x21077x+380, mientras que el cociente viene dado porC(x)=5x2+31x+190.

Ejemplo 4: Dividir (3x5-4x4+2x2-x-1):(x4-3x3+x-2)


El proceso debe conducirnos a un resto de grado 3 y a un cociente de grado 1.

El proceso indica que el cociente es por

C(x)=3x+5, mientras que el resto viene dado

R(x)=15x3-x2+9.
Dividir

Ejemplo 5:

(2x7-3x6+x4-x3+2x2-3x+1):(x5-3x4+x2-3x+3)

El algoritmo nos conducir a un resto de grado 4 y a un cociente de grado 2.

De esta manera el cociente ser

C(x)=2x2+3x+9, y el resto R(x)=26x4+2x3-

4x +15x-26.
Esperamos que estos ejemplos hayan ilustrado convenientemente elalgoritmo de divisin. An as recomendamos la realizacin paso a pasode cada una de las tablas que aparecen en los ejemplos. Este algoritmono es nada casual y est basado en un desarrollo de los coeficientesque van apareciendo en cada paso de la divisin general de polinomiospor el mtodo usual. A continuacin justificamos tericamente elalgoritmo presentado anteriormente. Para ello nos acercaremos alalgoritmo general estudiando previamente los casos en los que eldivisor tiene grado 1, 2 y 3. En lo que sigue consideramos un polinomio dividendo de grado

n de la forma:

p(x)=pnxn+pn-1xn-1+...+p2x2+p1x+p0,
y supondremos, sin prdida de generalidad, que el polinomio divisor es mnico (coeficiente director igual a 1) y tiene grado k+1, conk0:

q(x)=xk+1+qkxk+qk-1xk-1+...+q2x2+q1x+q0,
con la condicin de que

nk+1.

Divisor de grado 1: q(x)=x+q0. n1, con lo cual se obtiene un cociente de grado n-1 y un resto C(x)=Dnxn-1+Dn-1xn-2+...+D2x+D1 R(x)=D0 0 de la forma:

En este caso, asumimos de grado

Si efectuamos el proceso de divisin usual, comprobaremos que los coeficientes calculan a travs de la recurrencia

Dj's se

Dn= pn Dj= pj - Dj+1*q0, j=n-1, n-2,...,2,1,0,


o equivalentemente

Dn+1=0 Dj= pj - Dj+1*q0, j=n,n-1,...2,1,0. (1)


El algoritmo

(1) no es otra cosa sino la regla de Ruffini clsica. Vemos adems que su
n productos y nsumas/restas.

costo computacional se reduce a

Divisor de grado 2: q(x)=x2+q1x+q0. n2, con lo cual se obtiene un cociente de grado n-2 y un resto C(x)=Dnxn-2+Dn-1xn-3+...+D3x+D2 R(x)=D1x+D0

En este caso, asumimos de grado

1 de la forma:

De nuevo, efectuando la divisin con coeficientes genricos comprobamos que los coeficientes

Dj's se calculan recursivamente como

Dn+1=Dn+2=0 Dj= pj - Dj+1*q1 - Dj+2*q0, j=n,n-1,...2,1. (2) D0= p0 - D2*q0

Este es el algoritmo correspondiente a los ejemplos 1 y 2 anteriores. La excepcin hecha en

(2) para

el clculo de

D0 (y

la aparicin de un segundo

coeficiente Dn+2 nulo) equivale a las dos (k*(k +1) = 2, si k+1=2) posiciones nulas que aparecen distribuidas simtricamente en la tabla de Ruffini para divisores degrado 2. En este caso la regla nos da un costo computacional de 2*(n-1) sumas y productos.

Divisor de grado 3: q(x)=x3+q2x2+q1x+q0.


En este caso, asumimos un resto de grado

n3, con lo cual se obtiene un cociente de grado n-3 y

2 de la forma: C(x)=Dnxn-3+Dn-1xn-4+...+D4x+D3

R(x)=D2x2+D1x+D0
donde los coeficientes

Dj's se calculan recursivamente como:

Dn+1=Dn+2=Dn+3=0 Dj= pj - Dj+1*q2 - Dj+2*q1 - Dj+3*q0, j=n,n-1,...3,2. (3) D1= p1 - D3*q1 - D4*q0 D0= p0 - D3*q0
Este algoritmo es el que se aplica al ejemplo 3. La si excepcin hecha en

(3) para

el

clculo

de

D0 y D1 (y
las seis

la

aparicin

de

los

coeficientes

Dn+2 y Dn+3 nulos) equivale a k+1=3)posiciones nulas que aparecen distribuidas

(k*(k+1)=6,

simtricamente en la tablade Ruffini

para divisores de grado 3. En este caso la regla nos da uncosto computacional de

3*(n-

2) sumas y productos.
Con estos tres casos preliminares vislumbramos el mecanismo general quenos permite calcular los coeficientes del cociente y resto de ladivisin:

Divisor de grado k+1: q(x)=xk+1+qkxk+qk-1xk1 +...+q2x2+q1x+q0, k0.

Ya el lector habr advertido a partir de los tres casos iniciales queel proceso sigue un patrn comn. En este caso se obtendr un resto degrado k y un cociente de grado n-(k+1), siendo

nk+1, de la forma:

C(x)=Dnxn-(k+1)+Dn-1xn-(k+2)+...+Dk+2x+Dk+1 R(x)=Dkxk+Dk-1xk-1+...+D2x2+D1x+D0
Otra vez, efectuando la divisin con coeficientes genricos comprobamos que los coeficientes

Dj's se calculan a travs de la recurrencia:

Dn+1=Dn+2=...=Dn+k+1=0 Dj= pj - Dj+1*qk - Dj+2*qk-1 - Dj+3*qk-2-...- Dj+k*q1 - Dj+k+1*q0, j=n,n1,...k+1,k. (4)

Dk-1= pk-1 - Dk+1*qk-1 - Dk+2*qk-2 -...- D2k-1*q1 - D2k*q0 Dk-2= pk-2 - Dk+1*qk-2 -...- D2k-2*q1 - D2k-1*q0
.....................................................................................................................

D1= p1 - Dk+1*q1 - Dk+2*q0 D0= p0 - Dk+1*q0


En definitiva vemos que para el cmputo de los coeficientes recurrirse a los coeficientes

Dj's ,

con

j<k,

slo puede

ql, con l<j.

De nuevo, la excepcin hecha en

(4) para el clculo de D0, D1, ..., Dk-1 (y la aparicin de

los coeficientes Dn+2, Dn+3,..., Dn+k+1nulos) equivale a las k*(k+1) posiciones nulas que aparecen distribuidas simtricamente en la tabla de Ruffini para divisores de gradok+1. En el caso general la regla nos da un costo computacional de productos.

(k+1)*(n-k) sumas

Concluimos con una propuesta de cdigo (basado en Mathematica) quepermite obtener el cociente y resto de la divisin de dos polinomios p(x) y q(x) en base al algoritmo anterior.

Вам также может понравиться