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

Notas de Aula

Clculo Numrico
Percy Antonio Ticona Centeno
Universidad Nacional de San Agustn
Departamento Acadmico de Matemticas y Estadstica
Junio de 2009
Arequipa - Per

Introduccin
La matemtica est comprendida de varias partes, cada una de ellas tiene
importancia propia, pero algunas tambin son fundamentales en diferentes
disciplinas.
Muchos problemas de la vida real pueden ser representados por formulaciones matemticas, las cuales son denominadas modelos matemticos.
Usando argumentos matemticos tericos, algunas veces es posible garantizar la existencia de soluciones para esos modelos matemticos, pero encontrar
manualmente esas soluciones puede resultar extremadamente difcil y a veces
imposible.
Estudiar mtodos numricos desde un punto de vista general nos permitir analizar mecanismos de clculo capaces de otorgar soluciones, o aproximaciones a las soluciones, all donde las herramientas tericas fracasaban.
Estos mecanismos numricos de clculo deben caminar de la mano con el
computador, pues en su mayora requieren de muchos pasos y frecuentemente
estn orientados a la resolucin de problemas de grandes dimensiones.
La importancia del estudio de mtodos numricos es indiscutible, pues
gran parte de las investigaciones en ciencias, ingenieras, economa, etc., recurren a tcnicas numricas para la obtencin de resultados.

iii

Captulo 1
Nociones Bsicas Sobre Errores
En este primer captulo an no estudiaremos los mtodos numricos, sino
que veremos algunos conceptos bsicos y sealaremos algunos factores que
intervendrn en la resolucin de problemas mediante el computador.
Existen diversas fases cuando intentamos resolver un problema mediante
mtodos numricos, la siguiente figura esquematiza ese procedimiento.

Puede suceder que los resultados finales obtenidos no sean justamente los
esperados, aunque todas las fases hayan sido ejecutadas correctamente, los
motivos pueden ser varios y los estudiaremos a continuacin.

1.1.

Factores que intervienen en la resolucin


numrica de problemas

La mayora de los mtodos numricos que veremos aqu tienen un carcter


iterativo, esto significa que iniciarn con una estimativa inicial
solucin,
(0)de la

(0)
(1)
digamos x , para luego contruir una sucesin de valores x , x , x(2) , ...
1

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

de modo que lmk x(k) = x , donde x es la solucin. Por lo general,


x(k+1) ser calculado a partir de x(k) mediante un procedimiento debidamente fundamentado. Frecuentemente, este procedimiento requerir un gran
nmero de clculos, por lo que ser necesario el auxilio de un computador.
Lamentablemente, los computadores presentan algunos inconvenientes que,
si no se controlan, pueden ocasionar respuestas catastrficas.
Ejemplo 1.1 Considere el trecho de un programa en MatLab, tal como se
muestra en la figura 1.1. Observe que en teora, debera cobrarse $1000000.

Figura 1.1: Un error numrico grave cometido por el computador.


Sin embargo, debido al error cometido por el computador, se terminara pagando $2000000. (Vea tambin el ejemplo 1.3)
Laboratorio 1.1 Haga un programa en algn lenguaje de programacin que
usted conozca, de modo que en la prctica corrobore el Ejemplo 1.1.
Al resolver un problema por mtodos numricos, los resultados obtenidos
pueden depender de:
1. La precisin de los datos de entrada
2. La forma cmo stos son representados en el computador
3. Las operaciones numricas efectuadas
Cada uno de estos temas sern explicados a continuacin.

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

1.1.1.

Precisin de los datos de entrada

Cuando ingresamos los datos de un problema, ya sea para calcular en un papel


o trabajar en el computador, ellos contienen una imprecisin inherente, quiere
decir que no hay cmo evitarlos. El siguiente ejemplo aclara esta afirmacin.
Ejemplo 1.2 Sabemos que para calcular el rea de un crculo, tenemos que
ingresar numricamente el radio r y el valor de . El valor de r quiz pueda
ser conocido exactamente (r = 2), pero apenas podemos conocer una aproximacin de con un nmero finito de dgitos. As, aproximando el valor de
por 3,14, el rea del crculo ser:
3,14 (2)2 = 12,56 m2
Si consideramos 3,1416, entonces el rea del crculo estar dada por:
3,1416 (2)2 = 12,5664 m2
Pero si consideramos 3,141592654, entonces el rea ser
3,141592654 (2)2 = 12,566370616 m2
Claramente, las imprecisiones de los datos de entrada ocasionan imprecisiones en los resultados.
En el ejemplo anterior vimos que el mejor resultado se obtuvo en el ltimo caso. Pero, cuando usamos un computador, cuntos dgitos decimales
reconoce ste? El siguiente ejemplo intentar aclarar esta situacin.
Ejemplo 1.3 Usando MatLab 6.0 en una PC de 32-bit con sistema operativo
Windows XP, hicimos la siguiente operacin:
0,00000000000001 + 1
y el resultado obtenido fue 1,0000000000001, lo cual es satisfactorio. Luego,
hicimos:
0,000000000000001 + 1
y obtuvimos como respuesta 1. Qu sucedi?
El ejemplo anterior nos hace ver que en el primer caso, cuando se usan
los 14 dgitos decimales a la derecha del punto, el sistema de cmputo no
comete error. Mientras que, si se usan 15 dgitos, el sistema nos otorga una
respuesta errada.
La razn se debe a que todo computador trabaja con un nmero finito
y bien reducido de dgitos, en nuestro caso 14 a la derecha del punto, si el
nmero de dgitos sobrepasa lo esperado, el sistema lo trunca o redondea,
dependiendo del sistema utilizado.

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

Laboratorio 1.2 Utilice un paquete o lenguaje de programacin en un computador, para corroborar los resultados obtenidos en el Ejemplo 1.3.

1.1.2.

Representacin de los datos en el computador

Un nmero con representacin decimal finita puede tener una representacin


infinita en el sistema binario. Como un computador trabaja con el sistema
binario y con una cantidad fija de dgitos, necesariamente trabajar con una
aproximacin, por lo tanto no se obtendrn resultados finales exactos.
El sistema con el que trabajamos comunmente es el decimal, un nmero
x en este sistema lo representaremos algunas veces, cuando se preste a confusin, por (x)10 . Por otro lado, el sistema con el que trabaja un computador
hoy en da es el binario, un nmero y en este sistema ser representado por
(y)2 . As por ejemplo,
(5)10
y
(101)2
representan el nmero 5 en el sistema decimal y binario, respectivamente. El
siguiente ejemplo muestra cmo esta representacin aparentemente inofensiva, puede generar terribles errores cuando se trabaja en un computador.
Ejemplo 1.4 Considere la siguiente sumatoria:
S=

30000
X

ai

i=1

Para ai = 0,5, el resultado exacto debera ser


S = 0,5

30000
X
i=1

1 = 0,5 30000 = 15000

Despus de implementar un pequeo programa en computador, el resultado


fue tambin 15000. Claramente, no hay por qu preocuparse en este caso,
los resultados son los mismos. Pero, para ai = (0,11)10 , el resultado exacto
debera ser
S = (0,11)10 30000 = 3300
Sin embargo, el resultado obtenido por el computador fue
S = 3300,00000000063
Cmo explicar la diferencia de resultados en este caso?

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

Esto se debe a que el nmero (0,11)10 , cuya representacin en el sistema


decimal es finita, tiene una representacin binaria infinita:

0,000111000010100011110101110000101000111101 2

Si el computador trabajara con 14 dgitos despus del punto, el nmero debera


ser cortado o redondeado, lo cual representa ya un error. Todos los clculos
subsiguientes sern afectados por este hecho.

Laboratorio 1.3 Utilizando algn lenguaje de programacin, haga un programa para ejecutar lo tratado en el ejemplo 1.4.
Por lo general, el error ocurrido depende de la representacin de los
nmeros en la mquina utilizada. La representacin de un nmero depende
de la base elegida o disponible en la mquina en uso, y, del nmero mximo de dgitos usados en su representacin. Cualquier clculo que envuelva
nmeros que no pueden ser representados a travs de un nmero finito de
dgitos, no otorgar como resultado un valor exacto. Cuanto mayor sea el
nmero de dgitos utilizados, mayor ser la precisin obtenida.
Como vimos en el ejemplo 1.4, un nmero puede tener representacin
finita con respecto a una base, pero una representacin infinita en otra base.
La base decimal es la que empleamos generalmente, pero antiguamente fueron
empleadas otras bases, como la base 12 y la base 60. Un computador opera
normalmente en el sistema binario.
Observe lo que pasa cuando un usuario interacta con el computador: Los
datos de entrada son enviados al computador por el usuario en el sistema
decimal, esa informacin es convertida al sistema binario por el computador,
y, todas las operaciones son realizadas en ese sistema. Los resultados finales
sern convertidos para el sistema decimal y, finalmente, sern transmitidos
hacia el usuario. Todo este proceso es una fuente de errores que afecta el
resultado final de los clculos.

1.1.3.

Las operaciones numricas efectuadas

Pero errores no slo ocurren el la imprecisin de los datos de entrada y su


representacin binaria. Errores ocurren tambin en las operaciones numricas
efectuadas por un sistema de cmputo (binario).

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

Conversin de Nmeros en los Sistemas Decimal y Binario


Cualquier nmero entero en la base , de la forma (aj aj1 , ...a2 a1 a0 ) , donde
0 ak 1 y k = 0, ..., j, puede ser escrito en la forma polinomial
aj j + aj1 j1 + ... + a2 2 + a1 1 + a0 0
Mediante esa representacin, podemos convertir fcilmente un nmero entero
representado en el sistema binario para el sistema decimal, e inversamente.
Por ejemplo: (10111)2 puede ser representado por
1 24 + 0 23 + 1 22 + 1 21 + 1 20
Reordenando y resaltando la base 10
(10111)2 = 1 24 + 0 23 + 1 22 + 1 21 + 1 20

= 2 23 + 2 + 3 = 2 101 + 3 100
= (23)10
Laboratorio 1.4 En algn lenguaje de programacin, haga un programa tal
que, dado un nmero entero binario, retorne su equivalente decimal. E inversamente, dado un entero decimal, otorgue su equivalente binario.
Cmo Convertir un Nmero Fraccionario de Representacin Decimal a Binario?
Consideremos ahora la conversin de un nmero fraccionario de base 10 para
la base 2. Por ejemplo, r = 1,25, s = 0,666..., t = 0,414213562..., etc.
Notemos que r tiene una representacin finita, pero s y t tienen representaciones infinitas. En trminos generales, dado un nmero entre 0 y 1 en
el sistema decimal, cmo obtener su representacin binaria?
Considerando el nmero decimal fraccionario r = 0,125, existen dgitos
binarios
d1 , d2 , ..., dj , ...
tal que (0.d1 d2 ...dj ...)2 ser su representacin binaria en la base 2. As,
(0,125)10 = d1 21 + d2 22 + ... + dj 2j + ...
Multiplicando cada trmino de la expresin (1.1) por 2, tendremos
2 0,125 = d1 + d2 21 + d3 22 + ... + dj 2j+1 + ...

(1.1)

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

Por tanto, d1 representa la parte entera de 20,125, que es igual a 0, mientras


que
d2 21 + d3 22 + ... + dj 2j+1 + ...
representa la parte fraccionaria de 2 0,125, que es 0,250.
Aplicando ahora el mismo procedimiento para 0,250, tendremos
0,250 = d2 21 + d3 22 + ... + dj 2j+1 + ...
2 0,250 = 0,5 = d2 + d3 21 + d4 22 + ... + dj 2j+2 + ...
de donde d2 = 0. Repitiendo el procedimiento para 0,5 tenemos
0,5 = d3 21 + d4 22 + ... + dj 2j+2 + ...
2 0,5 = 1 = d3 + d4 21 + ... + dj 2j+3 + ...
de donde d3 = 1. Como la parte fraccionaria de 2 0,5 es cero, el proceso
de conversin termina. En resumen tenemos: d1 = 0, d2 = 0 y d3 = 1. Por lo
tanto, el nmero (0,125)10 tiene representacin finita en la base 2:
(0,125)10 = (0,001)2
Laboratorio 1.5 Usando los procedimientos anteriores para convertir nmeros fraccionarios decimales, a binarios, haga un programa usando algn lenguaje de programacin y verifique que:
1. El nmero (0,5)10 tiene una representacin binaria finita (0,1)2
2. El nmero (0,11)10 tiene una representacin binaria infinita

0,000111000010100011110101110000101000111101 2
3. Verifique cuntos dgitos el computador est considerando.

El hecho de que un nmero no tenga representacin finita en el sistema


binario, puede ocasionar la ocurrencia de errores aparentemente inexplicables
en los clculos efectuados en sistemas computacionales binarios. Un computador que opera en el sistema binario, necesariamente tendr que almacenar
una aproximacin para (0,11)10 , debido a que slo posee una cantidad fija
de posiciones para guardar los dgitos de la mantisa de un nmero. Al ser
esta aproximacin usada para realizar los clculos, no puede esperarse un
resultado exacto.

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

Laboratorio 1.6 (Precisin de una mquina) La precisin de la mquina se define como el menor nmero > 0 en aritmtica de punto flotante,
tal que (1 + ) > 1. Este nmero depende totalmente del sistema de representacin de la mquina: base numrica, total de dgitos en la mantisa,
de la forma cmo son realizadas las operaciones y del compilador utilizado.
Es importante conocer la precisin de la mquina porque en varios algoritmos se requiere ingresar como dato de entrada un valor positivo, prximo de
cero, para que sea usado como criterio de comparacin para la detencin del
algoritmo. El siguiente algoritmo determina dicha precisin:
Paso 1: A 1, S 2
Paso 2: Mientras S > 1, hacer
A
2
S 1+A

Paso 3: Hacer prec = 2A e imprimir prec.


1. Haga un programa en algn lenguaje de programacin que ejecute el
algoritmo anterior.
2. Discuta su significado prctico.
Aritmtica de Punto Flotante
Cualquier computador o calculadora representa un nmero en un sistema
denominado aritmtica de punto flotante. En este sistema, el nmero r ser
representado en la forma:
(.d1 d2 ...dt ) e
donde

