División sintética - Synthetic division

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 la 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 el papel que la división larga. Además, las restas en la división larga se convierten en sumas cambiando los signos al principio, evitando errores de signo.

División sintética regular

El primer ejemplo es la división sintética con solo un denominador lineal monico .

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 "deja caer" 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 adición 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 corresponde a los coeficientes del cociente.

Los términos se escriben con un grado creciente de derecha a izquierda comenzando con el grado cero para el resto y el resultado.

Por tanto, el cociente y el resto son:

Evaluar polinomios mediante el teorema del resto

La forma anterior de división sintética es útil en el contexto del teorema del resto polinomial para evaluar polinomios univariados . Para resumir, el valor de en es igual al resto de . La ventaja de calcular el valor de esta manera es que requiere poco más de la mitad de los pasos de multiplicación que una evaluación ingenua. Una estrategia de evaluación alternativa es el método de Horner .

División sintética ampliada

Este método se generaliza a la división por cualquier polinomio monico con solo una ligera modificación con cambios en negrita . Siguiendo los mismos pasos que antes, realice la siguiente división:

Nos preocupamos únicamente por los coeficientes. Escribe los coeficientes del polinomio que se dividirá en la parte superior.

Niega los coeficientes del divisor.

Escriba todos los coeficientes menos el primero de la izquierda en una diagonal hacia la derecha hacia arriba (vea el siguiente diagrama).

Note el cambio de signo de 1 a −1 y de −3 a 3 . "Suelta" 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.

Realice una adición en la siguiente columna.

Repita los dos pasos anteriores hasta que pase 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 más a la derecha debajo de la barra. Marque la separación con una barra vertical.

Los términos se escriben con un grado creciente de derecha a izquierda, comenzando con el grado cero, tanto para el resto como para el resultado.

El resultado de nuestra división es:

Para divisores no monicos

Con un poco de insistencia, la técnica expandida se puede generalizar aún más para que funcione con cualquier polinomio, no solo con monics . La forma habitual de hacer esto sería dividir el divisor con su coeficiente principal (llámelo a ):

luego usando la división sintética con como divisor, y luego dividiendo el cociente por 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 "caer" 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 usa para escribir valores encontrados dividiendo los valores "descartados" 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 usa para llenar las filas superiores con múltiplos de 2 y 1, como en la técnica expandida:

El 5 se elimina a continuación, con la adición obligatoria del 4 debajo de él, 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 "saldríamos" del lado derecho, por lo que la tercera suma es el primer coeficiente del resto, como en el caso regular. 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

División sintética expandida compacta

Sin embargo, el formato diagonal anterior se vuelve menos eficiente en cuanto al espacio cuando el grado del divisor excede la mitad del grado del dividendo. Es fácil ver que tenemos total libertad para escribir cada producto en cualquier fila, siempre que esté en la columna correcta. Por lo tanto, el algoritmo puede compactarse mediante una estrategia codiciosa , como se ilustra en la división a continuación.

A continuación se describe cómo realizar el algoritmo; este algoritmo incluye pasos para dividir divisores no monicos:

  1. Escribe los coeficientes del dividendo en una barra.
  2. Ignorando el primer coeficiente (principal) del divisor, niegue cada coeficiente y colóquelos en el lado izquierdo de la barra.
  3. A partir del número de coeficientes colocados en el lado izquierdo de la barra, cuente el número de coeficientes de dividendos por encima de la barra, comenzando desde la columna más a la derecha. Luego coloque una barra vertical a la izquierda, y también la fila de abajo, de esa columna. Esta barra vertical marca la separación entre el cociente y el resto.
  4. Suelta el primer coeficiente del dividendo debajo de la barra.
    • Divida el número previamente eliminado / sumado por el coeficiente principal del divisor y colóquelo en la fila de abajo (esto no es necesario si el coeficiente principal es 1). En este caso .
    • Multiplique el número eliminado / sumado previamente (o el número eliminado / sumado dividido) por cada coeficiente de divisor negado a la izquierda (comenzando por el más a la izquierda); omitir si el número eliminado / sumado es cero. Coloque cada producto encima de las columnas siguientes.
  5. Realice una suma de columnas en la siguiente columna.
  6. Repite los dos pasos anteriores. Deténgase cuando haya realizado los dos pasos anteriores en el número justo antes de la barra vertical. Deja . Deja . Deja .
  7. Realice las adiciones restantes por columnas en las columnas siguientes (calculando el resto).
  8. Los resultados más bajos debajo de la barra horizontal son los coeficientes de los polinomios, el resto y el cociente, donde los coeficientes del cociente están a la izquierda de la separación de la barra vertical y los coeficientes del resto están a la derecha. Estos coeficientes se interpretan como si tuvieran un grado creciente de derecha a izquierda comenzando con el grado cero tanto para el resto como para el cociente. Interpretamos los resultados para obtener:

Implementación de Python

El siguiente fragmento implementa la división sintética expandida para polinomios univariados arbitrarios:

def expanded_synthetic_division(dividend, divisor):
    """Fast polynomial division by using Expanded Synthetic Division. 
    Also works with non-monic polynomials.

    Dividend and divisor are both polynomials, which are here simply lists of coefficients. 
    E.g.: x**2 + 3*x + 5 will be represented as [1, 3, 5]
    """
    out = list(dividend)  # Copy the dividend
    normalizer = divisor[0]
    for i in range(len(dividend) - len(divisor) + 1):
        # For general polynomial division (when polynomials are non-monic),
        # we need to normalize by dividing the coefficient with the divisor's first coefficient
        out[i] /= normalizer

        coef = out[i]
        if coef != 0:  # Useless to multiply if coef is 0
            # In synthetic division, we always skip the first coefficient of the divisor,
            # because it is only used to normalize the dividend coefficients
            for j in range(1, len(divisor)):
                out[i + j] += -divisor[j] * coef

    # The resulting out contains both the quotient and the remainder,
    # the remainder being the size of the divisor (the remainder
    # has necessarily the same degree as the divisor since it is
    # what we couldn't divide from the dividend), so we compute the index
    # where this separation is, and return the quotient and remainder.
    separator = 1 - len(divisor)
    return out[:separator], out[separator:]  # Return quotient, remainder.

Ver también

Referencias

  • Fan de Lianghuo (2003). "Una generalización de la división sintética y un teorema general de la división de polinomios" (PDF) . Mezcla matemática . 30 (1): 30–37.
  • Li Zhou (2009). "División corta de polinomios". Revista universitaria de matemáticas . 40 (1): 44–46. doi : 10.4169 / 193113409x469721 .

enlaces externos