• No se han encontrado resultados

Divisi´ on de un polinomio entre un binomio

N/A
N/A
Protected

Academic year: 2020

Share "Divisi´ on de un polinomio entre un binomio"

Copied!
6
0
0

Texto completo

(1)

Programaci´ on:

Divisi´ on de un polinomio entre un binomio

Objetivos. Escribir una funci´on que divida un polinomio entre un binomio m´onico. Vamos a usar esta funci´on en otras partes del curso. En este texto estamos suponiendo que los

´ındices de arreglos empiezan desde 1.

Requisitos. Ciclos, multiplicaci´on de un polinomio por un binomio, representaci´on de listas (arreglos), representaci´on de polinomios.

El algoritmo que vamos a estudiar tiene varios nombres: divisi´on sint´etica, algoritmo de Horner, regla de Ruffini.

1. Guardar polinomios como listas de coeficientes en el orden ascendente. Como antes, representamos polinomios como listas de sus coeficientes, empezando con el t´ermino independiente. Por ejemplo, representamos el polinomio

f(x) = 5x3− 7x2+ 1 como la siguiente lista:

|{z}

? , |{z}

? , |{z}

?

, 5.

El grado de este polinomio es |{z}

?

, y la lista de coeficientes es de longitud |{z}

?

.

Se dice que −7 es el coeficiente de la potencia |{z}

x?

.

En general, un polinomio a1+ a2x + a3x2+ . . . + anxn−1 se guarda como la lista de sus coeficientes:

| {z }

?

, | {z }

?

, | {z }

?

, . . . , | {z }

?

.

Si an 6= 0, entonces el grado del polinomio es | {z }

?

, y la longitud de la lista de coeficientes es | {z }

?

.

Para cada ´ındice k ∈{1, . . . , n}, el n´umero ak es el coeficiente de la potencia | {z }

x?

.

(2)

F´ ormulas para dividir un polinomio entre un binomio m´ onico (se recomienda deducirlas antes de la clase pr´ actica)

2. Polinomios m´onicos (repaso). Un polinomio de una variable se llama m´onico el coeficiente de la mayor potencia en este polinomio es igual a 1. Por ejemplo, el polinomio 4 − 6x + x2 es m´onico, y 7 − 5x − 4x2 no lo es.

3. Caso n = 5, construimos un sistema de ecuaciones. Vamos a dividir f(x) entre g(x), donde f(x) es un polinomio de grado 4 y g(x) es un binomio m´onico:

f(x) = a1+ a2x + a3x2+ a4x3+ a5x4, g(x) = −b + x.

Dividir f(x) entre (x − b) significa encontrar un polinomio q(x) y un n´umero r tales que f(x) = (x − b)q(x) + r.

De la f´ormula (x − b)q(x) = f(x) − r concluimos que

el producto (x − b)q(x) debe ser del mismo grado que f(x), esto es, de grado |{z}

?

. Por eso el polinomio q(x) debe ser de grado |{z}

?

.

Denotemos sus coeficientes por c1, c2, c3, c4 y obtenemos la siguiente ecuaci´on:

a1+ a2x + a3x2+ a4x3+ a5x4 = (−b + x)(c1+ c2x + c3x2+ c4x3) + r.

Igualamos los coeficientes de las potencias de x en ambos lados:

coeficiente de x0:

| {z }

a? = | {z }

?

| {z }

?

+ | {z }

?

; (1)

coeficiente de x1:

| {z }

a?

= | {z }

?

; (2)

x2:

| {z }

a?

= | {z }

?

; (3)

x3:

| {z }

a?

= | {z }

?

; (4)

x4:

| {z }

a?

= | {z }

?

. (5)

Las inc´ognitas de este sistema de ecuaciones son c1, c2, c3, c4, r.

(3)

4. Caso n = 5, resolvemos el sistema de ecuaciones.