t
e

: La base en que la mquina opera


: El nmero de dgitos en la mantisa, 0 dj 1, j = 1, ..., t, d1 6= 0
: El exponente en el intervalo [u; u],
el valor de u depende de la mquina con que se est trabajando

En una computadora, slo una pequea cantidad de nmeros son representados exactamente, por lo general, la representacin ser realizada por
medio de truncamiento o redondeo.

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

Ejemplo 1.5 Considere una mquina que opera en el sistema = 10, t =


3, e [5; +5]. Los nmeros no nulos representados en este sistema sern
de la forma
(.d1 d2 d3 ) 10e ,

0 dj 9,

d1 6= 0,

e [5; +5]

El menor nmero, no nulo y en valor absoluto, expresado en esta mquina


ser:
m = 0,100 105
Mientras que el mayor nmero es:

M = 0,999 10+5
Ahora, en esta misma mquina. consideremos el subconjunto de nmeros
reales caracterizados por:
G = {x R : m |x| M}
Pueden ocurrir varias cosas:
x G Por ejemplo, si x = 235,89 = 0,23589 10+3 . Este nmero posee 5
dgitos en la mantisa. Debido a que t = 3, este nmero no ser considerado de forma exacta en esta mquina. Si la mquina usa truncamiento, entonces el nmero ser representado como 0,235 10+3 . Pero si
la mquina usa redondeo, entonces el nmero ser representado por
0,236 10+3 .
|x| < m Por ejemplo, si x = 0,345107 . Este nmero no puede ser representado en esta mquina porque el exponente e es menor que 5. La
mquina en estas condiciones retorna una advertencia de underflow.
|x| > M Por ejemplo, x = 0,875109 . En este caso, el exponente es mayor
que 5 y la mquina no lo puede representar, advierte la ocurrencia de
overflow.
Algunos lenguajes de computador permiten que las variables sean declaradas en doble precisin. En este caso, tal variable ser representada en el
sistema de aritmtica de punto flotante de la mquina, pero con aproximadamente el doble de dgitos disponibles en la mantisa. Debemos resaltar que
en estas condiciones, el tiempo de ejecucin y requerimientos de memoria
aumentan considerablemente.
La adicin en aritmtica de punto flotante requiere el alineamiento de
los puntos decimales de los dos nmeros. Para eso, la mantisa de menor
exponente debe ser desplazada para la derecha.

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

10

Ejemplo 1.6 Sumar


x = 0,937 104 y y = 0,1272 102
Alineando los puntos decimales, tenemos
x = 0,937 104 y y = 0,001272 104
Entonces,
x + y = (0,937 + 0,001272) 104 = 0,938272 104
El resultado almacenado despus del truncamiento ser 0,9382104 . Mientras
que despus del redondeo ser 0,9383 104 .
El cero puede representarse con una mantisa nula y cualquier exponente.
Por lo general, se utiliza el menor exponente posible de la mquina. Caso
contrario, si se usa cualquier exponente para denotar el cero, se pueden perder
dgitos significativos, tal como muestra el siguiente ejemplo.
Ejemplo 1.7 Supongamos que tenemos una mquina que opera con base 10
y 4 dgitos en la mantisa. Si denotramos al cero por 0,0000104 , al sumarlo
al nmero y = 0,3134 102 :
0,0000 104 + 0,3134 102 = 0,0000 104 + 0,003134 104
= (0,0000 + 0,003134) 104
= 0,003134 104
El resultado despus del truncamiento sera 0,0031104 = 0,3100102 . Esto
significa que fueron perdidos 2 dgitos del valor exacto.
Ejemplo 1.8 Represente los siguientes nmeros en un sistema de aritmtica
de punto flotante (con redondeo y con truncamiento) de 3 dgitos, cuando
= 10, m = 104 y M = 10+4 :
3,14

10,053

238,15

2,71828

0,000007

718235,82

Para el primer caso, con truncamiento nos resulta 0,314 10, mientras que
con redondeo 0,314 10. Para el segundo caso, con trucamiento obtenemos
0,100 102 y con redondeo 0,100 102 . Y as sucesivamente:
0,238 103
0,271 10
underflow
overflow

0,238 103
0,272 10
underflow
overflow

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

11

Todo esto nos da una idea de los posibles errores que pueden suceder, ya
sea por desconocimiento nuestro o por la limitacin del computador, en el
proceso de la resolucin numrica de problemas. Debemos advertir que an
es posible realizar un anlisis ms completo del manejo de errores, pero eso
lo veremos en otra ocasin.

1.2.

Errores Absolutos y Errores Relativos

Definimos el error absoluto como la diferencia entre el valor exacto de un


nmero x y su valor aproximado x:
EAx = x x

(1.2)

Frecuentemente, slo nos interesa la magnitud de este error. As por ejemplo,


si x = 12,60 y x = 12,81, el error absoluto es EAx = 12,60 12,81 = 0,21.
Mientras que la magnitud de este error es |0,21| = 0,21.
Esta idea puede ser extendida para comparar la proximidad de vectores.
Por ejemplo, consideremos los vectores en R3 dados por

6,1
6,2
x = 5,8 y x = 5,9
11,3
10,9

Entonces, usando la norma eucldea, la magnitud del error estara dada ahora
por
q
kx xk = (6,1 6,2)2 + (5,8 5,9)2 + (11,3 (10,9))2 = 0,4243

No obstante, el error absoluto definido en (1.2) quiz no tenga inters prctico


en este caso.

En general, apenas el valor de x es conocido, lo que hace imposible obtener


el error absoluto exacto. Lo que se puede hacer en ese caso es obtener una
cota superior o una estimativa para el mdulo del error absoluto, tal como
muestra el siguiente ejemplo.
Ejemplo 1.9 Conocindose que h3,14; 3,15i, podemos tomar para x un
valor dentro de este intervalo y tendremos que:
|EA | = | x| < 0,01
En este caso diremos que el error absoluto de x con respecto a , en mdulo,
es menor que 0,01. Ms an, diremos que el nmero x est representado con
presicin menor que 0,01.

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

12

Ejemplo 1.10 En la prctica, a veces no es recomendable controlar algunos


procesos basados en el error absoluto. Por ejemplo, si usted gana un premio
de S/. 10000000, y cuando va a recogerlo le dicen que slo tienen S/. 9999990,
entonces a usted puede que no le importe la diferencia, pues apenas hay un
error absoluto de S/. 10. Pero qu pasa si usted gan S/. 20 de premio, y
cuando usted va a recogerlo le dicen que apenas tienen S/. 10, observe que
el error absoluto sigue siendo S/. 10, probablemente no le agrade nada esta
ltima situacin, pues se trata de la mitad del premio.
Para evitar situaciones como la anterior, en la prctica es mejor utilizar
otro criterio para medir el error, ste es conocido como error relativo.
El error relativo es definido como el valor absoluto dividido por el valor
aproximado, es decir:
x x
EAx
ERx =
=
x
x
Frecuentemente, tambin se suele trabajar con el mdulo de este valor. Observe que el error relativo respecto al primer premio de S/.10000000 es
10
0,000001
9999990
Mientras que el error relativo respecto al segundo premio es
ER10000000 =

10
=1
10
Con esto, digamos que en este caso se midi el error con ms justicia.
ER20 =

Ejercicio 1.1 Convierta los siguientes nmeros decimales para su forma binaria: 26, 1278 y 0,1217.
Ejercicio 1.2 Convierta los siguientes nmeros binarios para su forma decimal: (101101)2 , (0,111111101)2 y (0,1101)2 .
Laboratorio 1.7 El siguiente algoritmo calcula de una forma aproximada
la raz n-sima de un nmero no negativo a.
Ingresan: a, n y > 0, donde es la precisin deseada ( = 109 )
x=a
Mientras |xn a| > (controlando la magnitud del error absoluto)
x = x (xn a) / (nxn1 ) , x 6=
0

n
Retorna x (una aproximacin para a)
En algn lenguaje de programacin, haga un programa para ejecutar este algoritmo. Modifique el programa para que retorne tambin el nmero de pasos
(iteraciones). Cmo utilizara el error relativo para controlar el algoritmo?

CAPTULO 1. NOCIONES BSICAS SOBRE ERRORES

13

Laboratorio 1.8 (Clculo de ex ) En algn lenguaje de programacin, haga un programa para calcular ex mediante la serie de Taylor con n trminos.
El valor de x y el nmero de trminos de la serie, n, deben ser dados en la
entrada de su programa. Para valores negativos de x, el programa debe calcular ex de dos formas: En una de ellas el valor de x es usado directamente en
la serie de Taylor y, en la otra forma, el valor usado en la serie ser y = x,
y en seguida, se calcula el valor de ex por medio de e1x .
1. Experimente su programa con varios valores de x (x prximo de cero y
distante de cero) y, para cada valor de x, experimente el clculo de la
serie con varios valores de n. Analice los resultados obtenidos.
2. (Dificultades con el clculo del factorial) El clculo de k! necesario en
la serie de Taylor puede ser hecho de modo a evitar la ocurrencia de
overflow. Para esto es necesario analizar cuidadosamente el k-simo
k
trmino, xk! . Intente combinar el clculo del numerador con el del denominador y realizar divisiones intermedias. Estudie una manera de
realizar esta operacin de modo que k! no se sobrecargue.
3. Con la modificacin del segundo tem, la serie de Taylor puede ser
calculada con los trminos que se desee. Cul sera el criterio para
detener su programa e interrumpir el clculo de la serie?

Captulo 2
Ceros reales de funciones reales
En esta seccin vamos a resolver la ecuacin representada por
f (x) = 0

(2.1)

donde f : [a; b] R 7 R. Resolver tal ecuacin significa encontrar [a; b]


de modo que f () = 0.
Algunas de las tcnicas para resolver esta ecuacin, es decir, encontrar
una raz de la ecuacin (2.1) o simplemente un cero de f , requieren de un
procedimiento que comprende esencialmente dos fases. En la primera fase un
intervalo conteniendo la raz es obtenido (aislamiento de las races). En la
segunda fase, se obtiene una aproximacin de la raz deseada (refinamiento).

2.1.

Aislamiento de las Races

Si es una raz de f , el procedimiento de aislamiento de una raz consiste


en obtener un intervalo [a; b] que contenga .
Una primera alternativa sera mediante una observacin grfica, probablemente con ayuda de un computador o una calculadora.

Ejemplo 2.1 Para el aislamiento de una raz de f (x) = x 5ex , procedemos a graficar utilizando MatLab. Observamos que en el intervalo [0; 4]
se encuentra una raz. La figura 2.1 muestra esta situacin.
Otra alternativa para el aislamiento de una raz consiste en analizar el
cambio de signo de los valores de la funcin, tal como explica el siguiente
ejemplo.
14

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

15

Figura 2.1: Aislando grficamente una raz con ayuda de MatLab.

Ejemplo 2.2 Considere nuevamente la funcin f (x) = x 5ex . Determine un intervalo donde se encuentre por lo menos una raz.
Solucin: Tenemos que Df = R+
0 (los reales positivos y el cero), construimos
una tabla de valores con el signo de f (x) para determinados valores de x:
x
0 1 2 3
f (x) + +
Analizando la tabla, vemos que f admite por lo menos una raz en el intervalo
[1; 2]. Para ver si esa raz es nica en ese intervalo, podemos analizar el signo
de la derivada de f :
1
f 0 (x) = + 5ex > 0,
2 x

x > 0

Vemos que f es estrictamente creciente en R+ . Por lo tanto, podemos concluir que f admite una nica raz en Df y sta se encuentra en el intervalo
[1; 2].
Ejercicio 2.1 Sea f : R 7 R una funcin continua en R. Si sabemos que
una raz de f est en [a; b]. Qu podra usted decir sobre si:
1. f (a) f (b) < 0
2. f (a) f (b) > 0

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

16

3. f (a) f (b) 0
4. f (a) f (b) 0
Laboratorio 2.1 Usando un computador y un programa adecuado, grafique
las siguientes funciones y determine aquellos intervalos que incluyan alguna
raz:
1. f (x) = 1000 sin(x3 + 1)/ log(5 + x2 ), x [2; 1]
2. g(x) = ln (x2 + 1) 200 (x + 10)3 + 9x2 + 5, x R
3. h(x) = 0,00037x11 (x )2 + x2 + 5x 100, x R

2.2.

Refinamiento: Mtodos Iterativos

Una vez que tenemos un intervalo que contenga la raz, el siguiente paso
es construir un mecanismo que nos otorgue aproximaciones razonables a la
solucin exacta. En esta seccin veremos algunos mtodos numricos clsicos
los cuales nos otorgarn aproximaciones a una raz de f . En su mayora,
estos mtodos son iterativos, es decir, que inician con una estimativa de la
solucin inicial y utilizan sta para encontrar la siguiente, y as por delante,
hasta obtener una aproximacin a la solucin.
Cuando se use un mtodo iterativo, debemos considerar un criterio para
detener el algoritmo respectivo. En los mtodos que buscan una raz, stos
se repetirn hasta que xk sea prxima a la raz exacta con precisin > 0,
esto ocurrir si:
1. |xk | < , o

2. |f xk | <

Pero, cmo efectuar el primer tem si no se conoce ? Una forma es


reducir el intervalo que contiene a la raz en cada iteracin. Al conseguirse
un intervalo [a; b] tal que
[a; b]

ba<

entonces x [a; b], |x | < . En estas condiciones, cualquier x [a; b]


podra ser la aproximacin requerida.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

17

