Está en la página 1de 107

Notas de Clase

Metodos Numericos A
Gu

a Te

orica Ejercicios Pr

actica de
Laboratorio
Mara Cristina Maciel
1
Segundo Cuatrimestre 2014
1
Ph.D in Mathematical Sciences, Rice University, Houston, Texas. Profesora Titular del
Departamento de Matematica de la Universidad Nacional del Sur, Avenida Alem 1253, 2do
Piso, Ocina 1, 8000 Baha Blanca, ARGENTINA. e-mail: immaciel@criba.edu.ar
Contenido
1 Presentacion 6
1.1 Que estudia el An alisis Numerico? . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Una aplicaci on y su solucion numerica . . . . . . . . . . . . . . . . . . . . 12
1.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Aritmetica de punto otante 16
2.1 Errores de redondeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2 Error absoluto, error relativo, cifras signicativas . . . . . . . . . . . . . . 19
2.3 Propagacion de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Ejercicios Practica de Laboratorio . . . . . . . . . . . . . . . . . . . . . . 27
3 Estabilidad y condicionamiento 31
3.1 Costo aritmetico de un algoritmo . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 Nocion de op . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Regla de Horner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4 Ejercicios Practica de Laboratorio . . . . . . . . . . . . . . . . . . . . . . 40
4 Normas vectoriales y matriciales 43
4.1 Norma vectorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Error absoluto y error relativo . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.1 Propiedades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5 Condicion de una matriz 51
5.1 Signicado geometrico de la singularidad numerica . . . . . . . . . . . . . . 52
5.2 Condicion de un sistema lineal . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
1
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 2
6 Estimaci on de cotas para el error relativo 58
6.1 Valores singulares de una matriz . . . . . . . . . . . . . . . . . . . . . . . . 60
6.2 Determinante y singularidad numerica . . . . . . . . . . . . . . . . . . . . 63
6.3 Ejercicios Practica de Laboratorio . . . . . . . . . . . . . . . . . . . . . . 65
7 Metodos de resolucion de sistemas lineales 68
7.1 Sistemas triangulares inferiores . . . . . . . . . . . . . . . . . . . . . . . . 70
7.2 Sistemas triangulares superiores . . . . . . . . . . . . . . . . . . . . . . . . 71
7.3 Eliminacion de Gauss y la factorizaci on LU . . . . . . . . . . . . . . . . . . 72
7.3.1 La transformacion de Gauss . . . . . . . . . . . . . . . . . . . . . . 72
7.4 Teorema sobre pivoteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8 Inestabilidad de EG 78
8.1 Crecimiento de los elementos y estabilidad . . . . . . . . . . . . . . . . . . 80
8.2 Eliminacion de Gauss con pivoteo parcial, EGPP . . . . . . . . . . . . . . 80
8.3 Detalles practicos del algoritmo EGPP . . . . . . . . . . . . . . . . . . . . 81
8.4 Eliminacion de Gauss con pivoteo completo, EGPC . . . . . . . . . . . . . 83
8.5 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 84
9 Costo computacional de la factorizaci on LUSistemas especiales 86
9.1 Ranking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.2 Sistemas lineales especiales . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.3 Factorizacion de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.4 Matrices diagonalmente dominantes . . . . . . . . . . . . . . . . . . . . . . 90
9.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10 Metodos iterativos 97
10.1 Metodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.2 Metodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.3 Convergencia de los metodos . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.4 Metodo de sobre relajacion sucesiva . . . . . . . . . . . . . . . . . . . . . . 103
10.4.1 Elecci on del parametro . . . . . . . . . . . . . . . . . . . . . . . . 104
10.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
11 Resolucion numerica de una ecuacion algebraica no lineal 107
11.1 Iteracion de punto jo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
11.2 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
11.3 Velocidad de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
11.4 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 117
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 3
12 Resolucion numerica de una ecuacion algebraica no lineal 119
12.1 Teoremas de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
12.2 Metodos cuando la derivada no esta disponible . . . . . . . . . . . . . . . . 122
12.3 Metodo de la secante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
12.4 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 126
13 Estrategias de globalizacion 128
13.1 Metodo de bisecci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
13.2 Metodo de regula falsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
13.3 Metodo de retroceso, (backtracking) . . . . . . . . . . . . . . . . . . . . . . 131
13.4 El problema de minimizacion . . . . . . . . . . . . . . . . . . . . . . . . . 133
13.5 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 135
14 Sistemas no lineales: el caso n-dimensional 137
14.1 Metodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
14.1.1 Metodo de Newton para el problema de optimizaci on irrestricta . . 140
14.2 Convergencia del metodo de Newton . . . . . . . . . . . . . . . . . . . . . 140
14.3 Metodo de Newton/diferencias nitas . . . . . . . . . . . . . . . . . . . . 142
14.4 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 144
15 Metodo de direcciones conjugadas 146
15.1 Metodo del gradiente (de Cauchy o de maximo descenso) . . . . . . . . . . 147
15.2 Metodo de gradientes conjugados . . . . . . . . . . . . . . . . . . . . . . . 152
15.2.1 Expresiones equivalentes de los coecientes
k
y
k
. . . . . . . . . 155
15.3 Ejercicios - Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 156
16 Aproximacion de funciones 158
16.1 Interpolacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
16.2 Interpolacion por medio de polinomios . . . . . . . . . . . . . . . . . . . . 159
16.3 Forma de Newton del polinomio interpolante . . . . . . . . . . . . . . . . . 163
16.4 Diferencias divididas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
16.5 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 167
17 Analisis del error de interpolacion 171
17.1 Cotas para el error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
17.2 Polinomios de Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
17.3 Eleccion de los nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
17.4 Convergencia de la sucesion de polinomios interpolantes . . . . . . . . . . . 177
17.5 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 177
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 4
18 Interpolacion mediante splines 179
18.1 Construccion de spline c ubicos . . . . . . . . . . . . . . . . . . . . . . . . . 180
18.2 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 185
19 Cuadrados mnimos 188
19.1 El caso lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
19.2 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
20 Integracion numerica 195
20.1 Reglas basica de integracion . . . . . . . . . . . . . . . . . . . . . . . . . . 195
20.2 Regla del trapecio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
20.2.1 Elecci on del n umero de subintervalos . . . . . . . . . . . . . . . . . 198
20.3 Regla de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
20.4 Formulas de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
20.5 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
21 Extrapolacion de Richardson 208
21.1 Cuadratura de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
21.2 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 214
22 Resolucion numerica de ecuaciones diferenciales ordinarias 216
22.1 Metodos basados en series de Taylor . . . . . . . . . . . . . . . . . . . . . 219
22.2 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
22.3 Tipos de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
22.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
23 Metodos de Runge-Kutta 224
23.1 Metodo de Runge-Kutta de orden 2 . . . . . . . . . . . . . . . . . . . . . . 224
23.2 Metodo de Runge-Kutta de orden 4 . . . . . . . . . . . . . . . . . . . . . . 227
23.3 Analisis del error de truncamiento en los metodos Runge-Kutta . . . . . . 229
23.4 Metodo adaptativo de Runge-Kutta-Fehlberg . . . . . . . . . . . . . . . . . 231
23.5 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 232
24 Metodos de paso m ultiple 234
24.1 Formula de Adams-Bashforth . . . . . . . . . . . . . . . . . . . . . . . . . 234
24.2 Formula de Adams-Moulton . . . . . . . . . . . . . . . . . . . . . . . . . . 235
24.3 Metodo Predictor-Corrector . . . . . . . . . . . . . . . . . . . . . . . . . . 236
24.4 Analisis de los metodos lineales de paso m ultiples . . . . . . . . . . . . . . 237
24.5 Ejercicios Practica de laboratorio . . . . . . . . . . . . . . . . . . . . . . 239
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 5
25 Sistemas y ecuaciones diferenciales de orden superior 241
25.1 Problemas con valores de frontera . . . . . . . . . . . . . . . . . . . . . . . 243
25.2 Ejercicios - Practica de Laboratorio . . . . . . . . . . . . . . . . . . . . . . 244
Clase 1
Presentacion
1.1 Que estudia el An alisis Numerico?
En estas notas, comenzamos discutiendo cuales son los objetivos y alcances del area de
Analisis Numerico (AN), para lo cual se siguen las ideas de Trefethen [TRE92, TB97].
Es un hecho bien conocido que siempre ha habido una interaccion estrecha entre la
Matematica y la Tecnologa: la Matematica es usada en una forma u otra en la mayora
de las areas de la Ciencia y la Industria.
En muchas aplicaciones aparecen problemas matematicos que no pueden ser resueltos
convenientemente con formulas exactas. Por ejemplo
integrales como
_

0
e
x
2
dx,
hallar un cero de la ecuaci on no lineal x
9
ln(x
3
3x
2
+ tan x) e
x
2
cos x = 0
ciertos problemas de ecuaciones diferenciales.
En general, se consideran casos especiales o modelos simplicados de un problema, para
que pueda ser facilmente analizado. Estas aproximaciones pueden ser efectivas para un
n umero reducido de situaciones. Pero en muchos casos la aproximaci on no es suciente.
Es preferible estudiar un problema menos simplicado y resolverlo por medio de un metodo
numerico. Estos son parte del area del Analisis Numerico, que describimos abajo.
El Analisis Numerico es una de las areas de la Matematica, que se ha desarrollado
muy rapidamente durante las ultimas decadas, a causa del a un mas rapido desarrollo de
las computadoras. Pero..
Que estudia el Analisis Numerico?.
6
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 7
Desafortunadamente, una creencia falsa, bastante difundida y que distorsiona el verdadero
alcance de un area como es esta es la siguiente denici on:
Denicion 1.1 El Analisis Numerico es el estudio de los errores de redondeo.
El estudio de los errores de redondeo es algo complicado, tedioso e inevitable pero no
es fundamental. Si la denici on fuera del todo verdad, no sera ninguna sorpresa que el
area de An alisis Numerico haya adquirido mala fama y tanto matematicos como fsicos y
calculistas la hayan tenido en tan baja estima a traves de los a nos.
Mucha gente de nuestra comunidad cientca realmente cree que la denici on 1.1 tiene
mucho de verdad. No son culpables pues mirando los captulos introductorios de textos
bien conocidos como los mencionados abajo se observa:
Stoer-Burlisch (1980) [SB80]: Analisis de error.
Conte-de Boor (1980) [CdB72]: Sistemas de n umeros y errores.
Atkinson (1988) [ATK89]: Errores, sus fuentes, propagaci on y analisis.
etc...
Tal creencia se puede justicar, pero lo cierto es que solo hay una peque na parte de
verdad en la denicion 1.1. Existen explicaciones historicas de la inuencia que tuvo la
denici on en el pasado, pero no es apropiada en la actualidad y esta destinada a convertirse
en in util en el futuro.
La siguiente es una denici on alternativa que se ajusta mejor a los propositos de este
campo, aunque esta muy lejos de ser perfecta.
Denici on 1.2 El Analisis Numerico es el estudio de algoritmos
para resolver problemas continuos de la matematica.
En esta denicion la palabra clave es algoritmos, y la esencia del trabajo del analista
numerico es desarrollar, analizar y evaluar algoritmos para resolver ciertos problemas.
Pregunta: Que problemas?
Respuesta: Los problemas continuos de la matematica.
Denicion 1.3 (Nocion intuitiva de algoritmo)
Un algoritmo es un conjunto de instrucciones precisas que especican la ejecucion de una
serie nita de operaciones elementales bien denidas, (sea lo que sea que quiera decir
elemental).
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 8
Denicion 1.4 (Algoritmo numerico)
Un algoritmo numerico es una serie de instrucciones dise nadas para ejecutar operaciones
numericas para un conjunto de datos.
El n umero de operaciones elementales disponibles es limitado, +, , , , y lo
mismo ocurre con el tiempo de ejecuci on.
La descripcion formal de un algoritmo requiere un grado de precision que debe ser
garantizado por el orden de los pasos a seguir.
Ejemplo 1.1 (Metodo de biseccion)
Problema: Hallar una raz de la ecuacion no lineal f(x) = 0.
Resultado del c alculo elemental:
Sea f : [a, b] R, continua tal que f(a)f(b) < 0, entonces existe al menos un punto
x

(a, b) tal que f(x

) = 0.
Pregunta: Como podemos estimar una raz de la ecuaci on, utilizando el resultado
anterior ?
Respuesta: Una posibilidad es la siguiente estrategia:
Hacemos x
m
=
a +b
2
.
Si f(x
m
) = 0 la raz es x
m
en otro caso
Si f(a)f(x
m
) < 0 (a, x
m
) contiene al menos una raz de
f(x) = 0.
Si f(x
m
)f(b) < 0 (x
m
, b) contiene al menos una raz de
f(x) = 0.
Este proceso se puede repetir hasta que el punto medio de algunos de los subintervalos
sea la raz exacta o bien hasta que se haya aproximado sucientemente a x

