En álgebra , la división sintética es un método para realizar manualmente la división euclidiana de polinomios , con menos escritura y menos cálculos que la división larga .
Se enseña principalmente para la división por polinomios mónicos lineales (conocida como regla de Ruffini ), pero el método se puede generalizar a la división por cualquier polinomio .
Las ventajas de la división sintética son que permite calcular sin escribir variables, utiliza pocos cálculos y ocupa mucho menos espacio en papel que la división larga. Además, las restas en la división larga se convierten en sumas cambiando los signos desde el principio, lo que ayuda a evitar errores de signos.
El primer ejemplo es la división sintética con sólo un denominador lineal mónico .
El numerador se puede escribir como .
El cero del denominador es .
Los coeficientes de están ordenados de la siguiente manera, con el cero de a la izquierda:
El primer coeficiente después de la barra se "suelta" a la última fila.
El número eliminado se multiplica por el número antes de la barra y se coloca en la siguiente columna .
Se realiza una suma en la siguiente columna.
Se repiten los dos pasos anteriores y se obtiene lo siguiente:
Aquí, el último término (-123) es el resto mientras que el resto corresponden a los coeficientes del cociente.
Los términos se escriben con grado creciente de derecha a izquierda comenzando con grado cero para el resto y el resultado.
Por tanto el cociente y el resto son:
La forma anterior de división sintética es útil en el contexto del teorema del resto polinomial para evaluar polinomios univariados . En resumen, el valor de at es igual al resto de la división de por
La ventaja de calcular el valor de esta manera es que requiere poco más de la mitad de pasos de multiplicación que una evaluación sencilla. Una estrategia de evaluación alternativa es el método de Horner .
Este método se generaliza a la división por cualquier polinomio mónico con sólo una ligera modificación con cambios en negrita . Siguiendo los mismos pasos que antes, realice la siguiente división:
Sólo nos ocuparemos de los coeficientes. Escribe los coeficientes del polinomio a dividir en la parte superior.
Negar los coeficientes del divisor.
Escriba todos los coeficientes menos el primero de la izquierda en una diagonal hacia arriba y hacia la derecha (consulte el siguiente diagrama).
Observe el cambio de signo de 1 a −1 y de −3 a 3. "Suelte" el primer coeficiente después de la barra a la última fila.
Multiplique el número eliminado por la diagonal antes de la barra y coloque las entradas resultantes en diagonal a la derecha de la entrada eliminada.
Realiza una suma en la siguiente columna.
Repita los dos pasos anteriores hasta pasar las entradas en la parte superior con la siguiente diagonal .
Luego simplemente sume las columnas restantes.
Cuente los términos a la izquierda de la barra. Como hay dos, el resto tiene grado uno y estos son los dos términos que se encuentran más a la derecha debajo de la barra. Marca la separación con una barra vertical.
Los términos se escriben con grado creciente de derecha a izquierda comenzando con grado cero tanto para el resto como para el resultado.
El resultado de nuestra división es:
Con un poco de ayuda, la técnica ampliada se puede generalizar aún más para que funcione con cualquier polinomio, no solo con los mónicos . La forma habitual de hacer esto sería dividir el divisor por su coeficiente principal (llámelo a ):
luego usar la división sintética con como divisor y luego dividir el cociente entre a para obtener el cociente de la división original (el resto permanece igual). Pero esto a menudo produce fracciones antiestéticas que se eliminan más tarde y, por lo tanto, son más propensas a errores. Es posible hacerlo sin reducir primero los coeficientes de .
Como se puede observar al realizar primero una división larga con un divisor no mónico, los coeficientes de se dividen por el coeficiente principal de después de "eliminar" y antes de multiplicar.
Ilustremos realizando la siguiente división:
Se utiliza una tabla ligeramente modificada:
Tenga en cuenta la fila adicional en la parte inferior. Esto se utiliza para escribir los valores encontrados dividiendo los valores "eliminados" por el coeficiente principal de (en este caso, indicado por /3 ; tenga en cuenta que, a diferencia del resto de los coeficientes de , el signo de este número no cambia) .
A continuación, el primer coeficiente de se elimina como de costumbre:
y luego el valor eliminado se divide por 3 y se coloca en la fila siguiente:
A continuación, el nuevo valor (dividido) se utiliza para llenar las filas superiores con múltiplos de 2 y 1, como en la técnica expandida:
A continuación se elimina el 5, con la obligatoria adición del 4 debajo, y la respuesta se divide nuevamente:
Luego el 3 se usa para llenar las filas superiores:
En este punto, si, después de obtener la tercera suma, intentáramos usarla para llenar las filas superiores, nos "caeríamos" del lado derecho, por lo que la tercera suma es el primer coeficiente del resto, como en el caso normal. división sintética. Pero los valores del resto no se dividen por el coeficiente principal del divisor:
Ahora podemos leer los coeficientes de la respuesta. Como en la división sintética expandida, los dos últimos valores (2 es el grado del divisor) son los coeficientes del resto y los valores restantes son los coeficientes del cociente:
y el resultado es
Sin embargo, el formato diagonal anterior se vuelve menos eficiente en términos de espacio cuando el grado del divisor excede la mitad del grado del dividendo. Considere la siguiente división:
Es fácil ver que tenemos total libertad para escribir cada producto en cualquier fila siempre que esté en la columna correcta, por lo que el algoritmo se puede compactar mediante una estrategia codiciosa , como se ilustra en la siguiente división:
A continuación se describe cómo realizar el algoritmo; este algoritmo incluye pasos para dividir divisores no mónicos:
Interpretamos los resultados para obtener:
El siguiente fragmento implementa la división sintética expandida en Python para polinomios univariados arbitrarios:
def expanded_synthetic_division ( dividendo , divisor ): """División polinómica rápida mediante división sintética expandida. También funciona con polinomios no mónicos. El dividendo y el divisor son ambos polinomios, que aquí son simplemente listas de coeficientes. Por ejemplo: x**2 + 3*x + 5 se representará como [1, 3, 5] """ out = list ( dividendo ) # Copiar el normalizador de dividendos = divisor [ 0 ] para i en el rango ( len ( dividendo ) - len ( divisor ) + 1 ): # Para la división polinomial general (cuando los polinomios no son mónicos), # necesitamos normalizar dividiendo el coeficiente con el primer coeficiente del divisor fuera [ i ] /= normalizador coef = out [ i ] if coef != 0 : # Inútil multiplicar si coef es 0 # En división sintética, siempre omitimos el primer coeficiente del divisor, # porque solo se usa para normalizar los coeficientes de dividendo para j en el rango ( 1 , len ( divisor )): fuera [ i + j ] += - divisor [ j ] * coef # El resultado resultante contiene tanto el cociente como el resto, # siendo el resto el tamaño del divisor (el resto # tiene necesariamente el mismo grado que el divisor ya que es # lo que no pudimos dividir del dividendo), por lo que calcule el índice # donde está esta separación y devuelva el cociente y el resto. separador = 1 - len ( divisor ) devuelve [ : separador ], fuera [ separador :] # Devuelve cociente, resto.