Figura 2.2: f () = 0
El orden de grandeza de los nmeros con que trabajamos puede darnos
poca informacin, tal como mostraba el ejemplo 1.10, es aconsejable en estos
casos utilizar el error relativo. Por ejemplo, podemos considerar xk prximo
de una raz, si
|f (xk )|
<
L
donde L = |f (x) |, para algn x escogido en una vecindad de la raz .
Otro aspecto que debemos tener en cuenta es el mximo nmero de iteraciones permitidas por el algoritmo. Esto ayuda a evitar que el programa
en computador trabaje indefinidamente, sobre todo en el caso cuando el
algoritmo no converge.
Antes de todo, debemos hacer una aclaracin con respecto a mtodo y
algoritmo. Entendemos por mtodo a un procedimiento con las justificaciones
matemticas necesarias para resolver un determinado problema. Mientras
que por algoritmo, entendemos como el resumen del mtodo, una especie de
receta.
Existen varios mtodos numricos para obtener un cero real de una funcin real, algunos simplemente requieren que la funcin sea continua, mientras que otros requieren que la funcin sea diferenciable. En lo que resta de
este captulo analizaremos cada uno de los mtodos ms populares que existen hoy en da. En nuestro caso, analizar comprender la construccin del
mtodo, estudiar las propiedades de convergencia y la rapidez del mismo.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

18

Para estudiar la convergencia debemos dar las hiptesis para que el mtodo garantice una solucin. Por otro lado, para analizar la rapidez del mtodo,
es necesario tener en consideracin dos criterios:
El nmero de iteraciones: Dada la precisin deseada , determinar el nmero de iteraciones, k, para que el algoritmo respectivo se detenga.
La rapidez: Una vez garantizada la convergencia. Determinar cul es la tasa
o rapidez (velocidad) de convergencia con que trabaja el algoritmo
Lo ms deseable es obtener el nmero de iteraciones que un algoritmo
requiere para resolver el problema, al menos una cantidad aproximada de
ste, pero no siempre es posible tal hazaa. A veces es posible obtener slo la
tasa de convergencia del algoritmo, esto tambin dar informacin sobre el
desempeo del mismo, lo cual permitir realizar comparaciones para decidir
por el algoritmo ms eficiente para un determinado problema. Los detalles
relacionados a estos conceptos sern explicados a medida que vayamos avanzando.

2.2.1.

Mtodo de Biseccin

Sea f una funcin continua en el intervalo [a; b] tal que f (a)f (b) < 0. El
objetivo de este mtodo es reducir la amplitud de este intervalo que contiene
la raz hasta alcanzarse una precisin requerida, (b a) < , usando para eso
una sucesiva divisin de [a; b] a la mitad.

Figura 2.3: Mtodo de biseccin


Algoritmo 2.1 (Biseccin) Dados a y b tales que f (a)f (b) < 0. Sea > 0
la presicin deseada.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

19

1. Si (b a) < . Elegir x [a; b] y terminar el algoritmo. Caso contrario,


ir al paso 2.
2. Hacer k = 1 e ir al paso 3.
3. Hacer c =

a+b
2

e ir al paso 4.

4. Si f (a) f (c) > 0, hacer a = c e ir al paso 5. Caso contrario, hacer


b = c e ir al paso 5.
5. Si b a < , elegir x [a; b] y finalizar el algoritmo. Caso contrario,
hacer k = k + 1 y volver al paso 3.
Estudio de la Convergencia del Mtodo de Biseccin Bajo las hiptesis establecidas, es claro que el mtodo de la biseccin construir una sucesin
{xk } que converge a una raz. Para probar esto analticamente procedemos
del siguiente modo.
Supongamos que [a0 ; b0 ] sea el intervalo inicial y la nica raz de f en
el interior de ese intervalo. El mtodo de la biseccin genera tres sucesiones:
La sucesin {ak }kN : No decreciente y acotada superiormente por b0 . Luego,
existe r R tal que lmk ak = r.
La sucesin {bk }kN : No creciente y limitada inferiormente por a0 . Luego,
existe s R tal que lmk bk = s.
La sucesin {ck }kN : Generada por ck =
todo k = 1, 2, ....

ak +bk
,
2

donde ak < ck < bk , para

Observe que el tamao de cada intervalo es la mitad del intervalo anterior.


As, para k = 1, 2, ...
b0 a0
2
b0 a0
b1 a1
=
=
2
22
b2 a2
b0 a0
=
=
2
23
..
.
b0 a0
=
2k

b1 a1 =
b2 a2
b3 a3
bk ak

(2.2)

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

20

Entonces,
(b0 a0 )
=0
k
k
2k
y {bk }kN son convergentes:
lm (bk ak ) = lm

Como {ak }kN

lm bk lm ak = 0 = s r = 0

Por lo tanto, s = r. Sea = s = r el lmite de las dos sucesiones. Dado que


para todo k = 1, 2, ... el punto ck hak ; bk i, entonces
lm ck =

Resta probar apenas que es un cero de la funcin f , o sea, f () = 0.


Observe que en cada iteracin k = 1, 2, ... tenemos que f (ak ) f (bk ) < 0.
Entonces, dado que hemos asumido f continua en [a; b]:
0

lm f (ak ) f (bk ) = lm f (ak ) lm f (bk )

= f ( lm ak )f ( lm bk ) = f (r) f (s) = f () f ()
k

= (f ())2
de donde concluimos que f () = 0. Por tanto, lmk ck = es un cero de
f , como habamos asumido que en el intervalo haba una nica raz, tenemos
que = .
Estimacin del Nmero de Iteraciones
Dada una precisin > 0 y un intervalo inicial [a; b], es posible saber,
a priori, cuntas iteraciones sern efectuadas por el mtodo de la biseccin
(algoritmo 2.1) hasta que se cumpla b a < .
Vimos en (2.2) que para k = 1, 2, ...
bk ak =

b0 a0
bk1 ak1
=
2
2k

(2.3)

Observe que el algoritmo 2.1 se detendr cuando bk ak < , segn la ecuacin


(2.3) esto equivale a encontrar un valor de k de modo que
b0 a0
<
2k

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

21

Esto a su vez equivale a decir que


2k >

b0 a0

Lo cual implica que


k > log2 (b0 a0 ) log2 ()

(2.4)

Por lo tanto, en el algoritmo 2.1, si el nmero de iteraciones k es por lo menos


blog2 (b0 a0 ) log2 ()c + 1
el intervalo [ak ; bk ] conteniendo a la raz verifica bk ak < , en estas condiciones cualquier x [ak ; bk ] debera ser la aproximacin a la raz buscada ,
pues |
x | bk ak < .
Podemos concluir sobre este algoritmo que el nmero de iteraciones depender de la longitud del intervalo [a; b] y de la precisin deseada . Como
muestra la ecuacin (2.4), ese nmero de iteraciones no debera ser grande,
debido a la presencia del logaritmo.
Ejemplo 2.3 Usando el algoritmo 2.1, se desea encontrar una aproximacin
a un cero de la funcin definida por
f (x) = x log10 x 1
la cual est en el intervalo [2; 3] y con precisin = 102 . Cuntas iteraciones debera efectuar el algoritmo?
Solucin: Segn (2.4) vemos que

k log2 (3 2) log2 102 + 1 = log2 1 log2 102 + 1

= log2 102 + 1 = 7
Luego, el algoritmo debera detenerse con k = 7 iteraciones.

Conclusin 2.1 (sobre el mtodo de biseccin) Si f : R 7 R es continua en el intervalo [a; b] y f (a) f (b) < 0:
El mtodo de biseccin genera una sucesin que converge a la raz de
f (x) = 0, esto se consigue mediante las reducciones sucesivas del intervalo de bsqueda hasta una precisin deseada.
Cada iteracin no requiere clculos complicados.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

22

No se requieren derivadas.
Las hiptesis no son rigurosas.
Converge razonablemente rpido (comparado a otros mtodos se le considera lento).
Laboratorio 2.2 En algn lenguaje de programacin de su preferencia, implemente el algoritmo de la biseccin, resuelva las siguientes ecuaciones:
1. ln (x2 + 1) = 200 (x + 10)3 9x2 5, en R
2. 1000 sin(x3 + 1)/ log(5 + x2 ) = 0, en [2; 1]
3. 0,00037x11 (x )2 + x2 = 5x + 100, en R

2.2.2.

Mtodo de la Posicin Falsa

Sea f : R 7 R continua en [a; b] tal que f (a) f (b) < 0. Suponga que el
intervalo [a; b] contiene una nica raz de la ecuacin f (x) = 0. Podemos
esperar conseguir una raz aproximada usando las informaciones sobre los
valores de f disponibles a cada iteracin.
Por ejemplo, en la figura 2.4 se aprecia que al ser |f (a)| pequeo en comparacin a |f (b)|, podemos sospechar que la raz se encuentra ms cercana
al punto a que al punto b. Luego, en cada iteracin, en vez de tomar ck como
el punto medio, como lo haca el mtodo de biseccin, podemos tomarlo de
la siguiente manera:
a |f (b)| + b |f (a)|
ck =
|f (b)| + |f (a)|
que en realidad es una media aritmtica ponderada entre a y b, con pesos
|f (b)| y |f (a)|. Despus de unos clculos, tenemos:
ck =

af (b) bf (a)
f (b) f (a)

Lo que resta del mtodo de la posicin falsa es anlogo al mtodo de biseccin,


la parte donde no se encuentra la raz debera ser desechada y el intervalo
debera ser reducido hasta una presicin deseada.
Lamentablemente, las cosas no son como parecen, pues el valor de |f (a)|
puede ser pequeo y sin embargo, la raz puede estar muy lejos de a, tal
como se aprecia en la figura 2.5. Esto muestra que la sospecha puede estar
totalmente errada, lo que retrasara la convergencia del mtodo, de ah el
nombre.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

23

Figura 2.4: xito en el mtodo de la posicin falsa: |f (a)| pequeo y raz


cercana de a.

Figura 2.5: Fracaso en el mtodo de la posicin falsa: |f (a)| pequeo y raz


alejada de a.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

24

Ejercicio 2.2 Haga un algoritmo que resuma el mtodo de la posicin falsa.


Laboratorio 2.3 En algn lenguaje de programacin de su preferencia, implemente el algoritmo de la posicin falsa, pruebe con varios ejemplares y
compare el nmero de iteraciones con el mtodo de biseccin.
Ejercicio 2.3 Investigue sobre la convergencia y el nmero de iteraciones
requeridas por el mtodo de la posicin falsa.

2.2.3.

Mtodo del Punto Fijo (MPF)

Sea f : R 7 R una funcin. Se dice que es un punto fijo de f , si


f () = . Este concepto es el mismo para una funcin vectorial de variable
vectorial.
El Mtodo del Punto Fijo consiste en lo siguiente:
1. Transformar la ecuacin f (x) = 0 en una ecuacin equivalente:
x = (x)
2. Dado un punto inicial x0 R, generar una sucesin {xk } de aproximaciones hacia , la raz buscada, mediante la relacin
xk+1 = (xk )
Observe que la funcin debe ser una funcin que cumpla: f () = 0 si,
y slo si, () = . De este modo, resolver el problema de encontrar una raz
de una ecuacin se convierte en un otro problema de hallar un punto fijo de
una funcin. Aunque a simple vista no parezca, ms adelante veremos que
esta idea trae ciertas ventajas.
La funcin con esa caracterstica se denomina funcin iteracin asociada
a la ecuacin f (x) = 0. Naturalmente, pueden existir muchas funciones
iteracin asociadas a una sola ecuacin.
Ejemplo 2.4 Dada la ecuacin x2 + 2x 10 = 0. Algunas candidatas a
funcin iteracin son las siguientes:
1. (x) = 5
2. (x) =

10
,
x+2

x2
2

x 6= 2

CAPTULO 2. CEROS REALES DE FUNCIONES REALES


3. (x) =

10
x

2,

25

x 6= 0

Definicin 2.1 (Forma general de una funcin iteracin) Una funcin


iteracin asociada a la ecuacin f (x) = 0, est dada de una forma general
por:
(x) = x + A (x) f (x)
con la condicin que en , punto fijo de , se tenga A () 6= 0.
Teorema 2.1 Si es una funcin iteracin de la ecuacin f (x) = 0, entonces f () = 0 si, y slo si, () = .
Prueba. ( = ) Sea tal que f () = 0. Como () = + A () f (),
claramente tenemos () = .
( = ) Si () = , entonces + A () f () = implica que A () f () =
0, esto a su vez implica que f () = 0, pues A () 6= 0 por definicin.
Estudio de la Convergencia del Mtodo del Punto Fijo
Dependiendo de la eleccin de la funcin iteracin , el mtodo del punto
fijo puede o no convergir a la solucin de la ecuacin f (x) = 0. El siguiente
teorema establece las condiciones suficientes para que esta convergencia suceda.
Teorema 2.2 Sea una raz de la ecuacin f (x) = 0, aislada en un intervalo abierto I centrado en . Sea una funcin iteracin asociada a esta
ecuacin. Si
1. y 0 son funciones continuas en I.
2. |0 (x) | M < 1, para todo x I.
3. x0 I
Entonces, la sucesin {xk } generada por la regla xk+1 = (xk ), k = 0, 1, 2, ...
converge hacia .
Prueba. La prueba consta de dos partes:
1. Si x0 I, entonces xk I, para todo k = 0, 1, 2, ...
2. lmk xk =

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

26

Primero, como es una raz exacta de la ecuacin f (x) = 0, se tiene que


f () = 0 = (). Adems, para cualquier k = 0, 1, 2, ... se tiene
xk+1 = (xk ), desde aqu
xk+1 = (xk ) ()
Como es continua y diferenciable en I, por el teorema del valor medio,
existe ck entre xk y , tal que
xk+1 = (xk ) () = 0 (ck ) (xk )

k = 0, 1, 2, ...

Luego,
|xk+1 | = |0 (ck ) ||xk | M|xk | < |xk |

k = 0, 1, 2, ... (2.5)

Es decir, la distancia entre xk+1 y es menor que la distancia entre xk y ,


como I est centrado en , vemos que si xk I entonces xk+1 I. Luego, si
x0 I, claramente xk I para todo k = 1, 2, ....
Para probar la segunda parte, lmk xk = , desde (2.5) vemos que:
|x1 | M|x0 |
|x2 | M|x1 | M 2 |x0 |
..
.

|xk | M k |x0 |
de donde lmk |xk | = 0, pues 0 M < 1. Por lo tanto, lmk xk = .
Ejemplo 2.5 Sea la funcin f (x) = x2 + 2x 10 cuya raz es 2,3166.
Dadas las funciones iteracin
1 (x) = 5
y
2 (x) =