.
Entonces escribimos:
Algoritmo 1.1 (Esquema del metodo de biseccion)
DATOS: la funcion f(x), los extremos del intervalo [a, b].
Si f(a)f(b) < 0 hacer x
m
=
a +b
2
(1) Si x
m
es proxima a una raz, TERMINAR.
(2) en caso contrario
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 9
(2a) Si f(a)f(x
m
) < 0 entonces
cambiar b por x
m
, hacer x
m
=
a +b
2
, ir a (1).
(2b) Si f(x
m
)f(b) < 0 entonces
cambiar a por x
m
, hacer x
m
=
a +b
2
, ir a (1).
en caso contrario: el algoritmo no se puede aplicar.
La funcion de la graca de la gura 1.1 tiene cuatro races. Algunos intervalos donde
podemos aplicar el algoritmo son [1, 2] o [2, 5.5], pero es claro que no es posible aplicar
el metodo de bisecci on en el intervalo [1, 6].
1 0 1 2 3 4 5 6
-40
-20
0
20
40
60
80
100
120
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Figura 1.1: Graco de la funcion f(x) = x
4
12x
3
+ 47x
2
60x.
Observaciones.
1) La instruccion de encontrar un subintervalo cada vez mas peque no es ejecutable,
mientras que el resultado teorico no lo es. Pero, la propiedad sobre f en [a, b]
garantiza que bajo ciertas condiciones el algoritmo se puede utilizar.
2) La ejecuci on de un algoritmo procede paso a paso. El orden en el cual los pasos se
van sucediendo debe quedar claramente establecido, sin ambiguedades. Cuando el
algoritmo es ejecutado, se dice que la sucesion de pasos es el proceso descripto por
el algoritmo.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 10
3) El algoritmo es ejecutado por un procesador: el ser humano o una computadora.
4) Observemos que cada paso consiste de la ejecuci on de uno o varios sub-algoritmos
que se simbolizan con nombres. En el ejemplo, en el primer paso hay que hallar el
valor de f en a y en b. Eso signica que all se necesita un algoritmo para calcular
f dado un argumento x.
5) Para escribir un algoritmo hay dos mecanismos (que aparecen en el ejemplo). Ellos
son decidir y repetir. En el ejemplo, la elecci on de que camino seguir se basa en el
signo de f(a).f(x
m
). El proceso es repetido hasta que una raz o una aproximaci on
de ella es encontrada. Esto signica que el proceso se repite hasta que
[f(x
m
)[
1
o [b a[
2
,
donde
1
y
2
son n umero reales positivos sucientemente peque nos que ja el
usuario.
El proceso es repetido hasta que una condici on es vericada satisfactoriamente. En
ese caso se dice que el algoritmo termina.
6) Si se quiere que el algoritmo sea ejecutado por una computadora, hay que traducir
el esquema a un lenguaje que sea aceptable por el procesador. En Analisis Numerico
el lenguaje mas utilizado es FORTRAN y en segundo lugar C++. Estos lenguajes
se denominan lenguajes de programaci on.
Un programa o c odigo es la forma que se tiene para decir a la computadora
como ejecutar un algoritmo.
En el curso no vamos usar estos lenguajes, sino que usaremos un utilitario poderoso
cuyo soporte son excelentes paquetes escritos en FORTRAN. Nos estamos reriendo
a MATLAB, MATtrix LABoratory.
Sigamos comentando la denicion de Analisis Numerico. Dijimos que el trabajo del
analista numerico es desarrollar, analizar y evaluar algoritmos para resolver los problemas
continuos de la matematica. Continuo signica que variables reales o complejas estan
involucradas en el problema. Las ciencias exactas e ingeniera estan construdas sobre
problemas continuos y sin metodos numericos para resolverlos las ciencias y la ingeniera
como son practicadas hoy da, no podran llevarse a cabo. Los problemas continuos pre-
ocupan a la mayora de los matematicos desde los tiempos de Newton hasta hoy. As como
los matematicos puros, los analistas numericos tambien son los herederos de la tradicion
de Euler, Lagrange, Gauss entre otros celebres matematicos.
Por otra parte los n umeros reales y complejos no pueden ser representados exacta-
mente en una computadora. De este hecho la denicion 1.2 implica que parte del trabajo
que se realiza en el area de Analisis Numerico debe ser aproximar estos n umeros. Aqu es
donde entran a jugar los errores de redondeo.
Ahora bien, se pueden distinguir dos clases de problemas continuos de acuerdo al tipo
de algoritmo que los resuelve.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 11
1.- Problemas que son resueltos por algoritmos en un n umero nitos de pasos, es decir
algoritmos que generan un n umero nito de iterados x
1
, , x
N
. Por ejemplo el
metodo de eliminaci on de Gauss (EG) para resolver un sistema lineal Ax = b.
Vamos a ver que para comprender EG todo lo que hay que saber, es como contar el
n umero de operaciones involucradas en el proceso y entender como se propagan los
errores de redondeo. En este caso (donde el problema continuo es resolver el sistema
lineal Ax = b y el algoritmo es EG), solo se puede decir que la denicion 1.2 no es
otra que la denici on 1.1 expresada en una forma mas agradable.
2.- Problemas que se resuelven usando algoritmos que generan un sucesion x
n
que
aproxima la solucion. Mas a un, muchos problemas de Analisis Numerico no se
pueden resolver exactamente a un si se trabaja con aritmetica exacta, (es decir sin
errores de redondeo). Ejemplos de estos problemas son: c alculo de autovalores y
autovectores de una matriz, calculo de races de una ecuaci on no lineal, b usqueda
de extremos de una funcion.
La tarea fundamental del Analisis Numerico es analizar como se aproxima x
n
a la
solucion del problema. El objetivo es obtener una rapida velocidad de convergencia y
el orgullo de este campo es que para muchos problemas, se han desarrollado algoritmos
que muestran una rapida velocidad de convergencia. Frente a este objetivo, aproximar
n umeros (que es la tarea de la teora de punto otante), es un topico de menor relevancia.
Estos puntos son algunas veces olvidados por los entusiastas de la computaci on simbolica,
quienes piensan que la existencia de MAPLE o MATEMATICA hace que MATLAB y
FORTRAN sean obsoletos. Esto es falso, ya que si bien es cierto que los errores de
redondeo pueden desaparecer en el sentido que cualquier sucesion nita de operaciones
algebraicas en una computadora se puede representar por medio de apropiadas opera-
ciones simbolicas esto solo pospone la inevitable aproximacion al n del calculo, donde en
la mayora de los casos las cantidades involucradas pueden ser muy difciles de tratar.
Conclusion: Como un corolario de la denicion 1.2 podemos decir que el Analisis
Numerico es un area que esta comprometida con los errores de redondeo y con errores
mas profundos asociados con la convergencia de las aproximaciones que intervienen. Se
puede hacer que la denici on 1.2 sea mas explcita agregando alguna frase que describa
estas aproximaciones y errores. Pero es claro que una vez que algo es agregado es difcil
no seguir analizando.
La denicion 1.2 tambien falla al no mencionar algunos puntos:
1. Que estos algoritmos son implementados en computadoras, cuyas arquitecturas pueden
ser una parte importante del problema. Por lo tanto portabilidad, conabilidad y
eciencia de los algoritmos son objetivos importantes.
2. Que algunos analistas numericos escriben programas y otros prueban teoremas,
y lo mas importante a un,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 12
3. que todo este trabajo es aplicado a diario y con exito a miles de problemas de la vida
real y utilizando millones de computadoras alrededor del mundo.
1.2 Una aplicaci on y su soluci on numerica
Terminamos la clase, mostrando con un ejemplo sencillo los principios fundamentales de
los metodos numericos.
Para describir, analizar y controlar un proceso cientco o tecnico se utilizan alguna de
las siguientes dos estrategias: la estrategia experimental o la simulaci on. En el primer caso
la informacion se obtiene examinando los objetos y fenomenos involucrados en el proceso.
En la simulaci on los experimentos y examenes son ejecutados por programas computa-
cionales basados en modelos matematicos. Los modelos son deducidos del conocimiento
cientco usado para explicar ciertos fenomenos y sus leyes.
Ejemplo 1.2 Movimiento oscilatorio de un pendulo simple
El perodo de oscilacion T de un pendulo con pivote jo, puede determinarse en forma
experimental: efectuando mediciones en pendulos reales. Sin embargo es mas benecioso
usar un modelo matematico en lugar de un pendulo real para determinar el perodo de
oscilaci on.
El proceso de construccion de un modelo matematico para el pendulo apunta a crear
una herramienta muy simple cuyas propiedades numericas sean comprendidas y aceptables
para calcular en forma aproximada valores para el perodo de oscilaci on. Es claro que
para desarrollar una herramienta as, tenemos que responder a las preguntas:
1. Que cantidades son relevantes para el movimiento del pendulo?
2. C omo se combinan estas cantidades para obtener un modelo que describa cuanti-
tativamente el movimiento del pendulo?
Comenzamos introduciendo la nocion de perodo de oscilacion. Perodo denota el
intervalo de tiempo entre el instante que el pendulo es soltado hasta el instante en que
retorna al mismo punto. Esto es, el tiempo requerido para que el pendulo complete un
balanceo. La exactitud requerida para este problema se puede formular como
[T
cal
T
real
[
donde T
real
denota el tiempo exacto mientras que T
cal
es el tiempo calculado y una
tolerancia que depende de la aplicaci on.
El concepto de pendulo matematico es el resultado de la siguiente idealizaci on:
1. La oscilaci on se supone no amortiguada. Se ignoran fuerzas de friccion y resistencia
del aire.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 13
........................................................................................................................................................................................................................................................................................................................................................................................................................................... ........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
........................................................................
....................................................................................................................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................................................................................................
.......................................................
.......................................................................................... ... .. .. . . .. .
................
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .................
................
............. ............. .............
.............
.............
.............
.............
.............

g
Figura 1.2: Pendulo Matematico.
2. Se supone que la masa del pendulo esta concentrada en un unico punto y suspendido
por una varilla sin peso.
El movimiento del pendulo matematico se describe por la solucion de la siguiente ecuaci on
diferencial no lineal de segundo orden

(t) =
2
sin((t)),
2
=
g

(1.1)
con las condiciones iniciales
(0) =
0
,

(0) = 0, (1.2)
i.e el movimiento comienza en el instante t = 0 con velocidad nula.
La solucion = (t) modela el desplazamiento del pendulo a partir de la posicion de
descanso ((0) =
0
). Los parametros del modelo son:
1. El desplazamiento angular inicial: (0) =
0
.
2. la longitud del pendulo (distancia entre el punto de masa y el eje).
3. La constante gravitacional g = 9.8066m
2
.
La solucion de este problema de ecuaciones diferenciales se puede obtener en forma
analtica con la ayuda de una clases particular de funciones especiales, las funciones
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 14
elpticas de Jacobi [UEB97a]. Ahora bien, cuando
0
es peque no, sin
0

0
, entonces la
ecuaci on diferencial no lineal (1.1) se puede reemplazar por la ecuaci on diferencial lineal

(t) =
2
(t),
que obviamente es mas simple de resolver. La solucion general de la ecuaci on lineal de
segundo orden es
(t) = Acos t +Bsint.
Las constante A y B se determinan a partir de las condiciones iniciales (1.2), obteniendo
A =
0
y B = 0.
Se puede obtener un modelo mas complejo incorporando un termino de friccion

(t) =
2
sin((t)) F((t)).
La forma del termino de friccion se puede obtener como resultado de la construccion de
un proceso basado en experimentos relevantes del sistema.
Si estos modelos no son sucientemente buenos para una aplicaci on particular, se puede
construir o redenir modelos mas complejos. Modelos basados en ecuaciones diferenciales
parciales, permiten modelar deformaciones elasticas o el efecto de las fuerzas aerodinamicas
del pendulo.
Una vez que un modelo aceptable ha sido elegido, el problema tiene que ser resuelto.
Esto es hay que calcular el perodo de oscilaci on T. La solucion es (t) =
0
cos t,
entonces el perodo de oscilaci on (independiente de
0
) es
T

=
2

= 2

g
.
Este resultado es aceptable para valores peque nos del desplazamiento inicial
0
. El valor
maximo de
0
para el cual el resultado T

es a un aceptable depende de la exactitud que


se pretende.
El perodo que resulta de la ecuaci on diferencial no lineal se puede expresar en
terminos de la integral elptica de primera clase
K(k) =
_
2
0
dt

1 k
2
sin t
, (1.3)
donde k = sin
_

0
2
_
. El perodo de oscilaci on es T =
4

K(k).
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 15
1.3 Ejercicios
Ejercicio 1.1 Aplicar el algoritmo metodo de bisecci on para hallar la raz de f(x) = x
3
en [a, b] = [1, 2] con = 10
6
.
Ejercicio 1.2 Asuma que el metodo de bisecci on se aplica a f : [a, b] R, con una
tolerancia . Sea L
0
= [b a[.
a) Muestre que despues de k iteraciones la longitud del intervalo es
L
k
=
L
0
2
k
.
b) Suponga que el algoritmo termina cuando L
k
. Muestre que el metodo requiere
_
log
2
_
L
0

__
iteraciones.
Laboratorio 1.1 Utilice la subrutina pendulo, para evaluar la integral elptica de primera
clase (1.3).
a) Corra el codigo con diferentes valores de
0
(trate angulos proximos a cero, en sen-
tido horario, antihorario, mayores de 90, etc.) y variando la cantidad de iteraciones.
b) Interprete los resultados y establezca sus conclusiones acerca del experimento.
REFERENCIAS PARA LA CLASE: [FMM77, HEA97, STE96, TRE92, TB97, UEB97a].
Clase 2
Aritmetica de punto otante
Comenzamos dando una introducci on a la aritmetica de punto otante ya que para los
algoritmos que se quieren estudiar es necesario tener una idea de como se representan los
n umeros reales, que denotamos con R en una computadora.
Generalmente cuando se efectuan calculos usando una calculadora o una computadora,
cada operaci on aritmetica se ve afectada por errores. Estos errores aparecen porque en
la computadora solo se puede representar un subconjunto nito de los n umeros reales.
Llamaremos F a tal conjunto y a sus elementos n umeros en punto otante o punto otante
para abreviar. Para nuestro propositos seguiremos la convencion establecida por Forsythe,
Malcom y Moler [FMM77].
El sistema de n umeros en punto otante esta caracterizado por los n umeros enteros:
La base .
La precision t (longitud de palabra).
El exponente e [L, U].
Cada n umero x F tiene la forma
x =
_
d
1

+
d
2

2
+ +
d
t

t
_

e
, 0 d
i
< .
El punto otante x se denota como x =
e
(0.d
1
d
2
d
t
)

. Por lo tanto
F = x : x R, x =
e
(0.d
1
d
2
d
t
)

, 0 d
i
1.
Si d
1
,= 0, se dice que el n umero en punto otante esta normalizado.
Las cantidades t, e, dependen de la arquitectura de la maquina. Por ejemplo para
la VAX (1977..) = 2, L = 64, U = 64, t = 8 en precision simple y t = 16 en precision
doble.
16
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 17
Ejemplo 2.1 Sean c = 69.5, = 16.
69.5 = 64 + 5 + 0.5
= 4 16
1
+ 5 16
0
+ 8 16
1
=
_
4
16
+
5
16
2
+
8
16
3
_
16
2
.
Si t = 2 entonces 69.5 = +(0.45)
16
16
2
, y si t = 3 se tiene 69.5 = +(0.458)
16
16
2
.
Si = 10,
2571 = 2 10
3
+ 5 10
2
+ 7 10
1
+ 1 10
0
=
_
2
10
+
5
10
2
+
7
10
3
+
1
10
4
_
10
4
.
0.079 =
_
7
10
2
+
9
10
3
_
10
0
.
Dado que F es nito los n umeros reales en valor absoluto mas grande que el maximo
elemento de F y menores que el mnimo de los elementos de F no pueden ser representados.
Ademas cada elemento de F representa todo un intervalo de n umeros reales,
f F m [f[ M
donde
m =
L1
M =
U
(1
t
).
El conjunto F es nito y tiene un n umero impar de elementos:
card(F) = 2( 1)
t1
(U L + 1) + 1.
Estos elementos no estan igualmente espaciados.
Ejemplo 2.2 (Forsythe, Malcon y Moler [FMM77]). Se quiere describir el conjunto F
cuando = 2, t = 3, L = 1, U = 2.
Comenzamos observando que F tiene 33 elementos,
card(F) = 2(2 1)2
31
(2 + 1 + 1) + 1 = 33.
Los elementos de F son el cero y aquellos elementos f de la forma
f =
_
d
1
2
+
d
2
2
2
+
d
3
2
3
_
2
e
,
con e = 1, 0, 1, 2; 0 d
i
1 y d
1
,= 0. Es decir
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 18

.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
0
1
2

1
2
1
4

1
4
7
2

7
2
1 1 2 2 3 3 4 4
Figura 2.1: El conjunto F para = 2, t = 3, L = 1, U = 2.
F = 0, 0.25, 0.3125, 0.3750, 0.4375, 0.5, 0.625, 0.75,
0.875, 1, 1.25, 1.50, 1.75, 2, 2.5, 3, 3.5.
Consideremos el conjunto
f : 2
2
[f[ 2
2
(1 2
3
) =
_
f :
1
4
[f[
7
2
_
=
_

7
2
,
1
4
_

_
1
4
,
7
2
_
.
Supongamos ahora que deseamos sumar
5
4
y
3
8
.
5
4
+
3
8
= 1.250 + 0.375 = 1.625 , F.
La operaci on de adicion debe ser simulada por la computadora por una aproximacion
llamada adicion de punto otante. Si x, y F y x +y , F, pero
fl(x +y) F.
Hoy da, en la mayora de las maquinas esta operacion se puede efectuar para todo x, y.
En nuestro sistema fl(
5
4
+
3
8
) sera
3
2
o
7
4
. La diferencia entre fl(x + y) y x + y, (para
x, y F) es el error de redondeo que se comete en la adici on de punto otante.
Propiedades similares valen para otras operaciones de punto otante tales como sus-
traccion, multiplicacion y division.
Ejemplo 2.3
7
2
+
7
2
= 7 , F.
En este caso la computadora indica overow y el programa se interrumpe abruptamente.

7
2

1
2
= 4 , F.
es decir esta por debajo de la cota inferior. El sistema indica underow. Las modernas
computadoras continuan el proceso, despues de establecer la operaci on a cero.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 19
2.1 Errores de redondeo
En la secci on anterior, quedo claro que una limitacion que impone el sistema F, es que no
todos los n umeros reales se pueden representar exactamente.
Ejemplo 2.4 Consideremos

7 = 2.6457513 . . .. Si se utiliza una computadora con


= 10, t = 5 los dgitos despues del quinto se descartan. Hay dos formas de hacer este
descarte, el convencional redondeo aritmetico obteniendose

7 = 2.6458,
mientras que si se usa redondeo por truncamiento

7 = 2.6457.
Redondear signica reemplazar un n umero dado, por el n umero mas cercano en la
aritmetica de punto otante. Discutiremos como estimar una cota del error que se comete
al aproximar un n umero real utilizando redondeo, ya sea aritmetico o por truncamiento.
Formalicemos este concepto
Denicion 2.1 Dado x R, se dene fl(x) = c F como sigue,
Si se usa redondeo aritmetico, c es el punto mas cercano a x.
Si se usa truncamiento, c es tal que [c[ [x[.
En este caso c es formado truncando el desarrollo de x en base hasta t cifras.
Conclusion: las implicaciones que acarrea el almacenamiento de n umeros reales en pre-
cisi on nita se pueden resumir simplemente:
1) Dado que no todo n umero real se puede representar exactamente en una computa-
dora lo mejor que podemos esperar es que la solucion sea tan buena como la precisi on
de la computadora.
2) Dependiendo de la maquina y del compilador los resultados intermedios son trun-
cados o redondeados a la precision de la maquina. Entonces inexactitudes debido a
la precision nita se pueden acumular perjudicando la precision del resultado nal.
2.2 Error absoluto, error relativo, cifras signicativas
El siguiente teorema dice que fl(x) es igual a x multiplicado por un factor proximo a 1.
Teorema 2.1 Si x R, est a en el rango determinado por F, entonces existe R tal
que fl(x) = x(1 +) donde [[
1t
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 20
Demostraci on: Sin perdida de generalidad podemos suponer x > 0, ya que el caso
x < 0 se puede tratar en forma analoga y el caso x = 0 es trivial.
Si fl(x) =
e
(0.d
1
d
2
d
t
) entonces

e1
x <
e
. (2.1)
De
fl(x) =
e
0.d
1
d
2
d
t
x =
e
0.d
1
d
2
d
t
d
t+1
d
t+2

fl(x) x =
e
(0. 0 0
. .
t
d
t+1
d
t+2
)
=
e

t
(0.d
t+1
) con d
i
< , i t + 1,
se tiene
[fl(x) x[
et
. (2.2)
De ( 2.2) y ( 2.1) se tiene que
[fl(x) x[
x


et

e1
=
1t
.
Si denimos =
fl(x) x
x
entonces se tiene [[
1t
y fl(x) = x + x, es decir
fl(x) = x( + 1). Por lo tanto,
fl(x) = x( + 1) con [[
1t
.

Caracterizaci on de la precisi on:


El n umero
1t
caracteriza la precision de la maquina. El espaciamiento entre los puntos
otantes puede ser caracterizado en terminos del machine epsilon, que es la distancia
entre 1 y su sucesor, 1
+
, seg un la aritmetica denida por el sistema F. Esto es,

M

1t
= [1
+
1[. (2.3)
Claramente
M
=
1t
es la distancia entre dos elementos consecutivos de F entre 1 y .
La distancia entre dos elementos consecutivos de F entre 1 y
1
es
t
=

M

. Finalmente
la distancia entre un par de elementos cualquiera de F esta dada por el siguiente lema.
Lema 2.1 Sean x, y F, x ,= 0 normalizados y adjacentes. La distancia entre x e y
satisface

M
[x[ < [x y[ <
M
[x[.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 21
Demostraci on: se puede ver en Higham [HIG96].
Usualmente nos referimos a
M
como machine epsilon, pero tambien recibe el nombre de
unidad aritmetica o unidad de redondeo. Es claro de (2.3) que
M
queda denido
como el n umero real positivo mas peque no tal que fl(1 +) > 1. Es decir
machep
M
= min{ : > 0, fl(1 + ) > 1}. (2.4)
Las cantidades x y son los errores absoluto y relativos de la aproximacion de x.
Mas precisamente
Denicion 2.2 (Error relativo y error absoluto)
Sean x, x R, x ,= 0, tal que x es una aproximaci on de x,
el n umero real
ER =
[ x x[
x
es el error relativo de x como aproximaci on de x.
y el n umero real EA = [ x x[ es el error absoluto de x como aproximaci on de x.
Comentario: Calcular el error absoluto no es una buena forma de medir si x es una
buena aproximaci on de x, cuando x es un n umero muy grande o muy peque no.
Ejemplo 2.5 1) x = 1000, x = 1000.2
EA = 0.2
ER = 0.0002
2) x = 0.000007, x = 0.0000071
EA = 0.0000001
ER = 0.14286 10
1
En consecuencia en computaci on cientca, donde las magnitudes de las respuestas
de los problemas varan enormemente, el error relativo es el que interesa, porque este se
mantiene independiente de escalamientos, es decir si x reemplaza a x y x reemplaza a
x, es claro que el error relativo en x coincide con el error relativo en x.
Si = 10, veamos la relaci on que existe entre los conceptos de error relativo, redondeo
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 22
aritmetico y redondeo por truncamiento.
Es claro que si se usa redondeo aritmetico a t-dgitos y x R es redondeado a x, se tiene
[x x[ 5 10
t
.
Si [x[ 1, entonces
[x x[
[x[
5 10
t
=
1
2
10
t+1
.
De la misma manera, si x es truncado a x, se tiene
[x x[
[x[
10
t+1
.
Esta ultima cota es dos veces mas grande que la cota que se obtiene usando redondeo
aritmetico.
Resumiendo, si = 10, se tiene
[x x[
[x[
=
_
1
2
10
t+1
si se usa redondeo aritmetico
10
t+1
si se usa truncamiento.
Analogament, si = 2 se tiene
[x x[
[x[
=
_
2
t
si se usa redondeo aritmetico
2
t+1
si se usa truncamiento.
Frecuentemente se usa el concepto de dgito signicativo, mas que el de error relativo.
Es claro que los dgitos signicativos de un n umero son el primer dgito no nulo y todos
los que le siguen. As 25430 tiene 5 dgitos signicativos, mientras que 0.0522 tiene solo
tres dgitos signicativos.
Aunque intuitivamente el signicado de dgitos signicativos correctos de un n umero
como aproximacion de otro es claro, dar una denici on precisa es problematico.
En primer lugar observemos que dado un n umero x que aproxima con s dgitos signi-
cativos a x, para la pregunta:
Cuantos dgitos signicativos correctos tiene x como aproximaci on de x?, hay s + 1
respuestas posibles, [HIG96].
Ejemplo 2.6 En los casos que siguen, usando redondeo aritmetico, x tiene tres dgitos
signicativos correctos como aproximaci on de x.
x = 2.00000 y x = 2.00399
x = 8.00000 y x = 7.99899.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 23
En el ultimo caso, tanto si se usa redondeo aritmetico con s = 4 o truncamiento, x no
tiene dgitos signicativos correctos como aproximacion de x.
Una posible denicion de dgitos signicativos correctos es la siguiente
Denicion 2.3 (Dgitos Signicativos)
Sean x, x R, x una aproximaci on de x. Se dice que x tiene s dgitos (decimales)
signicativos correctos si x y x son REDONDEADOS al mismo n umero de s dgitos
signicativos.
En esta denici on la palabra clave es redondeo ya sea aritmetico o truncamiento. Esta
denici on de dgitos signicativos correctos es matematicamente elegante y se ajusta a
la intuicion en la mayora de los casos. Pero es claro que si consideramos por ejemplos
los n umeros x = 0.9949 y x = 0.9951, este tiene tres, dos o ning un dgito signicativo
correcto como aproximacion de x, de acuerdo a la regla de redondeo que se use, [HIG96].
Una denici on que no sufre de las ultimas anomalas es la siguiente
Denicion 2.4 (Dgitos Signicativos)
Sean x, x R, x una aproximaci on de x ,= 0. Se dice que x acuerda con x en s dgitos
(decimales) signicativos como aproximacion de x, si el error [x x[ es menor o igual
que 5 unidades en el (s + 1)-dgito de x, contando desde el primer dgito no nulo.
Ejemplo 2.7 (Atkinson [ATK93])
1) x = 0.123 , x = 0.127. Por lo tanto x tiene 2 dgitos signicativos como aproxi-
macion de x.
2) x =
1
3
= 0.333 , x = 0.333. Dado que el error es menor que 5 en el cuarto dgito
no nulo, x tiene al menos 3 dgitos signicativos con respecto a x.
3) x = 23.496 , x = 23.494. Por lo tanto x tiene 4 dgitos signicativos correctos
como aproximacion de x ya que el error se comete en el quinto dgito de x.
4) x = 0.02138 , x = 0.02144. Observemos que ambos n umeros tienen 4 dgitos
signicativos. El error se comete en el tercer dgito signicativo, por lo tanto x
tiene 2 dgitos signicativos como aproximaci on de x.
5) x = = 3.141516 , x =
22
7
= 3.14285.
x tiene solo 3 dgitos signicativos como aproximacion de x.
Por ultimo observemos que 0.09996, como aproximacion de 0.1 tiene cuatro lugares dec-
imales correctos, mientras que 0.09994 tiene solo tres. En este caso no existe dgitos
decimales correctos.
Este ejemplo muestra claramente que lugares decimales correctos no signica igualdad de
dgitos decimales.
La siguiente propiedad es algunas veces usada como denicion.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 24
Proposicion 2.1 : Si

xx
x

5 10
(s+1)
, entonces x tiene al menos s dgitos signi-
cativos correctos como aproximaci on de x.
Comentario: La recproca no es cierta. Para el ejemplo 3) s = 4. Si calculamos,

y x
x

=
0.00002
0.23496
= 8 10
5
5 10
4
.
Se cumple con s = 3.
Exactitud versus precision: debido a Higham [HIG96].
Muchas veces, los terminos exactitud y precision son confundidos o sus usos inter-
cambiados.
Exactitud signica el error absoluto o relativo de una cantidad aproximada. Precision
es la exactitud con la cual las operaciones basicas de suma, resta, multiplicacion y division
son ejecutadas en la aritmetica de punto otante y medidas con respecto del machine ep-
silon.
Exactitud coincide con precision en el calculo escalar, pero puede ser mucho peor que
la precision en la resolucion de sistemas lineales como se vera mas adelante.
2.3 Propagaci on de errores
Veamos como afecta al c alculo cuando se trabaja con n umeros aproximados.
Sean x, y F, y consideremos cualquiera de las operaciones elementales: +, , , .
Recordemos que si el resultado de la operaci on elemental entre x e y esta en el rango de
F, estamos frente a una falla aritmetica, se nal de overow o underow. Usualmente una
falla aritmetica hace que un c odigo termine abruptamente, aunque hoy da la mayora de
los compiladores igualan el calculo a a cero en caso de underow.
Veamos ahora como se efectuan las operaciones aritmeticas en la computadora.
I. Adicion: Los exponentes de los dos operandos son comparados y la mantisa con el
menor exponente es movida hacia la derecha hasta que los exponentes coinciden, es decir
si x
1
, x
2
F entonces fl(x
1
+x
2
) se obtiene sumando x
1
y x
2
y redondeando el resultado
a t dgitos.
De acuerdo a la propiedad: fl(x
1
+x
2
) = (x
1
+x
2
)(1 +), donde [[
1t
, se tiene
que la suma de dos n umeros tiene asociado un error relativo peque no. Sin embargo si se
suman muchos n umeros se puede tener un error relativo grande en el resultado.
Ejemplo 2.8 Cancelacion catastr oca (Forsythe, Malcom y Moler [FMM77]).
Sean = 10, t = 5 y queremos calcular e
5.5
. Utilizamos
e
x
= 1 +x +
x
2
2!
+
x
3
3!
+ .
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 25
e
5.5
= 1.0000 5.5000 + 15.125 27.730 + 38.129 +
= 0.0026363
despues de 25 terminos. Pero la respuesta no es satisfactoria. De hecho e
5.5
= 0.00408677
y el error [e
5.5
0.0026363[ 15 10
3
.
Que sucedio ?
Que algunos de los terminos y en consecuencia las sumas intermedias tienen diferentes
ordenes de magnitud. Terminos como
38.129
(5.5)
4
4!
ya tienen un error de redondeo ( 2 10
3
) que es tan grande como el del resultado
nal. En realidad los 4 dgitos mas signicativos de cada uno de los ocho terminos en
valor absoluto mayores que 10 han sido perdidos. Entonces sera necesario que estos ocho
terminos sean computados con 10 o tal vez 11 dgitos signicativos para que cada uno de
ellos contribuya a la respuesta con 6 dgitos correctos. Fenomenos de este tipo se denomina
cancelaci on catastr oca. Aunque es posible trabajar con mas dgitos signicativos, esto
es costoso en tiempo de ejecuci on y memoria. Para este problema un modo simple de
evitar la cancelaci on catastroca es escribir
e
5.5
=
1
1 + 5.5 +
= 0.0040865.
Como regla general hay que evitar la operaci on fl(x) fl(y) donde fl(x) es un n umero
de magnitud muy grande mientras que fl(y) representa un n umero de magnitud muy
peque na.
II. Multiplicacion: Los exponentes son sumados y las mantisas multiplicadas (en doble
precisi on). El resultado es entonces normalizado y truncado.
En caso de division las mantisas se dividen en doble precision.
De acuerdo a teorema 2.1,
fl(x y) = (x y)(1 +), [[
1t
fl
_
x
y
_
=
_
x
y
_
(1 +), y ,= 0, [[
1t
.
En caso de multiplicacion y division de dos n umeros, se obtienen errores relativos
peque nos. Ademas tendremos tambien errores relativos peque nos para el producto de
varios n umeros.
Otro ejemplo que merece atencion es el calculo de productos internos, (dot). El
producto interno,
n

i=1
x
i
y
i
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 26
es acumulado, si cada producto x
i
y
i
, es almacenado en doble precision y en consecuencia

x
i
y
i
es ejecutada en doble precision.
Ejemplo 2.9 = 10, t = 4, precision simple t = 8, precision doble. se quiere calcular
x
T
y siendo
x = (10 (0.1002), 0.9999, 10
1
(0.2000))
T
y = (10 (0.1003), 0.9995, 0.2803)
T
.
Entonces
x
T
y = 10(0.1002) 10(0.1003)
+ 10
0
(0.9999) 10
0
(0.9995)
+ 10
1
(0.2000) 10
0
(0.2803)
= 10(0.10050060) + 10
0
(0.99940005) + 10
1
(0.05606000)
= 0, con t = 4.
Sin embargo el resultado correcto es
1.0050065 + 1.0050060 = 0.5 10
7
.
Este ejemplo muestra que la acumulacion de sumas no es garanta para proporcionar
errores relativos peque nos, (a menos que ocurra cancelaci on).
Ejemplo 2.10 El problema de la acumulaci on de errores de redondeo se puede evitar en
algunos problemas que involucran pocas operaciones, de modo que el programador puede
aplicar alguna acci on correctiva apropiada.
Supongamos que se quiere calcular f(0.25), donde
f(x) =

x
2
+ 1 1
y todo el computo se lleva a cabo con tres dgitos signicativos.
La respuesta correcta es f(0.25) = 0.0308. Veamos,
f(0.25) =
_
(0.25)
2
+ 1 1
=

0.0625 + 1 1

1.06 1
1.03 1
= 0.03.
La perdida de dgitos signicativos proviene de restar dos cantidades muy proximas, 1.03
y 1.
En este caso, podemos transformar f(x) de manera de evitar la resta,
f(x) =
x
2

x
2
+ 1 + 1
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 27
Entonces,
f(0.25) =
(0.25)
2

0.25
2
+ 1 + 1

0.0625
1.03 + 1
0.0308,
que es un resultado mas apropiado.
Ejemplo 2.11 Calcular f(0.1250) siendo f(x) = tan(x) sin(x). Los calculos son efec-
tuados con cuatro dgitos signicativos. El valor exacto es f
V
f(0.1250) = 0.009804.
Veamos,
tan(0.1250) 0.1257
sin(0.1250) 0.1247
f(0.1250) 0.1 10
2


f.
Observemos que
[f
V


f[ = [0.09804 0.1[ = 0.00196 5 10
3
entonces el resultado obtenido es correcto a lo sumo en dos (2) dgitos signicativos.
Una respuesta mejor se puede obtener considerando los desarrollos de Taylor de tan(x)
y sin(x).
tan(x) = x +
1
3
x
3
+
2
15
x
5
+
17
315
x
7
+
sin(x) = x
1
6
x
3
+
1
120
x
5

1
5040
x
7
+
f(x) =
1
3
x
3
+
1
8
x
5
+
13
240
x
7
+
Con esta formulaci on se tiene
f(0.1250) 0.0009804.
2.4 Ejercicios Pr actica de Laboratorio
Laboratorio 2.1 Para cualquier x 0, el siguiente calculo no altera el valor de x.
for i = 1 : 60
x =

x;
end
for i = 1 : 60
x = x
2
;
end
a) Utilizando MATLAB, verique si la armacion es correcta.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 28
b) Explique el resultado de su experiencia numerica.
Ejercicio 2.1
a) Calcule el machine epsilon, , de su calculadora.
b) Efect ue las siguientes operaciones:
b1) 1 ,
b2) (1 )
2
,
b3) 1 2 +
2
,
b4) (1 +

)
2
,
b5) 1 + + 2

.
Ejercicio 2.2 Asumiendo un computador con = 10 y t = 6, sean x = 1.0 e y =
1.00499. Cuantos dgitos signicativos correctos tiene y como aproximacion de x ?.
Cu al es el error relativo?. Repita el ejercicio con 10
4
x, 10
4
y y 10
4
x, 10
4
y.
Ejercicio 2.3 Asuma un computador con = 10 y t = 4. Usando redondeo por trun-
caci on, que resultado se obtiene cuando se suman
128.3, 24.57, 3.163, 0.4825
en orden ascendente?, y en orden descendente? Como se comparan estos resultados
con el resultado correcto.
Que muestra este ejemplo con respecto a la suma de una sucesion de n umeros en un
computador?.
Ejercicio 2.4 Al resolver la ecuaci on de segundo grado, ax
2
+bx +c = 0 por medio de
la formula
x =
b

b
2
4ac
2a
,
hay una perdida de dgitos signicativos cuando 4ac es peque no con respecto a b
2
, esto es

b
2
4ac [b[.
a) Resuelva la ecuaci on para a = 1, b = 4 10
8
, c = 1.
b) Analice que la formula clasica es buena para calcular una raz, pero no la segunda.
c) De la conclusi on obtenida en b), proponga un metodo para evitar esta dicultad
Laboratorio 2.2
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 29
a) Escriba un programa que calcule el machine epsilon de la computadora en la cual
usted trabaja.
b) Considere las siguientes formulas para aproximar la derivada de primer orden de la
funcion f : R R:
f(x +h) f(x)
h
f(x +h) f(x h)
2h
con h R, h > 0.
Sea f(x) = x
2
. utilice cada una de las expresiones anteriores para calcular estima-
ciones de f

(2) con h
k
= 10
k
, k = 1, . . . , 16.
Construya una tabla de tres columnas que contenga en la primer columna los valores
de h
k
y en las otras dos columnas los valores aproximados obtenidos con cada una
de las formulas para el correspondiente h
k
.
c) Analice las dos ultimas columnas de la tabla indicando el valor de h
k
para el cual
se ha obtenido la mayor exactitud en la aproximaci on de f

(2).
d) Explique los resultados obtenidos teninedo en cuanta la magnitud de los h
k
con el
machine epsilon obtenido en a).
Laboratorio 2.3 Considere los vectores:
x = (2.718281828, 3.141592654, 1.414213562, 0.5772156649,
0.3010299957)
T
y = (1486.2497, 878366.9879, 22.37492, 4773714.647,
0.000185049)
T
Compute el producto x
T
y, efectuando la suma de las siguientes maneras:
i) hacia adelante:
n

i=1
x
i
y
i
.
ii) en orden reverso:
1

i=n
x
i
y
i
.
iii) en orden de mayor a menor, i.e sume los n umeros positivos en orden decreciente,
sume los n umeros negativos en orden creciente y luego sume las sumas parciales.
iv) en orden de menor a mayor, i.e las sumas parciales en orden reverso al de iii).
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 30
Compare resultados con el valor correcto para siete cifras decimales. Explique sus resul-
tados.
Laboratorio 2.4 Repita el ejercicio anterior eliminando el 9 de x
4
y 7 de x
5
.
Como afecta los resultados estos peque nos cambios?.
Laboratorio 2.5 (Dahlquist y Bjork [?])
Sea
c = (

2 1)
6
. (2.5)
Usando el valor 1.4 para

2, se quiere calcular c. Se puede reemplazar directamente en


(2.5) o bien usar algunas de las siguientes expresiones equivalentes
c =
1
(

2 + 1)
6
. (2.6)
c = (3 2

2)
3
. (2.7)
c =
1
(3 + 2

2)
3
. (2.8)
c = 99 70

2. (2.9)
c =
1
99 + 70

2
. (2.10)
Cu al de las seis formulas es mejor?.
Laboratorio 2.6 Calcule
i) sin(314159.4), ii) sin(314159.3), iii) sin(314159.2),
como aproximaciones de sin(10
5
).
a) En todos los casos calcule los errores relativos en las aproximacion del argumento y
de la funcion.
b) A partir de los resultados obtenidos analice como se relacionan los errores en la
variable con los errores en la funcion. Explique sus resultados.
REFERENCIAS PARA LA CLASE: [ATK93, HIG96, OVE01, STE96, UEB97a].
Para la practicas de laboratorio se recomienda: [CL88, HH02].
Clase 3
Estabilidad y condicionamiento
En esta clase estudiaremos dos conceptos fundamentales en Analisis Numerico: establidad
de un algoritmo y condicionamiento de un problema.
Denicion 3.1 (Estabilidad)
Dado un problema T y un algoritmo / que pretende resolver T. El algoritmo / se dice
estable si resuelve exactamente un problema cercano. Es decir un problema

T obtenido de
T perturbando ligeramente los datos.
Ejemplo 3.1 (Ejemplo de inestabilidad [FMM77]).
Veamos un ejemplo de un algoritmo inestable. Supongamos que deseamos calcular
I
n
=
_
1
0
x
n
e
(x1)
dx, n 1.
Integramos por parte y obtenemos una formula recurrente:
_
1
0
x
n
e
(x1)
dx = x
n
e
(x1)

1
0
n
_
1
0
x
n1
e
(x1)
dx = 1 nI
n1
.
El algoritmo para calcular I
n
esta dado por:
I
1
= e
1
(= 0.367879441)
I
n
= 1 nI
n1
.
Usando = 10, t = 6, se tiene
I
1
0.367879
I
2
0.264242
I
3
0.207274
I
4
0.170904
31
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 32
I
5
0.145480
I
6
0.127120
I
7
0.110160
I
8
0.118720
I
9
0.06848.
Aunque x
9
e
(x1)
> 0 en (0, 1), I
9
< 0 !!. De hecho el valor correcto de I
9
= 0.0916.
Cual fue la causa del error ?
El unico error de redondeo que se cometi o fue en I
1
cuando e
1
se redondeo a seis dgitos
signicativos. La formula recursiva de integracion por parte es exacta, por lo tanto el
error en I
9
se debe pura y enteramente al error de redondeo introducido en I
1
, esto es al
error absoluto: E
1
4.412 10
7
.
Observemos como crece el error a traves del proceso:
I
9
= 1 9 I
8
= 1 9 (1 8I
7
) = 1 9 + 9 8 (1 7I
6
)
= 1 9 + 72 9 8 7 (1 6I
5
) =
= escalar + 9 8 7 2
. .
9!
I
1
.
El error en I
9
es exactamente el error en I
1
multiplicado por 9!,
error en I
9
9! 4.412 10
7
0.1601.
Esta magnicaci on del error en los datos del problema resulta del algoritmo que elegimos
usar. Como elegir un algoritmo diferente para evitar esta inestabilidad ? Observemos,
I
n1
=
1 I
n
n
, n = 3, 2.
Con esta elecci on, el error es disminuido por un factor de
1
n
, de modo que si se comienza
con un valor arbitrario de I
n
, (n 1) y calculamos las integrales hacia atras, cualquiera
sea el error inicial, este decrecer a en cada paso del proceso, i.e estamos ante un algoritmo
estable. Pero ... c omo se elige un valor inicial?
I
n
=
_
1
0
x
n
e
(x1)
dx
_
1
0
x
n
dx =
1
n + 1
,
entonces si n , I
n
0.
Luego, si comenzamos con I
20
= 0 sera
I
19
= 0.05
I
18
= 0.05
I
17
= 0.0527778

I
9
= 0.0916123.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 33
Obsevemos que si se comete en I
20
un error de
1
21
, (I
n

1
n+1
), este error es multiplicado
por
1
20
en el c alculo de I
19
, es decir
1
20
1
21
0.002380,
y ya en I
15
el error ha sido reducido en menos de 2 10
8
. Por lo tanto el error inicial ya
ha sido completamente amortiguado al calcular I
15
, y eso es debido a la estabilidad del
algoritmo.
Estabilidad es todo lo que se le puede pedir a un algoritmo
en terminos de exactitud, pero no es suciente.
Esto es, dado un problema para el cual usamos un algoritmo conocido por ser estable,
todava no podemos conar en la solucion aproximada dada por el algoritmo.
Ejemplo 3.2 Polinomios de Wilkinson (Wilkinson, 1963, [WIL84]).
Consideremos
p(x) = (x 1)(x 2)(x 3).
Sus races son x = 1, x = 2 y x = 3. Si escribimos
p(x) = x
3
+a
2
x
2
+a
1
x +a
0
= x
3
6x
2
+ 11x 6,
y aplicamos el metodo de Newton comenzando con x
0
> 3 se encontro x

= 3.
Ahora bien, si consideremos
p
20
(x) =
20

i=1
(x i) =
20

i=0
a
i
x
i
, con a
20
= 1
y aplicamos el mismo procedimiento con x
0
> 20, los resultados son desastrozos !!. Se
encontro que x

= 20.84698101 y otras races fueron complejas.


La razon de estos resultados no se debe a errores de redondeo (redondeo aritmetico o
truncamiento) ni a ning un problema relacionado con el algoritmo usado. J. Wilkinson en
1963 observo que usando una aritmetica de punto otante con = 2, t = 30, si se hace
un cambio en el dgito 30-esimo de un s olo coeciente de los 21 que tiene el polinomio,
dicho cambio tiene un efecto nefasto en el calculo de las races del polinomio.
Supongamos que a
19
es el modicado
a
19
= 210
a
19
= 210 + 2
23
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 34
C omo afecta este peque no cambio a las races de p
20
(x)?. El polinomio p
20
(x) = p
20
(x) +
2
23
x
19
tiene como races 10 races reales y cinco pares de complejas conjugadas:
x
1
= 1
x
2
= 2
x
3
= 3
x
4
= 4
x
5
= 4.999999928
x
6
= 6.000006944
x
7
= 6.999697234
x
8
= 8.007267603
x
9
= 8.917250249
x
10,11
= 10.095266145 0.643500904
x
12,13
= 11.793633881 1.652329728
x
14,15
= 13.992358137 2.518830070
x
16,17
= 16.730737466 2.812624894
x
18,19
= 19.502439400 1.940330347
x
20
= 20.846908101.
La razon es que las races son muy sensibles con respecto a cambios en los coecientes.
Sea
p(x, ) = x
20
x
19
+ .
Sabemos que las races x = x(a
0
, a
1
, , a
20
). Calculamos
x

. Dado que p(x, ) = 0,


p
x
x

+
p

= 0
x

=
p

p
x
. (3.1)
Dado que
p

= x
19
, y
p
x
=
20

l=1
20

j=1,l=j
(x j),
en (3.1) se tiene que,
x

=
x
19
20

l=1
20

j=1,l=j
(x j)
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 35
En x = i,

=
i
19
[

i=j
(i j)[
> 10
9
,
para i = 14, 15, 16, 17, 18. Estos n umeros nos dan una medida de cuan sensible es cada
raz con respecto al coeciente . La siguiente tabla muestra estos n umeros [FMM77]:
raz
x

x=i
1 8.2 10
18
2 8.2 10
11
3 1.6 10
6
4 2.2 10
3
5 6.1 10
1
6 5.8 10
7 2.5 10
3
8 6.0 10
4
9 8.3 10
5
10 7.6 10
6
11 4.6 10
7
12 2.0 10
8
13 6.1 10
8
14 1.3 10
9
15 2.1 10
9
16 2.4 10
9
17 1.9 10
9
18 1.0 10
9
19 3.1 10
8
20 4.3 10
7
Los polinomios de Wilkinson es un ejemplo de un problema mal condicionado.
Denicion 3.2 (Mal condicionamiento)
Un problema T, que depende de un conjunto de datos d, se dice mal condicionado si una
peque na variaci on en los datos, produce una gran variaci on en la soluci on.
3.1 Costo aritmetico de un algoritmo
Uno de los aspectos que hace que un algoritmo sea eciente es su bajo costo computacional
(o costo aritmetico). En esta clase describimos como se estima el costo aritmetico de un
algoritmo.
Muchos algoritmos que se desarrollaran a lo largo del curso involucran operaciones
entre matrices y matrices y vectores. Aunque el objetivo de este curso, no es escribir
codigos, es interesante y util saber como se pueden describir estos algoritmos basicos
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 36
mediante procedimientos sencillos. El estudiante interesado puede revisar el texto de
Golub y van Loan [GvL89].
3.2 Nocion de op
Denicion 3.3 (seg un Golub & van Loan [GvL89])
Un op es una operacion de suma o producto (diferencia o cociente) en aritmetica de
punto otante.
Comsideremos los siguiente ejemplos
Algoritmo 3.1 (dot)
(* Dados x, y R
n
, este algoritmo computa c = x
T
y. *)
function : c = dot(x, y)
c = 0
n = length(x)
para i = 1 : n
c = c +x(i) y(i)
n
n dot
El producto escalar entre dos vectores requiere n multiplicaciones y n 1 adiciones.
Informalmente esto dice que el algoritmo es O(n), signicando que la cantidad de trabajo
aritmetico es lineal con la dimension.
Algoritmo 3.2 (saxpy)
(* Dados x, y R
n
, R, este algoritmo computa z = x +y. *)
function : z = saxpy(, x, y)
z = 0
n = length(x)
para i = 1 : n
z(i) = x(i) +y(i)
n
n saxpy
Este algoritmo tambien es O(n).
Las operaciones dot y saxpy necesitan 2n-ops, mientras que el producto de una
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 37
m n matriz por un n-vector requiere m operaciones dot, por lo tanto requiere 2mn-
ops.
La cantidad de ops se obtiene sumando la cantidad de operaciones asociadas con las
proposiciones mas profundamente anidadas en el algoritmo. Si un algoritmo requiere
kn
p
+ (terminos de orden < p) se dice que el algoritmo tiene un costo de O(n
p
).
Ejemplo 3.3 El trabajo aritmetico que involucra el producto de dos matrices triangulares
superiores es O(n
3
) En efecto, escribimos el algoritmo:
Algoritmo 3.3 (Producto de dos matrices triangulares superiores). (* Dadas
A, B R
nn
, el algoritmo computa C = AB *)
function : C = promatTS(A, B)
C(1 : n, 1 : n) = 0
para i = 1 : n
para j = i : n
para k = i : j
c(i, j) = c(i, j) +a(i, k) b(k, j)
n
n
n
n promatTS
Para obtener c(i, j) con i j se necesitan 2(j i + 1) ops.
Entonces el total de operaciones artimeticas involucradas en el algoritmo es:
T =
n

i=1
n

j=i
2(j i + 1) = 2
n

i=1
_
ni+1

k=1
k
_
,
donde la ultima igualdad se obtiene haciendo el cambio de variable k = j i + 1.
Recordemos
n

k=1
k =
n(n + 1)
2

n
2
2
n

k=1
k
2
=
n
3
3
+
n
2
2
+
n
6

n
3
3
.
Entonces
T 2
n

i=1
1
2
(n i + 1)
2
=
n

l=1
l
2

n
3
3
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 38
Conclusion: el trabajo aritmetico que se necesita para multiplicar dos matrices triangu-
lares superiores es aproximadamente
n
3
3
.
Aqu estamos ignorando los terminos de menor orden dado que su inclusion no con-
tribuye en la conclusion nal. La cuenta exacta es
n
3
3
+n
2
+
2n
3
. El termino dominante es
n
3
3
. La cuenta de ops es un modo rapido y burdo de capturar uno de los varios aspectos
que determinan la eciencia de un algoritmo. Esta cuenta es solo una aproximacion para
medir eciencia de un codigo, ya que se deja de lado subndices, traco de memoria y
otros aspectos asociados con la ejecuci on de un programa.
3.3 Regla de Horner
En muchas aplicaciones es necesario evaluar un polinomio de la forma
p(x) =
n

i=0
a
i
x
i
en alg un punto x. Un modo eciente de calcular p( x) es utilizar una tecnica llamada
division sintetica, evaluacion anidada o regla de Horner.
La idea es la siguiente. Consideremos
p( x) = a
n
x
n
+a
n1
x
n1
+ +a
1
x +a
0
= (a
n
x
n1
+a
n1
x
n2
+ +a
1
) x +a
0
= ((a
n
x
n2
+a
n1
x
n3
+ +a
2
) x +a
1
) x +a
0
=
= (( (a
n
x + a
n1
) x +a
n2
) x + ) x +a
0
.
Recordando que los coecientes del polinomio son conocidos esta formula sugiere evaluar
el polinomio en cualquier punto como sigue:
Dado a
n
, calcular a
n
x + a
n1
, entonces calcular (a
n
x + a
n1
) x + a
n2
y as
siguiendo.
En cada paso la evaluacion anterior es multiplicada por x y sumada a un coeciente del
polinomio.
Algoritmo 3.4 (Evaluacion anidada)
Dados n N, a
0
, a
1
, , a
n
, x R
p = a
n
(* p es una variable auxiliar *)
Para i = n 1, , 0 repetir
p = p x +a
i
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 39
n
Este algoritmo es muy eciente, solo se requiere n sumas y n productos. Se puede probar
que es estable.
Ejemplo 3.4 [ATK93].
Se quiere evaluar la funcion
S(x) =
1
x
_
x
0
sint
t
dt.
en puntos x [1, 1].
Para ello aproximamos S(x) por medio de un polinomio en [1, 1].
sint = t
t
3
3!
+
t
5
5!
(1)
n1
t
2n1
(2n 1)!
+ (1)
n
t
2n+1
(2n + 1)!
cos ,
con variando entre 0 y x con x [1, 1].
sint
t
= 1
t
2
3!
+
t
4
5!
(1)
n1
t
2n2
(2n 1)!
+ (1)
n
t
2n
(2n + 1)!
cos ,
S(x) =
1
x
_
x
0
_
1
t
2
3!
+
t
4
5!
(1)
n1
t
2n2
(2n 1)!
+ (1)
n
t
2n
(2n + 1)!
cos ,
_
dt.
Integrando se obtiene
S(x) = 1
x
2
3!3
+
x
4
5!5
(1)
n1
x
2n2
(2n 1)!(2n 1)
+ (1)
n
x
2n
(2n + 1)!(2n + 1)
cos .
Acotamos el resto
R = (1)
n
x
2n
(2n + 1)!(2n + 1)
cos
en [1, 1], de modo que el polinomio que aproxima a S(x) sea tal que [R[ 5 10
9
.
Entonces se elige n de modo que
[R[ =

x
2n
(2n + 1)!(2n + 1)
cos

1
(2n + 1)!(2n + 1)

= 5 10
9
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 40
de donde 2n+1 11. Por lo tanto el polinomio que aproxima a S(x) con un error menor
o igual que 5 10
9
es de grado 8,
p(x) = 1
x
2
3!3
+
x
4
5!5

x
6
7!7
+
x
8
9!9
.
El polinomio se evalua en cualquier punto aplicando la regla de Horner.
3.4 Ejercicios Pr actica de Laboratorio
Laboratorio 3.1 El polinomio perdo de Wilkinson
a) Calcule las 4 races, z
1
, z
2
, z
3
, z
4
del polinomio:
P
4
(x) = x
4
10x
3
+ 35x
2
50x + 24.
Esta formula para P
4
es la forma desarrollada de
p
4
(x) = (x 1)(x 2)(x 3)(x 4).
Verique si las races computadas z
k
, k = 1, , 4, es una buena estimacion de las
races del polinomio calculando [P
4
(z
k
)[, [p
4
(z
k
)[ y [z
k
k[. Explique que sucede.
b) Repita cambiando el coeciente de x
4
de P
4
(x) por 1 + donde = 10
2k
para
k = 1, , 8.
Graque los polinomios cuando a
4
= 1 y a
4
= 1.001 y explique que sucede.
Laboratorio 3.2 Sea
C(x) =
1
x
_
x
0
1 cos t
t
dt.
a) Usando el desarrollo en series de cos t, reescriba C(x).
b) Escriba en MATLAB un c odigo que permita evaluar C(x) con un error menor o
igual que 5 10
9
.
c) Calcule C(1).
Laboratorio 3.3 Sea
f(x) = exp(x).
a) Encuentre la aproximacion de Taylor de f(x) con un error menor o igual a 10
7
.
b) Usando la aproximaci on obtenida en a) escriba un codigo que permita evaluar f(x).
Calcule la diferencia entre su aproximaci on y la funcion estandard exp(x), en 21
puntos igualmente espaciados de [1, 1].
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 41
Laboratorio 3.4 N umeros de Fibonacci
La sucesion de Fibonacci, 0, 1, 1, 2, 3, 5, se dene por medio de la formula

0
= 0,
1
= 1 (3.2)

n
=
n1
+
n2
, (n 2). (3.3)
La sucesion de cocientes
_

k+1

k
_
satisface
lim
k

k+1

k
=
1 +

5
2
(n umero de oro).
a) Escriba una funcion MATLAB que calcule los n primeros n umeros de Fibonacci,
b) Calcule usando a) la sucesion para n = 10, n = 20 y n = 40,
c) Incorpore a su codigo el calculo del cociente

k+1

k
, k = 1, . . . , n 1.
d) Estime los errores en las aproximaciones al n umero de oro que se obtienen en c)
para n = 10, n = 20 y n = 40.
Laboratorio 3.5 N umeros de Fibonacci
Una formula para el n-esimo n umero de la sucesion Fibonacci esta dada por

n
=
1

5
__
1 +

5
2
_
n

_
1

5
2
_
n
_
. (3.4)
a) Escriba una funcion MATLAB que calcule los n primeros n umeros de Fibonacci
usando esta formula.
b) utilice las funciones de MATLAB del ejercicio 3.4 y del inciso anterior para con-
struir una tabla que muestre los n umeros de Fibonacci calculados con las diferentes
formulaciones y en la tercera el valor absoluto de la diferencia entre los dos valores
para distintos valores de n, se sugiere n = 10, n = 20 y n = 40,
n
n
(con (3.2)- (3.3))
n
(con (3.4)) EA entre las aproximaciones
.
.
.
.
.
.
.
.
.
.
.
.
Explique que sucede con los resultados obtenidos.
Ejercicio 3.1 Sean R, A R
nn
a) Escriba un algoritmo que calcule A y almacene el resultado en A.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 42
b) Cu al es el costo aritmetico de llevar a cabo el procedimiento por usted denido?
Ejercicio 3.2 Escriba un algoritmo que permita evaluar en forma eciente
p(x) = 1
x
3
3!
+
x
6
6!

x
9
9!
+
x
12
12!

x
15
15!
.
Asumiendo que los coecientes han sido calculados y almacenados, cuantas multiplica-
ciones son necesarias?.
Ejercicio 3.3 (Repaso)
Leer el captulo 8 (205-218) de [ATK93].
REFERENCIAS PARA LA CLASE: [ATK93, DA08, FMM77, KC91, ND88, WIL84,
YG88a, YG88b].
Clase 4
Normas vectoriales y matriciales
Dado un problema T, tal como resolver un sistema lineal Ax = b, sea x

R
n
la solucion
exacta y x R
n
la solucion computada. Caben las preguntas:
es x una buena estimacion de x

?,
como se puede medir que tan lejos esta x de x

?
Si x

, x R es claro que la medida es el valor absoluto. Para medir la distancia entre


vectores y luego entre matrices denimos el concepto de norma.
4.1 Norma vectorial
Denicion 4.1 (Norma vectorial)
Sea f : R
n
R una funcion. Se dice que f es una norma vectorial si satisface las
siguientes propiedades:
i) f(x) 0, x R
n
f(x) = 0 x = 0.
ii) f(x) = [[f(x), R, x R
n
.
iii) f(x +y) f(x) +f(y), x, y R
n
.
Notacion: f = | |.
Una clase de normas vectoriales extremadamente utiles son las
p
normas o simple-
mente las p-normas denidas por
|x|
p
= ([x
1
[
p
+[x
2
[
p
+ +[x
n
[
p
)
1
p
, p 1.
43
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 44
De estas las mas usadas son:
|x|
1
= [x
1
[ +[x
2
[ + +[x
n
[
|x|
2
= ([x
1
[
2
+[x
2
[
2
+ +[x
n
[
2
)
1
2
|x|

= max[x
i
[ : i = 1, , n.
....................................................................................................................................................................................................................... . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
....................................................................................................................................................................................................................... . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
................................................................................................................................................ . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
p = 2
p = 1
p =
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. ....... ...... .... .... .... ... ... ... .. ... .. .. ... .. .. .. .. .. .. . .. .. .. . .. . .. .. . .. . . .. . .. . . .. . . .. . . . .. . . . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . .. . . . . .. . . . . .. . . .. . . .. . .. . .. . .. . .. . .. .. . .. .. .. . .. .. .. .. .. ... .. .. ... .. ... ... ... .... .... .... ..... ....... ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Figura 4.1: Graco en el plano de [[ x [[
p
= 1 para p = 1, 2, .
Que sucede si 0 < p < 1 ?.
No se tiene una norma.
Ejemplo 4.1 Por ejemplo tomando n = 2, p =
1
2
se tiene
|x|1
2
=
_
[x
1
[
1
2
+[x
2
[
1
2
_
2
.
Esta funcion no satisface la desigualdad triangular. En efecto si
x = (0, 1)
T
e y = (1, 0)
T
|x|1
2
= 1, |y|1
2
= 1, |x|1
2
+|y|1
2
= 2.
x +y = (1, 1)
T
, |x +y|1
2
= 4.
Entonces,
|x +y|1
2
> |x|1
2
+|y|1
2
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 45
4.1.1 Propiedades
1) Un clasico resultado para las normas
p
es la
Desigualdad de Holder
x, y R
n
[x
T
y[ |x|
p
|y|
q
,
1
p
+
1
q
= 1.
2) Un caso especial de esta desigualdad ocurre cuando p = q = 2, la bien conocida
Desigualdad de Schwartz.
x, y R
n
[x
T
y[ |x|
2
|y|
2
.
3) En R
n
todas las normas son equivalentes:
Si | |

, | |

son normas en R
n
entonces existen constantes c
1
, c
2
> 0 tal que para
todo x R
n
c
1
|x|

|x|

c
2
|x|

.
Por ejemplo si x R
n
, entonces
|x|
2
|x|
1


n|x|
2
|x|

|x|
2


n|x|

|x|

|x|
1
n|x|

.
Denicion 4.2 (Convergencia)
Sea x
k
una sucesi on de vectores de R
n
. Se dice que x
k
converge a x si
lim
k
|x
k
x| = 0.
Observacion: La convergencia ocurre en cualquier norma dada la propiedad de equiva-
lencia.
4.2 Error absoluto y error relativo
Sea x R
n
una aproximacion de x R
n
. Para cualquier norma vectorial | |, se denen:
Denicion 4.3 (Error absoluto y relativo)
i) El n umero
E.A = |x x|
es el error absoluto de aproximar x con x.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 46
ii) Si x ,= 0 entonces
E.R =
|x x|
|x|
es el error relativo de aproximar x xon x.
El error relativo en la norma

nos permite hacer una propuesta acerca del n umero


de dgitos signicativos en la aproximacion x.
Propiedad: Si
|x x|

|x|

10
p
la mayor componente de x tiene aproximadamente p dgitos signicativos correctos.
Ejemplo 4.2 Sean
x =
_
1.234
0.05674
_
, x =
_
1.235
0.05128
_
,
E.A = |x x|

=
_
_
_
_
_
0.001
0.005456
__
_
_
_

= 0.00546,
E.R =
0.00546
1.234
= 0.004425 10
3
,
es decir que x
1
= 1.235 tiene 3 dgitos signicativos correctos, mientras que x
2
= 0.05128
solo tiene una cifra signicativa correcta.
4.3 Normas matriciales
As como necesitamos medir vectores tambien necesitamos medir matrices. Dado que
R
mn
se puede identicar con R
mn
, la denici on de norma para una matriz debera ser
equivalente a la denicion de un vector si pensamos a la matriz como un vector largo,
(a
11
, a
12
, , a
1n
, a
21
, , a
mn
)
T
.
Denimos,
Denicion 4.4 (Norma matricial)
Sea f : R
mn
R , se dice que f es una norma matricial si,
i) f(A) 0, A R
mn
f(A) = 0 A = 0.
ii) f(A) = [[f(A), R, A R
mn
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 47
iii) f(A+B) f(A) +f(B), A, B R
mn
.
En An alisis Numerico, las normas matriciales que se usan con mas frecuencia son
la norma de Frobenius
|A|
F
=
_
m

i=1
n

j=1
a
2
ij
_1
2
y las

p
-normas inducidas por las normas vectoriales.
Denicion 4.5 (Norma inducida)
Sean A R
nn
, v R
n
y | |
p
una norma vectorial. Se dene la norma de A inducida
por la norma vectorial a
|A|
p
= max
_
|Av|
p
|v|
p
: v ,= 0
_
. (4.1)
Que signica esta denicion? Si v es un vector de magnitud |v|
p
, se quiere establecer
una cota para |Av|
p
, es decir sobre la magnitud de la imagen de v bajo la transformacion
A. La igualdad 4.1 en la denici on 4.5, da la maxima cantidad que A puede estirar o
contraer cualquier vector v en una norma dada.
No es necesario usar la misma norma para v y Av, pero en este curso no necesitamos de
tal generalidad, as que usaremos la misma.
Observemos que si |v|
p
= 1, 1 p +,
|A|
p
= max
_
|Av|
p
|v|
p
: v ,= 0
_
= max |Av|
p
: |v|
p
= 1,
es decir que |Av|
p
es la norma del vector de mayor longitud que se obtiene al aplicar A
a la bola unitaria en la norma
p
.
Ejemplo 4.3 Sean
A =
_
1 1
0 2
_
, x =
_
x
1
x
2
_
, |x|
2
= 1.
Calculamos,
Ax =
_
1 1
0 2
__
x
1
x
2
_
=
_
x
1
x
2
2x
2
_
,
|Ax|
2
2
= (x
1
x
2
)
2
+ 4x
2
2
= x
2
1
+ 3x
2
2
2x
1
x
2
,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 48
que representa una elipse rotada. Si
x =
_
1

2
1

2
_
Ax =
_
0
2

2
_
.
Si
x =
_
1
0
_
Ax =
_
1
0
_
.
Denicion 4.6 (Condicion de consistencia)
Se dice que una norma matricial es consistente respecto al producto de matrices si para
todo A R
mr
y para todo B R
rn
,
|AB| |A| |B|.
No todas las normas de matrices satisfacen esta propiedad.
Ejemplo 4.4 Denimos
|A|

= max [a
ij
[.
Si
A = B =
_
1 1
1 1
_
|A|

|B|

= 1.
AB =
_
2 2
2 2
_
|AB|

= 2,
y
|AB|

> |A|

|B|

.
Las normas
p
y la norma de Frobenius satisfacen la condici on de consistencia. Observemos
que las normas
p
tambien verican la siguiente propiedad: para A R
mn
, x R
n
|Ax|
p
|A|
p
|x|
p
.
4.3.1 Propiedades
1) Si
1
,
2
y

son las normas inducidas, A R


nn
, entonces
a) |A|
1
= max |A
.j
|
1
.
b) |A|
2
= (max a.v(A
T
A))
1
2
.
c) |A|

= max |A
i.
|
1
.
d) |A|
1
= |A
T
|

.
e) |A|
2
= |A
T
|
2
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 49
2) Dadas dos normas en R
nn
, existen constantes positivas y tal que:
|A| [|A[| |A|, A R
nn
.
En particular:
a)
1

n
|A|
F
|A|
2
|A|
F
.
b)
1

n
|A|
p
|A|
2

n|A|
p
, p = 1, .
3) La norma de Frobenius satisface:
a) |A|
F
= tr(A
T
A)
1
2
.
b) |AB|
F
min |A|
2
|B|
F
, |A|
F
|B|
2
, A, B R
nn
.
c) |Av|
2
|A|
F
|v|
2
, A R
nn
, v R
n
.
d) |vw
T
|
F
= |vw
T
|
2
= |v|
2
|w|
2
.
Un aspecto agradable de las normas
1
y

es que son faciles de computar. Carac-


terizar | |
2
es considerablemente mas complicado.
Teorema 4.1 Sea A R
nn
. Existe z R
n
, |z|
2
= 1 tal que A
T
Az =
2
z, donde
= |A|
2
.
Demostraci on: Los alumnos interesados pueden ver la demostracion en [GvL89] o
[MAC09].
El siguiente corolario relaciona las normas inducidas
p
.
Corolario 4.1 Si A R
mn
entonces |A|
2

_
|A|
1
|A|

.
Demostraci on: Si z ,= 0 tal que A
T
Az =
2
z con = |A|
2
,

2
|z|
1
= |A
T
Az|
1
|A
T
|
1
|A|
1
|z|
1

2
|A|

|A|
1
de donde,
|A|
2

_
|A|
1
|A|

M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 50


4.4 Ejercicios
Ejercicio 4.1 Verique que |.|
1
, |.|
2
, |.|

son normas vectoriales.


Ejercicio 4.2 Demuestre
a) |x|
2
|x|
1

n|x|
2
.
b) |x|

|x|
2

n|x|

.
c) |x|

|x|
1
n|x|

.
Ejercicio 4.3 Verique que la funcion denida en el ejemplo 4.4 es en efecto una norma
matricial.
Ejercicio 4.4 Muestre que: |AB|
p
|A|
p
|B|
p
, donde 1 p .
Ejercicio 4.5 Sea A R
nn
no singular. Pruebe que para todo v R
n
,
|Av|
|v|
|A
1
|
.
Ejercicio 4.6 Sea
A =
_
_
4 3 2
1 0 5
2 6 2
_
_
.
a) Calcule |A|

, |A|
1
, |A|
2
, |A|
F
.
b) Entre todos los vectores x R
3
que satisfacen |x|

1, halle uno para el cual


|Ax|

es maximo.
REFERENCIAS PARA LA CLASE: [GvL89].
Clase 5
Condicion de una matriz
En esta clase se justica el estudio de normas de matrices. El uso de normas matriciales
se requiere para decidir sobre la calidad de un metodo de resolucion de sistemas lineales.
Un algoritmo para resolver sistemas lineales puede ser pobre si la matriz de los coe-
cientes es casi singular. Para cuanticar la noci on de casi-singularidad se necesita medir
la distancia en espacios de matrices. Las normas son las que proveen esa medida.
Teorema 5.1 Para toda matriz no singular A y toda norma matricial | | inducida por
una norma vectorial se tiene
|A| |A
1
| 1. (5.1)
La desigualdad (5.1) se obtiene directamente del hecho que la norma inducida es consis-
tente con el producto (Ejercicio 5.1). Aqu ofrecemos otra demostracion ligeramente mas
elaborada con el objetivo de ilustrar geometricamente su signicado.
Demostraci on:
|A| = max
_
|Av|
|v|
: v ,= 0
_
|A
1
| = max
_
|A
1
z|
|z|
: z ,= 0
_
=
1
min
_
Av
v
: v ,= 0
_. (5.2)
Como
max
_
|Av|
|v|
: v ,= 0
_
min
_
|Av|
|v|
: v ,= 0
_
,
51
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 52
se tiene
max
_
Av
v
: v ,= 0
_
min
_
Av
v
: v ,= 0
_ 1,
entonces
|A| |A
1
| 1.
Veamos ahora que la igualdad (5.2) es verdadera.
Dado que si v ,= 0, A
1
v = u ,= 0,
|A
1
| = max
_
|A
1
v|
|v|
: v ,= 0
_
= max
_
|u|
|Au|
: u ,= 0
_
= max
1
_
Au
u
: u ,= 0
_
=
1
min
_
Au
u
: u ,= 0
_,
que es ( 5.2).
Denici on 5.1 (N umero de condici on de una matriz)
El n umero A A
1
se llama n umero de condicion de la matriz A
con respecto a la inversi on.
Notaci on: (A) = cond(A) = |A| |A
1
|. El n umero de condicion nos dice cuan
numericamente singular es una matriz.
5.1 Signicado geometrico de la singularidad numerica
Que signica que A sea numericamente singular?
Recordemos que es una matriz singular si y solo si existe un vector no nulo v tal que
Av = 0, que equivale a decir que existe v, |v| = 1 tal que Av = 0.
|A| = max |Av| : |v| = 1
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 53
es la maxima longitud de v al aplicarle A.
|A
1
| =
1
min |Av| : |v| = 1
.
El denominador de esta ultima igualdad es la mnima longitud de v al aplicarle A. Por
lo tanto |A
1
| puede ser un n umero grande. La situacion ideal es |A| |A
1
| = 1. Con-
sideremos A R
22
y la norma
2
.
.............................................................................................................................................................................................................................................................................................................
.... ... .. .. . . .. .
.............................................................................................................................................................................................................................................................................................. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
......................................................................................................................................................................................................................................................................................................................................................... ...... ... .... .. ... .. .. .. .. .. .. . .. . .. . .. . .. . . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . .. . . .. . .. . .. .. .. .. .. .. .. .. ... .... ... ...... .........
[[ v [[
2
= 1
...........................................................................................................................................................................................................................
A
-1 1
...............................................................................................................................................
...........................................................................................................................................................................................................................................................................................................................................................................................................................................
.............. . . . . . . . . . . . . . . .
. . . . . . . . .. . . . . . .
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ........ ...... .... .... .... ... ... ... ... .. ... .. .. .. .. .. .. .. .. .. .. .. . .. .. . .. . .. . .. . .. . . .. . . .. . . .. . . . .. . . . . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . .. . . . . . .. . . .. . . . .. . .. . . .. . .. . .. . .. .. . .. .. . .. .. .. .. .. .. .. .. .. ... .. ... ... ... ... ... .... .... ..... ....... ............ .... ........
........
........
........
........
........
........ ........ ........ ........
........
........
........
........
........
..... ...
. .. .. .. .
.. . . .. . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . ..
. .. .. .. .
.... ....
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
... .... .. . .. . .. .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. .
....................... ........ ..... ... ... ... .. .. .. .. .. .. .. . .. . .. . .. . .. . . .. . . . .. . . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . .. . . . . .. . . . .. . . .. . . .. . . .. . ..
.. . .. . . .. . . .. . . .. . . . .. . . . .. . . . . . . .. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .. . . . . .. . . . .. . . .. . .. . .. . .. . .. .. .. .. .. .. .. .. ... ... .... ..... ....................................................................................................................................................................................................................................................................
[[ A [[
2
Figura 5.1: ....
Si gracamos la transformacion, que |A
1
| tienda a ser un n umero grande signica
que |Av| 0. Que A sea numericamente singular signica que el elipsoide tiende
a achatarse.
En precisi on nita consideremos z, v tal que |z|
2
= |v|
2
= 1 y
Av
..
pequeno
+ Az
..
grande
= Az.
Supongamos que Av Az, entonces
|Az|
2
= |Av +Az|
2
= |Av|
2
+|Az|
2
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 54
de donde,
|A|
2
=
1
|A
1
|
2
+|A|
2
.
Siempre utilizando aritmetica nita,
1
|A
1
|
2
|A|
2
+ 1 = 1.
Es decir A es numericamente singular si y solo si
fl

2
(A)
+ 1

= 1.
Ejemplo 5.1 Supongamos que estamos trabajando con tres dgitos signicativos,
1 = 1.00000
1
(A)
= 0.00982
1 +
1
(A)
= 1.00982
y la matriz se convierte en singular cuando trabajamos con esa precision.
5.2 Condici on de un sistema lineal
En la clase 3 denimos un problema T, que depende de un conjunto de datos d, como
mal condicionado si una peque na variacion de los datos, al aplicar un algoritmo produce
una gran variacion en la solucion.
Consideremos ahora el caso de sistemas lineales. Sea Ax = b, siendo A R
nn
, b
R
n
, b ,= 0 y sea x

R
n
su solucion.
Resolvemos el sistema por alg un metodo y obtenemos x ,= x

. Cual es el sistema mas


cercano a Ax = b que tiene como solucion a x ?
Supongamos que tal sistema es (A + A)x = b. Observemos que x es una solucion
exacta cuando
A =
(b A x) x
T
x
T
x
,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 55
pues
(A+ A) x =
_
A+
(b A x) x
T
x
T
x
_
x
= A x +
(b A x) x
T
x
x
T
x
= b.
Ahora bien, que lejos esta la matriz A+A de A?. Usamos la norma de Frobenius
como medida. El error relativo es
|A|
F
|A|
F
=
_
_
_
_
(b A x) x
T
| x|
2
2
_
_
_
_
F
1
|A|
F
.
Esta es una medida relativa de la distancia entre los dos sistemas y este parece ser un
buen camino para decidir si x es o no una buena aproximacion de x

. Veamos,
|A|
F
|A|
F
=
|(b A x) x
T
|
F
| x|
2
2
|A|
F
=
|(b A x)|
2
| x
T
|
2
| x|
2
2
|A|
F
=
|b A x|
2
| x|
2
|A|
F
.
Denicion 5.2 (Residuo relativo)
El n umero
RR =
|b A x|
2
| x|
2
|A|
F
se llama residuo relativo.
Observacion: Dado que |A|
2
|A|
F
, en practica se puede cambiar |A|
F
por |A|
2
, y
como
|A x|
2
|A|
2
| x|
2
|b|
2
|A|
2
| x|
2
.
As
RR
|b A x|
2
| x|
2
|A|
2

|b A x|
2
|b|
2
. (5.3)
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 56
Denicion 5.3 (Algoritmo estable para el problema Ax = b)
Un algoritmo que resuelve Ax = b, (con una aritmetica de punto otante F) se dice estable
si y s olo si el residuo relativo (5.3) es aproximadamente la unidad aritmetica , para toda
matriz A y todo vector b.
Preguntamos el uso de un algoritmo estable asegura que hemos conseguido una
buena solucion aproximada?, es decir que los residuos relativos sean peque nos signica
que x esta proxima a x

.
Desafortunadamente la respuesta es NO.
Ejemplo 5.2 (Forsythe y Moler, [FM67])
Sea el sistema
_
0.66666x
1
+ 3.33334x
2
= 4
1.99999x
1
+ 10.00001x
2
= 12.
Su solucion es
x

=
_
1
1
_
.
1) Con x = (6, 0), obtenemos
b A x = (4 10
5
, 6 10
5
)
T
|A|
F
= 10.7497
| x|
2
= 6
RR =

52
10.7497 6
10
5
1.119 10
6
.
2) Con x = (1.1, 0.9), que gracamente podemos ver que aproxima mejor a la solucion,
se tiene
b A x = (0.3, 0.9)
T
| x|
2
= 1.423
RR =
9.4868 10
1
10.7497 1.4213
10
1
.
5.3 Ejercicios
Ejercicio 5.1 Demuestre Teorema 5.1, usando la propiedad de consistencia de la norma
matricial con respecto al producto.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 57
Ejercicio 5.2 Sean
A = diag(1, 2, . . . , 100) R
100100
.
a) Halle |A|

, |A|
1
, |A|
2
, |A|
F
.
b) Halle
2
(A) y

(A).
Ejercicio 5.3 Sea A la matriz denida por a
ij
= 1 cuando i +j es par y a
ij
= 0 cuando
i +j es impar. Suponga que el orden de la matriz es par y mayor o igual que 4.
a) Halle |A|

.
b) Es posible determinar

(A) ?. Justique la respuesta.


Ejercicio 5.4 Sea A R
nn
no singular tal que su n umero de condici on (A) = 127.58.
a) Halle (A
1
). Justique la respuesta.
b) Halle (1000000 A). Justique la respuesta.
c) Suponga que dispone de una computadora cuyo machine epsilon es = 10
6
. Diga,
justicando la respuesta, si para esa maquina las matrices A, A
1
, 1000000 A,
estan bien condicionadas.
Ejercicio 5.5 Muestre que para una norma consistente con el producto de matrices
a) (AB) (A) (B).
2) (A) = (A) para todo ,= 0.
REFERENCIAS PARA LA CLASE: [GvL89, KC91, TRE92],
Clase 6
Estimacion de cotas para el error
relativo
Sea Ax = b, A R
nn
, no singular y x una aproximacion de la solucion exacta x

.
Queremos estimar cotas superiores e inferiores del error relativo, es decir queremos saber
que buena es x como aproximaci on de x

.
El error relativo se dene como
|x

x|
|x

|
o
|x

x|
| x|
.
Para obtener una cota inferior notemos que
b A x = Ax

A x = A(x

x),
de donde
|b A x| |A| |x

x|.
Dividiendo por |A| | x|
|b A x|
|A| | x|

|x

x|
| x|
. (6.1)
El n umero
|b A x|
|A| | x|
es una cota inferior para el error relativo de x como aproximacion de x

.
Para buscar una cota superior notemos que del hecho,
|v| = |A
1
Av| |A
1
||Av|
se tiene que
|Av|
|v|
|A
1
|
.
58
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 59
Entonces,
|b A x| = |A(x

x)|
|x

x|
|A
1
|
,
dividiendo por |A| | x|,
|b A x|
|A| | x|

|x

x|
|A
1
||A|| x|
=
1
(A)
|x

x|
| x|
.
De donde se obtiene una cota superior para el error relativo,
|x

x|
| x|
(A)
|b A x|
|A| | x|
. (6.2)
De (6.1) y (6.2) se tiene
|b A x|
|A| | x|

|x

x|
| x|
(A)
|b A x|
|A| | x|
.
Si (A) es un n umero grande, es posible que x no sea una buena aproximacion de x

.
Observemos que si la norma vectorial es la norma
2
y la norma matricial la de
Frobenius, se tiene
RR
|x

x|
| x|
(A)RR.
En el area de metodos numericos para ecuaciones diferenciales a derivadas parciales se
usa
|b A x|
|b|
en vez de
|b A x|
|A| | x|
.
Recordemos que
|b A x|
2
|b|
2
es una estimacion de una cota superior del RR y se pueden
obtener cotas del error relativo en terminos de esta ultima. En efecto,
|b A x|
|b|
=
|A(x

x)|
|b|

|A||x

x|
|Ax

|

|A||x

x|
x
A
1

= (A)
|x

x|
|x

|
,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 60
entonces
1
(A)
|b A x|
|b|

|x

x|
|x

|
. (6.3)
Tambien podemos obtener,
|b A x|
|b|
=
|A(x

x)|
|Ax

|

|x

x|
|A
1
|
1
|A||x

|
=
1
(A)
|x

x|
|x

|
,
es decir
|x

x|
|x

|
(A)
|b A x|
|b|
. (6.4)
De (6.3) y (6.4),
1
(A)
|b A x|
|b|

|x

x|
|x

|
(A)
|b A x|
|b|
.
Si (A) es un n umero muy grande, estas relaciones no nos permiten asegurar si la aproxi-
macion x es o no una buena estimacion de la verdadera solucion x

.
6.1 Valores singulares de una matriz
El siguiente teorema permite estimar (A) en la norma
2
y dar una interpretacion
geometrica de su signicado. Recordemos la siguientes deniciones.
Denicion 6.1 (Matriz ortogonal)
Sea Q R
nn
, Q se dice ortogonal si Q
1
= Q
T
.
Denicion 6.2 (Autovalores y autovectores de una matriz)
Sea A R
nn
, x R
n
, x ,= 0 se dice que es un autovector de A y C su autovalor
asociado si Ax = x.
Denicion 6.3 (Radio espectral de una matriz)
Sea A R
nn
, x R
n
, el n umero
(A) = max[[ : C, autovalor de A
se dice radio espectral de A.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 61
Observacion: Si A es simetrica todos sus autovalores son n umeros reales.
Denicion 6.4 (Matriz denida positiva)
Sea A R
nn
, A se dice matriz denida positiva si para todo x R
n
, x ,= 0, x
T
Ax > 0.
Denicion 6.5 (Matriz semidenida positiva)
Sea A R
nn
, A se dice matriz semidenida positiva si para todo x R
n
, x
T
Ax 0.
Observacion: Si A es simetrica denida positiva todos sus autovalores son n umeros
reales estrictamentes positivos, mientras que si A es simetrica semidenida positiva sus
autovalores son no negativos.
Teorema 6.1 (Forma diagonal de una matriz cuadrada bajo equivalencias or-
togonales)
Dada A R
nn
, entonces existen U, V R
nn
ortogonales tal que U
T
AV = D, donde D
es una matriz diagonal.
Adem as U y V se pueden elegir tal que los elementos de D son

1

2

r
>
r+1
= =
n
= 0,
donde r = rango(A).
En particular si A es no singular entonces

1

2

n
> 0
Denicion 6.6 (Valores singulares de A)
Los n umeros
1
,
2
, ,
n
se dicen los valores singulares de la matriz A.
Utilidad del teorema: (Ver [FM67]).
Supongamos dos espacios vectoriales de dimension n, X e Y y tambien supongamos
sistemas de coordenadas ortogonales en ambos espacios. Consideremos, ahora un cambio
ortogonal de coordenadas X

en X y un cambio ortogonal Y

en Y . Entonces,
y

= U
T
y = U
T
Ax = (U
T
AV )x

= Dx

.
En los nuevos sistemas de coordenadas ortogonales la transformacion tiene una repre-
sentacion muy simple. En terminos de componentes
y

1
=
1
x

1
y

2
=
2
x

2
.
.
.
.
.
.
y

r
=
r
x

r
y

r+1
= y

r+2
= = y

n
= 0,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 62
......................................................................................................................................................................................................................................
.... ... .. .. . .. . .
....................................................................................................................................................................................................................... . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
......................................................................................................................................................................................................................................
.... ... .. .. . .. . .
....................................................................................................................................................................................................................... . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
......................................................................................................................................................................................................................................
..... .. .. .. . .. . .
....................................................................................................................................................................................................................... . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
................................................................................................................................................................................................................................................ . . . . . . . . . . . . .. .
. . . . . . . . . . . . . . . .
. . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . . .. . .. . . .. . . .. . . .................
................


....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
D
................................................................................................................................................................... ............... .......... ......... ....... ...... ...... ..... ..... ..... .... ..... .... .... .... ... .... ... .... ... .... ... ... ... ... ... ... ... ... ... .. ... ... .. ... ... .. ... .. ... .. ... .. ... .. .. ... .. .. .. ... .. .. .. ... .. .. . .. . ................ .
................
.. . .. .. .
.. .. .. ..
. ... .. ..
. ... ... .
.. .... ..
.... ....
........
..... ...
........
........
........
........
........
........
........
........
........
........
........
........
........
........
........
...
................. .. .. .. .........
. . .. . . . . . . . . . . . .
V
T
.......................................................................................................................................................................................................... .............. .......... ......... ....... ...... ...... ...... ..... ..... ..... ..... .... .... .... .... .... .... .... ... .... ... .... ... ... ... .... ... ... ... ... ... .. ... ... ... .. . . .. . . . .. . . . ..................
................
U
T
x
X
y = Ax
Y
x

= V
T
x
X

= U
T
y
Y

es decir la transformacion manda el primer eje coordenado de X

en el primer eje coor-


denado de Y

magnicado por un factor


1
. Lo mismo ocurre con el segundo eje, y as
siguiendo hasta el r-esimo. Los ejes (r + 1), , n son transformado en cero.
Este teorema es muy importante pues permite calcular (A) facilmente en la norma
2
.
Veamos,
D
T
D = (U
T
AV )
T
(U
T
AV ) = V
T
A
T
UU
T
AV = V
T
(A
T
A)V =
(AV )
T
(AV ) =
_
_
_
_
_
_
_
_
_
_
_

2
1

2
2
.
.
.

2
r
0
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 63
Dado que V es ortogonal, la transformacion V
T
(A
T
A)V preserva los autovalores de A
T
A,
los cuales son

2
1
,
2
2
, ,
2
r
, 0, , 0.
Entonces
|A|
2
= (max a.v(A
T
A))
1
2
=
1
.
Los valores singulares de A son las races cuadradas de los autovalores de A
T
A.
Ahora bien, en el sistema X

, consideremos
o = x

: |x

|
2
= 1.
La transformacion D : X

Y

transforma o en un elipsoide c denido por
_
_
_
_
y

1
_
2
+
_
y

2
_
2
+ +
_
y

r
_
2
= 1
y

r+1
= = y

n
= 0.
Si r < n entonces c y el origen yacen sobre el mismo hiperplano y las matrices D y A son
singulares.
Si r = n, c los puntos mas cercanos al origen son (0, , 0
n
). Las matrices D y A
son no singulares.
D
1
= diag(
1
1
, ,
1
n
)
y los valores singulares de A
1
son
1
1
, ,
1
n
.
Entonces si r = n, |A
1
|
2
= |D
1
|
2
=
1
n
y

2
(A) = |A|
2
|A
1
|
2
=

1

n
.
LINPACK y por lo tanto MATLAB usan en sus subrutinas esta idea, para estimar el
n umero de condici on [DMBS79].
6.2 Determinante y singularidad numerica
Sabemos
det(A) = 0 A es singular.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 64
Ahora bien, que hay de cierto en la siguiente proposicion ?
det(A) 0 A es numericamente singular.
La respuesta es que la proposici on es falsa. Hay muy poca relaci on entre det(A) y la
condici on del sistema Ax = b
Ejemplo 6.1 Sea
A =
_
_
_
_
_
_
1 1 1 1
1 1 1
1 1

1
_
_
_
_
_
_
.
El determinante det(A) = 1, la norma |A|

= n.
A
1
=
_
_
_
_
_
_
_
_
_
1 1 2 4 8 2
n2
1 1 2 4 2
n3
1 1 2 2
n4
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
_
_
_
_
_
_
_
_
_
.
La norma |A
1
|

= 2
n1
1.

(A) n2
n1
,
que es un n umero grande para n grande.
Ejemplo 6.2 Este ejemplo muestra una matriz cuyo determinante es un n umero cercano
a cero, pero es una matriz bien condicionada.
Supongamos n = 101 y una matriz cuyos valores singulares son

1
= 1,
2
=
101
= 10
1
.
det(A) = det(D) = 10
100
,
y

2
(A) = 10.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 65
6.3 Ejercicios Pr actica de Laboratorio
Ejercicio 6.1 Sea
A =
_
_
_
_
_
_
1 1 1 . . . . . . 1
0 1 1 . . . . . . 1
0 0 1 . . . . . . 1
. . . . . . . . . . . . . . .
0 0 0 . . . . . . 1
_
_
_
_
_
_
.
a) Halle A
1
.
b) Halle |A|

, |A
1
|

(A).
Ejercicio 6.2 De un ejemplo de una matriz A cuyo determinante satisface 1 det(A)
10 y que resulte numericamente singular para una maquina con
M
= 10
10
.
Ejercicio 6.3 Si A es una matriz ortogonal, pruebe que
2
(A) = 1, cualquiera sea la
dimension de A.
Ejercicio 6.4 Sean
A =
_
_
6 13 17
13 29 38
17 38 50
_
_
, A
1
=
_
_
6 4 1
4 11 7
1 7 5
_
_
.
Los autovalores de A son aproximadamante

1
= 0.0588,
2
= 0.2007,
3
= 84.74.
a) Describa la imagen bajo la transformacion A de la esfera unitaria.
b) Halle |A|
2
, |A
1
|
2
,
2
(A).
c) Considere el sistema Ax = b. Suponga vectores x, b R
3
tal que |b Ax|
2
0.01.
i) Estime una cota superior para
|x A
1
b|
2
.
ii) Estime una cota superior para
|x A
1
b|
2
|A
1
b|
2
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 66
Laboratorio 6.1 Sea A R
22
A =
_
3 1
1 3
_
.
a) Describa la imagen bajo la transformacion A de la circunferencia
C =
_
x R
2
: |x|
2
= 1
_
utilizando la funcion de MATLAB transfor2d(A).
b) Interprete los resultados obtenidos en a) en relacion con el Teorema 6.1.
Laboratorio 6.2
a) Para cada una de las matrices Z R
33
describa la imagen bajo la transformacion
Z de la esfera unitaria:
S =
_
x R
3
: |x|
2
= 1
_
utilizando la funcion de MATLAB transfor(Z):
i) Z = A =
_
_
3 0 0
0 2 0
0 0 1
_
_
,
ii) Z = B =
_
_
1 0 0
0 cos(/6) sen(/6)
0 sen(/6) cos(/6)
_
_
,
iii) Z = B A.
b) A partir de los gracos obtenidos y teniendo en cuenta las caractersticas de cada
matriz analice los resultados obtenidos en a) en relacion con el Teorema 6.1.
c) Para cada matriz calcule |Z|
2
, |Z
1
|
2
y
2
(Z) y relacione estos valores con la
deformacion de la esfera unitaria.
Laboratorio 6.3 Sea
A =
_
1 0.99
0.99 0.98
_
Utilizando MATLAB,
a) halle los autovalores de A.
b) halle los valores singulares de A.
c) calcule
2
(A).
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 67
d) si b = (1.99, 1.97)
T
, muestre que el sistema Ax = b, cuya solucion es x

= (1, 1)
T
,
esta muy mal condicionado, resolviendo Ax = b y Ax =

b con

b = (1.989903, 1.970106)
T
.
e) graque.
Laboratorio 6.4 Repita el ejercicio 6.1, con n = 10, 20, 30, 50 usando MATLAB.
REFERENCIAS PARA LA CLASE: [FM67, DMBS79].
Clase 7
Metodos de resolucion de sistemas
lineales
En esta clase estudiamos distintos algoritmos para resolver el sistema lineal Ax = b cuando
A es una matriz general de n n. Es decir metodos para hallar x.
Una idea erronea es tratar de hallar A
1
y determinar x

premultimplicando b por
A
1
. En una computadora que ejecuta operaciones aritmeticas en forma secuencial el
calculo de A
1
tiene el efecto de aumentar el trabajo aritmetico ya que se deben resolver
n sistemas lineales Ax = e
i
, dende e
i
es el i-esimo vector canonico.
De hecho hay dos tipos de metodos para resolver un sistema lineal Ax = b.
Los metodos directos.
Los metodos indirectos o iterativos.
Ambos metodos constan de dos etapas:
(1) El problema se descompone en subproblemas de facil resolucion.
(2) Se resuelven los subproblemas.
En los metodos directos la idea es descomponer la matriz de los coecientes como
producto de factores, es decir se factoriza la matriz. Si
A = A
1
A
2
A
p
tal que A
i
v = w sea sencillo de resolver para cualquier w, entonces Ax = b se resuelve
como sigue
Ax = A
1
(A
2
A
3
A
p
)x
. .
x
1
= b.
1. A
1
x
1
= b se resuelve para x
1
,
68
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 69
2. A
2
x
2
= x
1
se resuelve para x
2
,
y as siguiendo.
Las factorizaciones mas populares son:
la factorizaci on LU (Eliminacion de Gauss (EG) - Eliminacion de Gauss con pivoteo
parcial (EGPP) - Eliminacion de Gauss con pivoteo completo (EGPC) - Factor-
izaci on de Cholesky).
la factorizaci on QR (Transformaciones de Householder - Rotaciones de Givens).
En los metodos iterativos, tipicamente se divide (o se separa) la matriz A en partes,
explotando su estructura si fuera posible, y se propone un valor x
0
para comenzar a iterar
el proceso. Por ejemplo, si
A = T +M
Ax = (T +M)x = b
Tx
k+1
= b Mx
k
Si A fuera
A =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
. x
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
entonces
A = T +M =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0 0 0
.
.
. 0 x
0 0 0
.
.
. 0 0
0 0 0
.
.
. 0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
x 0 0
.
.
. 0 0
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 70
Comenzamos nuestro estudio con los metodos directos. El tema central de este curso es
la factorizacion LU. La idea basica de estos metodos involucra la resolucion de alg un
sistema lineal triangular:
LU =
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
.
La factorizacion QR, que no estudiamos en este curso, es de la forma:
QR =
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ORTOGONAL
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
.
7.1 Sistemas triangulares inferiores
Ejemplo 7.1 Deseamos resolver
_
l
11
0
l
21
l
22
__
x
1
x
2
_
=
_
b
1
b
2
_
.
Si l
ii
,= 0, entonces
x
1
=
b
1
l
11
x
2
=
b
2
l
21
x
1
l
22
.
Esta es la version del caso n = 2 de un algoritmo conocido como sustitucion hacia
adelante. En general si L R
nn
es una matriz triangular inferior, el procedimiento
para resolver la i-esima ecuaci on del sistema Lx = b para x
i
es
x
i
=
b
i

i1

j=1
l
ij
x
j
l
ii
, i = 1, 2, , n.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 71
Observaciones:
1) b
i
solo se usa para computar x
i
, entonces se puede almacenar x
i
en b
i
.
2) En los algoritmos que siguen, se utiliza la notaci on compacta sugerida por Golub y
van Loan [GvL89]. Cualquier vector u = (u
1
, u
2
, , u
n
)
T
, se expresa como u(1 : n).
Tambien para la matriz A, con a(i, k : r) se denota las componentes ubicadas en las
posiciones, k, k+1, , r del i-esimo vector la. Finalmente si u, v R
n
, escribimos
u(k : r) v(k : r)
r

j=k
u(j) v(j).
Algoritmo 7.1 (Sustitucion hacia adelante).
(* Dada L R
nn
triangular inferior, no singular, este algoritmo resuelve Lx = b, alma-
cenando la solucion en b. *)
b(1) =
b(1)
l(1, 1)
para i = 2 : n
b(i) =
b(i) l(i, 1 : i 1) b(1 : i 1)
l(i, i)
n
7.2 Sistemas triangulares superiores
El algoritmo an alogo para resolver sistemas Ux = b, donde U es una matriz triangular
superior, es el algoritmo de sustitucion hacia atr as. La receta para calcular x
i
es la
siguiente
x
i
=
b
i

j=i+1
u
ij
x
j
u
ii
i = n, n 1, , 1,
y de nuevo x
i
se puede almacenar en b
i
.
Algoritmo 7.2 (Sustitucion hacia atr as).
(* Dada U R
nn
triangular superior, no singular, este algoritmo resuelve Ux = b,
almacenando la solucion en b. *)
b(n) =
b(n)
u(n, n)
para i = n 1 : 1 : 1
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 72
b(i) =
b(i) u(i, i + 1 : n) b(i + 1 : n)
u(i, i)
n
7.3 Eliminaci on de Gauss y la factorizaci on LU
Para un sistema lineal Ax = b, con una matriz densa no se ha encontrado ninguna clase
de algoritmos que sea mejor que EG, ya sea en tiempo de ejecuci on o exactitud de la
solucion aproximada.
EG aparece en muchas formas, las cuales son algebraicamente equivalentes. Los
metodos dieren en como las matrices son almacenadas, el orden en que se efectua la
eliminaci on, etc.
Ya vimos que resolver sistemas triangulares es sencillo. La idea detras de EG es
precisamente convertir Ax = b en un sistema triangular equivalente.
7.3.1 La transformaci on de Gauss
Sea x R
n
, si x
k
,= 0, consideremos

k
=
_
0, , 0,
x
k+1
x
k
, ,
x
n
x
k
_
T
.
Denicion 7.1 (Transformaci on de Gauss) Se llama transformaci on de Gauss a la
siguiente transformaci on lineal,
M
k
: R
n
R
n
M
k
(x) = (I
k
e
T
k
)(x) =
_
_
_
_
_
_
_
_
_
x
1
.
.
.
x
k
0
.
.
.
0
_
_
_
_
_
_
_
_
_
.
Las componentes no nulas del vector
k
,
x
i
x
k
, i = k+1, , n se llaman multiplicadores.
Ahora consideremos Ax = b, A R
nn
, b R
n
. Si
k
se elige a partir de la k-esima
columna de A, siempre que a
kk
,= 0

k
=
_
0, , 0,
a
k+1 k
a
kk
, ,
a
nk
a
kk
_
T
,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 73
para k = 1, , n 1 y aplicamos al sistema las convenientes transformaciones de Gauss
se tiene,
Ax = b
A
(1)
x = M
1
(Ax) = M
1
b = b
(1)
A
(1)
x = b
(1)
A
(2)
x = M
2
(A
(1)
x) = M
2
b
(1)
= b
(2)
A
(2)
x = b
(2)
.
.
. =
.
.
.
Finalmente tenemos
M
n1
. . . M
1
Ax = M
n1
. . . M
1
b.
La matriz M
n1
. . . M
1
A = U es una matriz triangular superior.
A = (M
n1
M
n2
. . . M
1
)
1
U = (M
1
1
M
1
2
. . . M
1
n1
)U = LU
donde L es una matriz triangular inferior con 1 en la diagonal. Observamos que las
entradas de A
(k)
quedan denidas por
a
(k)
ij
= a
(k1)
ij

a
(k1)
ik
a
(k1)
kk
a
(k1)
kj
(7.1)
= a
(k1)
ij
m
ik
u
kj
(7.2)
para i = k + 1, , n, j = k + 1 , n.
Ejemplo 7.2 Resolvemos
x
1
2x
2
+ 3x
3
4x
4
= 30
2x
1
+ 6x
2
16x
3
+ 20x
4
= 142
3x
1
16x
2
+ 62x
3
93x
4
= 593
4x
1
+ 20x
2
93x
3
+ 239x
4
= 1279.
La matriz de los coecientes
A =
_
_
_
_
1 2 3 4
2 6 16 20
3 16 62 93
4 20 93 239
_
_
_
_
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 74
M
1
= I
1
e
T
1
,
con

1
= (0, 2, 3, 4)
T
M
1
=
_
_
_
_
_
_
_
_
1

a
21
a
11
1

a
31
a
11
1

a
41
a
11
1
_
_
_
_
_
_
_
_
=
_
_
_
_
1
2 1
3 1
4 1
_
_
_
_
.
As
M
1
A = A
(1)
=
_
_
_
_
1 2 3 4
0 2 10 12
0 10 53 81
0 12 81 223
_
_
_
_
.

2
= (0, 0, 5, 6)
T
entonces,
M
2
=
_
_
_
_
_
_
_
_
_
1
1

a
(1)
32
a
(1)
22
1

a
(1)
42
a
(1)
22
1
_
_
_
_
_
_
_
_
_
=
_
_
_
_
1
1
5 1
6 1
_
_
_
_
.
M
2
A
(1)
= A
(2)
=
_
_
_
_
1 2 3 4
0 2 10 12
0 0 3 21
0 0 21 151
_
_
_
_
.
Finalmente,

3
= (0, 0, 0, 7)
T
M
3
=
_
_
_
_
_
_
_
1
1
1

a
(2)
43
a
(2)
33
1
_
_
_
_
_
_
_
=
_
_
_
_
1
1
1
7 1
_
_
_
_
.
M
3
A
(2)
= A
(2)
=
_
_
_
_
1 2 3 4
0 2 10 12
0 0 3 2
0 0 0 4
_
_
_
_
= U.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 75
Es decir
M
3
M
2
M
1
A = U
A = (M
3
M
2
M
1
)
1
U
= LU.
L = M
1
1
M
1
2
M
1
3
=
_
_
_
_
1
2 1
3 5 1
4 6 7 1
_
_
_
_
.
Hemos factorizado A = LU donde L es una matriz triangular inferior con 1 en la
diagonal, mientras que U es una matriz triangular superior.
La solucion del sistema se halla como explicamos en al principio de la clase. Esto es,
Ax = b
LUx = b
Ux = y.
1) Resolvemos Ly = b para y.
2) Resolvemos Ux = y para x.
Observemos que b fue ignorado en la factorizaci on. Esta es una ventaja, ya que se puede
repetir 1) y 2) con el lado derecho b que se desee.
Dada una matriz A, no singular, es siempre posible hallar L y U tal que A = LU ?
La respuesta es NO!. No todas las matrices no singulares admiten una factorizaci on LU.
Ejemplo 7.3 Consideremos la siguiente matriz
A =
_
0 1
1 0
_
.
Eliminacion de Gauss falla a menos que todos los menores principales sean no singulares.
En el ejemplo. podemos observar que la matriz esta bien condicionada y no admite una
descomposicion LU.
Denicion 7.2 (Pivote)
Las entradas a
(k1)
kk
de A
(k)
k = 1, , n se dicen elementos pivotes.
Como veremos mas adelante, la magnitud relativa de los elementos pivotes juegan un rol
crucial en el comportamiento del algoritmo. Los elementos pivotes pueden ser identicados
con una submatriz no singular.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 76
7.4 Teorema sobre pivoteo
Hasta ahora hemos considerado sistemas lineales Ax = b donde A R
nn
, la matriz de
los coecientes es no singular. Tambien hemos desarrollado tecnicas de pivoteo parcial y
completo para aumentar la estabilidad de la factorizaci on LU.
Presentamos tres resultados muy simples para formalizar nuestra intuicion acerca de
la necesidad de pivoteo en el transcurso de la descomposicion LU.
Teorema 7.1 Sea A R
nn
no singular. Las siguientes proposiciones son equivalentes.
(a) La factorizaci on LU de A puede ser completada.
(b) Existe un unico par de matrices L y U para las cuales A=LU con L y U no singulares.
(c) Todas las submatrices principales de A son no singulares.
Demostraci on: Probaremos (a) (b) (c) (a).
(a) (b) Unicidad de la factorizaci on: Sea A no singular tal que A = L
1
U
1
y
A = L
2
U
2
L
1
U
1
= L
2
U
2
L
1
2
L
1
= U
2
U
1
1
.
El primer miembro de la ultima igualdad es una matriz triangular inferior mientras
que el segundo es una matriz triangular superior, luego debe ser
L
1
2
L
1
= U
2
U
1
1
= I,
de donde L
1
= L
2
y U
1
= U
2
, la factorizacion es unica.
Sea ahora A = LU con L triangular inferior con 1 en la diagonal y U una matriz
triangular superior, entonces
det(A) = det(L)det(U) = det(U) = u
11
u
22
u
nn
.
(b) (c). Sea A = LU la unica descomposicion LU de A con L triangular inferior
con 1 en la diagonal y U triangular superior. Entonces para todo k, podemos
particionar A en bloques como sigue
A = LU
_
A
11
A
12
A
21
A
22
_
=
_
L
11
0
L
21
L
22
__
U
11
U
12
0 U
22
_
,
donde A
11
R
kk
. Entonces A
11
= L
11
U
11
y
det(A
11
) = det(L
11
) det(U
11
) ,= 0.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 77
(c) (a) Supongamos que se han ejecutado (k1)-pasos del proceso de eliminaci on.
Se tiene
M
k1
M
k2
M
1
A = A
(k1)
=
_
_
_
_
_
_
_
_
_
_
_
_
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
a
(k1)
kk
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_
_
_
_
_
_
_
_
_
_
_
_
,
y el k-esimo pivote es a
(k1)
kk
.
Dado que la transformacion de Gauss dene una matriz triangular superior no sin-
gular, la submatriz principal de A
(k1)
, es no singular, entonces calculamos
det(A
(k1)
) = a
(0)
11
a
(1)
22
a
(k1)
kk
,= 0
si el pivote a
(k1)
kk
,= 0. Entonces es posible denir los multiplicadores y por lo tanto
la matriz M
k
. El proceso contin ua.

7.5 Ejercicios
Ejercicio 7.1 Sean x R
n
con x
k
,= 0, y sea

k
=
_
_
0, . . . , 0
. .
kveces
,
x
k+1
x
k
, . . . ,
x
n
x
k
_
_
T
.
Si M
k
= I
k
e
k
T
, con e
k
= (0, , i
..
k
, . . . , 0)
T
. Pruebe que la matriz inversa de M
k
existe y que tiene la forma
M
1
k
= I +
k
e
k
T
.
Ejercicio 7.2 Sea
A =
_
_
0 0 10
0 20 0
30 0 0
_
_
a) Diga, justicando la repuesta, si la matriz A admite factorizacion LU.
b) Diga si el sistema Ax = b con b = (1000, 2000, 3000)
T
, tiene solucion.
REFERENCIAS PARA LA CLASE: [FM67, KC91, MAC09].
Clase 8
Inestabilidad de EG
1) Ya mostramos que no todas las matrices no singulares admiten una factorizacion
LU, aunque esten perfectamente condicionadas.
2) Otro inconveniente que presenta el algoritmo es que puede ser inestable.
Ejemplo 8.1 La solucion exacta del sistema
_
0 1
1 1
__
x
1
x
2
_
=
_
1
2
_
es x

= (1, 1)
T
.
Sea la unidad aritmetica de la maquina. Analicemos que sucede si se modica ligermante
el elemento a
11
reemplaz andolo por a
11
= . Si hacemos la factorizaci on LU de

A =
_
1
1 1
_
, se tiene:

A = LU =
_
1 0
1

1
__
1
0
1

_
.
Hallamos x,
Ly = b
_
1 0
1

1
__
y
1
y
2
_
=
_
1
2
_
entonces
y
1
= 1
y
2
= 2 +
1

=
1

.
Ux = y
_
1
0
1

__
x
1
x
2
_
=
_
1
1

_
,
78
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 79
de donde x = (0, 1)
T
. El residuo
r = b A x = (0, 1)
T
|r|

= 1
|A|

= 2
|x

x|

| x|

= 1,
es decir que el error relativo de la aproximacion obtenida tiene el mismo tama no que el
elemento mas grande de la matriz.
Observemos que
LU =
_
1 0
1

1
__
1
0
1

_
=
_
1
1 0
_
.
Es decir que el metodo de Eliminacion de Gauss puede ser inestable. Veamos si es posible
salvar el problema de inestabilidad. Si se intercambian las se tiene el siguiente sistema
equivalente
_
1 1
1
__
x
1
x
2
_
=
_
2
1
_
.
La matriz de los coecientes es ahora P

A, donde P es la matriz permutacion, (Ver
denici on 8.1),
P =
_
0 1
1 0
_
.
La factorizacion LU de P

A es
P

A = LU =
_
1 0
1
__
1 1
0 1
_
.
Resolvemos
Ly =
_
2
1
_

_
1 0
1
__
y
1
y
2
_
=
_
2
1
_
,
entonces
y
1
= 2
y
2
= 1 2.
Finalmente
Ux = y
_
1 1
0 1
__
x
1
x
2
_
=
_
2
1 2
_
,
de donde x = (1 2, 1 + 2)
T
x

.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 80
La clave para la estabilidad del metodo de eliminaci on de Gauss es controlar el creci-
miento de sus elementos. Hay que tratar que los multiplicadores sean en magnitud menor
o igual que 1. Para ello permutamos las las de modo que el pivote sea el n umero de
mayor magnitud de la columna.
8.1 Crecimiento de los elementos y estabilidad
Vamos a ver que el efecto de los errores, en aritmetica de precision nita, es proporcional
a la magnitud del elemento mas grande que aparece en la factorizacion.
La magnitud (esto es |A
(k)
|) maxima que puede alcanzar una matriz reducida de-
pende de n y de la magnitud del elemento mas grande de A.
Cuando una matriz A = (a
ij
) es factorizada, en realidad lo que se esta factorizando es
A+ A. Deseamos encontrar una cota para los elemento de A. Para esto hay que ver
que relacion existe entre los elementos de A y LU a traves de a
(k)
ij
, k = 1, , mini, j.
Los a
ij
se transforman en los elementos de U si i j y deberan convertirse en cero en
cualquier otro caso. Se puede probar que
[(A)
ij
[
_
_
_

1
3(i 1) max [a
(k)
ij
[ i j

1
3(j 1) max [a
(k)
ij
[ +[a
(j1)
ij
[ i > j.
No es posible obtener una cota donde la magnitud del maximo elemento de cualquier
matriz reducida se pueda reemplazar por alguna constante involucrando los elementos de
A. Obviamente esto es lo que hace a EG un algoritmos inestable.
Nuestro objetivo ahora es presentar una modicaci on del proceso de EG para contro-
lar el crecimiento de los elementos.
8.2 Eliminaci on de Gauss con pivoteo parcial, EGPP
Este metodo consiste en intercambiar las en A
(k)
de modo que para i k, max [a
(k)
ik
[ se
ubique en la la k. Intercambiar dos las de una matriz A, signica premultiplicar A por
una matriz permutacion.
Denicion 8.1 (Matriz permutacion).
Se dice que P R
nn
es una matriz permutaci on si se obtiene de la matriz identidad ,
cambiando las o columnas. Es decir si
I = (e
1
, , e
i
, , e
j
, , e
n
)
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 81
P(i, j) = (e
1
, , e
j
, , e
i
, , e
n
).
Entonces, en lugar de Ax = b, se resuelve un sistema equivalente.
Ax = b
PAx = Pb
LUx = Pb
y seguimos como antes.
La pregunta obvia es la siguiente, es EGPP un algoritmos estable?. Desafortunada-
mente la respuesta es NO.
Teorema 8.1 (Wilkinson)
Sea A R
nn
, b R
n
. Si EGPP es usado para resolver Ax = b, (P(A+ A) = LU) se
tiene
max
i,j
[(LU)
ij
(PA)
ij
[ 2
n1
3(n 1) max [a
ij
[.
Comentario: En la practica esto no pasa casi nunca. All radica precisamente la popu-
laridad de EGPP. El metodo puede ser usado con conanza ya que
[(A)
ij
[ (n)max [a
ij
[,
donde (n) es una funcion que crece muy lentamente con n.
8.3 Detalles practicos del algoritmo EGPP
Para ilustrar el algoritmo, veamos con el siguiente ejemplo como organiza LINPACK y
por lo tanto MATLAB el proceso de eliminacion (con pivoteo parcial),
_
_
_
_
1 2 3 4
2 6 16 20
3 16 62 93
4 20 93 239
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
=
_
_
_
_
30
142
593
1279
_
_
_
_
.
Dado que necesitamos todos los [l
i1
[ 1, cambiamos las ecuaciones 1 y 4 antes de comen-
zar.
4 -4 20 -93 239
2 -2 6 -16 20
3 3 -16 62 -93
1 1 -2 3 -4
IPVT P
1
A
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 82
Una vez que permutamos las las lo menos que se quiere es almacenar la matriz permu-
tada, de modo que solo se guardan los intercambios de las en un vector n-dimensional
IPVT.
Aplicamos M
1
a P
1
A,
4 -4 20 -93 239
2 0.5 -4 30.5 -99.5
3 -0.75 -1 -7.75 86.25
1 -0.25 3 -20.25 55.75
Ning un cambio de las es necesario,
4 -4 20 -93 239
2 0.5 -4 30.5 -99.5
3 -0.75 0.25 -15.375 111.125
1 -0.25 -0.75 2.625 -18.875.
Ning un cambio de las es necesario,
4 -4 20 -93 239
2 0.5 -4 30.5 -99.5
3 -0.75 0.25 -15.375 111.125
1 -0.25 -0.75 -0.1707 0.0976.
Finalmente tenemos:
U = M
3
M
2
M
1
P
1
A
= M
3
M
2
M
1
P(1, 4)A
= M
3
M
2

M
1
A.
En general
U = M
n1
P
n1
M
n2
P
n3
M
2
P
2
M
1
P
1
A.
Deniendo

M
k
como la matriz formada a partir de la matriz asociada a la transformacion
de Gauss M
k
, intercambiando los elementos (i, k) y (j, k) y del hecho que si i > k, j >
k, P(i, j)M
k
=

M
k
P(i, j) (ver ejercicio 8.1), se puede escribir
U = M
n1

M
n2


M
2

M
1
PA,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 83
donde
P =
1

i=n1
P
i
es una matrix permutacion. La matriz
M
n1
n2

i=1

M
i
es una matriz triangular inferior.
PA = (M
n1

M
n2


M
2

M
1
)
1
U = LU.
Es claro que

M
k
1
tiene la misma forma que M
1
k
.
Resolvenos como antes,
Ax = b
PAx = Pb =

b
LUx =

b.
Entonces
Ly =

b
Ux = y.
En practica, el lado derecho

b = Pb es formado sin inconvenientes ya que toda la infor-
macion acerca de P esta en el vector auxiliar IPVT. Esto es para todo i,

b(i) = b(ipvt(i)).
8.4 Eliminaci on de Gauss con pivoteo completo, EGPC
A pesar de la cota pesimista que establece el teorema, el metodo EGPP es generalmente
usado con conanza. Se pueden construir ejemplos en el cual el crecimiento 2
n1
ocurre.
Una forma estable de EG es EGPC. Esta estrategia controla el crecimiento observado
en la factorizaci on desarrollada por EGPP.
El metodo en el k-esimo paso permuta no solo las sino que tambien permuta columnas
con el objeto de poner el elemento mas grande en magnitud de la matriz reducida A
(k)
en
la posicion (k, k). O sea que se tendra
U = M
n1
M
2
P
2
M
1
P
1
AQ
1
Q
2
Q
n
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 84
Las matrices Q
i
permutan columnas. Ahora,
MPAQ = U
PAQ = LU.
Para resolver el sistema Ax = b, procedemos as:
Ax = b
P(Ax) = Pb
PAQQ
T
x = Pb (Q
T
= Q
1
)
(PAQ)(Q
T
x) = Pb.
Llamando Q
T
x = x y Pb =

b
PAQ x =

b
LU x =

b.
Resolvenos
Ly =

b para y
U x = y para x
Q
T
x = x para x.
8.5 Ejercicios Pr actica de laboratorio
Ejercicio 8.1 Si i > k, j > k, demuestre que P(i, j)M
k
=

M
k
P(i, j), donde P(i, j) es
la matriz permutacion que intercambia las las i y j,

M
k
es la matriz formada a partir
de la matriz asociada con la transformacion de Gauss M
k
, intercambiando los elementos
(i, k) y (j, k).
Ejercicio 8.2 Sea
A =
_
_
_
_
1 0 2 2
1 1 0 1
7 0 11 2
1 3 7 0
_
_
_
_
.
Muestre la matriz A
(1)
, despues de realizar un paso de EGPP a la matriz A para obtener
la factorizaci on LU.
Ejercicio 8.3 Sean
A =
_
_
_
_
_
_
1 0 0 . . . . . . 1
1 1 0 . . . . . . 1
1 1 1 . . . . . . 1
. . . . . . . . . . . . . . . . . .
1 1 1 . . . . . . 1 + 2
1
_
_
_
_
_
_
, b = e
1
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 85
a) Usando EGPP resuelva Ax = b, con 2
n
.
b) La respuesta exacta es
x

=
_
1 + 2
n1
, 1, 2, . . . , 2
n1
_
T
1
1 + 2
n
.
Compare x

con su resultado. Comente sobre la estabilidad de EGPP.


Laboratorio 8.1 Resuelva ejercicio 8.3 para n = 20, 50, 100, usando MATLAB.
Laboratorio 8.2 Dada la matriz A R
2020
con elementos
a
ii
= 1, i ,= 20, a
20 20
= 1, a
ij
= (1)
i+j1
, si i > j, j ,= 20,
a
i20
= (1)
i+j1
, si i ,= 20, a
ij
= 0 si i < j, j ,= 20.
Utilizando MATLAB halle:
a) La descomposicion LU de A.
b) Observe el crecimiento (en magnitud) de los elementos de la matriz U y muestre
que las cotas teoricas pueden alcanzarse.
REFERENCIAS PARA LA CLASE: [FM67, MAC09].
Clase 9
Costo computacional de la
factorizacion LUSistemas especiales
En esta parte vamos a responder a la pregunta: cuantos ops se necesitan para llevar a
cabo la factorizaci on LU ?.
Para obtener la primer columna de M
1
se necesitan (n 1) flops (divisiones). Al
aplicar M
1
a A para obtener A
(1)
se requieren
(n 1)
2
-multiplicaciones y
(n 1)
2
-sumas.
Por lo tanto en el paso i, seran necesario
(n 1 i) + 2(n 1 i)
2
flops.
El total
T =
n1

i=0
(n 1 i) + 2
n1

i=0
(n 1 i)
2
.
Haciendo un cambio de variable, l = n 1 i,
0

l=n1
l + 2
0

l=n1
l
2
=
n(n 1)
2
+
2(n 1)n(2(n 1) + 1)
6
=
3(n 1)n + 2(n 1)n(2n 1)
6
=
n(n 1)(1 + 4n)
6
=
4n
3
+n
2
4n
2
n
6

2
3
n
3
= O(n
3
).
86
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 87
El proceso de eliminaci on de Gauss se puede organizar ecientemente. Se han desar-
rollados distintas versiones de EG, tales como las versiones producto exterior y gaxpy. En
este curso no vamos a dedicar tiempo a su estudio, pero los lectores interesados pueden
encontrar los distintos algoritmos en el texto de Golub y van Loan [GvL89].
Los algoritmos para resolver sistemas triangulares presentados en la clase anterior, algo-
ritmos 7.1 y 7.2, requieren n
2
flops.
Finalmente observamos que el trabajo aritmetico requerido por EGPP tambien es
O(n
3
) m as
n(n 1)
2
comparaciones.
9.1 Ranking
Vamos a terminar esta parte calicando los tres algoritmos estudiados de acuerdo a sus
meritos. Comenzamos ordenando los algoritmos considerando estabilidad, luego el alma-
cenamiento requirido, trabajo aritmetico necesario y nalmente aplicabilidad.
Estabilidad (de mas estable a menos estable)
1. EGPC
2. EGPP
3. EG.
Almacenamiento (menos a mas almacenamiento requerido)
1. EG
2. EGPP
3. EGPC.
Trabajo aritmetico (menos a mas ops necesario)
1. EG
2. EGPP
3. EGPC.
Aplicabilidad ( mas a menos popular)
1. EGPP
2. EG
3. EGPC.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 88
9.2 Sistemas lineales especiales
Consideremos el ejemplo con el cual estuvimos trabajando hasta ahora. Observamos que
la matriz
A =
_
_
_
_
1 2 3 4
2 6 16 20
3 16 62 93
4 20 93 239
_
_
_
_
es simetrica y que puede ser almacenada econ omicamente en
n(n + 1)
2
lugares de memoria.
Ahora bien,
A =
_
_
_
_
1
2 1
3 5 1
4 6 7 1
_
_
_
_
_
_
_
_
1 2 3 4
2 10 12
3 21
4
_
_
_
_
= LU.
Obsevemos que l
.1
= u
T
1.
. Cabe la pregunta es una coincidencia? o hay alguna razon
escondida detras del requerimiento l
ii
= 1 ?. Notemos que
A = LD

U =
_
_
_
_
1
2 1
3 5 1
4 6 7 1
_
_
_
_
_
_
_
_
1
2
3
4
_
_
_
_
_
_
_
_
1 2 3 4
1 5 6
1 7
1
_
_
_
_
= LU.
Es decir que D es la parte diagonal de U y que D
1
U es una matriz triangular superior
con 1 en la diagonal. Adem as D
1
U = L
T
. Entonces A = LDL
T
y L yD pueden ser
almacenadas en el mismo espacio que A.
Dada una matriz simetrica siempre existe una factorizaci on LDL
T
? Si la respuesta
fuera armativa, dado que se necesitan menos elementos para representar la factorizacion
se espera que se pueda deducir un algoritmo que requiera menos trabajo aritmetico.
En muchos problemas practicos es frecuente encontrar matrices simetricas y denidas
positivas, ver deniciones en clase 6. Para estas clases de matrices existe un algoritmo
particularmente eciente y estable conocido como factorizacion de Cholesky.
Teorema 9.1
a) Sea A R
nn
denida positiva entonces A es no singular y a
ii
> 0 para todo i.
b) A es denida positiva si y solo si cada submatriz principal de A es denida positiva.
c) Si A es denida positiva entonces A puede ser factorizada por medio de EG sin
pivoteo.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 89
Demostraci on:
a) Supongamos que A es singular. Entonces existe alg un vector v ,= 0 tal que Av = 0,
por lo tanto es claro que v
T
Av = 0, que contradice la hipotesis que A es denida positiva.
Finalmente sea v = e
j
entonces 0 < e
T
j
Ae
j
= a
jj
, j = 1, , n.
La recproca no es cierta; por ejemplo la matriz
_
2 4
4 2
_
,
no es denida positiva.
b) ) Consideremos una particion de A, donde A
11
R
kk
. Sea v = (v
1
, 0)
T
con v
1
R
k
y v
1
,= 0. Como A es denida positiva v
T
Av > 0,
(v
T
1
, 0)
_
A
11
A
12
A
21
A
22
__
v
1
0
_
> 0
(v
T
1
A
11
, v
T
1
A
12
)
_
v
1
0
_
= v
T
1
A
11
v
1
> 0
para todo v
1
,= 0. Por lo tanto A
11
es denida positiva.
) Obvio, tomando k = n.
c) Si A es denida positiva entonces todas sus submatrices principales son no singulares
entonces de acuerdo al teorema 7.1, A admite una factorizacion LU.
El siguiente teorema sugiere un metodo para efectuar la factorizaci on.
Teorema 9.2 Sea A R
nn
simetrica, denida positiva. Entonces A puede ser factor-
izada usando EG sin pivoteo en A = LDL
T
donde L es triangular inferior con 1 en la
diagonal y D es una matriz diagonal con d
ii
> 0.
Adem as A = MM
T
con M triangular inferior con m
ii
> 0 unica.
Demostraci on: Ejercicio 9.1.
9.3 Factorizaci on de Cholesky
Para una matriz A R
nn
, simetrica y denida positiva, la factorizaci on A = MM
T
denida en el teorema 9.2 es conocida como factorizacion de Cholesky y M se llama
triangulo o factor de Cholesky. El sistema se resuelve en la forma usual
Ax = b
MM
T
x = b
y como antes se dene M
T
x = y y se resuelve el sistema My = b para y y luego M
T
x = y
para x.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 90
Veamos como se factorizan las matrices simetricas y denidas positivas en la practica.
Ya vimos que no se necesita ning un tipo de pivoteo. Claramente si L es tal que los l
ii
> 0,
entonces M = LD
1
2
conecta los dos factores. Del hecho que A = MM
T
, podemos escribir
a
11
= M
T
1.
(M
T
)
.1
= m
2
11
m
11
=

a
11
a
12
= M
T
1.
(M
T
)
.2
= m
11
m
21
m
21
=
a
12
m
11
.
.
.
.
.
.
a
1n
= M
T
1.
(M
T
)
.n
= m
11
m
n1
m
n1
=
a
1n
m
11
.
Calculamos la segunda la de M
a
22
= m
2
21
+m
2
22
m
22
=
_
a
22
m
2
21
a
23
= m
21
m
31
+m
22
m
32
m
32
=
(a
23
m
21
m
31
)
m
22
.
.
.
.
.
.
Finalmente
a
nn
= m
2
n1
+m
2
n2
+ +m
2
nn
m
nn
=

_
a
nn

n1

j=1
m
2
nj
.
Comentarios:
No hay crecimiento signicativo de los elementos pues ning un elemento de la la i
de M puede se mayor que la raz cuadrada del correspondiente elemento diagonal
de A, pues
i

j=1
m
2
ij
= a
ii
.
El algoritmo puede ser organizado para calcular el elemento en la posicion (1,1),
(1,2), (2,2), (2,3), (3,3),.. etc., para producir la factorizacion de Cholesky de las
sucesivas submatrices principales.
9.4 Matrices diagonalmente dominantes
Otro tipo de matrices para las cuales el pivoteo no es necesario y el proceso de descom-
posicion LU es estable es el de las matrices diagonalmente dominantes.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 91
Denicion 9.1 (Matriz diagonalmente dominante)
Una matriz A R
nn
se dice diagonalmente dominante por las si para todo i = 1, , n,
[a
ii
[
n

j=1,i=j
[a
ij
[. (9.1)
Si la desigualdad se cumple en forma estricta se dice que A es estrictamente diagonal
dominante por las.
Analogamente A se dice diagonalmente dominante por columnas si para todo j = 1, , n,
[a
jj
[
n

i=1,i=j
[a
ij
[. (9.2)
Si la desigualdad se cumple en forma estricta se dice que A es estrictamente diagonal
dominante por columnas.
Se las desigualdades (9.1) y (9.2) se cumplen para todo i, j = 1, , n se dice que A
es diagonal dominante y se estas se verican en forma estricta, A se dice estrictamente
diagonal dominante.
Ejemplo 9.1 La matriz
A =
_
_
_
_
7 1 0 3
1 4 1 1
1 0 5 3
1 3 1 7
_
_
_
_
,
es diagonal dominante, mientras que
B =
_
_
4 2 3
2 5 0
3 0 6
_
_
,
no lo es.
Teorema 9.3 Sea A R
nn
. Si A es estrictamente diagonal dominante, entonces A es
no singular y todas sus submatrices principales son estrictamente diagonalmente domi-
nante.
Demostraci on:
1) Supongamos que A es singular existe x R
n
, x ,= 0 tal que Ax = 0. Entonces
a
ii
x
i
=
n

j=1,i=j
a
ij
x
j
.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 92
Sea i tal que [x
i
[ = |x|

,
[a
ii
[[x
i
[
n

j=1,i=j
[a
ij
[[x
j
[
[a
ii
[|x|

j=i
[a
ij
[|x|

[a
ii
[

j=i
[a
ij
[,
por lo tanto A no es estrictamente diagonal dominante.
2) Es claro que para todo k = 1, n,
[a
ii
[ >
n

j=1,i=j
[a
ij
[ >
k

j=1,i=j
[a
ij
[.
Entonces toda submatriz principal de A es estrictamente diagonal dominante para todo
k.
Observacion: La segunda parte del teorema implica que toda submatriz de A es no
singular y de acuerdo al teorema 7.1 A admite una unica factorizacion LU.
El siguiente teorema muestra que el proceso de eliminaci on de Gauss sin pivoteo es
estable para matrices diagonalmente dominantes.
Teorema 9.4 Sea A R
nn
(estrictamente) diagonal dominante, entonces si A
(k)
es la
matriz reducida de aplicar EG para obtener la factorizaci on LU de A se tiene que
a) A
(k)
es (estrictamente) diagonal dominante.
b)
max
i,j,k
[a
(k)
ij
[ 2 max
i,j
[a
ij
[.
Demostraci on: Analicemos el caso en que A es diagonal dominante.
a) Para jar ideas consideremos A
(1)
. Dado que A es diagonal dominante
[a
11
[
n

j=2
[a
1j
[.
a
(1)
ij
= a
ij

a
i1
a
11
a
1j

[a
(1)
ij
[ [a
ij
[ +
[a
i1
[
[a
11
[
[a
1j
[.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 93
Entonces manteniendo i jo y sumando desde j = 2 hasta n, se tiene
n

j=2
[a
(1)
ij
[
n

j=2
[a
ij
[ +[a
i1
[
1
[a
11
[
_
n

j=2
[a
1j
[
_

j=1
[a
ij
[. (9.3)
Ahora calculemos,
[a
(1)
ii
[
n

j=2,i=j
[a
(1)
ij
[ =

a
ii

a
i1
a
11
a
1i

j=2,i=j

a
ij

a
i1
a
11
a
1j

[a
ii
[
[a
i1
a
1i
[
[a
11
[

n

j=2,i=j
[a
ij
[
n

j=2,i=j
[a
i1
[
[a
11
[
[a
1j
[
= [a
ii
[
n

j=2,i=j
[a
ij
[
[a
i1
[
[a
11
[
n

j=2
[a
1j
[
[a
ii
[
n

j=1,i=j
[a
ij
[ 0.
De esta ultima desigualdad se tiene que
[a
(1)
ii
[
n

j=2,i=j
[a
(1)
ij
[
de donde resulta que A
(1)
es diagonal dominante.
De la misma manera se puede probar que A
(k)
son (estrictamente) diagonal dominantes
para todo k = 1, , n 1.
[a
(k)
ii
[
n

j=k+1,i=j
[a
(k)
ij
[, k = 1, .n 1. (9.4)
y se generaliza (9.3) obteniendose
n

j=k+1
[a
(k)
ij
[
n

j=1
[a
ij
[, k = 1, n 1 (9.5)
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 94
b) De la hipotesis que A es (estrictamente) diagonal dominante, (9.5) y (9.4) se tiene que
[a
(k)
ij
[
n

j=k+1
[a
(k)
ij
[
n

j=1
[a
ij
[
=
n

j=1,i=j
[a
ij
[ +[a
ii
[ [a
ii
[ +[a
ii
[
2 max
i,j
[a
ij
[.

9.5 Ejercicios
Ejercicio 9.1 Demuestre Teorema 9.2.
Laboratorio 9.1 (Matriz de Hilbert)
Sean los sistemas H
n
x = b
n
, para n = 5, 10, 15, donde
(H
n
)
ij
=
_
1
i +j 1
_
, i, j = 1, , n,
b
i
=
n

j=1
1
i +j 1
, i = 1, , n.
La solucion exacta es x

= (1, 1, , 1)
T
. Considere

H
n
redondeando los elementos de H
n
a 16 dgitos signicativos.
a) Halle H
1
n
.
b) Halle cond(H
n
).
c) Calcule los autovalores de H
n
.
d) Suponga que usted desea resolver el sistema H
n
x = b, con H
n
y b como arriba,
usando un computador, donde
M
= 10
16
. Explique que sucede.
e) Estime el residuo relativo para cada sistema.
f) Estime una cota superior para el error relativo.
g) De acuerdo a los resultados obtenidos en a), y en terminos del analisis de error
discutido en clase, cuando n crece que concluye acerca del condicionamiento de un
problema y estabilidad de un algoritmo?.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 95
Ejercicio 9.2 Encuentre la factorizaci on de Cholesky de
A =
_
_
4 6 2
6 10 1
2 1 22
_
_
.
Que sucede si 10 es cambiado por 7 ?.
Ejercicio 9.3 a) Encuentre la matriz A cuyo factor de Cholesky es
M =
_
_
1 0 0
4 2 0
5 6 3
_
_
.
b) Resuelva Ax = b siendo b = (8, 60, 151)
T
.
Ejercicio 9.4 Verique que si la descomposicion LU de una matriz tridiagonal A existe,
entonces se puede escribir
A =
_
_
_
_
_
_
_
_
a
1
c
1
0 0
b
2
a
2
c
2
0 0


0 b
n1
a
n1
c
n1
0 0 b
n
a
n
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
1 0 0 0

2
1 0


0
n1
1
0 0
n
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_

1
c
1
0 0
0
2
c
2



0 c
n1
0 0
n
_
_
_
_
_
_
_
_
.
Encuentre
1
,
n
y
2
, ,
n
en terminos de a
i
, b
i
y c
i
.
Use sus formulas para hallar la descomposicion LU de la matriz
A =
_
_
_
_
_
_
1 1 0 0 0
1 2 1 0 0
0 1 3 1 0
0 0 1 4 1
0 0 0 1 5
_
_
_
_
_
_
.
Ejercicio 9.5
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 96
a) Proponga ejemplos de matrices simetricas y estrictamente diagonal dominante que
no sean denidas positivas.
b) Proponga ejemplos de matrices simetricas y semidenidas positivas que no sean
diagonal dominantes.
Laboratorio 9.2 Resuelva el ejercicio 1. utilizando MATLAB.
Laboratorio 9.3 Resuelva el sistema Ax = b con
A =
_
_
_
_
1 2 3 4
2 6 16 20
3 16 62 93
4 20 93 239
_
_
_
_
y b =
_
_
_
_
30
142
593
1279
_
_
_
_
.
Compare con los resultados obtenidos en la secci on anterior.
REFERENCIAS PARA LA CLASE: [FM67, KC91, MAC09].
Clase 10
Metodos iterativos
Los metodos directos que hemos estudiado para resolver el sistema Ax = b con A R
nn
y b R
n
involucran la factorizaci on de A. Estos metodos no son practicos cuando A es
sparse y n muy grande. En este caso existen dos estrategias distintas a seguir:
Se elige un metodo directo que explote la estructura de A y evite hacer densa la
matriz en los pasos intermedios durante el proceso de factorizaci on [DER86] o bien
se elige un metodo indirecto o iterativo.
El estudio sobre metodos iterativos sigue el esquema propuesto por Golub y van Loan
[GvL89] en el captulo 10, acompa nado por el libro de Ortega [ORT90] cuando tratemos
el analisis de convergencia.
Notacion: en esta clase, el estimado obtenido en la iteracion k se denota con x
(k)
,
reservando los subndices para indicar las componentes del vector. Mas adelante retornare-
mos a la antigua notaci on.
Como trabaja un metodo iterativo ?
1. Dado una aproximacion inicial x
(0)
, genera una sucesion x
(k)
que aproxima a x

.
2. La matriz A no necesita ser factorizada.
Estos metodos acceden a los coecientes de A solo para efectuar productos matriz
por vector. Esto es, dado x calculan y = Ax y algunas veces z = A
T
x. Es claro que la
eciencia de un metodo iterativo yace en cu an rapido converge la sucesion x
(k)
a x

.
Los metodos iterativos se agrupan en dos categoras, estacionarios y no estacionarios.
Denicion 10.1 (Metodos iterativos estacionarios)
Los metodos iterativos que generan una sucesion x
(k)
cuyo termino general puede ex-
presarse como
x
(k+1)
= Gx
(k)
+c (10.1)
97
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 98
donde G y c no dependen de la iteracion k, se dicen metodos iterativos estacionarios.
La matriz G se llama matriz de la iteracion o del metodo.
Entre los metodos iterativos mas usados para resolver sistemas lineales encontramos,
1) Metodo de Jacobi
2) Metodo de Gauss-Seidel
3) Metodo de sobre relajacion sucesiva (SOR)
4) Metodo de sobre relajacion sucesiva simetrica (SSOR).
10.1 Metodo de Jacobi
Posiblemente es el metodo iterativo mas simple. El metodo se deduce facilmente exami-
nando cada una de las n-ecuaciones del sistema en forma independiente. Si en la i-esima
ecuaci on,
n

j=1
a
ij
x
j
= b
i
,
a
ii
,= 0, podemos resolver para x
i
, mientras las otras componentes de x permanecen jas.
De esta forma se tiene
x
i
=
_
b
i

j=1, j=i
a
ij
x
j
_
a
ii
(10.2)
Esta relaci on sugiere un metodo iterativo: si x
(k1)
es una aproximaci on de x

= A
1
b
entonces x
(k)
se dene como
x
(k)
i
=
_
b
i

j=1, j=i
a
ij
x
(k1)
j
_
a
ii
(10.3)
Se observa que el orden en que las ecuaciones son examinadas es irrelevante. El
metodo las trata en forma independiente. Por esto el metodo tambien se conoce como
metodo de desplazamientos simultaneos. Finalmente queremos hacer enfasis que el
metodo se puede aplicar solo si a
ii
,= 0.
Un seudo-codigo para el metodo de Jacobi es el siguiente,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 99
Algoritmo 10.1 (Metodo de Jacobi)
Sea A R
nn
, b R
n
, x
(0)
R
n
un punto inicial,
para k = 0, , hasta convergencia hacer
para i = 1 : n
x
(k+1)
i
=
b
i

i1

j=1
a
ij
x
(k)
j

n

j=i+1
a
ij
x
(k)
j
a
ii
n
n
Para codicar el algoritmo solo se necesita un vector auxiliar en el bucle interno, esto es
para i = 1, , n
t
i
= 0
para j = 1 : i 1 hacer
t
i
= t
i
+a
ij
x
(k)
j
n
para j = i + 1 : n hacer
t
i
= t
i
+a
ij
x
(k)
j
n
t
i
=
b
i
t
i
a
ii
n
x
(k+1)
= t
10.2 Metodo de Gauss-Seidel
El metodo de Jacobi no usa la informacion mas reciente cuando calcula x
(k+1)
. Por ejemplo
en el c alculo de la componente x
(k+1)
2
usa x
(k)
1
a un si x
(k+1)
1
ya se conoce.
Si revisamos la iteracion de Jacobi usando la estimacion mas reciente se obtiene la
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 100
iteracion de Gauss-Seidel. Para todo i = 1, , n
x
(k+1)
i
=
b
i

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j
a
ii
. (10.4)
El algoritmo completo se describe como sigue.
Algoritmo 10.2 (Metodo de Gauss-Seidel)
Sea A R
nn
, b R
n
, x
(0)
R
n
un punto inicial,
para k = 0, , hasta convergencia hacer
para i = 1 : n
t
i
= 0 ( vector auxiliar )
para j = 1 : i 1
t
i
= t
i
+a
ij
x
(k+1)
j
n
para j = i + 1 : n
t
i
= t
i
+a
ij
x
(k)
j
n
x
(k+1)
i
=
b
i
t
i
a
ii
n
n
Observaciones:
El c alculo de cada componente del nuevo iterado depende de todas las componentes
previamente calculadas, entonces las actualizaciones no se pueden hacer en forma
simultanea como en el metodo de Jacobi.
El iterado x
(k)
depende del orden en que las ecuaciones son examinadas. El metodo
de Gauss-Seidel se conoce tambien con el nombre de metodo de los desplaza-
mientos sucesivos, para indicar la dependencia de los iterados sobre el orden.
Estas dos observaciones son importantes pues si A es rala, la dependencia de cada
componente del nuevo estimado con respecto a las componentes previas no es absoluta,
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 101
ya que la presencia de ceros en la matriz elimina la inuencia de algunas componentes
previas. Si se puede elegir en forma adecuada el orden de las ecuaciones, es posible
reducir la dependencia y hacer el algoritmo mas eciente. En los dos metodos que hemos
presentado, el c alculo de x
(k+1)
en terminos de x
(k)
se puede escribir en terminos de
matrices. Si
L =
_
_
_
_
_
_
_
_
_
_
_
0 0 0 0 0
a
21
.
.
. 0 0 0
a
31
a
32
.
.
. 0 0

.
.
.

.
.
.
a
n1
a
n2
a
nn1
0
_
_
_
_
_
_
_
_
_
_
_
D = diag(a
11
, a
22
, , a
nn
)
U =
_
_
_
_
_
_
_
_
_
0 a
12
a
13
a
1n
0 0 a
23
a
2n
0 0 0
0

.
.
. a
n1n
0 0 0 0
_
_
_
_
_
_
_
_
_
,
la iteracion de Jacobi se pude escribir como
M
J
x
(k+1)
= N
J
x
(k)
+b (10.5)
donde
M
J
= D (10.6)
N
J
= (L +U). (10.7)
La iteracion de Gauss-Seidel (10.4) se puede escribir en terminos matriciales as
M
G
x
(k+1)
= N
G
x
(k)
+b (10.8)
donde
M
G
= D +L (10.9)
N
G
= U. (10.10)
Como ya se dijo los procedimientos que denen los metodos de Jacobi y de Gauss-
Seidel son miembros de una familia mas amplia que tiene la forma
Mx
(k+1)
= Nx
(k)
+b (10.11)
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 102
donde A es descompuesta como
A = M N.
En el metodo de Jacobi, M = M
J
es diagonal, mientras que en el metodo de Gauss-Seidel
M = M
G
es triangular inferior.
10.3 Convergencia de los metodos
Los algoritmos de esta familia convergen a A
1
b seg un sean los autovalores de G = M
1
N.
Teorema 10.1 Sean b R
n
, A = M N R
nn
no singular, x
(0)
R
n
. Si
i) M es no singular y
ii) (M
1
N) < 1,
entonces la sucesi on x
(k)
denida por (10.11) converge a x

= A
1
b.
Demostraci on: Sea e
(k)
= x
(k)
x

el error en la k-esima iteracion. Entonces


Mx
(k+1)
= Nx
(k)
+b
Mx

= Nx

+b
M(x
(k+1)
x

) = N(x
(k)
x

)
Me
(k+1)
= Ne
(k)
.
La ultima igualdad y la hipotesis que M es no singular implica que
e
(k+1)
= M
1
Ne
(k)
,
de donde
e
(k+1)
= (M
1
N)
k
e
(0)
.
La hipotesis (M
1
N) < 1 asegura que (M
1
N)
k
0, (ver Ejercicio 10.1) y dado que
e
(0)
es jo, e
(k+1)
0 y por lo tanto x
(k)
x

.
Los algoritmos que denen metodos iterativos estacionarios para resolver Ax = b
tipicamente siguen los siguientes pasos:
1) Descompone A en la forma A = M N de modo que Mz = d sea un sistema lineal
facil de resolver.
2) La matriz M
1
N debe ser tal que (M
1
N) < 1.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 103
3) Si es posible, establecer mas propiedades acerca del radio espectral de M
1
N para
saber de que manera el error e
(k)
tiende a cero.
Ahora nos interesa saber, para los metodos de Jacobi y de Gauss-Seidel, que condici on
garantiza que (M
1
N) < 1. La respuesta esta dada por los siguiente teoremas.
Teorema 10.2 En el metodo de Jacobi, si A es estrictamente diagonal dominante, en-
tonces (M
1
N) < 1.
Demostraci on: Ejercicio 10.4.
Para el metodo de Gauss-Seidel se tiene el siguiente resultado.
Teorema 10.3 Sea A R
nn
simetrica y denida positiva. Entonces la sucessi on x
(k)

denida por la iteracion de Gauss-Seidel (10.8)-(10.10) converge a x

cualquiera sea el
punto inicial x
(0)
R
n
.
Demostraci on: Los estudiantes interesados pueden ver la demostracion de este teorema
en [GvL89] o en [ORT90].
10.4 Metodo de sobre relajaci on sucesiva
El metodo de Gauss-Seidel es atractivo por su simplicidad. La desventaja que presenta
es que si el radio espectral esta cerca de 1, el metodo converge lentamente y resultara
costoso si el sistema es muy grande. Para salvar este inconveniente se modica el metodo
efectuando una extrapolaci on, que describimos as: en la iteracion k + 1 del proceso (se
conoce el iterado previo y el iterado actual de Gauss-Seidel), la componente i-esima es
el promedio pesado entre las i-esimas componentes de la iteracion de Gauss-Seidel y la
iteracion previa, esto es
x
(k+1)
= x
(k+1)
GS
+ (1 )x
(k)
.
Esto dene el metodo de sobre relajaci on sucesiva, conocido como SOR
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 104
Algoritmo 10.3 (SOR)
Dados A R
nn
, b R
n
, x
(0)
R
n
, R
para k = 0, , hasta convergencia hacer
para i = 1 : n hacer
x
(k+1)
i
=

a
ii
_
b
i

i1

j=1
a
ij
x
(k+1)
j

n

j=i+1
a
ij
x
(k)
j
_
+ (1 )x
(k)
i
n
n
En terminos matriciales la iteracion SOR esta dada por
M

x
(k+1)
= N

x
(k)
+b (10.12)
donde
M

= D +L (10.13)
N

= (1 )D U. (10.14)
10.4.1 Elecci on del parametro
Para algunos problemas se puede hallar el parametro de relajacion de modo que mini-
mice el radio espectral M
1

. Sin embargo, en general no es posible calcular el valor de


que es optimo con respecto a la velocidad de convergencia de SOR. A un cuando esto
es posible el costo de tal calculo es usualmente prohibitivo.
Si = 1 se tiene el metodo de Gauss-Seidel.
El siguiente teorema debido a Kahan [ORT90] muestra que la convergencia de SOR
falla si , (0, 2) y si A es simetrica y denida positiva se puede garantizar que el metodo
converge para todo (0, 2).
Existen implementaciones de SOR que emplean esquemas adaptativos para estimar
el valor apropiado de y acelerar la velocidad de convergencia del metodo,
Teorema 10.4 (Kahan)
Si A R
nn
es tal que a
ii
,= 0, entonces
(G

) [ 1[.
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 105
Demostraci on: De (10.13) y (10.14), y del hecho que L es estrictamente triangular
inferior se tiene que det(D
1
) = det(M
1

).
G

= (D +L)
1
[(1 )D U]
det(G

) = det((D +L)
1
)det((1 )D U)
= det(D
1
)det((1 )D U)
= det((1 )I D
1
U)
= det((1 )I)
= (1 )
n
,
porque D
1
U es estrictamente triangular superior. Del hecho que
det(G

) =

i
,
se tiene
(1 )
n
=

i
[1 [
n
((G

))
n
,
de donde (G

) [ 1[.
Corolario 10.1 Si SOR converge entonces 0 < < 2.
Demostraci on: Ejercicio 10.10.
10.5 Ejercicios
Ejercicio 10.1 Sea A R
nn
. Pruebe que
a) para cualquier norma matricial consistente con el producto, el radio espectral de A
satisface (A) |A|.
b) para alguna norma matricial, (A) < 1 si y solo si |A| < 1.
Ejercicio 10.2 Sean
A =
_
_
9 1 1
2 10 3
3 4 11
_
_
b =
_
_
10
19
0
_
_
M.C. MACIEL NOTAS DE CLASE: Metodos Numericos A 106
a) Con x
(0)
= 0, aplique el metodo de Jacobi, para calcular x
(1)
.
Diga, justicando la respuesta si el metodo converge.
b) Repita a) para el metodo Gauss-Seidel.
Ejercicio 10.3 Muestre que la iteracion de Jacobi puede ser escrita en la forma
x
(k+1)
= x
(k)
+B r
(k)
,
donde r
(k)
= b Ax
(k)
.
Repita el ejercicio para la iteracion de Gauss-Seidel. En ambos casos escriba la matriz B.
Ejercicio 10.4 Demuestre que para el metodo de Jacobi, si A es estrictamente diagonal
dominante, entonces (M
1
N) < 1.
Ejercicio 10.5 Muestre que si A = MN es singular, entonces nunca se tiene (M
1
N) <
1, a un si M es no singular.
Ejercicio 10.6 Pruebe que si la iteracion
Mx
(k+1)
= Nx
(k)
+b
converge, entonces (M
1
N) < 1.
Ejercicio 10.7 Muestre que la matriz
A =
_
_
1 a a
a 1 a
a a 1
_
_
es denida positiva para
1
2
< a < 1, pero que la iteracion de Jacobi converge solo para

1
2
< a <
1
2
.
Ejercicio 10.8 Diga, justicando la respuesta si el metodo de Jacobi aplicado a Ax = b,
converge para cada uno de los siguientes casos, cualquiera sea b,
i) A =
_
_
_
_
_
_
1
1
2
1
2
1
2
1
1
2
1
2
1
2
1
_
_
_
_
_
_
, ii) A =
_
_
_
_
_
_
1
1
4

1
4

1
4
1
1
4

1
4

1
4
1
_
_
_
_
_
_
.
Ejercicio 10.9 Deduzca un criterio de convergencia para resolver
_
1 a
a 1
__
x
1
x
2
_
=
_
b
1
b
2
_
a) utilizando el metodo de Jacobi.
b) utilizando el metodo de Gauss-Seidel.
Ejercicio 10.10 Demuestre Corolario 10.1: Si SOR converge entonces 0 < < 2.
REFERENCIAS PARA LA CLASE: [ATK93, GvL89, ORT90].

También podría gustarte