Estamos resolviendo el sistema de ecuaciones (1)–(5).

La | {z }

primera/´ultima

ecuaci´on del sistema tiene solamente una inc´ognita,

y esta inc´ognita ya est´a en la forma despejada:

| {z }

c?

= | {z }

a?

. (6)

Ahora de la ecuaci´on ( |{z}

?

) podemos despejar otra inc´ognita | {z }

c?

, esto es, expresarla en t´erminos de | {z }

c?

, | {z }

a?

y | {z }

?

, Luego de la ecuaci´on | {z }

?

despejamos | {z }

?

, etc.:

| {z }

c?

= | {z }

?

c4 + | {z }

?

; (7)

| {z }

c?

= | {z }

?

| {z }

?

+ | {z }

?

; (8)

| {z }

c?

= | {z }

?

| {z }

? + | {z }

?

; (9)

| {z }

?

= | {z }

?

| {z }

?

+ | {z }

?

. (10)

Aunque sabemos el valor de la inc´ognita c4, no lo sustituimos en (7).

De manera similar, en (8) dejamos c3, etc.

Por supuesto, para n = 5 podr´ıamos escribir c4, c3, . . .en t´erminos de a1, . . . , a5 y b, pero las f´ormulas ser´ıan complicadas y no podr´ıamos generalizarlas.

Preferimos escribir f´ormulas recursivas porque son f´aciles para generalizar y programar.

Notemos que las f´ormulas (7), (8) y (9) tienen la misma estructura:

ck = | {z }

?

, k = 3, |{z}

? , |{z}

?

. (11)

Las f´ormulas (6) y (10) tienen otras expresiones en el lado izquierdo o en el lado derecho.

(4)

5. F´ormulas para n general.

Ahora vamos a dividir f(x) entre g(x), donde f(x) es de grado n−1 y g(x) es un polinomio m´onico:

f(x) = a1+ a2x + a3x2+ . . . + anxn−1, g(x) = −b + x.

Buscamos un polinomio q(x) y un n´umero r tales que f(x) = (−b + x)q(x) + r.

El polinomio q(x) es de grado | {z }

?

, es decir, tiene | {z }

?

coeficientes.

Se debe cumplir la siguiente igualdad de polinomios:

(−b + x)(c1+ c2x + . . . + cn−1xn−2) + r = a1+ a2x + a3x2+ . . . + anxn−1.

Generalizando los resultados del Ejercicio 4 se puede ver que los coeficientes inc´ognitos c1, . . . , cn−1, rse pueden calcular de la siguiente manera:

| {z }

c?

= | {z }

?

;

ck = | {z }

?

| {z }

c?

+ | {z }

?

, k = | {z }

?

, | {z }

?

, . . . , | {z }

?

;

| {z }

? = | {z }

?

.

Notemos que ck se expresa en t´erminos de | {z }

c?

,

as´ı que k debe ir en el orden | {z }

ascendente/descendente

desde | {z }

?

hasta | {z }

?

.

(5)

6. Algoritmo DivPolBinom (pseudoc´odigo).

funci´on DivPolBinom(a, b):

variables locales: n, c, k;

n := | {z }

?

;

c :=lista nula de longitud | {z }

?

;

| {z }

c?

:= | {z }

?

;

para k := | {z }

?

, | {z }

?

, . . . , | {z }

?

:

ck:= | {z }

?

;

| {z }

?

:= | {z }

?

;

regresar | {z }

?

y | {z }

?

.

7. Ciclos descendentes en Wolfram Mathematica.

Los “ciclos descendentes” en Wolfram Mathematica se pueden programar de manera si- milar al lenguaje C. Se recomienda ejecutar los siguientes comandos uno por uno:

> For[k = 100, k >= 60, k -= 10, Print[k]]

> For[k = 8, k >= 3, k--, Print[k]]

Tambi´en hay otras construcciones para hacer lo mismo:

> Do[Print[k], {k, 100, 60, -10}]

> Do[Print[k], {k, 8, 3, -1}]

8. Ejemplo de una funci´on en Wofram Mathematica que regresa dos objetos.

> AB[n_] := Module[{a, b}, a = n * n; b = Table[7, {n}]; {a, b}]

> AB[4]

(6)

Programaci´ on de la divisi´ on de un polinomio entre un binomio

9. Problema DivPolBinom (2 %).

Traduzca el algoritmo 6 a un lenguaje de programaci´on. En otras palabras, escriba una funci´on que divida un polinomio f(x) entre un binomio x − b.

Entrada: la lista a de los coeficientes de f(x) y el n´umero b.

Salida: la lista de los coeficientes del cociente y el residuo.

10. Comprobaci´on. Es f´acil ver que −11 + 8x − 5x2+ x3 = (−4 + x)(4 − x + x2) + 5.

Por eso DivPolBinom[{-11, 8, -5, 1}, 4] debe regresar {{4, -1, 1}, 5}.

11. Comprobaci´on. Divida el polinomio 2x3− 5x2+ x − 7entre el binomio x + 3 (haga los c´alculos en papel). Luego ejecute DivPolBinom[{-7, 1, -5, 2}, -3].

12. Problema PolEval (1 %).

Escriba una funci´on que calcule el valor del polinomio f(x) con coeficientes dados en el punto dado b.

Entrada: la lista de los coeficientes del polinomio f(x), el punto b.

Salida: el n´umero f(b).

Haga la comprobaci´on con algunos ejemplos.

13. Sea f(x) un polinomio y sea b un n´umero. Recuerde como expandir f(x) en las potencias del binomio (x − b) usando la divisi´on sint´etica.

14. Sea f(x) un polinomio y sea b un n´umero. Sean c1, c2, c3, . . . , cn los coeficientes de la expansi´on de f(x) en las potencias del binomio (x − b):

f(x) = c1+ c2(x − b) + c3(x − b)2+ c4(x − b)3+ . . . + cn(x − b)n−1. Recuerde la f´ormula de Taylor y exprese f(b) y f0(b) a trav´es de c1 y c2. 15. Problema PolValDiff (2 %).

Escriba una funci´on que calcule el valor del polinomio dado f(x) y de su derivada f0(x) en el punto dado b, utilizando la funci´on DivPolBinom. Use los resultados de dos ejercicios anteriores.

Entrada: la lista de los coeficientes del polinomio f(x), el punto b.

Salida: la lista que consiste de dos n´umeros, f(b) y f0(b).

Despu´es de programar la funci´on requerida haga comprobaciones.

Referencias

Documento similar

Estas restricciones son que el par´ametro S de adaptaci´on est´e por debajo de −7 dB para conseguir una buena adaptaci´on en los cuatro puertos del array, que los diagramas

Curvas de la posición longitudinal del centro de carena y del centro de la flotación para un trimado de -1 metro.. Curva de la altura del centro de carena para un trimado de

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

Sin embargo, en el caso de la primera tarea, la Caverna de los tesoros precisa que el trabajo es la construcción del arca (ܐܬܘܒܩܕ ܐܕܒܥܠ), una informa- ción que ha sido

1 PRETENDE Diego de Silua Velazquez, que se han de mandar boluer a la Camara los papeles de la merced que su Magestad tiene hecha del oficio de Escriuano del Respeto mayor

Como el lado derecho de la ecuaci´on dada tiene un polinomio de segundo grado y una exponencial, usando el principio de superposici´on 1.1.18 y el m´etodo de los

Para ello se colocarán dos sensores de presión a distintas alturas, uno ubicado en la parte superior (sin contacto con el agua) y otro ubicado en el mínimo nivel de

Las lecturas de francobordo/calado se toman para establecer la posición de la flotación y determinar a su vez el desplazamiento del buque en el momento de realizar la prueba