10
,
x+2

x2
2
x 6= 2

Observe que
|01 (x) | = | x| = |x| < 1 x h1, 1i
Luego, no existe un intervalo I centrado en tal que |01 (x) | < 1 para todo
x I. El teorema 2.2 no afirma nada con respecto de la convergencia de la

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

27

sucesin {xk } generada por xk+1 = 1 (xk ), pues 1 no cumple la hiptesis, el


mtodo del punto fijo puede convergir o no cuando se utilice 1 como funcin
iteracin.
Por otro lado, si usamos la funcin iteracin 2 , la situacin es diferente.
Observe que

D
E D
E

10
0
< 1 x ; 10 2

|2 (x)| =
10

2;
+

(x + 2)2
h; 5,1622i h1,1622; +i
Luego, existe un intervalo I centrado en , tal que |02 (x)| < 1 para todo
x I. En este caso, el teorema asegura la convergencia del MPF tomando
x0 I.
Ejercicio 2.4 Analice el caso para la funcin f (x) = x2 + 2x 10, cuya raz
es 2,3166, cuando se usa como funcin iteracin:
3 (x) =

10
2, x 6= 0
x

Adems, analice el otro caso, cuando consideramos como raz a 5,1622.


Algoritmo 2.2 (Punto Fijo) Considere la ecuacin f (x) = 0 y la ecuacin
equivalente x = (x). Supongamos que ya es conocida explcitamente y las
hiptesis suficientes del teorema 2.2 son satisfechas. Dada una precisin deseada > 0, el algoritmo se detendr cuando |f (xk )| < . La aproximacin
al punto fijo (la raz buscada) ser x.
1. Datos iniciales:
a) x0 , la aproximacin inicial
b) 1 y 2 las precisiones deseadas
2. Si |f (x0 )| < 1 , hacer x = x0 , finalizar el algoritmo
3. k = 1
4. x1 = (x0 )
5. Si |f (x1 )| < 1 o si |x1 x0 | < 2 , hacer x = x1 , finalizar el algoritmo
6. x0 = x1
7. k = k + 1. Volver al paso 4.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

28

Laboratorio 2.4 En algn lenguaje de programacin de su preferencia, implemente el MPF y ejecute el programa sobre el problema del ejemplo 2.5.
Observe que el mtodo diverge cuando usamos 1 , pruebe con varios puntos
iniciales e interprete los resultados.
Tasa de Convergencia del Mtodo de Punto Fijo
Cuando vimos el mtodo de la biseccin, notamos que era posible obtener
una cota inferior para el nmero de iteraciones a ser realizadas por el algoritmo. Pero eso no siempre es posible, as, necesitamos de algunos parmetros
que nos indiquen con qu rapidez la sucesin generada por un algoritmo converge a la solucin deseada. Eso nos permitir calificar a un algoritmo como
lento o rpido.

Definicin 2.2 (Tasa o rapidez de convergencia) Sea la sucesin r(k)
generada por algn algoritmo, de modo que lmk r(k) r. Asumamos que
r(k) 6= r para todo k = 0, 1, 2, ..., la tasa de convergencia del algoritmo es el
supremo P de los nmeros no negativos p satisfaciendo:

(k+1)
r
r
lm
p = <
k kr (k) r
k
Si P = 1 y el radio de convergencia < 1, la sucesin se dice que tiene
una tasa de convergencia lineal (por lo menos lineal). Si P 1 y = 0, la
sucesin tiene tasa de convergencia sper lineal. Si P = 2 y < , entonces
diremos que la sucesin tiene una tasa de convergencia cuadrtica.
Una
natural de ver esta situacin es la siguiente: supongamos

manera
que r(k) es una sucesin generada por un algoritmo la cual converge a
la solucin r, donde el algoritmo presenta una tasa de convergencia lineal,
entonces:
(k+1)

r
r r(k) r, k k0
|
| {z }
{z
}
ek+1

ek

nos dice que el error ek+1 cometido en la iteracin k+1 es menor (linealmente)
que el error ek en la iteracin k, cuando k0 es grande.

En el caso de una tasa de convergencia cuadrtica, es claro que el error


cometido en la iteracin k + 1 es aproximadamente el cuadrado del error
cometido en la iteracin anterior. Esto indica que para valores grandes de k0
y en las proximidades de r, el error ek+1 disminuye considerablemente con
respecto a ek :

2
(k+1)
r
r r(k) r , k k0
|
{z
} |
{z
}
ek+1

e2k

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

29

As, un algoritmo con tasa de convergencia cuadrtica convergir con


mayor rapidez hacia un punto de acumulacin, que uno que posee tasa de
convergencia sper lineal. Por otro lado, un algoritmo con tasa de convergencia sper lineal ser ms rpido que uno con tasa de convergencia lineal.
Ms adelante veremos que el Mtodo Secante tiene una tasa de convergencia
P = 1,618...
Proposicin 2.1 (Tasa de convergencia de MPF) Asumamos que la sucesin generada por el Mtodo del Punto Fijo converge a , la raz de f ,
entonces la tasa de convergencia es por lo menos lineal.
Prueba. Desde (2.5), tenemos
|xk+1 | = |0 (ck ) ||xk |,

ck entre xk y ,

k = 0, 1, 2, ...

Luego,
|xk+1 |
= |0 (ck ) |,
|xk |

ck entre xk y ,

k = 0, 1, 2, ...

Tomando lmites, por la continuidad de y 0 , tenemos


|xk+1 |

0
lm
= lm | (ck ) | = 0 lm ck = |0 ()| = M < 1
k |xk |
k
k

As, vemos que el mtodo del punto fijo posee una tasa de convergencia
lineal, por este motivo muchas veces se le considera lento. Sin embargo, el
mtodo de biseccin tambin posee esa misma velocidad, tal como lo afirma
el siguiente ejercicio.
Ejercicio 2.5 Muestre que la tasa de convergencia del mtodo de la biseccin
es lineal.

2.2.4.

El Mtodo de Newton-Raphson

Cuando estudiamos el mtodo del punto fijo, notamos que:


1. Una de las condiciones para la convergencia es que |0 (x) | M < 1,
para todo x I, donde I es un intervalo centrado en la raz.
2. La convergencia del mtodo ser ms rpida cuanto menor sea |0 () |.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

30

La segunda afirmacin se debe al siguiente hecho: cuando analizamos la


tasa de convergencia del MPF, vimos que
lm

|xk+1 |
= |0 () | < 1
|xk |

Entonces, acelerar la convergencia del MPF se conseguira escogiendo una


funcin iteracin de modo que 0 () = 0, pues en este caso la tasa de convergencia sera por lo menos sper-lineal.
Hacia este objetivo, dada la ecuacin f (x) = 0 cuya raz es . Consideramos la forma general de la funcin iteracin (x) = x + A (x) f (x), donde
A () 6= 0, con la nueva condicin 0 () = 0. As,
(x) = x + A (x) f (x) = 0 (x) = 1 + A0 (x) f (x) + A (x) f 0 (x)

Luego,
0 () = 1 + A0 () f () + A () f 0 () = 0 () = 1 + A () f 0 ()
de donde
0 () = 0 1 + A () f 0 () = 0 A () =

1
,
f 0 ()

f 0 () 6= 0

Esto nos motiva a definir

1
()
Entonces, dada la ecuacin f (x) = 0, la funcin iteracin deseada ser de la
forma:
f (x)
(x) = x 0
(2.6)
,
f 0 (x) 6= 0
f (x)
Observe que
A () =

f0

(f 0 (x))2 f (x) f 00 (x)


f (x) f 00 (x)
=
,
(x) = 1
(f 0 (x))2
(f 0 (x))2
0

f 0 (x) 6= 0

y como f () = 0, se tiene que 0 () = 0.


Por lo tanto, usando la funcin iteracin definida en (2.6) obtenemos un
caso particular del mtodo del punto fijo, a ste se le denomina mtodo de
Newton.
En resumen, dado x0 R, el Mtodo de Newton consiste en construir
una sucesin definida por la regla
xk+1 = xk

f (xk )
,
f 0 (xk )

f 0 (xk ) 6= 0,

k = 0, 1, 2, ...

(2.7)

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

31

Otro Enfoque del Mtodo de Newton-Raphson


Desde el punto de vista geomtrico, el mtodo de Newton puede ser visto
como la solucin de un problema difcil, mediante la sucesiva resolucin de
problemas fciles. Es decir, dada una aproximacin inicial xk R a la raz
buscada, el problema difcil ser hallar una raz de la ecuacin no lineal
f (x) = 0, mientras que el problema fcil asociado ser resolver la ecuacin
Lk (x) = 0, donde L es una funcin lineal afn que es parecida, al menos
localmente, a la funcin no lineal f en torno al punto xk .
As, sea el problema (difcil) que consiste en hallar una raz de f (x) = 0
y x0 R una aproximacin inicial. Por el teorema de Taylor, existe > 0 tal
que
f (x) L0 (x) = f (x0 ) + f 0 (x0 ) (x x0 )
para todo x hx0 , x0 + i. Luego, denotando por x1 la solucin de la
ecuacin lineal
L0 (x) = 0
(2.8)
y asumiendo que f 0 (x0 ) 6= 0, entonces L0 (x) = 0 si, y slo si,
f (x0 ) + f 0 (x0 ) (x x0 ) = 0
de donde
x1 = x0

f (x0 )
f 0 (x0 )

Esperamos que x1 sea una mejor aproximacin que x0 a la solucin de


f (x) = 0. Este procedimiento puede ser repetido iterativamente, crendose
una sucesin {xk }
k=0 , donde
xk+1 = xk

f (xk )
,
f 0 (xk )

f 0 (xk ) 6= 0,

k = 0, 1, 2, ...

Bajo algunas hiptesis se consigue que lmk xk = .


Convergencia del Mtodo de Newton-Raphson
A continuacin damos las condiciones bajo las cuales se asegura la convergencia del mtodo de Newton.
Teorema 2.3 Sean f , f 0 y f 00 continuas en un intervalo abierto I que contiene en su interior la raz de f (x) = 0, donde f 0 () 6= 0, entonces existe

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

32

Figura 2.6: Iteraciones Newton


la sucesin
un intervalo abierto I I conteniendo la raz , tal que si x0 I,
{xk } generada por
xk+1 = xk

f (xk )
,
f 0 (xk )

f 0 (xk ) 6= 0,

k = 0, 1, 2, ...

convergir para .
Prueba. Observe que el mtodo de newton es en realidad un MPF con
. As, para probar la convergencia debemos
funcin iteracin (x) = x ff0(x)
(x)

probar que existe un I I, centrado en , tal que:


1. y 0 son continuas en I
2. |0 (x) | M < 1, para todo x I
00

(x)f (x)
0
, 0 (x) = f(f
Vemos que (x) = x ff0(x)
0 (x))2 y por hiptesis f () 6= 0. Como
(x)
f 0 es continua en I, es posible obtener un intervalo abierto I1 I, I1 , tal
que f 0 (x) 6= 0 para todo x I1 .

As, en el intervalo I1 se tiene que f, f 0 y f 00 son continuas y f 0 (x) 6= 0,


x I1 . Por lo tanto, y 0 son continuas en I1 .
00

(x)f (x)
0
0
Como 0 (x) = f(f
0 (x))2 , es continua en I1 y () = 0, entonces es
posible obtener otro intervalo abierto I2 I1 , centrado en , tal que |0 (x) | <
1 para todo x I2 .

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

33

Por lo tanto, hemos encontrado un intervalo abierto I = I2 centrado en


As, si x0 I,
la sucesin
donde y 0 son continuas y |0 (x) | < 1, x I.
{xk } generada por la regla de correspondencia xk+1 = xk f (xk ) /f 0 (xk )
converge hacia la raz de f (x) = 0.
En pocas palabras, lo que dice el teorema anterior es que el mtodo de
Newton converge slo si el punto inicial es tomado lo suficientemente prximo
de la solucin , esta propiedad se conoce como convergencia local, la cual
es una desventaja. Ms adelante veremos que, en cierta forma, ese defecto se
compensa con la rapidez con que converge el mtodo.
Algoritmo 2.3 (Newton-Raphson) Dada la ecuacin f (x) = 0. Suponga
que las hiptesis de suficiencia dadas en el teorema 2.3 son satisfechas. El
algoritmo otorgar una aproximacin x a las raz .
Paso inicial: Sea x0 una aproximaxin inicial de y 1 , 2 > 0 las precisiones deseadas.
Paso principal: Si |f (x0 ) | < 1 , hacer x = x0 y finalizar. Caso contrario,
hacer:
1. k = 1
2. x1 = x0 f (x0 ) /f 0 (x0 )

3. Si |f (x1 ) | < 1 o si |x1 x0 | < 2 , hacer x = x1 y finalizar. Caso


contrario, hacer
a) x0 = x1
b) k = k + 1. Volver al paso 2.
Laboratorio 2.5 En algn lenguaje de programacin de su preferencia, implemente el algoritmo de Newton y experimntelo con diversos ejemplares.
Compare sus resultados con los mtodos anteriormente estudiados.
Tasa de Convergencia del Mtodo de Newton-Raphson
Dada una raz exacta de la ecuacin f (x) = 0. Sea {xk } la sucesin
generada por el mtodo de newton, tal que lmk xk = .
Debido a que el mtodo de Newton es un caso particular de MPF, entonces debe tener por lo menos una tasa de convergencia lineal. Nosotros
mostraremos que es mucho ms que eso, debido a la condicin 0 () = 0, el
mtodo alcanzar una tasa cuadrtica, es decir, en la definicin 2.2, P = 2.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

34

Supongamos adems que se satisfacen todas las hiptesis del teorema 2.3.
Observe que
f (xk )
f (xk )
f (xk )
xk+1 = xk 0
= xk+1 = xk 0
= ek+1 = ek 0
f (xk )
f (xk )
f (xk )
donde ek = xk . Usando la serie de Taylor para f en torno al punto xk :
1
f (x) = f (xk ) + f 0 (xk ) (x xk ) + f 00 (ck ) (x xk )2 ,
ck est entre x y ck
2
Para x = , tenemos
1
0 = f (xk ) + f 0 (xk ) ( xk ) + f 00 (ck ) ( xk )2
2
de donde
1
f (xk ) = f 0 (xk ) (xk ) f 00 (ck ) (xk )2
2
0
Dividiendo entre f (xk ), obtenemos
f (xk )
f 00 (ck ) (xk )2
= (xk )
f 0 (xk )
2f 0 (xk )
= ek

