Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algebra Polinomios
Algebra Polinomios
D e f i n i c i ón d e p o l i n o m i o
Un polin omio es una expresión al gebraic a compue sta de dos o m ás m ono mios.
P(x) = an xn + an - 1 xn - 1
+ an - 2 xn - 2
+ ... + a1 x1 + a0
G r a d o d e u n p ol i n o m i o
El grado de un p o lino mio P(x) es e l m ay or e xpon ente a l que se en cue ntra e levad a la
vari able x.
P(x) = 2
P(x) = 3x + 2
P(x) = 2x2+ 3x + 2
P(x) = x3 − 2x2+ 3x + 2
P(x) = x4 + x3 − 2x2+ 3x + 2
C l a s e s de p ol i nom i o s
Polinomio nulo
P o l i n o m i o h e te r o g é n e o
Los t érminos de un polin omio het ero gén eo son de distin to grado.
Un poli nomi o co mplet o tiene t odos los té rminos desd e el térm ino indepe ndie nte ha sta el
Un polin omio est á o rde nado s i los mon o mios q ue lo form an está n e scr ito s d e m ay or a
men or grado.
P(x) = 2x3 + 5x − 3
Polinomios iguales
P(x) = 2x3 + 5x − 3
Q(x) = 5x − 3 + 2x3
P o l i n o m i o s s e me ja n te s
Dos po lin om io s son se meja ntes s i ve rifica n q ue t iene n l a mi sm a parte lite ral.
P(x) = 2x3 + 5x − 3
Q(x) = 5x3 − 2x − 7
T i p o s d e p o li no mi o s se g ú n el núm e ro de té r mi no s
M o n o mi o
P(x) = 2x2
B i n o mi o
P(x) = 2x2 + 3x
Trinomio
P(x) = 2x2 + 3x + 5
V a l o r nu mé r i co de un po l in om i o
Es e l res ult ado que obte nem os al s ust itu ir la variab le x por un n úmer o cua lq uier a.
P(x) = 2x3 + 5x − 3 ; x = 1
P(1) = 2 · 13 + 5 · 1 − 3 = 2 + 5 − 3 = 4
E j e r c i ci o s r e s ue l to s de po l in om i os
1 Di s i las sigu iente s expres ione s a lgebra icas so n po lino m io s o no. E n ca so afirm ativo,
2 + 7X2 + 2
31 − x4
5x3 + x5 + x2
6x − 2 x− 3
+ 8
2 Escr ibe:
3x4− 2x
Impos ib le
x4− x3− x2 + 3x + 5
VideoCast #6
Cita
"No hay rama de la matemática,
por abstracta que sea, que no
pueda aplicarse algún día a los
fenómenos del mundo real"
Nikolai Ivanovich Lobachevski
División de un polinomio
entre un binomio
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 2
5x (x+1)=5x +5x
2 3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 2
Cambio de Signo
5x (x+1)=5x +5x
2 3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 2
5x (x+1)=5x +5x
2 3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 2
5x (x+1)=5x +5x
2 3 2
0x 3
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 2
5x (x+1)=5x +5x
2 3 2
0x 7x
3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 7x
2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 7x
2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
7x(x+1)=7x 7x
2
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 7x
2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
7x(x+1)=7x 7x
2
+ 7x +7x
2
Cambio de signo
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 7x
2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
7x(x+1)=7x 7x
2
+ 7x +7x
2
0x +10x
2
5x 3
2x 2
+3x + 1 x + 1 Operaciones
5x 3
5x 2
5x 7x
2
5x (x+1)=5x +5x
2 3 2
0x 3
7x 2
+3x 7x(x+1)=7x 7x
2
+ 7x 2
+7x
0x 2
+10x +1
5x 3
2x 2
+3x + 1 x + 1 Operaciones
5x 3
5x 2
5x 7x
2
5x (x+1)=5x +5x
2 3 2
0x 3
7x 2
+3x 7x(x+1)=7x 7x
2
+ 7x 2
+7x
0x 2
+10x +1
5x 3
2x 2
+3x + 1 x + 1 Operaciones
5x 3
5x 2
5x 7x +10
2
5x (x+1)=5x +5x
2 3 2
0x 3
7x 2
+3x 7x(x+1)=7x 7x
2
+ 7x 2
+7x
0x 2
+10x +1
5x 3
2x 2
+3x + 1 x + 1 Operaciones
5x 3
5x 2
5x 7x +10
2
5x (x+1)=5x +5x
2 3 2
0x 3
7x 2
+3x 7x(x+1)=7x 7x
2
+ 7x 2
+7x 10(x+1)=10x+10
0x 2
+10x +1
5x 3
2x 2
+3x + 1 x + 1 Operaciones
5x 3
5x 2
5x 7x +10
2
5x (x+1)=5x +5x
2 3 2
0x 3
7x 2
+3x 7x(x+1)=7x 7x
2
+ 7x 2
+7x 10(x+1)=10x+10
0x 2
+10x +1
10x 10 Cambio de signo
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 7x +10
2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
7x(x+1)=7x 7x
2
+ 7x +7x
2
10(x+1)=10x+10
0x +10x +1
2
10x 10
0x 9
5x 2x +3x + 1 x + 1
3 2
Operaciones
5x 5x
3 2
5x 7x +10
2
5x (x+1)=5x +5x
2 3 2
0x 7x +3x
3 2
7x(x+1)=7x 7x
2
+ 7x +7x
2
10(x+1)=10x+10
0x +10x +1
2
10x 10
0x 9
Créditos
Imagen de Nikolai Ivanovich Lobachevski es de dominio público
http://es.wikiquote.org/wiki/Imagen:Nikolay_Ivanovich_Lobachevsky.jpeg
Sistema Operativo
Ubuntu 8,04
Programas
Impress de Openoffice
Audacity
gtkRecordmyDesktop
Cinelerra
Gimp
Música
La música que hemos escuchado en el Videocast está bajada de
www.magnatune.com con licencia creative commons y corresponde a
la canción "Subtle groove" tema nº 9 del albúm "The Depths of a Year"
de Ehren Starks
1
MATLAB
REPRESENTACIÓN Y TRATAMIENTO DE POLINOMIOS.
Matlab nos brinda una serie de funciones para trabajar con los polinomios.
Aquí los polinomios se representan como vectores, por ejemplo, sea
Observe que Matlab al responder no reescribe los corchetes. De ahora en adelante utilizaremos los
términos vector y polinomio indistintamente para referirnos al mismo concepto.
Funciones básicas:
>> q = [ 1 - 5 6 ] q= 1 -5 6
>> roots(q) ans = 3 2
>> v = roots(q) v= 3 2
>> q =poly(v) q= 1 -5 6
Veamos un ejemplo:
Sean p(x) = 2x + 1 y q(x) = 3x + 4
>> p = [ 2 1 ] p= 2 1
>> q = [ 3 4 ] q= 3 4
>> r = conv(p, q) r = 6 11 4
2
Observe que retorna el polinomio r(x) = 6x2 + 11x + 4, y que la longitud del vector resultado es
3 = 2 + 2 -1.
>> Q Q=3 4
>> R R=0 0 0
Como era de esperarse (por que?).
Verifiquemos este resultado con la fórmula r = Q*p + R:
>> conv(Q, p) + R ans = 6 11 4
>> r r = 6 11 4
Suma y resta:
Uno desearía poder sumar y restar polinomios de manera ágil y sencilla, lo óptimo sería utilizar los
símbolos + y -, nada más.
Veamos que sucede:
>> p = [ 2 1 0 5 ];
>> q = [ 3 4 ];
>> p + q;
??? Error using ==> + Matrix dimensions must agree.
En castellano: Error usando ==> + Las matrices deben tener la misma dimensión.
Lo anterior nos informa que ocurrió un error al momento de utilizar el símbolo +, lo que sucede es que
estos vectores (los vectores son un caso particular de matriz) no poseen la misma dimensión (cantidad
de elementos).
La primer opción que tenemos para sortear este obstáculo es completar el vector p o q con tantos ceros
a la izquierda como sean necesarios, de esta manera conseguimos un par de vectores que continúan
representando los polinomios que teníamos inicialmente.
Otra posibilidad es crear una función que suma o resta correctamente, sin necesidad de que nosotros
modifiquemos manualmente los vectores; si bien es una tarea más compleja, el esfuerzo se hará una
única vez y luego siempre utilizaremos la función creada, además es una buena excusa para ponrese a
3
programar. La idea es que esta función haga el "relleno" con ceros apropiado y nos retorne la suma o
resta.
Extenderemos en laboratorio...
Además de solucionar el problema planteado uno va familarizándose cada vez más con el entorno de
programación, una de las reglas básicas para aprender a programar es practicar.
Factorización:
Supongamos que queremos factorizar un cierto polinomio p dado por la siguiente ecuación:
p(x) = (x2 + 1) (x7- (1 + i)x4 + ix)
(x2 + 1) Æ [1 0 1]
(x7- (1 + i)x4 + ix) Æ [1 0 0 -1-i 0 0 i]
EJERCITACIÓN:
Resuelva mediante Matlab los ejercicios de la Práctica 2 y verique si los resultados que obtuvo
son los correctos.
EJERCITACIÓN EN LABORATORIO:
Implemente las siguientes funciones:
• Función que retorne el grado de un polinomio dado.
• Función que responda "Si" si el polinomio tiene como raíz a una dada.
Lo mejor que puede hacer con estos tutoriales es verlos en una ventana mientras está
corriendo Matlab en otra . Así estará habilitado para rehacer todos los ploteos y cálculos
que están en los tutoriales mediante la operación de copiar y pegar el texto que ve acá
directamente en la ventana del Matlab o en un archivo.m.
Vectores
Comencemos creando algo simple, como un vector. Entre cada elemento del vector (separado por un
espacio) y entre corchetes, y asígnelo a una variable. Por ejemplo, para crear el vector a, entre en la
ventana de comandos de Matlab (puede copiar y pegar):
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 2 de 8
• a = [1 2 3 4 5 6 9 8 7]
Matlab devolverá:
• a=123456987
Si ahora se quiere crear un vector con elementos desde 0 a 20 a incrementos de 2 (esto se usa mucho
en la creación de vectores tiempo):
• t = 0:2:20 t = 0 2 4 6 8 10 12 14 16 18 20
Manipular vectores es tan fácil como crearlos. Primero suponga que hay que sumar 2 a cada elemento
en el vector 'a'. La ecuación que lo logra se ve:
• b = a + 2 b = 3 4 5 6 7 8 11 10 9
Ahora suponga que quiere sumar dos vectores. Si los mismos tienen igual longitud, es sencillo.
Simplemente súmelos como se muestra abajo
• c = a + b c = 4 6 8 10 12 14 20 18 16
Funciones
Para hacernos la vida más fácil, Matlab incluye muchas funciones estándar. Cada función es un
bloque de código que lleva a cabo una tarea específica. Matlab contiene todas las funciones estándares
como sin, cos, log, exp, sqrt, así como tantas otras. También incorpora las constantes comunmente
usadas como pi, e i o j para la raiz cuadrada de -1.
Para determinar la sintaxis y lo que hace la función sólo tipee help [nombre_function] en la
ventana de comando de Matlab .
Matlab también le permite escribir sus propias funciones con el comando function ; siga este link
para aprender cómo escribir sus propias funciones y aprecie un listado de las funciones que fueron
creadas exprofeso para este tutorial.
Ploteo
Es muy sencillo crear figuras en Matlab. Suponga que necesite plotear una onda senoidal como
función del tiempo . Primero defina un vector tiempo (el punto y coma luego de cada sentencia obliga
a Matlab a no mostrar los resultados) y luego calcule el valor del seno en cada momento.
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 3 de 8
La figura contiene aproximadamente un período de la onda senoidal. Este tipo de figuras es muy
sencillo en Matlab, y el comando plot tiene muchas opciones agregadas. Se recomienda visitar la
página ploteo para aprender más.
Polinomios
En Matlab, un polinomio se representa por un vector. Para crear un polinomio, simplemente entre
cada coeficiente del mismo en un vector en orden descendiente (no omita el 0). Por ejemplo, quisiera
entrar el siguiente polinomio:
• x = [1 3 -15 -2 9] x = 1 3 -15 -2 9
Matlab puede interpretar un vector de longitud n+1 como un polinomio de grado n. Por lo tanto, si el
polinomio no tiene algunos coeficientes, es necesario que entre los ceros apropiados en el vector. Por
ejemplo,
• y = [1 0 0 0 1]
Puede hallar el valor de un polinimio con la función polyval . Por ejemplo, para hallar el valor en
s=2 en el polinomio de arriba,
• z = polyval([1 0 0 0 1],2) z = 17
Puede también sacar las raíces de un polinomio . Esto es muy útil cuando se tiene un polinomio de
alto grado como
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 4 de 8
Digamos que quiere multiplicar dos polinomios. El producto de dos polinomios se halla tomando la
convolución de sus coeficientes. La función conv del Matlab lo hará .
La división de dos polinomios es también sencilla. La función deconv devuelve tanto el resultado
cuanto el resto. Dividamos z por y, y veamos si se obtiene x.
• [xx, R] = deconv(z,y) xx = 1 2 R = 0 0 0 0
Como puede ver , este es el mismo polinomio/vector x de arriba. Si y no es raíz de z , el vector R resto
hubiese sido distinto de cero.
Si se quiere sumar dos vectores de igual orden, bastará la simple instrucción z = x + y (los vectores x
e y deben ser de la misma longitud). En el caso general , debe usarse la función definida por el
usuario, polyadd . Para usar polyadd, copie la función a un archivo-m, y luego úsela como lo haría
con cualquier función del Matlab. Asumiendo que ya tiene la función polyadd almacenada en un
archivo.m, y quiere sumar dos polinomios no apareados, x e y, podrá hacerlo digitando la siguiente
instrucción:
• z = polyadd(x,y) x = 1 2 y = 1 4 8 z = 1 5 10
Matrices
Definir matrices en Matlab es lo mismo que entrar un vector, excepto que cada renglón de elementos
debe separarse por un punto y coma(;). Ingrese :
• B = [ 1 2 3 4 5 6 7 8 9 10 11 12] B = 1 2 3 4 5 6 7 8 9 10 11 12
En Matlab las matrices pueden manipularse de distintas maneras. Una de ellas: puede encontrar la
traspuesta de una matriz de reales con la tecla apóstrofo:
• C = B'
C=
1
2
...
12
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 5 de 8
Debe notarse que si B hubiese sido complejo , Matlab hubiese devuelto la traspuesta conjugada. Para
obtener siempre la traspuesta sólo, use .' (punto apostrofo, los dos comandos son iguales si la matriz
no es compleja).
Ahora puede multiplicar dos matrices B y C . Recuerde que el orden tiene importancia en el producto
de matrices.
• E = [1 2;3 4] F = [2 3;4 5] G = E .* F
E= F= G=
12 23 2 6
34 45 12 20
• Si se tiene una matriz cuadrada como la matriz E, puede efectuarse la potencia de E las veces
que se quiera, lo que equivale a multiplicarla por sí misma n veces.
• E^3
ans =
37 54
81 118
• E.^3
ans =
1 8
27 64
• X = inv(E)
X=
-2.0000 1.0000
1.5000 -0.5000
o sus autovalores:
• eig(E)
ans =
-0.3723
5.3723
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 6 de 8
Aún más, hay una función que encuentra los coeficientes del polinomio característico de una matriz.
La función "poly" crea un vector con los coeficientes del polinomio caracterítico en orden
descendente.
Recuerde que los autovalores de una matriz son los mismos que las raíces de su polinomio
característico:
Impresión
Imprimir en Matlab es sumamente sencillo. Sólo siga los pasos de abajo:
Macintosh
• To print a plot or a archivo-m from a Macintosh, just click on the plot or archivo-m, select Print
under the File menu, and hit return.
Windows
• Para imprimir una figura o un archivo-m en una computadora bajo Windows, nada más
seleccione Print en el menu File de la ventana correspondiente al plot (la figura) o al
archivo-m, y haga enter.
Unix
To print a m-file, just print it the way you would any otther file, using the command "lpr -P
<name of m-file>.m" If you are using a HP workstation to print, you would instead use the
command "lpr -d plot.ps<name of m-file>.m"
Macintosh
• Matlab trae un editor para archivos-m; elija "New M-file" en el menú File . También puede
usarse el editor que quiera (lo único que debe asegurarse es que grabe los archivos en formato
sólo texto y de cargarlo cada vez que empiece el Matlab ).
Windows
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 7 de 8
• Correr Matlab bajo Windows es muy parecido a correrlo en una Macintosh. Sin embargo, debe
saber que su archivo-m será salvado en el clipboard. Por lo que, debe asegurarse que está
salvado como archivo.m
Unix
• You will need to run an editor separatelly from Matlab. The best strategy is to make a directory
for all your m-files, then cd to that directory before running both Matlab and the editor. To start
Matlab from your X- window, simply type: matlab.
Puede tipear los comandos directamente en el Matlab, o ponerlos en un archivo-m y entonces sólo
correr el archivo-m. Si pone todos sus archivos.m en el mismo directorio en el que está instalado
matlab, él lo encuentra siempre.
• help nombre_del_comando
para mayor información sobre un determinado comando . Debe saber el nombre exacto del comando
que busca; los links a Lista de Comandos; en ésta y al final de cada página le brinda una lista de todos
los comandos usados en este tutorial y en los ejemplos.
Puede obtener el valor de cualquier variable en cualquier momento, tipeando su nombre. Por ejemplo
B
B=
123
456
789
También puede escribir más de una instrucción en un renglón, sepárelos mediante una coma o un
punto y coma.
Además seguramente se dió cuenta que de no asignar el resultado de un cálculo a una variable
específica, Matlab lo pone en la variable "ans" .
User feedback
We would like to hear about difficulties you had with los tutoriales, suggestions you have for
improvement, errors that you found, or any other comments that you have. This feedback is
anonymous; include your email address if you want a reply.
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
CTM: Tutorial Matlab Básico Página 8 de 8
Hay que escribirlo en Inglés, ya que manda la pregunta o sugerencia al sitio original
Tutoriales
Básicos | Modelación | PID | Root Locus | Respuesta en Frecuencia | Espacio Estado | Digital |
Ejemplos
8/11/97 dmt
http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/basic.html 04/09/2013
COTA SUPERIOR PARA LOS CEROS DE UN POLINOMIO
Hay varias formas para encontrar la cota superior de un polinomio, aquí presentaremos dos, no se puede decir que
una sea mejor que la otra, simplemente un método da la mejor cota para algunas funciones y el otro método es el
mejor para otras. Se debe notar que estos teoremas son para encontrar la cota superior, sin embargo, para encontrar
la cota inferior simplemente debemos aplicar estos teoremas al polinomio f (- x) (esta evaluación invierte el
polinomio, convirtiendo los ceros positivos en negativos y viceversa), veamos estos dos teoremas.
TEOREMA 2 (Cota superior de los ceros de un polinomio) Si en una ecuación polinomial de coeficientes reales
el primer coeficiente negativo es precedido por k coeficientes positivos o cero, y si G denota el valor más grande
de los valores absolutos de los coeficientes negativos, entonces cada cero real es menor de
1+
Una condición del teorema es que an > 0, es decir, que el coeficiente del primer término debe ser positivo, pero si
esto no sucede, tan solo se debe multiplicar el polinomio por -1 ya que - f (x) = 0 tiene los mismos ceros que
f (x) = 0.
EJEMPLO 4 (Búsqueda de cotas) Busque las cotas de los ceros de la ecuación x3 - 9x2 + 24x - 36 = 0
Solución
Este es el ejemplo que utilizamos para aislar los ceros con el teorema de Sturm. El primer coeficiente negativo es
-9, éste está precedido por un solo término, es decir que k = 1, además G es el mayor de los coeficientes de los
números negativos, en este caso G = 36, así que la cota es
1+ = 1 + 36 = 37.
Para buscar la cota de los ceros negativos, calculamos f (- x) = - x3 - 9x2 - 24x - 36, como el primer coeficiente es
negativo, entonces - f (- x) = x3 + 9x2 + 24x + 36, este polinomio tiene todos sus coeficientes positivos, cuando esto
sucede, el polinomio no tiene ceros positivos, es decir que la cota es 0.
Por los dos hechos anteriores se puede asegurar que los ceros del polinomio f (x) = x3 - 9x2 + 24x - 36 están en el
intervalo [0, 37].
Para este ejemplo es mejor usar el segundo teorema ya que nos da una cota menor, veamos
EJEMPLO 5 (Búsqueda de cotas) Busque las cotas de los ceros de la ecuación x3 - 9x2 + 24x - 36 = 0
Solución
Veamos el mismo ejemplo que utilizamos con el teorema anterior, calculemos las posibles valores a tomar,
c1 = = 9, c2 = = 1.44. Como se debe tomar el mayor aumentado en uno, la cota es 9 + 1 = 10
Para la negativa tomamos - f (- x) = x3 + 9x2 + 24x + 36, que como ya vimos no tiene soluciones positivas. Así, los
ceros están en el intervalo [0, 10], veamos que esta cota es mucho mejor que con el teorema anterior.
Observe que una vez que se tiene el intervalo en donde se encuentra el cero, se puede ir partiendo ese intervalo a la
mitad y así ir aislando cada solución. Por ejemplo, se puede verificar con el teorema de Sturm en x = 0, 5, 10, así se
eliminan 5 valores de una vez y nos quedaría el intervalo [5, 10], luego se repite el proceso varias veces hasta tener
bien aislado el cero (se puede ver que este proceso se asemeja mucho al proceso de bisección).
Veamos ahora un ejemplo completo que haga uso de todos los teoremas.
Solución
La cota superior es
1+ ≅ 3
1+ = 5.
Para la cota superior, como solo hay un coeficiente negativo, la cota es 1+ =2.4. Tomemos 3 como cota
superior.
Para la inferior, se utiliza el polinomio - f (- x) = x3 - 4x2 + 7 y se obtiene como cota 1+ =5. Por lo que la cota
inferior es -5.
Así, los ceros están en el intervalo [-5, 3], este intervalo es igual al que se obtuvo anteriormente, por lo que es el
que se utilizará al aplicar el teorema de Sturm.
El sistema de Sturm ya lo habíamos calculado anteriormente y se obtuvo que
f (x) = x3 + 4x2 – 7
f1(x) = 3x2 + 8x
f2(x) = 32x + 63
f3(x) = 4221
Primero calculamos el sistema en - ,0y+ para ver cuántos ceros hay en total y cuántos son positivos y
cuántos negativos.
Signos - 0 +
f (x) - - +
f1(x) + 0 +
f2(x) - + +
f3(x) + + +
Cambios 3 1 0
Por lo tanto, la ecuación tiene en total 3 ceros, hay 2 ceros negativos (en el intervalo [-5,0] pues -5 es la cota
inferior) y 1 positivo (en [0, 3] pues 3 es la cota superior), empecemos a aislar cada uno de ellos, evaluemos en
otros valores centrales para ir reduciendo el intervalo, empecemos con la positiva
Así que hay un cero en [-5, -2] y otro en [-2, 0], ahora
Signos - -4 -3 -2 -1 0 1 2 +
f (x) - - + + - - - + +
f1(x) + + + - - 0 + + +
f2(x) - - - - + + + + +
f3(x) + + + + + + + + +
Cambios 3 3 2 2 1 1 1 0 0
Ahora ya se ve claramente que una solución está en [-4, -3], otra en [-2, -1] y la última en [1, 2]. Para terminar de
encontrar los ceros sólo falta aproximarlos, en el apéndice se pueden ver algunos métodos para hacerlo.
Por último, podríamos hacer algunas reflexiones sobre cómo realizar un programa de computación con estas ideas.
COTA SUPERIOR PARA LOS CEROS DE UN POLINOMIO
Hay varias formas para encontrar la cota superior de un polinomio, aquí presentaremos dos, no se puede decir que
una sea mejor que la otra, simplemente un método da la mejor cota para algunas funciones y el otro método es el
mejor para otras. Se debe notar que estos teoremas son para encontrar la cota superior, sin embargo, para encontrar
la cota inferior simplemente debemos aplicar estos teoremas al polinomio f (- x) (esta evaluación invierte el
polinomio, convirtiendo los ceros positivos en negativos y viceversa), veamos estos dos teoremas.
TEOREMA 2 (Cota superior de los ceros de un polinomio) Si en una ecuación polinomial de coeficientes reales
el primer coeficiente negativo es precedido por k coeficientes positivos o cero, y si G denota el valor más grande
de los valores absolutos de los coeficientes negativos, entonces cada cero real es menor de
1+
Una condición del teorema es que an > 0, es decir, que el coeficiente del primer término debe ser positivo, pero si
esto no sucede, tan solo se debe multiplicar el polinomio por -1 ya que - f (x) = 0 tiene los mismos ceros que
f (x) = 0.
EJEMPLO 4 (Búsqueda de cotas) Busque las cotas de los ceros de la ecuación x3 - 9x2 + 24x - 36 = 0
Solución
Este es el ejemplo que utilizamos para aislar los ceros con el teorema de Sturm. El primer coeficiente negativo es
-9, éste está precedido por un solo término, es decir que k = 1, además G es el mayor de los coeficientes de los
números negativos, en este caso G = 36, así que la cota es
1+ = 1 + 36 = 37.
Para buscar la cota de los ceros negativos, calculamos f (- x) = - x3 - 9x2 - 24x - 36, como el primer coeficiente es
negativo, entonces - f (- x) = x3 + 9x2 + 24x + 36, este polinomio tiene todos sus coeficientes positivos, cuando esto
sucede, el polinomio no tiene ceros positivos, es decir que la cota es 0.
Por los dos hechos anteriores se puede asegurar que los ceros del polinomio f (x) = x3 - 9x2 + 24x - 36 están en el
intervalo [0, 37].
Para este ejemplo es mejor usar el segundo teorema ya que nos da una cota menor, veamos
EJEMPLO 5 (Búsqueda de cotas) Busque las cotas de los ceros de la ecuación x3 - 9x2 + 24x - 36 = 0
Solución
Veamos el mismo ejemplo que utilizamos con el teorema anterior, calculemos las posibles valores a tomar,
c1 = = 9, c2 = = 1.44. Como se debe tomar el mayor aumentado en uno, la cota es 9 + 1 = 10
Para la negativa tomamos - f (- x) = x3 + 9x2 + 24x + 36, que como ya vimos no tiene soluciones positivas. Así, los
ceros están en el intervalo [0, 10], veamos que esta cota es mucho mejor que con el teorema anterior.
Observe que una vez que se tiene el intervalo en donde se encuentra el cero, se puede ir partiendo ese intervalo a la
mitad y así ir aislando cada solución. Por ejemplo, se puede verificar con el teorema de Sturm en x = 0, 5, 10, así se
eliminan 5 valores de una vez y nos quedaría el intervalo [5, 10], luego se repite el proceso varias veces hasta tener
bien aislado el cero (se puede ver que este proceso se asemeja mucho al proceso de bisección).
Veamos ahora un ejemplo completo que haga uso de todos los teoremas.
Solución
La cota superior es
1+ ≅ 3
1+ = 5.
Para la cota superior, como solo hay un coeficiente negativo, la cota es 1+ =2.4. Tomemos 3 como cota
superior.
Para la inferior, se utiliza el polinomio - f (- x) = x3 - 4x2 + 7 y se obtiene como cota 1+ =5. Por lo que la cota
inferior es -5.
Así, los ceros están en el intervalo [-5, 3], este intervalo es igual al que se obtuvo anteriormente, por lo que es el
que se utilizará al aplicar el teorema de Sturm.
El sistema de Sturm ya lo habíamos calculado anteriormente y se obtuvo que
f (x) = x3 + 4x2 – 7
f1(x) = 3x2 + 8x
f2(x) = 32x + 63
f3(x) = 4221
Primero calculamos el sistema en - ,0y+ para ver cuántos ceros hay en total y cuántos son positivos y
cuántos negativos.
Signos - 0 +
f (x) - - +
f1(x) + 0 +
f2(x) - + +
f3(x) + + +
Cambios 3 1 0
Por lo tanto, la ecuación tiene en total 3 ceros, hay 2 ceros negativos (en el intervalo [-5,0] pues -5 es la cota
inferior) y 1 positivo (en [0, 3] pues 3 es la cota superior), empecemos a aislar cada uno de ellos, evaluemos en
otros valores centrales para ir reduciendo el intervalo, empecemos con la positiva
Así que hay un cero en [-5, -2] y otro en [-2, 0], ahora
Signos - -4 -3 -2 -1 0 1 2 +
f (x) - - + + - - - + +
f1(x) + + + - - 0 + + +
f2(x) - - - - + + + + +
f3(x) + + + + + + + + +
Cambios 3 3 2 2 1 1 1 0 0
Ahora ya se ve claramente que una solución está en [-4, -3], otra en [-2, -1] y la última en [1, 2]. Para terminar de
encontrar los ceros sólo falta aproximarlos, en el apéndice se pueden ver algunos métodos para hacerlo.
Por último, podríamos hacer algunas reflexiones sobre cómo realizar un programa de computación con estas ideas.