f 00 (ck ) e2k
2f 0 (xk )

Luego,
f (xk )
f 00 (ck ) e2k
= ek 0
= ek+1
0
2f (xk )
f (xk )
de donde

f 00 (ck )
ek+1
= 0
e2k
2f (xk )
Despus de unos clculos, vemos que
00 (x) =

(2.9)

0
(f 0 (x))2 (f 0 (x) f 00 (x) + f (x) f 000 (x)) (f (x) f 00 (x)) (f 0 (x))2
(f 0 (x))4

de donde 00 es continua en y
f 00 ()
() = 0
f ()
00

Llevando (2.9) al lmite, tenemos


|ek+1 |
=
k |ek |2
lm

|f 00 (ck ) |
k |2f 0 (xk ) |
lm

1 |f 00 (lmk ck ) | 1 |f 00 () |
1
=
= |00 () | =
0
0
2 |f (lmk xk ) |
2 |f () |
2
Por lo tanto, el mtodo de Newton tiene una tasa de convergencia cuadrtica.
=

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

2.2.5.

35

Mtodo Secante

Uno de los inconvenientes en el mtodo de Newton es el clculo de la


derivada de f en cada iteracin, es decir, evaluar f 0 (xk ). Una manera de
enfrentar esto es considerar una aproximacin de la derivada:
f 0 (xk )

f (xk ) f (xk1 )
,
xk xk1

xk xk1

donde xk y xk1 son dos estimativas de la raz exacta . Para este caso, la
funcin iteracin Newton queda establecida como
(xk ) = xk

f (xk )
f (xk )f (xk1 )
xk xk1

= xk

f (xk ) (xk xk1 )


f (xk ) f (xk1 )

O si lo prefiere, dadas dos estimativas iniciales para la raz de la ecuacin


f (x) = 0, x0 y x1 , el mtodo secante consiste en construir una sucesin {xk }
definida por la regla
xk+1 = xk

f (xk ) (xk xk1 )


,
f (xk ) f (xk1 )

k = 1, 2, 3, ...

(2.10)

Las condiciones para la convergencia del mtodo secante son prcticamente las mismas que las del mtodo de Newton. Si bien la dificultad del
clculo explcito de la derivada fue evitada, lamentablemente el precio que se
paga por esto es la disminucin en la tasa de convergencia, que es sper-lineal.
Una interpretacin grfica puede ser vista en la figura 2.7.

Figura 2.7: Mtodo secante

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

36

Convergencia del Mtodo Secante


Al igual que el Mtodo de Newton, la convergencia del Mtodo Secante
est asegurada cuando los puntos iniciales x0 y x1 fueron tomados lo suficientemente prximos de la raz buscada . El teorema a seguir formaliza esta
afirmacin.
Teorema 2.4 Sea una raz de f (x) = 0 y suponga que f C 2 en una
vecindad en torno de donde f 0 () 6= 0. Si los puntos iniciales x0 y x1 estn
suficientemente prximos de , entonces lmk xk = .
Prueba. Desde la ecuacin (2.10), tenemos
xk+1 = xk +

f (xk ) (xk xk1 )


f (xk ) f (xk1 )
f ()f (x

= ( xk1 ) ( xk )

xk

k ) f (xk )f (xk1 )
xk xk1

xk1
f (xk )f (xk1 )
xk xk1

f 00 ( k )
= ( xk1 ) ( xk )
2f 0 ( k )

(2.11)

donde k est entre ,xk y xk1 , mientras que k est entre xk y xk1 . Como
f C 2 , existe una vecindad I = [ , + ], con > 0, tal que f 0 y f 00 son
continuas y f 0 (x) 6= 0 para todo x I. Por tanto, existe M > 0 tal que
00

f ( k )

M = max 0
xI 2f ( k )

Elijamos los puntos iniciales x0 , x1 I, de modo que

M | x0 | < 1 y M | x1 | < 1
Definamos ahora t = max {M | x0 | , M | x1 |}, claramente t < 1. As,
por (2.11) tenemos

00

f ( k )

M | x2 | = M ( x1 ) ( x0 )
2f 0 ( k )
= M 2 | x1 | | x0 | t2 t < 1
de donde
| x2 | <

t
= max {| x0 | , | x1 |} <
M

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

37

As, x2 I. Usando este argumento, tenemos por induccin que xk I, para


k 2. En general se tiene
M | x2 | = M 2 | x1 | | x0 | t2
M | x3 | = M 2 | x2 | | x1 | t3
M | x4 | = M 2 | x3 | | x2 | t5
..
.
M | xk+1 | = M 2 | xk | | xk1 | tFk
de donde Fk es el k-simo trmino de la sucesin de Fibonacci. Por lo tanto,
lmk M | xk | = 0.
Tasa de Convergencia del Mtodo Secante
A continuacin analizaremos la tasa o rapidez de convergencia que el
Mtodo Secante posee. Debemos recalcar que algunos autores denominan a
esta propiedad como el orden de convergencia.
Teorema 2.5 Sea una raz de f (x) = 0. Asumamos que la sucesin generada por el Mtodo Secante converge hacia . Si f C 2 y f 0 () 6= 0, entonces
el Mtodo secante tiene una tasa de convergencia p = 1+2 5 = 0,618... y
p1
00
xk+1
f ( k )
lm
p =
k ( xk )
f 0 ( k )
Prueba. Desde (2.11) tenemos
xk+1

f 00 ( k )
= ( xk1 ) ( xk )
2f 0 ( k )

(2.12)

donde k est entre ,xk y xk1 , mientras que k est entre xk y xk1 . Resolviendo (2.12) obtenemos
( xk ) =

1 pn rn
A B
K

(2.13)

f 00 ( k )
((x0 )K)r rp
1+ 5
1 5
donde K = 2f
,
r
=
,
A
=
y B =
0 ( ) , p =
2
2
(x1 )K
k
1

rp
(x1 )K
, la solucin de (2.12) dada por (2.13) se puede comprobar
((x0 )K)p
por sustitucin directa. Por lo tanto,
xk+1
p1 rn
B (r p)
p = K
( xk )

CAPTULO 2. CEROS REALES DE FUNCIONES REALES


y

38

00
p1
xk+1
f ( k )
p1
rn
lm
m K
lm B (r p) =
p = l
k ( xk )
k
k
2f 0 ( k )

xk+1
1+ 5
Como se puede observar, lmk (x
1,61803398,
p existe para p =
2
k)
el cual en cierta forma nos recuerda al nmero ureo, 0,61803398..., concluimos entonces que la tasa o rapidez (orden) de convergencia del Mtodo
Secante es aproximadamente 1,618.

Como se puede observar, el Mtodo Secante posee una tasa de convergencia un tanto inferior al Mtodo de Newton, que tiene una tasa cuadrtica.
No obstante, la tasa de convergencia de 1,618 es superior a una lineal, y en
la prctica esa disminucin en la velocidad de convergencia se compensa con
el hecho de no requerir el clculo explcito de la derivada y su evaluacin en
cada iteracin..
Laboratorio 2.6 En algn lenguaje de programacin de su preferencia, implemente el mtodo secante y experimntelo con diversos ejemplares. Compare
en la prctica sus resultados con los mtodos anteriormente estudiados.
Ejercicio 2.6 Experimente y compare los mtodos estudiados en este captulo, hallando una raz de la ecuacin f (x) = 0, donde
f (x) = x x ln (x)
Ejercicio 2.7 Experimente y compare los mtodos estudiados en este captulo, hallando una raz de la ecuacin f (x) = 0, donde
f (x) = ex 4x2
Ejercicio 2.8 Sea
x2
+ x (ln (x) 1)
2
Halle sus puntos crticos (puntos donde f 0 (x) = 0) usando un mtodo iterativo estudiado en este captulo.
f (x) =

Ejercicio 2.9 Halle un punto donde la funcin


f (x) = x2 + x3 (log(x) 3) + 850
alcanza un mnimo sobre el intervalo [10, 20].

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

39

Ejercicio 2.10 (ciclaje en el mtodo de newton) Las iteraciones del Mtodo de Newton entrarn en un ciclo ilimitado si
xn+1 a = (xn a)
Esto a su vez sucede si f satisface
xa

f (x)
= (x a)
f 0 (x)

La anterior expresin es una ecuacin diferencial ordinaria separable de la


forma
f 0 (x)
1
=
f (x)
2(x a)
cuya solucin es

p
f (x) = sign(x a) |x a|

donde la funcin sign es la funcin signo, el cero de f es claramento x = a.


Grafique f para el caso a = 2. Seguidamente, use un punto inicial x0 , donde
x0 6= a, y ejecute el algoritmo de Newton.
Ejercicio 2.11 Se considera la funcin F (x) = x5 + 2x. Mediante el Mtodo
de Newton, hallar el menor numero positivo x (con tres decimales) para el
cual F (x) = 4.
Ejercicio 2.12 Probar, mediante el mtodo de Newton, que la ecuacin
xn+1 = xn (2 axn )
se puede utilizar para aproximar 1/a si x0 es una estimacin inicial del
recproco de a. Ntese que este mtodo de aproximar recprocos utiliza slo operaciones de suma y multiplicacin. (Considerar f (x) = x1 a). Pruebe
para los casos:
1.

1
3

2.

1
11

Ejercicio 2.13 Pruebe que, al ser aplicado el mtodo de Newton en la resolucin de la ecuacin ax+b = 0, donde a 6= 0, ste requiere slo una iteracin,
sin importar qu punto inicial fue tomado.
Ejercicio 2.14 En los casos siguientes, aplicar el mtodo de Newton con la
estimacin inicial propuesta, explicar por qu falla el mtodo.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

40

1. y = 2x3 6x2 + 6x 1, donde x0 = 1


2. y = 4x3 12x2 + 12x 3, donde x0 =

3
2

3. y = x3 + 3x2 x + 1, donde x0 = 1

4. y = 3 x 1, donde x0 = 2

2.3.

Comparacin de los Mtodos Iterativos

El esfuerzo computacional para la ejecucin de cada uno de los mtodos


depende de varios factores, los ms importantes son:
1. La complejidad de los clculos, sobre todo para la derivada.
2. El nmero total de iteraciones
3. Condiciones para la convergencia
El mtodo de la biseccin y el mtodo de la posicin falsa exigen pocas
condiciones para garantizar la convergencia, el inconveniente est en que el
nmero de iteraciones puede ser grande. Observe que su tasa de convergencia
es lineal.
Los mtodos de punto fijo frecuentemente son ms rpidos, pero a cambio
exigen muchas hiptesis para la convergencia.
El ms rpido es el mtodo de newton, pero requiere el clculo de la
derivada y demanda, al igual que los mtodos de punto fijo, hiptesis rigurosas para su convergencia.
El mtodo secante puede ser prctico cuando el clculo de la derivada es
complicado, pero no es tan rpido como el mtodo de Newton.
Se puede concluir que la eleccin del mtodo ms eficiente depende de la
ecuacin que se intenta resolver. Cada mtodo tiene sus ventajas y desventajas.
Como un comentario adicional, despus de llevar al computador cada uno
de estos mtodos y experimentarlos con diversos ejemplares, probablemente el
estudiante halle que las diferencias de tiempo de ejecucin, entre un programa
y otro, sea insignificante cuando se aplica a la resolucin de una ecuacin,
y ese afn por buscar el mtodo ms rpido parecera no tener sentido. Esa

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

41

percepcin es equivocada, pues estos mtodos deben verse como subrutinas


de otros mtodos iterativos ms sofisticados, para otro tipo de problemas,
donde la prdida de una fraccin de segundo retrasara el desempeo del
mtodo en su conjunto.

2.4.

Problemas

Problema 2.1 Considere las dos vigas de 30 m y 20 m cruzndose a una


altura de 8 m del suelo, tal como se muestra en la figura 2.8. Determine el
ancho del pasadizo, H.

Figura 2.8: Problema de las vigas

Problema 2.2 La concentracin c de una bacteria contaminante en un lago


decrece segn la expresin c(t) = 80e2t + 20e0,5t , siendo t el tiempo en
horas. Determinar el tiempo que se necesita para que el nmero de bacterias
se reduzca a 7.
Problema 2.3 Una determinada sustancia se desintegra segn la ecuacin
A(t) = P e0,0248t , donde P es la cantidad inicial en el tiempo t = 0 y A
la cantidad resultante despus de t aos. Si inicialmente se depositan 500
miligramos de dicha sustancia, cunto tiempo debe transcurrir para que
quede el 1 por ciento de sta? Utilizar el Mtodo de Newton.
Problema 2.4 Una medicina administrada a un paciente produce una concentracin en la sangre dada por c(t) = Atet/3 mg / ml, t horas despus de
que se hayan administrado A unidades. La mxima concentracin sin peligro
es de 1 mg / ml, y a esta cantidad se le denomina concentracin de seguridad.

CAPTULO 2. CEROS REALES DE FUNCIONES REALES

42

1. Qu cantidad debe ser inyectada para alcanzar como mximo esta concentracin de seguridad? Cundo se alcanza este mximo?
2. Una cantidad adicional se debe administrar al paciente cuando la concentracin baja a 0,25 mg / ml. Determnese con un error menor de 1
minuto cundo debe ponerse esta segunda inyeccin.
Problema 2.5 El crecimiento de poblaciones grandes puede modelarse en
perodos cortos suponiendo que el crecimiento de la poblacin es una funcin
continua en t mediante una ecuacin diferencial cuya solucin es:
N(t) = N0 et +

v t
e 1

donde N(t) es el nmero de individuos en el tiempo t (medido en aos),


es la razn de natalidad, N0 es la poblacin inicial y v es un razn constante
de inmigracin, que se mide en nmero de inmigrantes al ao. Supngase
que una poblacin dada tiene un milln de individuos inicialmente y una
inmigracin de 400, 000 individuos al ao. Se observa que al final del primer
ao la poblacin es de 1506000 individuos. Se pide:
1. Determinar la tasa de natalidad.
2. Hacer una previsin de la poblacin al cabo de tres aos.

Captulo 3
Resolucin de Sistemas Lineales
Sistemas de ecuaciones lineales aparecen en la resolucin de diversos
problemas de la vida real, frecuentemente, algunos de esos problemas involucran un gran nmero de variables y ecuaciones. Claramente, el mtodo
basado en la sustitucin de variables, empleado para resolver pequeos sistemas de dos o tres variables, resulta obsoleto en estos casos, por lo que
es necesario conocer mtodos numricos especializados para hacer frente a
estas situaciones. Estos mtodos numricos no podran trabajar sin la intervencin de un computador, debido a la cantidad de clculo envuelto en ese
procedimiento. Todo esto sin lugar a dudas torna importante el estudio de
sistemas de ecuaciones lineales desde el punto de vista numrico. Pero la resolucin de sistemas de ecuaciones lineales no slo tiene importancia propia,
sino que constituye tambin una herramienta indispensable en la resolucin
de sistemas de ecuaciones no lineales. Ms an, es la base para la resolucin
de muchos otros problemas que surgen en diferentes reas.
Considere el siguiente sistema de ecuaciones lineales compuesto de dos
ecuaciones y dos variables:

a1,1 x1 + a1,2 x2 = b1
a2,1 x1 + a2,2 x2 = b2

En sistemas simples como ste, podemos notar lo siguiente:


1. Solucin nica

3x1 + 2x2 = 10
x1 x2 = 5
2. Soluciones infinitas

3x1 3x2 = 15
x1 x2 = 5

43


4
x1
=
1
x2


5+t
x1
,
=
t
x2

tR

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES


3. Ninguna solucin

44

2x1 2x2 = 8
x1 x2 = 5

Grficamente, cada ecuacin representa a una recta, un punto que satisface ambas ecuaciones al mismo tiempo deber estar en la interseccin de
ambas rectas (figura 3.1).

Figura 3.1: Representacin grfica de sistemas de ecuaciones lineales


Por otro lado, cuando tenemos 3 variables, cada ecuacin representara
un plano, un punto que satisface tres ecuaciones de un sistema simultneamente estar en la interseccin de tres planos. Para el caso n-dimensional, la
situacin es anloga, pero el conjunto definido por cada ecuacin se denomina
n-hiperplano.

3.1.

Aspectos Tericos

Para un caso general, un sistema de m


es la formulacin matemtica siguiente:

a1,1 x1 + a1,2 x2 +

a2,1 x1 + a2,2 x2 +
..
..
..
.. . .

.
.
.
.
.

a x + a x +
m,1 1

m,2 2

ecuaciones lineales y n variables


+ a1,n xn = b1
+ a2,n xn = b2
..
..
.. ..
.
.
. .
+ am,n xn = bm

(3.1)

Usando la notacin matricial, el mismo sistema puede ser visto por


Ax = b

(3.2)

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES


donde A Rmn ,
definidas por:

a1,1
a2,1

A = ..
.
am,1

45

b Rm y x Rn es el vector de las variables o incgnitas,

a1,2 a1,n
a2,2 a2,n

..
.. ,
...
.
.
am,2 am,n

b1
b2

b = ..
.
bm

x1
x2

x = ..
.
xn

t
Una solucin para el sistema (3.1) es un vector x = x1 xn Rn el
cual satisface simultneamente cada una de las m ecuaciones que conforman
el sistema. En un sistema lineal puede suceder lo siguiente:
1. El sistema lineal tiene nica solucin
2. El sistema lineal posee infinitas soluciones
3. El sistema lineal no posee soluciones
Cuando n = m y A es inversible en (3.2), entonces la solucin es nica,
en consecuencia, dicha solucin puede ser obtenida haciendo x = A1 b. No
obstante, se debe advertir que este procedimiento tiene slo un valor terico,
pues desde el punto de vista computacional es considerado costoso por el
excesivo nmero de operaciones involucradas para calcular la inversa de A.
En contraste, existen mtodos ms apropiados que no requieren el clculo
explcito de A1 , como los que veremos ms adelante.

3.1.1.

Conjunto Imagen de una Matriz A

Dada una matriz A Rmn , definimos la imagen de A, denotado por


Im (A), como el conjunto:
Im (A) = {y Rm : x Rn , y = Ax}
Algunas veces a este conjunto se le donomina espacio imagen de A, debido a
lo siguiente:
Ejercicio 3.1 Muestre que Im (A) es un subespacio vectorial de Rm .
Desde el punto de vista de las columnas de A Rmn , note que
Ax =

n
X
j=1

aj xj

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

46

donde aj representa la j-columna de A y xj es la j-componente del vector


x Rn . Luego, resolver el sistema Ax = b significa obtener escalares x1 , ..., xn
que permitan escribir b Rm como una combinacin lineal de las columnas
de A, es decir:
b = a1 x1 + ... + an xn
Por esta razn, al conjunto Im (A) tambin se le conoce como espacio columna de A. En consecuencia, la dimensin de la imagen de A, denotada por
dim (Im (A)), est determinada por el mximo nmero de columnas linealmente independientes de A.

3.1.2.

Rango de una Matriz A

El rango de la matriz A Rmn , denotado por rango (A), es definido por


rango (A) = dim (Im (A))
Una manera prctica de encontrar el rango (A) consiste en determinar el
mayor nmero de columnas linealmente independientes de A. En lgebra
Lineal se conoce que rango (A) = rango (At ), por consiguiente, para encontrar
el rango (A) basta determinar tambin el mayor nmero de filas linealmente
independientes de A, esto ltimo suele ser de gran ayuda en muchos casos.
Con respecto a la resolucin del sistema de ecuaciones lineales Ax = b,
podemos destacar lo siguiente:
1. Si m = n, puede pasar lo siguiente:
a) Si rango (A) = n, el sistema Ax = b tiene solucin nica, pues
A es inversible. En estas condiciones, se dice que el sistema es
compatible y determinado.
b) Si rango (A) < n, puede pasar lo siguiente
1) Si b Im (A), el sistema Ax = b admitir infinitas soluciones.
En estas condiciones, se dice que el sistema es compatible e
indeterminado.
2) Si b 6 Im (A), el sistema no admite solucin. En estas condiciones, se dice que el sistema es incompatible.
2. Si m > n, aunque rango (A) = n, el sistema puede no tener solucin,
debido a que es muy frecuente que b 6 Im (A).

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES


Matriz A Rmn
Rango completo
Rango
deficiente

m<n

m=n

rango (A) = m

rango (A) = n

infinitas soluc.

solucin nica

b Im (A) infinitas soluc.


b 6 Im (A) incompatible

infinitas soluc.
incompatible

47
m>n
rango (A) = n
b Im (A) so lu c i n n ica
b 6 Im (A) in co m p a tib le

infinitas soluc.
incompatible

Cuadro 3.1: Soluciones de un sistema de ecuaciones lineales


3. Si m < n, es muy probable que el sistema sea compatible e indeterminado si b Im (A). En el caso que b 6 Im (A), el sistema ser
incompatible.
El cuadro 3.1 esquematiza las soluciones de un sistema de ecuaciones lineales.

3.2.

Mtodos Numricos para Resolver Sistemas de Ecuaciones Lineales

Los mtodos numricos que estudiaremos en este captulo requieren que


el sistema (3.1) est constituido de n filas y n columnas, es decir, n = m.
Al final de este captulo, en el problema 3.4, ser discutida una estrategia
para enfrentar sistemas lineales donde m < n. Por otro lado, sistemas donde
m > n se denominan sobredeterminados, ellos sern discutidos en el siguiente
captulo.
Los mtodos para resolver sistemas de ecuaciones lineales de nn pueden
ser de dos tipos, directos e iterativos.
Directos: Si la solucin existe, otorgan la solucin exacta del sistema lineal despus de un nmero finito de operaciones, excepto errores de
redondeo.
Iterativos: Dada una aproximacin inicial x0 , generan una sucesin de vectores {xk }
k=0 . Si la solucin existe, bajo ciertas condiciones, esta sucesin converge a la solucin.
A simple vista, parece ser que la eleccin de un mtodo directo es la ms
adecuada. No obstante, como veremos ms adelante, los mtodos directos
tienen un alto costo computacional, requiriendo alrededor de n3 operaciones
elementales para resolver un sistema lineal de nn. En contraste, los mtodos
iterativos parecen menos atractivos, sin embargo, slo requieren alrededor de

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

48

n2 operaciones elementales por cada iteracin1 , eso los torna ms viables en


la resolucin de sistemas de ecuaciones lineales de grandes dimensiones2 .
En las siguientes secciones analizaremos algunos de los mtodos ms importantes para la resolucin numrica de sistemas de ecuaciones lineales.

3.3.

Mtodo de Cramer

La Regla de Cramer puede ser enfocada como un mtodo directo.


Proviene de un teorema en lgebra lineal, mediante el cual se puede obtener
la solucin de un sistema lineal de ecuaciones en trminos de determinantes.
Recibe este nombre en honor a Gabriel Cramer (1704 - 1752).
Si Ax = b es un sistema de ecuaciones lineales, donde A Rnn es
inversible y b Rn es un vector columna, entonces la solucin del sistema se
calcula as:
det (Aj )
xj =
j = 1, ..., n
(3.3)
det (A)
donde Aj es la matriz que resulta de reemplazar la j-columna de A por b.
Ejercicio 3.2 El determinante de una matriz real cuadrada de orden n est
definido por
n
X
(1)j+1 a1,j det (A [1, j])
(3.4)
det (A) =
j=1

donde a1,j es el elemento en la 1-fila y j-columna de la matriz A, mientras


que A [i, j] es la submatriz obtenida al eliminar la 1-fila y la j-columna de A.
Muestre que el nmero de multiplicaciones necesarias para hallar det (A) es
aproximadamente n!
Es posible calcular el determinante de una matriz sin utilizar directamente
la definicin dada en (3.4), pero eso tomar por lo menos alrededor de n3
operaciones elementales. Por lo tanto, para fines prcticos, mtodos como el
de Cramer deben estar fuera de nuestro inters, debido a que resulta muy
costoso en la resolucin numrica de sistemas de ecuaciones lineales3 .
1

Pero pueden requerir muchas iteraciones.


Frecuentemente, cuando n > 1000.
3
La regla de Cramer tiene un valor terico, pues se utiliza en la demostracin de muchas
propiedades.
2

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

3.4.

49

Mtodo de Gauss

Este mtodo numrico es el ms conocido y encuadra dentro de los mtodos directos.


Dado el sistema lineal de n n

a1,1 x1 + a1,2 x2 +

a2,1 x1 + a2,2 x2 +
..
..
..
..

.
.
.
.

a x + a x +
n,1 1

n,2 2

+ a1,n xn = b1
+ a2,n xn = b2
..
.. ..
. . . ..
.
.
. .
+ an,n xn = bn

(3.5)

El mtodo de eliminacin de Gauss consiste en transformar el sistema (3.5),


de un modo equivalente, a un sistema triangular superior:

a01,1 x1 + a01,2 x2 + + a01,n xn = b01

a02,2 x2 + + a02,n xn = b02


(3.6)
..
.. ..
. . . ..

.
.
.
.

a0n,n xn = b0n

El beneficio de esto es que se puede resolver el sistema triangular (3.6) de


modo eficiente, es as que de la ltima ecuacin de (3.6) tenemos
xn =

b0n
a0n,n

Luego, xn1 puede ser obtenido mediante


xn1

b0n1 a0n1,n xn
=
a0n1,n1

Y as sucesivamente, obtenemos xn2 , xn3 , ..., x2 , finalmente


b01 a01,2 x2 a01,3 x3 a01,n xn
x1 =
a01,1

3.4.1.

Resolviendo un Sistema Triangular

El siguiente algoritmo resuelve un sistema de ecuaciones lineales de orden


n, el cual ya est en la forma triangular superior.

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

50

Algoritmo 3.1 (Resolucin de un sistema triangular superior) Dado


un sistema triangular superior Ax = b de orden n, con elementos de A sobre la diagonal no nulos. Los valores de las variables xn , xn1 , ..., x2 , x1 son
obtenidos mediante:
xn = bn /an,n
Para k = (n 1) , ..., 1
s=0
Para j = (k + 1) , ..., n
s = s + ak,j xj
xk = (bk s) /ak,k
Ejercicio 3.3 Anlogamente al algoritmo 3.1, disear un algoritmo que resuelva un sistema triangular inferior de orden n.
Ejercicio 3.4 Cuntas operaciones elementales (sumas, restas, multiplicaciones, divisiones y comparaciones) son necesarias para la ejecucin del algoritmo 3.1 y el algoritmo planteado en el ejercicio 3.3?
Laboratorio 3.1 En algn lenguaje de programacin, implementar el algoritmo 3.1 y el algoritmo planteado en el ejercicio 3.3.
La conversin de un sistema de orden n a un sistema equivalente, y triangular superior, es posible en virtud al siguiente teorema del lgebra lineal:
Teorema 3.1 Sea Ax = b un sistema de ecuaciones lineales. Aplicando sobre las ecuaciones de este sistema una sucesin de operaciones elementales:
1. Cambiar dos ecuaciones
2. Multiplicar una ecuacin por una constante no nula
3. Adicionar un mltiplo de una ecuacin a otra ecuacin
= b, el cual es equivalente4 al sistema oriobtenemos un nuevo sistema Ax
ginal Ax = b.
4

Equivalente, en el sentido que tienen las mismas soluciones

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

3.4.2.

51

Conversin de un Sistema de Ecuaciones Lineales a uno Triangular Superior

El siguiente algoritmo usa el Teorema 3.1 y convierte un sistema de ecuaciones lineales Ax = b en un sistema triangular superior equivalente.
Algoritmo 3.2 Dado el sistema lineal Ax = b de n n. Suponga que el
elemento ak,k 6= 0 al inicio de la etapa k:
Para k = 1, ..., n 1
Para i = k + 1, ..., n
mi,k = ai,k /ak,k
ai,k = 0
Para j = k + 1, ..., n
ai,j = ai,j mi,k ak,j
bi = bi mi,k bk
Definicin 3.1 El nmero
ai,k
mi,k =
,
ak,k

i = 2, ..., n,

k = 1, ..., n 1

introducido en el algoritmo 3.2, lo denominaremos (i, k)-multiplicador de la


matriz A. Adems, ak,k se denomina el k-simo pivote.
Ejemplo 3.1 Considere el siguiente sistema de ecuaciones lineales Ax = b,
donde


1 2 3 0
2

2
2
4
10
4

y
b = b(0) =
A = A(0) =
1 1 2 1
6
1 0 0 2
0
Aplicando el Algoritmo 3.2, para
m2,1 = 2, m3,1 = 1 y m4,1 = 1, de

1 2
3

0 2 2
A(1) =
0 1 5
0 2 3

Para k = 2, m3,2 = 0,5,

0
A(2) =
0
0

k = 1, los multiplicadores respectivos son


donde:

0
2
0
10
(1)

y
b
=
4
1
2
2

m4,2 = 1 y

2
3
0
2 2 10

0 4 4
0 1 8

b(2)

2
0

=
4
2

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES


Finalmente, para k = 3

0
A(3) =
0
0

tenemos m4,3 = 0,25 y

2
3
0
2 2 10

y
0 4 4
0
0 7

b(3)

52

2
0

=
4
3

Resta slo aplicar el Algoritmo 3.1 para resolver el sistema triangular superior
A(3) x = b(3) , de donde obtuvimos

6/7
25/7

x=
10/7
3/7

Un inconveniente que puede suceder en la aplicacin de los algoritmos 3.2


y 3.1, es el clculo del multiplicador mi,k , pues se necesita que ak,k 6= 0 en
cada iteracin. Pero el simple hecho que ak,k sea pequeo puede ocasionar
que el multiplicador mi,k tome valores inmensamente grandes, lo que puede
ocasionar a su vez el mal condicionamiento5 del sistema.
Ejemplo 3.2 (Sistema mal condicionado) Utilice algn lenguaje de programacin para resolver, usando los algoritmos 3.2 y 3.1, el siguiente sistema
de ecuaciones:

11x1 + 2x2 = 5
1016 x1 + 0,5x2 = 9

Despus de aplicar consecutivamente los algoritmos, obtuvimos como solucin:

7,26691434300103 1016
x=
2,5

Al verificar si realmente es solucin, vemos que

5
5
6= b =
Ax =
9
8,51691434300102

Este fenmeno se debe a que el pivote A1,1 = 11, cuando comparado con
A2,1 = 1016 , es muy pequeo. Observe que en estas condiciones, el multiplicador
a2,1
1016
m2,1 =
=
a1,1
11
es muy grande, lo que ocasionar impresiciones en los clculos siguientes,
pues el computador trabaja con precisin finita.
5

La matriz A tiende a ser no inversible en la prctica, aunque en teora lo sea. Esto


puede producir imprecisiones en los clculos realizados por el computador.

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

53

Pero qu significa mal condicionamiento? Ese concepto es de gran ayuda en la resolucin de sistemas lineales. A continuacin formalizaremos ese
trmino.

3.5.

Sensibilidad en Sistemas Lineales: Nmero


de Condicin

Considere el sistema Ax = b, donde A es inversible y b es un vector no


nulo. Digamos que x sea la nica solucin. Consideremos ahora una perturbacin b de b, el sistema lineal perturbado ser
(3.7)

Ay = b + b

Observe que el sistema (3.7) tambin tiene nica solucin, digamos que sta
sea y. Denotemos
x = y x, en consecuencia, y = x +
x. Es natural
esperar que cuando b sea pequeo, entonces
x tambin lo sea.
Para cuantificar el tamao de vectores, usaremos la norma vectorial eucldea6 kk. As, la medida de b relativa a b es kbk / kbk, mientras que la
medida de
x relativa a x es dada por k
xk / k
xk. Por lo tanto, en trminos ms precisos, esperamos que cuando kbk / kbk sea pequeo, entonces
k
xk / k
xk tambin lo sea.
As, como y es solucin del sistema (3.7), entonces
A
y = b + b = A (
x +
x) = b +b = A (
x) = b =
x = A1 (b)
,
Considerando la norma matricial inducida por la vectorial, kAk = maxx6=0 kAxk
kxk
tenemos

x = A1 (b) = k
(3.8)
xk = A1 (b) A1 kbk

Por otro lado,

b = A
x = kbk = kA
xk kAk k
xk =
Por (3.8) y (3.9) tenemos

Si x Rn , kxk =

k
xk
kbk
A1 kAk
k
xk
kbk

p
x21 + ... + x2n .

1
kAk

k
xk
kbk

(3.9)

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

54

Observe que, si kbk / kbk es pequeo y kA1 k kAk es un nmero razonablemente pequeo, entonces k
xk / k
xk debera ser tambin pequeo. Sin
embargo, si kA1 k kAk es extremadamente grande, a pesar que kbk / kbk
sea pequeo, no hay garanta que k
xk / k
xk tambin lo sea. En otras pa1
labras, si kA k kAk es grande, podemos advertir que el sistema Ax = b
puede ser susceptible a grandes alteraciones en la solucin si b es ligeramente
perturbado. Esto es crucial, pues el mtodo de Gauss altera el vector b en
cada iteracin.
Como se puede apreciar, el papel del nmero kA1 k kAk juega un rol
importante en la determinacin de la estabilidad del sistema de ecuaciones
lineales. A continuacin lo formalizamos.
Definicin 3.2 (Nmero de condicin) Dada la matriz A Rnn inversible. El nmero de condicin de A, denotado por cond (A), es

cond (A) = A1 kAk

Si cond (A) es grande, diremos que la matriz es mal condicionada, caso contrario, ella ser bien condicionada.

Ejercicio 3.5 Mostrar que, si kk es una norma matricial inducida por la


norma vectorial eucldea en Rn , cond (A) 1.
Solucin. Observe que la norma matricial usada es consistente, as:

I = A1 A
=
1 = kIk = A1 A A1 kAk = cond (A)

Observacin 3.1 Algunas veces se utiliza tambin la siguiente expresin,


rcond (A), la cual est definida por
rcond (A) = 1/ cond (A)
Claramente, si recond (A) es prximo a cero, la matriz A ser mal condicionada.

3.6.

Estrategia con Pivotamiento Parcial

Como habamos comentado anteriormente, uno de los inconvenientes en la


aplicacin del mtodo de Gauss consista en el clculo de los multiplicadores,
si el multiplicador mi,k = ai,k /ak,k es demasiado grande, ste podra ocasionar
clculos imprecisos en el sistema de cmputo. Algunas de las estrategias para
evitar tal inconveniente son:

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

55

1. Estrategia con pivotamiento parcial


2. Estrategia con pivotamiento total
Aqu veremos en qu consiste la estrategia de pivoteamiento parcial:
En el inicio de la etapa k de la eliminacin gaussiana, escoger como
k1
pivote el elemento de mayor mdulo entre los coeficientes: ai,k
, para
k1
i = k, k + 1, ..., n, donde ai,k representa la (i, k)-componente en la
iteracin k 1.
Permutar la fila k e i, si fuera necesario.
Ejemplo 3.3 Considere un sistema de orden n, donde n = 4 y la iteracin
k = 2. Observe que

3 2
1 1
5
(1) (1) 0 1
0
3
6

b
A
=
0 3 5 7
7
0 2
4
0
15

Note que A(1) b(1) representa la situacin del sistema en la primera iteracin. Ahora, para el inicio de la segunda iteracin
1. Escoger el pivote: maxj=2,3,4 |a1j,2 | = |a13,2 | = 3, entonces el pivote es 3
2. Cambiamos las lneas 2 y 3, de donde

3 2
(1) (1) 0 3
b
=
A
0 1
0 2

obtenemos
1 1
5 7
0
3
4
0

5
7

6
15

Observe que en este caso los multiplicadores respectivos sern:


m3,2 =
m4,2 =

1
1
=
3
3
2
2
=
3
3

As, al escoger el mayor elemento en mdulo entre los candidatos a


pivote, se consigue que los multiplicadores m, en mdulo, estn entre
cero y uno, lo que evita la propagacin de errores de redondeo.

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

56

La estrategia con pivoteamiento parcial no elimina del todo la acumulacin de errores de redondeo, existe otra estrategia denominada estrategia
con pivoteamiento completo. En contraste al pivoteamiento parcial, que busca
el mejor pivote en una porcin de cada columna en cada iteracin, la estrategia de pivoteamiento completo analiza toda matriz. A pesar que en teora esto
elimina definitivamente las imprecisiones numricas que puedan ocurrir, su
uso no es cmun en la prctica pues requiere mucho esfuerzo computacional,
es decir, requiere muchas operaciones elementales (comparaciones) para su
ejecucin.
Problema 3.1 Investigue la estrategia de pivoteamiento completo.

3.7.

Descomposicin LU

Esta estrategia consiste en descomponer la matriz A como el producto


de dos matrices factores: A = LU, donde L es una matriz triangular inferior
con unos sobre su diagonal, es decir

1
0 0
2,1 1 0

L = ..
..
..
.
.
.
. .
.
n,1
n,2 1

y U es una matriz triangular superior

u1,1 u1,2 u1,n


0 u2,2 u2,n

U = ..
..
..
...
.
.
.
0
0 un,n

De ese modo, resolver el sistema Ax = b, o sino LU x = b, es equivalente a


resolver consecutivamente:
1. Ly = b
2. U x = y
Una de las principales ventajas que tiene resolver sistemas mediante este
mtodo, en contraste con el mtodo de Gauss, es la siguiente: supongamos
que se quiere resolver los sistemas Ax = b y Ax = b0 , una vez obtenidos tales
factores L y U , bastara resolver consecutivamente los sistemas triangulares:
Ly = b

Ux = y

(3.10)

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

57

y
Ly = b0

(3.11)

Ux = y

Observe que los mismos factores L y U fueron usandos para resolver los
sistemas (3.10) y (3.11), los cuales son fciles de resolver usando el algoritmo
3.1 para sistemas triangulares superiores.

3.7.1.

Clculo de los Factores L y U

El clculo de las matrices L y U de modo que A = LU, est basado en los


multiplicadores mi,j introducidos en la eliminacin gaussiana (definin 3.1).
Supongamos que tenemos la matriz

a01,1 a01,2 a01,3


0

0
0
a
a
a
A0 =
2,1
2,2
2,3

=A
a03,1 a03,2 a03,3

Primera iteracin: Los respectivos multiplicadores estn dados por


m2,1 = a02,1 /a01,1
m3,1 = a03,1 /a01,1

para deshacernos de la variable x1 en las i-filas, para i = 2, 3, hacemos


a11,j = a01,j

j = 1, 2, 3

a1i,j = a0i,j mi,1 a01,j


y obtenemos

i = 2, 3,

a11,1 a11,2 a11,3

A1 =
0
0

Observe que A1 = M 0 A0 , donde

j = 1, 2, 3

a12,2 a12,3

1
1
a3,2 a3,3

1
0 0
M 0 = m2,1 1 0
m3,1 0 1

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

58

Segunda iteracin: Para eliminar x2 de las restantes lneas, calculamos el


multiplicador m3,2 = a13,2 /a12,2 y hacemos
a21,j = a11,j

j = 1, 2, 3

a22,j = a12,j

j = 2, 3

a23,j = = a13,j m3,2 a12,j


y obtenemos

a21,1 a21,2 a21,3

A2 =
0
0

Observe que

j = 1, 2, 3

a22,2 a22,3

2
0 a3,3

A2 = M 1 A1
donde

1
0
0
1
0
M1 = 0
0 m3,2 1

Adems, A2 es triangular superior y podemos definir U = A2 . Luego:

U = M 1 A1 = M 1 M 0 A0 = M 1 M 0 A0 = M 1 M 0 A

Es decir,
y como

1 1 1
1

U = M0
U
M
A = M 1M 0

0 1 1 1
M
M

1
1
1
0
0
1
0 0
1
0
= m2,1 1 0 0
m3,1 0 1
0 m3,2 1

1 0 0
1 0 0
1
0 0
1 0
= m2,1 1 0 0 1 0 = m2,1
m3,1 0 1
m3,1 m3,2 1
0 m3,2 1

concluimos que la matriz triangular inferior debera ser

1
0 0
1 0
L = m2,1
m3,1 m3,2 1

de modo que A = LU .

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

59

Teorema 3.2 Dada una matriz cuadrada A de orden n, sea la matriz Ak


constituida de las primeras k lneas y k columnas de A. Suponga que det (Ak ) 6=
0 para k = 1, ..., n 1. Entonces, existe una nica matriz triangular inferior
L = [mi,j ], con mi,i = 1, para i = 1, ..., n, y una nica matriz triangular
superior U = [ui,j ] tales que A = LU. Adems, det (A) = u1,1 u2,2 ...un,n .
Ejercicio 3.6 Investigue la demostracin del teorema 3.2.
Ejemplo 3.4 Resolver el siguiente sistema de ecuaciones lineales utilizando
la descomposicin LU.
x1 + 2x2 + 3x3 = 10
2x1 + 5x2 x3 = 20
x1 + 2x2 + x3 = 6
Observe que

Luego,

1 2 3
A = 2 5 1
1 2 1
m2,1 = 2,

m3,2 = 4,

10
b = 20
6

m3,1 = 1,

1 2 3
A1 = 0 1 7
0 4 4

1 2 3
A2 = 0 1 7
0 0 32

Por lo tanto,

1 2 3
1
0 0
1 0 0
1 2 3
1 0 A2 = 2 1 0 0 1 7 = LU
A = 2 5 1 = m2,1
1 2 1
1 4 1
0 0 32
m3,1 m3,2 1

Puesto que Ax = b lo podemos expresar como (LU ) x = b, usando el algoritmo 3.1 y el ejercicio 3.3 para resolver sistemas triangulares, calculamos
consecutivamente:

10
Ly = b = y = 0
16
y

3/2
Ux = y = x = 7/2
1/2

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

3.8.

60

Descomposicin de Cholesky

Una estrategia que tiene suma importancia, sobre todo en optimizacin,


es la descomposicin de Cholesky.
Definicin 3.3 (Matriz definida positiva) Se dice que una matriz A
Rnn simtrica y de orden n es definida positiva, si xt Ax > 0, para todo
x Rn y x 6= 0.
Teorema 3.3 (Descomposicin de Cholesky) Si A es una matriz de orden n, simtrica y definida positiva, entonces existe una nica matriz triangular inferior de orden n y con diagonal positiva, tal que
A = GGt
Ejercicio 3.7 Investigue la demostracin del teorema 3.3.

3.8.1.

Clculo del factor de Cholesky

Dada una matriz simtrica y definida positiva:

a1,1 a1,2 a1,n


a2,1 a2,2 a2,n

A = ..
..
..
...
.
.
.
an,1 an,2 an,n

El factor G ser obtenido de la ecuacin


g1,1 0
a1,1 a1,2 a1,n
a2,1 a2,2 a2,n g2,1 g2,2


..
..
..
.. = ..
...
.
.
.
. .
gn,1 gn,2
an,1 an,2 an,n

matricial:

...

gn,n

La columna 1:


g1,1 0
a1,1
0
a2,1 g2,1 g2,2
0


.. = ..
..
..
.
..
. .
.
.
an,1
gn,1 gn,2 gn,n

luego

g1,1 =

a1,1

gj,1 =

0
0
..
.

aj,1
g1,1

g1,1
0
..
.
0

g1,1 g2,1 gn,1


0 g2,2 gn,2
..
..
..
...
.
.
.
0
0 gn,n

g1,1 g1,1
g2,1 g1,1
..
.
gn,1 g1,1

para j = 2, ..., n

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES


La columna 2:

a1,2
g1,1 0
0
a2,2

g2,1 g2,2
0
a3,2

= ..
..
..
.
..
.. .
.
.
.
gn,1 gn,2 gn,n
an,2

de donde

g1,2
g2,2
0
..
.
0

g1,1 g1,2
2
2
g2,1
+ g2,2
g3,1 g2,1 + g3,2 g2,2
..
.

gn,1 g2,1 + gn,2 g2,2

g1,2 g1,1 = a1,2 = g1,2 = g2,1 =


2
2
g2,1
+ g2,2
= a2,2 = g2,2 =

Como
gj,1 g2,1 + gj,2 g2,2 = aj,2

a1,2
g1,1

q
2
a2,2 g2,1

j = 3, ..., n

y los gj,1 , j = 1, ..., n, ya fueron calculados, entonces


gj,2 =

(aj,2 gj,1 g2,1 )


g2,2

j = 3, ..., n

Columna k: Los elementos de la columna k de G son:


t

0 0 gk,k gk+1,k gn,k


k = 2, ..., n

haciendo

tenemos
de donde

ak,1
ak,2
..
.

ak,k

ak+1,k
.
..
an,k

g1,1 0
0

g2,1 g2,2
0

= ..
..
..
...
.
.
.

gn,1 gn,2 gn,n

gk,1
gk,2
..
.

gk,k

0
.
..
0

2
2
2
ak,k = gk,1
+ gk,2
+ + gk,k

gk,k =
Y como

ak,k

k1
X
i=1

2
gk,j

!1/2

aj,k = gj,1 gk,1 + gj,2 gk,2 + + gj,k gk,k

j = k + 1, ..., n

61

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

62

y como los elementos gi,k , i = 1, ..., k 1, ya fueron calculados, tenemos

Pk1
aj,k i=1 gj,i gk,i
j = k + 1, ..., n
gj,k =
gk,k
Algoritmo 3.3 Sea A una matriz simtrica y definida positiva.
Para k = 1, ..., n
suma = 0;
Para j = 1, ... (k 1)
2
suma = suma + gk,j
r = ak,k suma ..............(*)
gk,k = r
Para i = k + 1, ..., n
suma = 0
Para j = 1, ..., k 1
suma = suma + gi,j gk,j
gi,k = (ai,k suma) /gk,k
Por lo general, ver si una matriz simtrica es definida positiva usando la
definicin es una tarea prcticamente imposible. Sin embargo, podemos usar
el algoritmo de Cholesky para verificar si A es definida positiva. Si en (*) se
tiene que r 0, entonces la descomposicin no es posible y A no es definida
positiva. Caso contrario, el algoritmo otorga la matriz triangular inferior G
tal que A = GGt .
La descomposicin de Cholesky requiere alrededor de n3 /6 operaciones
de multiplicacin para la descomposicin. Este nmero es aproximadamente
la mitad del nmero de operaciones necesarias para la realizacin de la eliminacin en la descomposicin LU, pues requera n3 /3.
Al igual que la descomposicin LU, una vez conocido A = GGt , es posible
resolver el sistema lineal asociado: Ax = b, del siguiente modo: como

Ax = b GGt x = 0
entonces

1. Resolver Gy = b
2. Resolver Gt x = y

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

63

Laboratorio 3.2 En algn lenguaje de programacin de su preferencia, implemente el algoritmo de Cholesky, de modo que: cuando la matriz A sea
definida positiva, devuelva la matriz triangular inferior G. Caso contrario,
debera emitir un mensaje anunciando que A no es definida positiva.
Ejercicio 3.8 Usando el algoritmo de Cholesky, verifique que la matriz

27 12 10 24
12 9 16 29

10 16 42 70
24 29 70 137
es realmente definida positiva.

Ejercicio 3.9 Una duda comn es, podra ser definida positiva una matriz
la cual tiene algunas componentes negativas? Verifique si la matriz

27 12 10 24
12 9 16 11

10 16 42 2
24 11 2 137

es o no definida positiva (use el algoritmo).

Ejercicio 3.10 Una matriz simtrica A Rnn se llama semidefinida positiva, si xt Ax 0, para todo x Rn . Probar que, para cualquier matriz
B Rmn , la matriz C = B t B es semidefinida positiva.
Solucin: Observe que C Rmm es simtrica, pues

t
t
C t = BtB = Bt Bt = BtB = C

xt Cx = xt B t B x = (Bx)t (Bx) = kBxk2 0

donde kk es la norma eucldea.

Ejercicio 3.11 Probar que, si A Rnn es definida positiva, entonces A es


inversible. Lo recproco no siempre es vlido, de un contraejemplo.
Solucin: Recordemos el teorema de lgebra lineal que nos deca: Una matriz
A Rnn es inversible si, y slo si, el sistema Ax = 0 tiene como nica
solucin la trivial.
Ahora, con respecto al ejercicio, realizaremos una prueba por contradiccin. Asumamos que A es definida positiva y no inversible. Entonces, el

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

64

sistema Ax = 0 tiene una solucin no trivial, digamos que existe x 6= 0 tal


que A
x = 0. Luego,
0 < xt A
x = xt 0 = 0
Lo cual es una contradiccion. Esto completa la prueba.
Para verificar la segunda parte del ejercicio, basta hacer notar que la
matriz

1 0
0 1
es inversible pero no es definida positiva (en realidad es definida negativa).

3.9.

Mtodos Iterativos

La idea de los mtodos iterativos para resolver sistemas de ecuaciones


est inspirada en el mtodo de punto fijo.
Dado el sistema lineal de ecuaciones
Ax = b

(3.12)

donde A Rnn y b Rn . Los mtodos iterativos consisten en expresar el


sistema (3.12) en una ecuacin matricial equivalente:
x = Dx + d

(3.13)

donde D Rnn y d Rn . Note que en este caso (x) = Dx + d es una


funcin iteracin n-dimensional.
As, los mtodos de este tipo construyen una sucesin {xk Rn }
k=0 definida por la regla
xk+1 = (xk ) = Dxk + d
Observe que, si lmk xk = x , entonces x es un punto fijo de . Bajo
ciertas condiciones, x debera ser tambin la solucin del sistema original
Ax = b.
Mtodo de Gauss-Jacobi
Este mtodo se caracteriza por transformar el sistema Ax = b a la forma
x = Dx + d, del siguiente modo:

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

65

Sea el sistema original


a1,1 x1 + a1,2 x2 + + a1,n xn = b1
a2,1 x1 + a2,2 x2 + + a2,n xn = b2
..
..
..
.. . .
.
..
.. ..
. ..
.
.
.
.
.
. .
an,1 x1 + an,2 x2 + + an,n xn = bn
Suponiendo que ai,i 6= 0 para i = 1, ..., n, despejamos las variables x1 , ..., xn
de las n ecuaciones, respectivamente:
x1 =

1
(b1 a1,2 x2 a1,3 x3 ... a1,n xn )
a1,1

1
(b2 a2,1 x2 a2,3 x3 ... a2,n xn )
a2,2
..
.
1
=
(bn an,1 x1 an,2 x2 ... an,n1 xn1 )
an,n

x2 =

xn

De esta forma tenemos


b
1
0
aa1,2
aa1,3
aa1,n
a1,1

1,1
1,1
1,1

x1
b2
a
a
a
a2,1
0
a2,3
a2,n
x2 a2,2
2,2
2,2
2,2

.. = . + .
..
..
..
...
. .. ..
.
.
.


bn
xn
an,1
an,2
an,3
0
an,n an,n an,n
an,n
Es decir, la funcin iteracin quedara establecido por

x1
x2
..
.
xn

x = (x) = Dx + d
donde

aa1,2
1,1

aa1,3
1,1

aa1,n
1,1

a2,1

0
aa2,3
aa2,n
a2,2
2,2
2,2
D=
..
..
..
..
...
.
.
.
.

n,1
n,2
n,3
aan,n
aan,n

0
aan,n

d=

b1
a1,1
b2
a2,2

..
.
bn
an,n

(3.14)

El mtodo de Gauss-Jacobi consiste en lo siguiente: dado x0 , una aproximacin inicial a la solucin del sistema lineal Ax = b, obtener x1 , x2 , ..., xk , ...por
medio de la relacin recursiva
xk+1 = Dxk + d

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

66

donde D y d estn definidos en este caso por (3.14). O sino:

1
b1 a1,2 xk2 a1,3 xk3 ... a1,n xkn
a1,1

1
=
b2 a2,1 xk2 a2,3 xk3 ... a2,n xkn
a2,2
..
.

1
=
bn an,1 xk1 an,2 xk2 ... an,n1 xkn1
an,n

xk+1
=
1
xk+1
2

xk+1
n

(3.15)

Una caracterstica de los mtodos iterativos, a diferencia de los mtodos


directos, es que slo convergen si algunas hiptesis son satisfechas.
Criterio de convergencia para el mtodo de Gauss-Jacobi Dado el
sistema lineal Ax = b, sea
Pn
j=1j6=i |ai,j |
i =
y
= max {i }
1in
|ai,i |
Si < 1, entonces el mtodo de Gauss-Jacobi genera una sucesin de vec
tores xk k=0 , la cual converge a la solucin del sistema lineal Ax = b,
independientemente de la eleccin del vector inicial x0 .

3.10.

Comparacin entre Mtodos Directos e


Iterativos

Convergencia: Los mtodos directos son procesos finitos y, tericamente,


encuentran la solucin exacta de cualquier sistema de ecuaciones, desde que sta exista. En la prctica no es bien cierto esta ltima afirmacin, pues debemos tener en cuenta los errores de clculo del sistema de cmputo y el mal condicionamiento del sistema. Por otro
lado, los mtodos iterativos apenas convergen cuando son satisfechos
algunos requerimientos. Esto ltimo parece tornarlos poco atractivos
en la prctica, pero debemos tener en cuenta el espacio requerido en
memoria-computador, observe por ejemplo la ecuacin (3.15), notar
que para operar el mtodo de Gauss-Jacobi, slo necesitamos almacenar
en memoria la matriz A y el vector b, el resto de clculos no requieren la
construccin de matrices auxiliares como en el mtodo directo basado
en la descomposicin LU.

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

67

Errores de redondeo: Mtodos directos modifican el sistema original, por


ejemplo, en la triangularizacin hecha por el mtodo de Gauss, adicionalmante a los errores cometidos por un sistema de cmputo, los
datos del problema original son alterados y la solucin no es precisa
desde un punto de vista computacional. Por otro lado, los mtodos
iterativos no modifican el sistema original y, una vez asegurada la convergencia, los errores numricos son menores a los cometidos por los
mtodos directos.
Problema 3.2 Investigue la prueba del criterio de convergencia del mtodo
de Gauss-Jacobi.
Problema 3.3 Investigue sobre el mtodo iterativo de Gauss-Seidel.
Problema 3.4 Elaborar una estrategia para resolver un sistema de ecuaciones lineales indeterminado, es decir, donde el nmero de ecuaciones es
menor que el nmero de variables (m < n).
Una de las opciones sera la siguiente: Asumamos que el sistema est definido
por Ax = b, donde A Rmn , b Rm y m < n. Inicialmente, asumamos que
el rango de A es completo, es decir, m. Por este motivo, existe una submatriz
cuadrada e inversible B, tal que, posiblemente despus de un intercambio
compatible de posiciones de columnas de A y de variables de x, tenemos:

B N
A =

xB
x =
xN
As, Ax = b es equivalente a

xB
B N
= b BxB + NxN = b xB = B 1 b B 1 NxN
xN

Luego, las soluciones x Rn seran generadas dando valores arbitrarios a


xN Rnm , mediante:

xB
B b B 1 NxN
x =
=
xN
xN
As por ejemplo, haciendo xN = 0 Rnm , tendramos:
1
B b
x =
0

CAPTULO 3. RESOLUCIN DE SISTEMAS LINEALES

68

el cual, claramente, es una solucin para el sistema Ax = b. Se debe advertir


que, a diferencia de la resolucin de sistemas cuadrados, la estrategia expuesta no es eficiente, pues encontrar las columnas de A que conformarn B
puede ser extremadamente costoso. Esto se debe a que resolver sistemas indeterminados, y tambin sobredeterminados, es realmente difcil. El estudiante
debera investigar otras opciones adems de la expuesta aqu.

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