Sei sulla pagina 1di 218

Anlisis Numrico

L. Hctor Jurez V.
Departamento de Matemticas,
Universidad Autnoma Metropolitana.
hect@xanum.uam.mx
31 de agosto de 2013

L. Hctor Jurez V.

ndice general
1. Aritmtica Computacional

1.1. Representacin de nmeros por computadora . . . . . . . . . . . . . . . . . .

1.1.1. Representacin de nmeros enteros . . . . . . . . . . . . . . . . . . . . 10


1.1.2. Representacin de punto flotante . . . . . . . . . . . . . . . . . . . . . 10
1.1.3. Limitaciones en la representacin de nmeros en computadora . . . . . 12
1.2. Errores de redondeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.1. Forma normalizada de un nmero . . . . . . . . . . . . . . . . . . . . . 13
1.2.2. Forma de punto flotante: truncamiento y redondeo . . . . . . . . . . . 13
1.2.3. Epsilon de mquina . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3. Aritmtica de punto flotante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1. Sistema de nmeros de punto flotante . . . . . . . . . . . . . . . . . . 16
1.3.2. Operaciones de punto flotante . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.3. Axioma fundamental de la arimtica de punto flotante . . . . . . . . . 16
1.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2. Condicionamiento y Estabilidad
2.1. Normas de matrices

21

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.1. Normas en espacios vectoriales . . . . . . . . . . . . . . . . . . . . . . 21


2.1.2. Continuidad y equivalencia de normas . . . . . . . . . . . . . . . . . . 23
2.1.3. Normas matriciales inducidas . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.4. Clculo de normas matriciales . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.5. La norma2 de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.6. Propiedades de las normas matriciales . . . . . . . . . . . . . . . . . . 29
2.2. Condicionamiento y estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.2.1. Condicionamiento de un problema . . . . . . . . . . . . . . . . . . . . 31
2.2.2. Nmero de condicin absoluto . . . . . . . . . . . . . . . . . . . . . . . 31
3

L. Hctor Jurez V.
2.2.3. Nmero de condicin relativo . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.4. Estabilidad de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . 37
2.2.5. Retroestabilidad (Backward-Stability) . . . . . . . . . . . . . . . . . . 39
2.2.6. La precisin de un algoritmo retroestable . . . . . . . . . . . . . . . . 40
2.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3. Solucin de Sistemas de Ecuaciones Lineales


3.1. Eliminacin de Gauss

45

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.2. Factorizacin LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3. Inestabilidad del mtodo de eliminacin de Gauss . . . . . . . . . . . . . . . . 55
3.4. Tcnicas de pivoteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.1. Pivoteo completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.4.2. Pivoteo parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4.3. Factorizacin LU con pivoteo parcial . . . . . . . . . . . . . . . . . . . 60
3.5. Clculo de la inversa de una matriz . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6. Estabilidad del mtodo de eliminacin de Gauss con pivoteo . . . . . . . . . . 63
3.7. Mtodo de Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.1. Matrices definidas positivas . . . . . . . . . . . . . . . . . . . . . . . . 66
3.7.2. Factorizacin de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.7.3. El algoritmo de Choleski . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.7.4. Estabilidad del algoritmo de Choleski

. . . . . . . . . . . . . . . . . . 72

3.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4. Problemas de mnimos cuadrados lineales. Factorizacin QR

77

4.1. Ajuste de curvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77


4.2. Ajuste por medio de polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.1. Polinomio de interpolacin . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.2. Mnimos cuadrados polinomiales . . . . . . . . . . . . . . . . . . . . . 82
4.3. Mtodo de ecuaciones normales . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.3.1. Proyeccin ortogonal sobre el espacio imagen . . . . . . . . . . . . . . 83
4.3.2. Sistema de ecuaciones normales . . . . . . . . . . . . . . . . . . . . . . 84
4.3.3. Algoritmo de ecuaciones normales

. . . . . . . . . . . . . . . . . . . . 85

4.4. Mtodo de factorizacin QR por ortogonalizacin de Gram-Schmidt . . . . . . 87


4.4.1. Factorizacin reducida . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.4.2. Factorizacin completa . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.5. Proyecciones en Rn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Anlisis Numrico

4.5.1. Algunas propiedades de las proyecciones . . . . . . . . . . . . . . . . . 92


4.5.2. Proyecciones ortogonales . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6. Mtodo de factorizacin QR por reflexiones de Householder . . . . . . . . . . 97
4.6.1. Triangularizacin de Householder . . . . . . . . . . . . . . . . . . . . . 97
4.6.2. Reflexiones de Householder . . . . . . . . . . . . . . . . . . . . . . . . 97
4.6.3. La mejor de las dos reflexiones . . . . . . . . . . . . . . . . . . . . . . 101
4.6.4. Algoritmo de factorizacin de Householder . . . . . . . . . . . . . . . . 102
4.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5. Solucin de Ecuaciones no Lineales

111

5.1. Mtodo iterativo de punto fijo . . . . . . . . . . . . . . . . . . . . . . . . . . . 112


5.2. Teorema de punto fijo de Banach . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3. Cota del error en la iteracin de punto fijo . . . . . . . . . . . . . . . . . . . . 116
5.4. Orden de convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.5. La convergencia cuadrtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.6. El mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.6.1. Interpretacin geomtrica del mtodo de Newton . . . . . . . . . . . . 126
5.6.2. Teorema de convergencia no-local para el mtodo de Newton . . . . . 128
5.6.3. Algunas modificaciones del mtodo de Newton . . . . . . . . . . . . . 129
5.7. Mtodo de punto fijo para sistemas de ecuaciones . . . . . . . . . . . . . . . . 132
5.7.1. Aceleracin de tipo Seidel en las iteraciones . . . . . . . . . . . . . . . 135
5.8. Mtodo de Newton para sistemas de ecuaciones . . . . . . . . . . . . . . . . . 136
5.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
6. Interpolacin Polinomial e Integracin Numrica

141

6.1. Polinomio de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142


6.2. Interpolacin de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3. Error en el polinomio de interpolacin . . . . . . . . . . . . . . . . . . . . . . 146
6.4. Forma de Newton del polinomio de interpolacin . . . . . . . . . . . . . . . . 149
6.4.1. Clculo de los coeficientes a0 , a1 , . . . , an

. . . . . . . . . . . . . . . . 150

6.4.2. Nmero de operaciones en la forma de Newton . . . . . . . . . . . . . 153


6.4.3. Interpolacin en un nmero creciente de puntos . . . . . . . . . . . . . 155
6.4.4. El error del polinomio en forma de Newton . . . . . . . . . . . . . . . 156
6.5. Integracin Numrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
6.5.1. Frmulas de NewtonCotes . . . . . . . . . . . . . . . . . . . . . . . . 156
6.5.2. El error en las frmulas de integracin de Newton-Cotes . . . . . . . . 157

L. Hctor Jurez V.
6.5.3. Frmulas de integracin numrica ms comunes
6.6. Reglas compuestas de integracin . . . . . . . . . . . .
6.7. Frmulas de cuadratura de Gauss . . . . . . . . . . . .
6.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

7. Aproximacin Numrica de Ecuaciones Diferenciales Ordinarias


7.1. Conceptos bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. Existencia y unicidad de la solucin . . . . . . . . . . . . . . . . . . .
7.3. Mtodos de aproximacin con series de Taylor . . . . . . . . . . . . .
7.4. Mtodos de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . .
7.5. Mtodos de Runge-Kutta de dos etapas . . . . . . . . . . . . . . . .
7.6. Mtodos de un paso de retapas . . . . . . . . . . . . . . . . . . . . .
7.7. Estabilidad y convergencia de los mtodos de un paso . . . . . . . .
7.7.1. Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7.2. Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.8. Estudio asinttico del error global . . . . . . . . . . . . . . . . . . . .
7.9. Monitoreo del error y control del paso . . . . . . . . . . . . . . . . .
7.9.1. Mtodo RungeKuttaFehlberg de cuarto orden . . . . . . . .

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

159
163
167
171

.
.
.
.
.
.
.
.
.
.
.
.

175
. 175
. 179
. 180
. 188
. 191
. 194
. 196
. 198
. 201
. 201
. 204
. 211

Anlisis Numrico

Prlogo
Este documento contiene las notas del curso de Anlisis Numrico diseado para los
alumnos de la maestra en Ciencias Matemticas Aplicadas e Industriales y del Posgrado
de la Divisin de Ciencias Bsicas e Ingeniera de la Universidad Autnoma Metropolitana, plantel Iztapalapa. El material incluye los temas cubiertos en un perido trimestral y
equivalente a 50 horas frente a grupo. Se recomienda que un mnimo de 12 horas de las
50 se dediquen a taller de cmputo, en donde los alumnos experimenten con los diferentes
algoritmos y mtodos analizados en clase de teora. Cabe aclarar que el material tambin
puede utilizarse en cursos con estudiantes avanzados (del ltimo ao) de ciencias e ingenieria de nivel licenciatura. Los prerrequisitos son: clculo en una y varias variables, algebra
lineal, y ecuaciones diferenciales ordinarias. Los temas se escogieron para cubrir un mnimo
de material que permita introducir al estudiante a este fascinante campo de la matemtica
aplicada, con el objeto de que adquiera la formacin y madurez necesaria que le permita
abordar otros temas ms avanzados y/ especializados del anlisis numrico. Se hace nfasis
en el anlisis y comprensin de los mtodos y algorimtos, as como de los alcances y limitaciones de los mismos. Nuestro propsito es que el estudiante no solo aprenda a utilizar
los mtodos, sino que adems sea capaz de elejir y disear la mejor estrategia para algn
problema en particular.
Por lo pronto, a manera de introduccin trataremos de describir de manera general el
campo de estudio del anlisis numrico y el propsito general del material que se presenta
en este manuscrito.
El anlisis numrico trata del estudio, anlisis y desarrollo de algoritmos para obtener
soluciones numricas y computacionales de problemas expresados matemticamente. Generalmente estos problemas matemticos son modelos expresados en el lenguaje matemtico
de diversos fenmenos estudiados en las ciencias naturales y problemas de la ingeniera,
abarcando recientemente otros campos como las finanzas, la economa, la biologa y la medicina, entre otros. A menudo el anlisis numrico es considerado como las matemticas
de la computacin cientfica (la cual versa sobre la solucin numrica en computadora de
problemas matemticos).
Los algoritmos que estudiaremos invariablemente son diseados para utilizarlos en computadoras de alta velocidad. Por tanto, un paso crucial antes de obtener la solucin del problema consiste en el desarrollo de un cdigo o programa en algn lenguaje de programacin
para comunicarlo a la computadora. Dado que hay varias opciones no solo de lenguajes de
computacin sino tambien de tipos de computadoras, el tema de programacin se deja fuera
de la ciencia del anlisis numrico. Sin embargo, en el presente estudio a menudo haremos

L. Hctor Jurez V.

uso del ambiente MATLAB para los clculos en algunos ejemplos y aclaramos que el lector
puede programar los mtodos en el ambiente o en el lenguaje de programacin que el elija.
Existen varias fuentes de error en la solucin de problemas que requieren de computacin
matemtica o solucin computacional:
1. Modelacin del proceso. La solucin numrica de problemas no puede ser mejor que
el modelo subyacente. Un modelo matemtico de un problema en particular siempre
parte de hiptesis simplificadoras y generalmente no describe el fenmeno de manera
exacta.
2. Medida de datos para el problema. Los datos observados los parmetros asociados a un problema pocas veces son exactos. Cuando se obtienen datos de un problema
generalmente hay limitaciones en los equipos de medicin y los datos son obtenidos
con una precisin finita determinada.
3. Errores matemticos de mtodo. Estos estn asociados a la aproximacin matemtica modelo numrico de solucin del problema. Estos errores comunmente son
llamados errores de discretizacin y errores de truncamiento, y son inherentes a la
metodologa de aproximacin que se utiliza para resolver el problema.
4. Error de redondeo. Aparecen debido al nmero finito de dgitos disponibles en las
computadoras o calculadoras utilizadas para el clculo numrico. Los equipos de clculo
computo tienen una precisin limitada y no pueden almacenar todos los nmeros de
manera exacta, ocasionando prdida de precisin en los clculos.
En este curso estudiaremos el diseo e implementacin de cdigos que en lo posible minimizen errores de redondeo, estimen errores de truncamiento y proporcione alguna indicacin
de la sensibilidad del problema a errores en los datos y a los errores de redondeo.

Captulo 1

Aritmtica Computacional
La aritmtica realizada en una computadora involucra operaciones con nmeros que
tienen un nmero finito de dgitos solamente. As que, inevitablemente, muchos clculos se
realizan con representaciones aproximadas de los nmeros verdaderos. Por ejemplo 1/3 no

puede representarse de manera exacta en una computadora, al igual que , e, 2 y muchos


otros nmeros.

1.1.

Representacin de nmeros por computadora

En una computadora digital los nmeros generalmente se representan en el sistema binario (base 2). Por ejemplo, (110)2 equivale a 1 22 + 1 21 + 0 20 = 6 en el sistema
decimal; (1011.11)2 equivale a 1 23 + 0 22 + 1 21 + 1 20 + 1 21 + 1 22 =11.75
en el sistema decimal.
La longitud finita de la palabra de una computadora impone restricciones sobre la precisin que puede lograrse en la representacin de los nmeros. Por ejemplo, un nmero tan
simple como 1/10 no puede almacenarse exactamente en una mquina binaria, dado que
1/10 =(0.0001100110011. . . )2 , es decir ste tiene una representacin binaria infinita.
Adems, debemos tomar en cuenta que tenemos dos tcnicas de conversin relacionadas
al comunicarnos con una computadora binaria: de decimal a binario (al introducir los datos),
y de binario a decimal (al obtener los resultados). En cada conversin pueden presentarse
errores.
9

10

1.1.1.

L. Hctor Jurez V.

Representacin de nmeros enteros

Los nmeros enteros se pueden representar en una computadora utilizando el mtodo de


la magnitud con signo: El primer bit de la palabra se utiliza para indicar el signo: 0 para
indicar +, y 1 para indicar . Los bits sobrantes se usan para guardar la magnitud del
nmero.
Ejemplo 1.1. Si se usan 16 bits para representar los nmeros enteros en la memoria de la
computadora, el nmero 173 puede representarse por
1

signo

27

25

23

22

20

Ejemplo 1.2. Rango de enteros. Determinar el rango de enteros que puede representarse
en una computadora de 16 bits.
Solucin. El 1er bit es para el signo. Sobran 15 bits, con los cuales pueden representarse
los nmeros del 0 al 111111111111111 = 215 1 = 32767. Adems, como el 0 se representa
por 0000000000000000, es redundante utilizar 1000000000000000 para representar -0, as que
podemos representar un nmero adicional que puede ser 215 215 . Por lo tanto, el rango
de enteros que podemos representar con una computadora de 16 bits es de -32768 a 32767
bin de -32767 a 32768

1.1.2.

Representacin de punto flotante

Los nmeros reales se representan en la computadora usando la forma de punto flotante


(o notacin cientfica normalizada). Esta consiste de una parte fraccionaria llamada mantisa
y una parte entera llamada exponente, como se indica a continuacin:

m e
= m et
t

donde es la base del sistema ( = 10 para el sistema decimal y = 2 para el sistema binario), e representa el exponente y t 1 es la precisin de la mquina. La m se puede escoger
1
m
como: t m < 1, (la mantisa es m), 1 m < t , (la mantisa es t ), dependiendo de la

arquitectura.

Anlisis Numrico

11

Ejemplo 1.3. La IBM 370 la 3000 consista de un bit indicador del signo, un exponente e
de 7 bits en base = 16, y una mantisa m de 24 bits (en total 32 bits), con t=64. Cualquier
1
nmero en esta arquitectura es de la forma: m16e64 con t m < 1.

Por ejemplo, el nmero de mquina


0

1000010

101100110000010000000000

representa al nmero decimal


[21 + 23 + 24 + 27 + 28 + 214 ]166664 = 179.015625.
en donde:
el primer bloque (de 1 bit) representa +,
el segundo bloque (de 7 bits) representa 26 + 21 = 66,
el tercer bloque (de 24 bits) representa 21 + 23 + 24 + 27 + 28 + 214 .
El anterior nmero de mquina ms pequeo es:
0

1000010

101100110000001111111111
=179.0156097412109375

El siguiente nmero de mquina ms grande es:


0

1000010

101100110000010000000001
= 179.0156402587890625

Lo anterior significa que el nmero de mquina original debe representar no slo a 179.015625,
sino tambin a un nmero infinito de nmeros reales que se encuentran entre este nmero y
sus nmeros de mquina ms cercanos. Por otro lado, en esta arquitectura, el nmero ms
pequeo que se puede representar es:
0

0000000 000100000000000000000000
= 24 16064 = 1665 1078

y el nmero ms grande que se puede representar es:


0

1111111

111111111111111111111111
1 1612764 = 1663 1076

de tal manera que los nmeros que aparecen en los clculos con magnitud menor a 1665
resultan en lo que se denomina como underflow, y generalmente se le da el valor de cero.
Los nmeros con magnitudes mayores a 1663 resultan en lo que se llama overflow, y causa
que los clculos se detengan se obtenga un mensaje de error.

12

L. Hctor Jurez V.

1.1.3.

Limitaciones en la representacin de nmeros en computadora

El ejemplo anterior muestra que la limitacin ms fuerte para representar nmeros en


una computadora digital es que slo se puede contar con un nmero finito de bits para
cualquiera de las arquitecturas. Por lo que, en una computadora digital
1. Slo se puede representar de manera exacta un nmero finito de nmeros.
2. No se puede representar nmeros arbitrariamente grandes ni tampoco arbitrariamente
pequeos.
3. Existen vacios claros entre los nmeros con representacin exacta.
Afortunadamente en las computadoras modernas se pueden representar nmeros suficientemente grandes y nmeros suficientemente pequeos (desde un punto de vista prctico).
Por ejemplo, en la aritmtica ms ampliamente usada en la actualidad (IEEE, Institute of
Electric and Electronic Engineers) en doble precisin permite nmeros tan grandes como
1.7910308 (= 21024 ) y nmeros tan pequeos como 2.2310308 (= 21022 ). Sin embargo el
vaco, claro o brecha entre nmeros de mquina es un problema permanente en la computacin. Por ejemplo, el intervalo [1,2] se representa por el conjunto finito discreto: 1, 1+252 ,
1 + 2 252 , 1 + 3 252 , . . . , 1 + 252 252 = 2.
En la aritmtica IEEE de doble precisin los claros o vacos entre nmeros de mquina
adyacentes no son mayores a 252 2.221016 , en sentido relativo. Esto puede parecer
insignificante, y de hecho lo es para la mayora de algoritmos estables. Sin embargo, resulta
catastrfico para los algoritmos inestables. Ms adelante precisaremos los conceptos de
estabilidad e inestabilidad numrica.
En suma, los nmeros de punto flotante en una computadora binaria estn distribuidos
en forma no uniforme, la mayora de ellos concentrados cerca de cero. Esto es debido a
que entre potencias adyacentes de 2 (intervalos binarios) siempre hay la misma cantidad de
nmeros de mquina 2t (con t=52, para doble precisin). Por ejemplo, en el intervalo binario
2e x 2e+1 los nmeros estn igualmente espaciados con un incremento 2e /2t , debido
a que 2e es la longitud del intervalo y 2t es la cantidad de nmeros de punto flotante en el
intervalo binario. Por lo tanto, hay una distribucin no uniforme de punto flotante, con una
densidad mayor cerca del origen (es decir, el incremento 2e /2t = 2et es cada vez menor
conforme el exponente e es ms negativo).

Anlisis Numrico

1.2.

13

Errores de redondeo

Cuando se realiza aritmtica de punto flotante es frecuente que el nmero de dgitos en


los resultados intermedios sea cada vez mayor, mientras que el nmero significativo de dgitos
permanece fijo. Por ejemplo, el producto de dos nmeros de punto flotante en aritmtica
con 8 dgitos despus del punto decimal, ser un nmero con 16 dgitos despus del punto
decimal, y debemos quitar ocho dgitos para redondear el resultado a 8 dgitos despus del
punto decimal. El redondeo es un concepto til y fundamental en la ciencia computacional,
como veremos a continuacin.

1.2.1.

Forma normalizada de un nmero

Para ilustrar el concepto de redondeo se utilizar la forma decimal normalizada de un nmero, lo cual permitir simplificar la exposicin. Si x es un nmero real cualquiera, entonces
ste tiene una representacin decimal exacta de la forma x = 0.d1 d2 d3 dt dt+1 10n ,
en donde n un entero positivo o negativo, el primer dgito d1 toma valores enteros entre 1 y 9,
y los dems dgitos di , i 2, pueden tomar valores enteros entre 0 y 9. A esta representacin
se le llama la forma decimal normalizada del nmero x.
Ejemplo 1.4. La forma decimal normalizada se ilustra con los siguientes nmeros:
1
= 0.90909090 . . . 101 ,
11
1500
x2 =
= 0.13636363 . . . 103 ,
11

x3 = 2 = 0.141421356 . . . 101 .
x1 =

1.2.2.

Forma de punto flotante: truncamiento y redondeo

La forma de punto flotante de un nmero real x, denotada por f l(x), se obtiene terminando la mantisa de x en t dgitos decimales, suponiendo que los nmeros de mquina
admiten a lo ms t dgitos decimales despus del punto decimal. Existen dos maneras de
realizar esta terminacin
1. Truncamiento. Se cortan los dgitos dt+1 , dt+2 , . . . para obtener f l(x) = 0.d1 d2 dt
10n .
2. Redondeo. Se forma la suma d1 d2 dt .dt+1 +0.5 (en donde el punto que est entre
dt y dt+1 es un punto decimal). La parte decimal de f l(x) es d1 d2 dt1 t , la cual se
obtiene de la parte entera del resultado de la suma anterior.

14

L. Hctor Jurez V.

Ejemplo 1.5. La representacin del nmero x2 = 1500/11 en punto flotante con truncamiento a seis y siete cifras es, respectivamente
f l(x2 ) = 0.136363 103 ,
f l(x2 ) = 0.1363636 103 .
Por otro lado, para obtener su representacin con redondeo se hace lo siguiente:
Si se toman seis cifras decimales, se obtiene 136363.6 + 0.5 = 136364.1, cuya parte
entera es 136364. Por lo tanto, f l(x2 ) =0.136364103 (con 6 = 4 = d6 = 3).
Si se toman siete cifras decimales, entonces tenemos 1363636.3+0.5 = 1363636.8, cuya
parte entera es 1363636. Por lo tanto, f l(x2 ) = 0.1363636103 (con 7 = 6 = d7 ).
Proposicin. El error que resulta al reemplazar un nmero real x por su nmero de punto flotante se denomina error de redondeo. Este error esta acotado por |x f l(x)|
p 1t
10 |x|, con p = 1 cuando se hace redondeo y p = 2 cuando se hace truncamiento.
2
Demostracin. (Caso por truncamiento). Sea x = 0.d1 d2 dt dt+1 10n y f l(x) =0.d1 d2 dt
10n su representacin de punto flotante, entonces
|x f l(x)| = 0. 0 0 dt+1 dt+2 10n
tceros

= 0.dt+1 dt+2 10nt


|x|
|x|
n
t
0.dt+1 dt+2 10 10 |x|
0.d1 d2 dt dt+1 10n

= 0.dt+1 dt+2 10n 10t


=

En la ltima expresin se observa que


0.dt+1 dt+2
10
0.d1 d2
debido a que
0.dt+1 dt+2 d1 .d2 d3
Por lo tanto
|x f l(x)| 101t |x|
cuando se hace truncamiento. El caso por redondeo se puede demostrar en forma anloga.

Anlisis Numrico

15

Observacin. En las expresiones anteriores la cantidad |x f l(x)| denota el error absoluto


que se obtiene al representar el nmero x por su nmero de punto flotante, mientras que la
cantidad |x f l(x)|/|x| denota el error relativo. Luego entonces, el error relativo ser menor
a 101t cuando se hace truncamiento y menor a 21 101t cuando se hace redondeo. En el caso
ms general cuando la base es , en lugar de 10, se tiene que
|x f l(x)| 1t |x|,

(1.1)

1
|x f l(x)| 1t |x|,
2

(1.2)

cuando se hace truncamiento y

cuando se hace redondeo.

1.2.3.

Epsilon de mquina

La resolucin del conjunto de nmeros de punto flotante nmeros de mquina para


representar los nmeros reales se establece a travs del nmero conocido como epsilon de
mqina, que se define como:
1 1t
(1.3)
maq =
2
el cual representa la mitad de la distancia del nmero 1 a su nmero de mquina mayor ms
prximo. Algunos autores lo definen como
maq

= 1t

pero en realidad lo que realmente importa de este nmero es lo siguiente:


Propiedad del epsilon de mquina.
Para cada nmero real x, existe un nmero de punto flotante x tal que
|x x |

maq |x|.

En realidad, comparando con las expresiones para el error de truncamiento y redondeo,


encontramos que sta es una forma de expresar que para cada nmero real x, existe con
| | maq tal que
f l(x) = x(1 + ).
(1.4)
Es decir, la diferencia entre un nmero real cualquiera y el nmero de punto flotante ms
cercano a l es siempre menor o igual a maq en sentido relativo. Para los valores de y t
que se han usado en la mayora de las computadoras el epsilon de mqina se encuentra en el
rango de 1035 maq 106 . En aritmtica IEEE de precisin simple y doble, el epsilon
de mquina es 223 1.22107 y 252 2.21016 , respectivamente.

16

1.3.
1.3.1.

L. Hctor Jurez V.

Aritmtica de punto flotante


Sistema de nmeros de punto flotante

Se denota por F al sistema de nmeros de punto flotante, definidos por la base 2 y


la precisin t 1 (recordemos que = 2, t = 23 para precisin simple y = 2, t = 52 para
precisin doble en el estandard IEEE). Entonces, el conjunto de nmeros de mquina es
F = {x R : x =

m e
,
t

1
m < 1,
t

emin e emax }.

(1.5)

1
Recordemos que el epsilon de mquina se define por 1t . A continuacin presentamos
2
una tabla de valores para diferentes arquitecturas (la mayora de ellas de la dcada de los
80), adems de los valores del estandar IEEE :

1.3.2.

MQUINA

min e

max e

maq

VAX(simple)
VAX(doble)
CRAY-1
IBM-3081(simple)
IBM-3081(doble)

2
2
2
16
16

23
55
48
6
14

-128
-128
-16384
-64
-64

127
127
16383
63
63

1.2107
2.81017
3.61015
9.5107
2.21016

estadar IEEE

min e

max e

maq

Simple
Doble
Cuadruple

2
2
2

23
52
112

-126
-1022
-16382

127
1023
16383

1.2107
2.21016
1.91034

Operaciones de punto flotante

Los clculos matemticos generalmente se reducen a ciertas operaciones matemticas


elementales, de las cuales el conjunto clsico es +,,,. Matemticamente estos smbolos
representan operaciones en R. Sobre una mquina digital estas operaciones tienen anlogos
llamadas operaciones de punto flotante sobre F. Para distingir las operaciones aritmticas
usuales de las operaciones de punto flotante, a estas ltimas se les denota por los smbolos
, , , ,, respectivamente.

1.3.3.

Axioma fundamental de la arimtica de punto flotante

Una computadora puede construirse sobre el siguiente principio de diseo: Si x, y F y


el smbolo representa cualquiera de las posibles operaciones +, , , , y el smbolo

Anlisis Numrico

17

representa su anlogo de punto flotante, entonces


x

y = f l(x y)

(Propiedad de diseo).

(1.6)

Por la propiedad (1.4) del epsilon de mquina, encontramos que


f l(x y) = x y(1 + ) con | |

maq .

Por lo tanto, concluimos que la computadora tiene una propiedad sencilla pero muy til,
expresada en el siguiente axioma:
Axioma fundamental de la arimtica de punto flotante: Para todo x, y F existe
con | | maq tal que
x y = (x y)(1 + ).
(1.7)
Es decir, cada operacin en la aritmtica de punto flotante es exacta salvo un error relativo
de a lo ms maq .
Por lo tanto, si x, y son nmeros de punto flotante, se satisface
x y =(x + y)(1 + ),
x

y =(x y)(1 + ),

x y =(x y)(1 + ),
x

y =(x y)(1 + ),

para algn , con | | maq , siempre y cuando los resultados se mantengan dentro del
sistema de punto flotante F.
Algunas de las propiedades fundamentales de las operaciones en el sistema de nmeros
reales son vlidas para las operaciones en el sistema de punto flotante, otras no lo son. Por
ejemplo, las leyes conmutativa de suma y multiplicacin si son vlidas en punto flotante:
x y = y x,

xy =yx

Sin embargo, la ley asociativa de la multiplicacin no es vlida en el sistema de punto flotante


(x y) z = x (y z).
Por ejemplo, si x = maq /3, y = 3 maq , z = maq /11, entonces en el sistema de punto flotante
IEEE de doble precisin, obtenemos en el ambiente MATLAB
x (y z) = 9.952403865943302 1049 ,
(x y) z = 9.952403865943303 1049 ,

18

L. Hctor Jurez V.

en donde se observa una diferencia en el ltimo dgito. La situacin puede ser ms crtica con
la suma y la resta. Puede suceder fcilmente que (x y) z sea muy diferente a x (y z)
con aritmtica de baja precisin. De la misma manera, la ley distributiva x(y + z) = xy + xz
no es vlida en aritmtica de punto flotante.

1.4.

Ejercicios

1. Verificar que (0,0001100110011 . . .)2 = 1/10


2. Verificar que (21 + 22 + + 224 )1612764 = 1663 1076 .
3. Cul es el rango de nmeros enteros que pueden representarse en una palabra de 8
bits, incluyendo el signo?
4. El siguiente algoritmo, debido a Cleve Moler, estima la unidad de redondeo del dispositivo utilizado para realizar clculos:
a = 4/3,

b = a 1,

c = 3 b,

e = 1 c.

a) Estimar la unidad de redondeo en MATLAB y en tu calculadora utilizando este


algoritmo.
b) Qu produce el algoritmo cuando se utiliza aritmtica decimal de seis dgitos con
redondeo?
5. La mayora de las calculadoras cientficas almacenan 2 3 dgitos adicionales de seguridad de los que despliegan. Por ejemplo, una calculadora que despliega 8 realmente
puede ser un dispositivo de 10 dgitos. Para encontrar la exactitud real de su calculadora realizar las siguientes operaciones:
10/3 3,

100/3 33,

1000/3 333,

10000/3 3333,

etc . . .

Se observar que el nmero de 3 desplegados en pantalla se va reduciendo. El nmero


de 3 desplegados ms el nmero de ceros en el numrador indica el nmero de cifras
significativas de su calculadora. Por ejemplo, si con la ltima operacin se despliega
0.333333 su calculadora maneja 10 cifras significativas de precisin (6 cifras desplegadas
+ 4 ceros del nmero 10000). Compare su resultado con el resultado del ejercicio
anterior.

Anlisis Numrico

19

6. Evaluar 1/(1 cos x) para valores de x en radianes cercanos al cero. Cmo su puede
evitar la resta de dos nmeros casi iguales en el denominador? Probar con x = 103 ,
106 , 1012 , maq , etc.
7. Elaborar un programa en MATLAB para el dispositivo de clculo con el que cuente,
de modo que el nmero 0.00001 se sume cien mil veces consigo mismo. Si obtiene
como resultado el nmero 1, Cmo es posible este resultado si se suman cien mil
veces valores que no son realmente 0.00001? En realidad se debe obtener un nmero
proximo a 1 si se utiliza artmtica de doble precisin.
8. Considerese el siguiente polinomio
p(x) = (x 2)9
= x9 18x8 + 144x7 672x6 + 2016x5 4032x4 + 5376x3
4608x2 + 2304x 512
Graficar este polinomio para los valores x = 1.9200, 1.9199, 1.9198,. . ., 2.0800 (en notacin MATLAB se escribe x = 1.9200:0.0001:2.0800) utilizando la forma expandida
del mismo. Graficar de nuevo el polinomio, pero ahora utilizando la forma factorizada
del mismo. Intente explicar lo que sucede. Se incluye el cdigo MATLAB :

x = (1.9200:0.0001:2.0800) ;
y = x.9 - 18*x.8 + 144*x.7 - 672*x.6 + 2016*x.5 - 4032*x.4 + 5376*x.3 - ...
4608*x.2 + 2304*x - 512;
plot(x,y, g )
hold on
y = (x-2).9;
plot(x,y, r )
hold off

20

L. Hctor Jurez V.

Captulo 2

Condicionamiento y Estabilidad
2.1.

Normas de matrices

El objeto de esta seccin es introducir el concepto de norma matricial. Este concepto


es de fundamental importancia no solo en el anlisis y el algebra lineal y sus aplicaciones,
sino tambien en el anlisis numrico. La razn por lo que se ha decidido introducirlo en esta
parte del escrito es porque ser muy til a partir de la siguiente seccin, especialmente para
discutir los conceptos de condicionamiento y estabilidad.

2.1.1.

Normas en espacios vectoriales

Sea V un espacio vectorial real. Una norma en V es una funcin no negativa


R que satisface
1. x 0 , x V ,
2. x = || x ,

x = 0 si y solo si x = 0

R,

3. x + y x + y ,

:V

x V

x, y V

(desigualdad del tringulo)

Con V = Rn (espacio de vectores ndimensional) tenemos varias normas denominadas


normasp. Sea x = (x1 , . . . , xn )T Rn , entonces definimos las siguientes normas:
1. norma1:

2. norma2:

3. normap :

=(

n
i=1 |xi |
n
2
i=1 |xi |

1
2

1
n
p p
i=1 |xi | )

(p 1)
21

22

L. Hctor Jurez V.
x

4. norma :

= m
ax1in |xi |

A la norma2 tambin se le llama norma euclideana y a la norma tambin se la llama


la norma del mximo uniforme. La Figura 2.1 muestra la bolas unitarias bidimensionales
(n = 2) en cada una de las normas anteriores. Por bola unitaria en una norma entendemos
al conjunto {x Rn : x 1}. Obviamente la bola unitaria en la norma euclideana es
esfrica. Sin embargo, la bola unitaria en las otras normas tiene otra forma. A medida que
p aumenta la bola unitaria se tranforma del diamante rombo al cuadrado, pasando por el
crculo.
x2

x2

x2
(0,1)

(1,0)

x2
(0,1)

(0,1)

x1

(1,0)

x1

(0,1)

(1,0)

x1

(1,0)

x1

Figura 2.1: Bolas unitarias en la normas1, 2, p, , respectivamente.

Aparte de las normasp, las normas ms tiles en las aplicaciones son las normasp
pesadas, en donde cada una de las coordenadas del vector tiene su propio peso. Dada la
norma , una norma con peso puede escribirse como
x

= Wx

donde W = diagonal(w1 , w2 , . . . , wn ) con wi = 0. Se puede generalizar el concepto de


normas pesadas permitiendo que W sea una matriz arbitraria no singular, no necesariamente
diagonal.
No es complicado verificar que las anteriores normas efectivamente satisfacen las propiedades 1, 2 y 3 en la definicin de norma. Para cada una de estas normas las propiedades
1 y 2 se satisfacen trivialmente. Por otro lado, es fcil verificar la desigualdad del tringulo
para la norma1 y la norma, pero para la norma euclideana es necesario hacer uso de la
desigualdad de CauchySchwartz
n

xi yi x

x = (x1 , . . . , xn )T , y = (y1 , . . . , yn )T .

i=1

A la desigualdad del tringulo para las normasp


x+y

+ y

Anlisis Numrico

23

se le conoce como desigualdad de Minkowski y su demostracin se encuentra en libros


de calculo avanzado anlisis matemtico.

2.1.2.

Continuidad y equivalencia de normas

Continuidad de la normas: Cualquier norma vectorial en Rn es una funcin continua


de x Rn (ver Isaacson y Keller).
Equivalencias de normas: Dos normas normas cualesquiera, , , en el espacio vectorial finitodimensional Rn son equivalentes. Es decir, para toda x Rn existen constantes
positivas m y M tales que
m x

x Rn .

x M x ,

Demostracin. Es sufuciente con verificar el resultado cuando una de las normas es ,


ya que y sern equivalentes si cada una de ellas es equivalente a . Consideremos
la esfera unitaria en la norma :
S = {x Rn :

= 1}.

Este es un conjunto cerrado y acotado en Rn . Dado que cualquier norma vectorial es


continua en Rn , y en particular sobre S , entonces toma sus valores mximo y mnimo
dentro de S . Sean entonces x0 y x1 los puntos sobre la esfera donde se toman el mnimo
y el mximo, respectivemente:
mn x = x0 ,

xS

max x = x1 .

xS

Entonces
x0 x x1 ,

x S .

Ahora consideremos un vector arbitrario y Rn , y = 0, donde 0 denota al vector cero en


y
se encuentra en S , entonces
Rn . Como el vector normalizado
y
x0

y
x1 .
y

Es decir,
x0

y x1

24

L. Hctor Jurez V.

Por lo tanto,
m y

y M y

y Rn

con m = x0 y M = x1 . As que cualquier norma en Rn es equivalente a la norma


n
. Se concluye que cualesquier dos normas en R son equivalentes.

2.1.3.

Normas matriciales inducidas

Cuando se hace anlisis numrico de problemas donde intervienen matrices es til tener
el concepto de norma de una matriz y, en consecuencia, de la distancia entre matrices. Existe
una forma geomtrica (y aparentemente natural) que permite definir la norma de una matriz.
Esta forma toma en cuenta el comportamieto de la matriz como un operador:
Si A Rnn es una matriz de n n, y una norma vectorial en Rn , entonces la
norma de A inducida por esta norma vectorial se define por:
A := sup
x=0

Ax
= sup Ax
x
x =1

(2.1)

Ntese que estamos designando con el smbolo tanto la norma vectorial como la norma
matricial inducida. Sin embargo, no debe haber confusin cuando se trate de una otra,
dado que el argumento ser un vector una matriz y claramente indicar de que caso se
trata. De la definicin se infiere que para calcular la norma de una matriz dada A, basta
con calcular el supremo de Ax sobre la esfera unitaria en la norma correspondiente.

Ejemplo 2.1. La matriz


A=

1 2
0 2

mapea R2 en R2 por medio de la transformacin T : R2 R2 , dada por la regla T x = Ax


con x = (x1 , x2 )T . La letra T indica la transpuesta, pues en este trabajo consideraremos que
los vectores en Rn son vectores columna. Queremos de ver cul es la accin de A sobre bolas
unitarias de R2 en las normas1, 2, .
En las figuras 2.2, 2.3, 2.4 se muestra la transformacin de la esfera unitaria en las
norma1, norma y norma2, respectivamente, cuando se aplica la tranformacin lineal
dada por la matriz A.
En la norma1, el vector unitario que tiene mayor amplificacin bajo A es el vector
x = (0, 1)T su negativo, y su imagen es A x = (2, 2)T , por lo que el factor de
amplificacin (norma) es 4. Esta situacin se ilustra en la Figura 2.2

Anlisis Numrico

25

x2

x2
(2,2)

(0,1)

(1,0)

x1

x1

(1,0)

Figura 2.2: Norma1,

= 4.

En la norma el vector unitario x que tiene mayor amplificacin bajo A es x = (1, 1)T
su negativo, y el factor de amplificacin es Ax = (3, 2)T = 3. La Figura 2.3
muestra este caso.

x2

x2
(2,2)

(0,1)

(1,0)

x1

x1

(1,0)

Figura 2.3: Norma

= 3.

En la norma2 (norma Euclideana) el vector unitario (o su negativo) que es mayormente amplificado por A se muestra en la Figura 2.4. El factor de amplificacin es
aproximadamente 2.9208.

x2

x2
(2,2)

(0,1)

(1,0)

x1

Figura 2.4: Norma2 (Euclideana)

(1,0)

x1

= 2,9208

26

2.1.4.

L. Hctor Jurez V.

Clculo de normas matriciales

Por supuesto que el clculo de normas de las matrices como se mostr en el ejemplo
anterior resultara una tarea muy ardua. Adems no sera posible graficar los valores A x
para matrices arbitrarias en dimensiones mayores (n > 3). A continuacin daremos frmulas
explcitas para calcular las normas matriciales inducidas por las normas1, 2, .
La norma1 de una matriz: Si A es cualquier matriz de n n entonces A 1 es igual a
la mxima suma por columnas (de los coeficientes en valor absoluto) de A.
Demostracin. Representamos a la matriz por sus vectores columna: A = [a1 | a2 | . . . | an ],
siendo ai el isimo vector columna. Sea B1 = {x Rn : nj=1 |xj | 1} y x B1 ; su imagen
Ax satisface
n

Ax

=
j=1

xj aj

|xj | aj

max aj

j=1

1jn

|xj | max aj

1
j=1

1jn

Si logramos exhibir un vector x B1 que satisfaga la igualdad Ax

1.

= max aj
1jn

1,

entonces habremos demostrado la aseveracin. Escogiendo x = ej0 = (0, . . . , 1, . . . , 0)T (el


nmero 1 en la j0 sima entrada), en donde aj0 1 = max aj 1 , se obtiene
1jn

Ax

= aj0

= max aj
1jn

Por lo tanto
n

= m
ax aj
1jn

|aij |

= m
ax

1jn

(mxima suma por columna).

(2.2)

i=1

La norma de una matriz: Utilizando un argumento muy similar al anterior, puede


demostrarse que la norma- de una matriz A Rnn es igual a la mxima suma por
rengln
n

|aij |

= m
ax

1in

(mxima suma por renglon).

(2.3)

j=1

Ejemplo 2.2. Dada la matriz

1 2 1

A = 0 0 0 ,
1 1 2
encontrar A

y A

Solucin. A 1 = mxima suma por columnas (en valor absoluto) = 3; mientras que
A = mxima suma por rengln (en valor absoluto) =4.

Anlisis Numrico

2.1.5.

27

La norma2 de una matriz

En este caso es ms complicado hacer el clculo para encontrar la frmula explcita. Para
ello necesitamos los conceptos de valor propio, vector propio, as como del radio espectral
de una matriz. Por ello revisaremos brevemente estos conceptos antes de intentar encontrar
dicha frmula.
Valores y vectores propios de una matriz. Dada una matriz A de n n se dice que
C es un valor propio de la matriz si existe x Rn tal que
x=0

Ax = x,

y en este caso a x se le conoce como el vector propio asociado a . La condicin hay algn
x = 0 tal que Ax = x, es equivalente a cualquiera de las siguientes dos condiciones:
1. La matriz A I es singular, donde I denota a la matriz identidad.
2. det[A I] = 0.
Este determinante es un polinomio en que se denomina polinomio caracteristico de A, y
que denotaremos por p(). Si A es de orden n n, entonces p() es de grado n, y sus
raices proporcionan los valores propios de la matriz.

Ejemplo 2.3. Dada la matriz

1 0 1

A= 2 0 1
1 0 2
su polinomio caracterstico es

p()

=
=
=

1 0
1
det[A I] =
2

1
1
0
2
(1 )()(2 )
[( + 1)( + 2) + 1] = [2 + 3 + 3] ,

3 3i
3 + 3i
, 3 =
.
y sus valores propios son la raices del polinomio: 1 = 0, 2 =
2
2

28

L. Hctor Jurez V.

Radio espectral de una matriz. Dada una matriz A de n n, el radio espectral de A se


define como el mximo de las magnitudes de sus valores propios, y se denota por (A):
(A) = m
ax{ || : es valor propio de A }.
Propiedad sobre los vectores propios de una matriz simtrica. Cualquier matriz
simtrica real A de n n tiene un conjunto completo de vectores propios y este conjunto es
ortonormal. Es decir, si A = AT , entonces A tiene n vectores propios u1 , . . . , un Rn tales
que
1 si i = j ,
uTi uj = ij =
0 si i = j .

La norma-2 de una matriz: Si A es cualquier matriz de n n, entonces


A

(AT A).

(2.4)

Demostracin. Como la matriz AT A es simtrica, entonces tiene un conjunto de n vectores


propios ortonormales u1 , . . . , un , con valores propios 1 , . . . , n . Los vectores propios forman
una base de Rn y, por lo tanto, cualquier x Rn se puede expresar como x = ni=1 i ui ,
para algunas constantes i , i = 1, . . . , n. Por lo tanto
T

Ax

2
2

= (Ax) (Ax) = x A Ax =

i ui
i=1

n
i=1
2

A A

j uj =
j=1

i uTi
i=1

j j uj
j=1

i2 i m
ax i

=
Tomando x
se obtiene

n
T

i2 .
i=1

= 1, se encuentra que x
Ax

2
2

2
2

= xT x =

n
2
i=1 i

= 1, y de la expresin anterior

max i = (AT A).

Para obtener la igualdad basta exhibir algn x R con x 2 = 1 y Ax 22 = max i . Se


propone tomar a x = us , el vector propio de AT A correspondiente al mayor valor propio (es
decir, s = m
ax i ). Claramente us 2 = 1, y adems
Aus

2
2

= (Aus )T Aus = uTs AT Aus = uTs s us = s us

Concluimos que A

(AT A).

2
2

= s = max i = (AT A).

Anlisis Numrico

29

Ejemplo 2.4. Calcular la norma2 de la matriz

1 2 1

A = 0 0 0 .
1 1 2
Solucin. Primero calculamos

2 1 1

AT A = 1 5 4 .
1 4 5
El polinomio caracterstio de AT A es
det AT A I = (6 )()(6 ) + 3(3) = ( 3)( 9),
cuyas raices son 1 = 0, 2 = 3, 3 = 9. Por lo tanto A

(AT A) =

9 = 3.

Observacin: Si A es una matriz simtrica, entonces AT A = A2 y entonces los valores


propios de AT A son de la forma 2i , donde i son los valores propios de A, pues
A2 ui = A(Aui ) = A(ui ) = Aui = ui = 2 ui
para cualquier valor propio de ui de A. Por lo tanto, si A es una matriz simtrica entonces
A

(AT A) =

(A2 ) =

[(A)]2 = (A).

Ejemplo 2.5. Dada la matriz simtrica

2 1 0

A = 1 1 1 ,
0 1 2
su polinomio caracterstico es p() = det [A I] = (2 )( 3). Por lo tanto
(A) = 3.

2.1.6.

Propiedades de las normas matriciales

Dadas dos matrices A y B Rnn y una norma inducida , se satisfacen las siguientes
propiedades:
1. Ax A

x ,

x Rn .

30

L. Hctor Jurez V.
2. (A) A .
3. AB A

B .

4. A + B A + B (desigualdad del tringulo).


La propiedad 1 es consecuencia directa de la definicin de norma matricial inducida. La
propiedad 2 se obtiene de A = sup x =1 Ax Aui = i ui = |i | ui = |i | para
cualquier vector propio unitario ui de A con valor propio i . La propiedad 3 es consecuencia directa de la propiedad 1. Finalmente la propiedad 4 es simplemente la desigualdad del
tringulo para normas matriciales y es consecuencia de la desigualdad del tringulo en la
norma vectorial asociada.
Una norma matricial no natural (no inducida). La norma matricial no inducida ms
conocida es la denominada norma de Hilbert-Schmidt o norma de Frobenius definida por

|aij |

=
i=1 j=1

Por ejemplo, La norma de Frobenius para la matriz

1 2 1

A= 0 0 0
1 1 2

es A F = (1)2 + 22 + (1)2 + 12 + 12 + 22 = 12. No es posible expresar la norma de


Frobenius en la forma sup x =1 Ax para alguna norma vectorial .

2.2.

Condicionamiento y estabilidad

En esta seccin discutiremos brevemente dos temas fundamentales del anlisis numrico:
el condicionamiento y la estabilidad.
Cuando usamos los calculadores numricos para resolver problemas debemos distinguir
dos aspectos: el problema mismo y el algorimto numrico para resolverlo. Al utilizar una
computadora, los datos que se introducen sufren perturbaciones debido a la conversn del
sistema decimal al binario y al redondeo. Por esta razn es importante el
Condicionamiento: Se refiere al comportamiento bajo perturbacines de un problema expresado matemticamente.

Anlisis Numrico

31

Adems, al realizar las operaciones dictadas por el algoritmo para resolver el problema,
se introducen tambin errores de redondeo. Algunos algoritmos amortiguan dichos errores,
pero otros los amplifican. Por esta razn es importante la
Estabilidad: Se refiere al comportamiento bajo perturbaciones de un algoritmo utilizado
para resolver un problema en una computadora.

2.2.1.

Condicionamiento de un problema

Un problema se puede considerar en forma abstracta como una funcin f : X Y


de un espacio normado X (de datos) a un espacio normado Y (de soluciones). La funcin
generalmente no es lineal pero casi siempre es continua. Por ejemplo la operacin de suma
se puede representar por
f : R2 R, f (x) = x1 + x2 ,
con X = R2 , Y = R y x = (x1 , x2 )T R2 . En la mayora de los casos nos interesa el
comportamiento de un problema en un punto especfico x X (una instancia del problema).
Un problema bin condicionado es aquel en el que cualquier perturbacin pequea
de x X ocasiona un pequeo cambio en f (x).
En un problema mal condicionado pequeas perturbaciones en los datos x X
ocasiona grandes cambios en el resultados f (x).
El significado de pequeo o grande en las anteriores oraciones depende del tipo de
aplicacin. En particular, en ocasiones es ms apropiado medir perturbaciones en una escala
absoluta, y en algunas otras es mejor medir las perturbaciones en forma relativa respecto a
la norma del dato perturbado.

2.2.2.

Nmero de condicin absoluto

Sea x una pequea perturbacin del dato x X, y denotemos por f = f (x + x)


f (x) la correspondiente perturbacin en el resultado. El nmero de condicin absoluto del
problema f en x se define por
f Y
,
(2.5)
K(x) = sup
x X
x
en donde X y
respectivamente.

representan normas vectoriales en los espacios normados X y Y ,

Ejemplo 2.6. El producto de una matrix por un vector se puede expresar mediante la funcin
f : Rn Rn ,

f (x) = Ax

x Rn ,

A Rnn .

32

L. Hctor Jurez V.

Encontrar el nmero de condicin absoluto de este problema.


Solucin. En este caso X = Y = Rn y sea = X = Y cualquier norma vectorial
en Rn , entonces el nmero de condicin absoluto de este problema es
K = sup
x

= sup
x

f
f (x + x) f (x)
A(x + x) Ax
= sup
= sup
x
x
x
x
x
Ax
= A
x

en donde es la norma matricial inducida por la norma vectorial. Obsrvese que en este
caso el nmero de condicin absoluto no depende de x. En otros problemas si depender de
la instancia x.
En el caso de que la funcin f (asociada al problema matemtico) sea una funcin
diferenciable, entonces dada la perturbacin x en el dato x, se tiene
f (x + x) = f (x) + f (x)x + O[ x 2 ],
Si denotamos la derivada f (x) por J(x) (el Jacobiano en caso que f sea una funcin de
varias variables), entonces
f = f (x + x) f (x) = J(x)(x) + O[ x 2 ] .
Por lo tanto, suponiendo que x
K = sup
x

1, entonces

J(x)x
f
sup
= J(x) .
x
x
x

Es decir, para un problema representado por una funcin diferenciable f con Jacobiano J,
su nmero de condicin absoluto en x es aproximadamente igual a la norma del Jacobiano
en x, con un error de orden O( x ).
Ejemplo 2.7. Consideremos el problema de la sustraccin de dos nmeros: f : R2 R,
f (x1 , x2 ) = x1 x2 , con x = (x1 , x2 )T . Dado que
J=

f
x1

f
= [1
x2

1].

El nmero de condicin absoluto en la norma, y en cualquier instancia x = (x1 , x2 )T


R2 es constante e igual a
K = J(x) = 2.

Anlisis Numrico

2.2.3.

33

Nmero de condicin relativo

Cuando estamos interesados en cambios relativos, necesitamos la nocin de condicin


relativa. Por ejemplo, en el caso simple en el que X=Y con norma vectorial , el nmero
de condicin relativo K = K(x) del problema f en x se define por
K = sup
x

f / x
f (x) / x

= sup
x

f / f (x)
x / x

(2.6)

En el caso en que f sea diferenciable, podemos expresar el nmero de condicin relativo en


trminos del Jacobiano
J(x)
J(x) x
K=
=
.
(2.7)
f (x) / x
f (x)

Tanto el nmero de condicin absoluto como el nmero de condicin relativo tiene sus
usos, pero este ltimo es ms importante en el anlisis numrico. Esto es debido a que la
aritmrica de punto flotante utilizada en las computadoras introduce errores relativos. Por
esta razn al nmero de condicin relativo para un problema f se le conoce simplemente
como nmero de condicin a secas. Entonces, decimos que un problema es bin condicionado
si K (su nmero de condicin) es pequeo, por ejemplo 1, 10, 102 . Decimos que el problema
es mal condicionado si K es grande, por ejemplo 106 , 1016 , etc.

Ejemplo 2.8. Consideremos el problema de calcular


f (x) =

x,

x para x > 0.

1
J = f (x) =
2 x

( 21 x )x
J x
1
K=
=
=
f (x)
2
x
Por lo tanto, el problema del clculo de la raz cuadrada es bin condicionado.

Ejemplo 2.9. Consideremos una vez ms el problema de obtener el escalar f (x) = x1 x2


a partir del vector x = (x1 , x2 )T R2 . Utilizando la norma en R2 , anteriormente
encontramos que
J(x) = [1 1] y
J(x) = 2,
as que
K=

J(x) x
|f (x)|

2 max{|x1 |, |x2 |}
|x1 x2 |

34

L. Hctor Jurez V.

y, en consecuencia, el problema de la sustraccin de dos nmeros es mal condicionado cuando ambos nmeros son muy cercanos, lo cual coincide con nuestra intuicin sobre el error
de cancelacin.

Ejemplo 2.10. La determinacin de las raices de un polinomio, dados los coeficientes del
polinomio, es un ejemplo clsico de un problema mal condicionado. Por ejemplo, el polinomio
y 2 2y+1 = (y1)2 tiene una raz doble y = 1. Una pequea perturbacin en los coefecientes
puede ocasionar un cambio drstico en las raices. Si consideramos la perturbacin del ltimo

coeficiente, se obtiene y 2 2y + (1 ) = (y 1 + )(y 1 ) para cualquier > 0.


En este caso el dato, x = (1, 2, 1)T X = R3 , consiste de los valores de los coeficientes
del polinomio, y el resultado consiste de las raices del mismo, f (x) = (1, 1)T Y = C2 .
Entonces
x = (1, 2, 1 )T (1, 2, 1)T = (0, 0, )T ,


f = (1 , 1 + )T (1, 1)T = ( , )T .
Utilizando la norma- tanto en X = R3 como en Y = C2 obtenemos

f / x
2
/
K = sup
= sup = .
= sup
f
(x)
/
x
1/2
>0

x
Por lo tanto, no es recomendable construir un algorimto numrico a partir de los coeficientes
del polinomio para el clculo de sus raices.

Ejemplo 2.11. El problema del clculo de los valores propios de una matriz no simtrica es frecuentemente mal condicionado. Un ejemplo sencillo para darse cuenta de esto es
considerar la matriz
1 1000
A=
0
1
cuyos valores propios son 1 = 1, 2 = 1. Si perturbamos uno de los coeficientes fuera de la
diagonal por 0.001, por ejemplo el coeficiente 0, obtenemos la matriz
A =

1
1000
0.001
1

cuyos valores propios son ahora 1 = 0, 2 = 2, obteniendo un cambio drstico en los valores
propios. De hecho, esto mismo sucede con la matriz
1 10n
0 1

Anlisis Numrico

35

con n N, cuando la perturbamos por


1
10n
10n 1

Ejemplo 2.12. Consideremos nuevamente el problema de la multiplicacin de una matriz


fija A Rnn por un vector x Rn , f (x) = Ax. El nmero de condicin (relativo) de este
problema es:
f / x
Ax x
x
K = sup
= sup
= A
.
f (x) / x
x Ax
Ax
x
x
Suponiendo que la matriz es nosingular
x = A1 Ax A1

Ax .

Por lo tanto
K A1

K= A

A1 .

Para ciertos valores de x, = 1 y


K= A

A1 .

Ejemplo 2.13. (Solucin de un sistema lineal de ecuaciones) Dada A Rnn no singular


y b Rn , el problema consiste en calcular x Rn tal que Ax = b. Los datos son A y b,
y el mapeo en este caso es f : Rnn Rn Rn , f (A, b) = x = A1 b. Con el objeto de
simplificar la discusin supongamos A fija, como en el ejemplo anterior, y que slo vara b,
es decir, f : Rn Rn , f (b) = x = A1 b. Como el Jacobiano en este caso es J(b) = A1 ,
entonces el nmero de condicin en b es
Kb =

A1 Ax
J(b) b
=
.
A1 b
x

Dado que hay una correspondencia 11 entre x y b (pues A es invertible), podemos calcular
el peor nmero de condicin
K = sup Kb = sup A1
bRn
b=0

bRn
b=0

Ax
Ax
= A1 sup
= A1
n
x
x
xR

A ,

x=0

y observamos que el mximo nmero de condicin no depende de b.


Nota. En los dos ejemplos anteriores el mximo nmero de condicin del problema fu
A1
A . Esta expresin es muy comn en el lgebra lineal numrica, y se le llama
nmero de condicin de la matriz A, y se escribe
K(A) = A1

A .

36

L. Hctor Jurez V.

Observacin: Si A Rnn es una matriz simtrica no singular, A


y en la norma-2:
|max (A)|
K(A) = cond(A) =
|mn (A)|

= (A) = max (A),

donde max (A) = m


ax{|| : es valor propio de A}, y mn (A) se define en forma anloga.
EJEMPLOS DE MATRICES MAL CONDICIONADAS
Ejemplo 2.14. La matriz de Hilbert

Hn =

1
2

1
2
1
3

...
...
..
.

1
n
1
n+1

1
i

1
i+1

..
.

...
..
.

1
n+i1

1
n

1
n+1

...

1
2n1

..
.

..
.

..
.

..
.

..
.

es simtrica e invertible. Su nmero de condicin en la norma euclideana


valores de n es:
n

K(Hn )

10
20
40

1,6 1013
2,45 1028
7,65 1058

para diferentes

Estos nmeros de condicin crecen muy rpidamente con n. Un sistema H20 x = b no puede
resolverse en forma apropiada en doble precisin ya que K(H20 ) 1028 . La matriz de Hilbert
es un prototipo de una matriz mal condicionada y (ver Gautschi)
K(Hn ) = Hn

Hn1 2

( 2 + 1)4n+4

215/4 n

cuando

n .

Ejemplo 2.15. Una matriz de Vandermonde es de la forma

Vn =

1 t1 t21
1 t2 t22
.. .. .. . .
.
. . .
1 tn t2n

tn1
1
tn1
2
..
.
tn1
n

Rnn ,

con t1 , t2 , . . . , tn R.

Anlisis Numrico

37

Si los parmetros t1 , t2 , . . . , tn se escogen igualmente espaciados entre 1 y 1, es decir,


ti = 1 + 2(i1)
n1 , i = 1, . . . , n, entonces (ver Gautschi)
K(Vn ) = Vn

Vn1

1 /4 n( + 1 ln 2)
e
e 4 2

cuando

n .

Algunos valores numricos se muestran en la tabla siguiente


n

K(Vn )

10
20
40
80

1,36 104
1,05 109
6,93 1018
3,15 1038

En aritmtica IEEE de doble precisin slo es posible calcular estos nmeros de condicin
para n = 10, 20 y 40.

2.2.4.

Estabilidad de los algoritmos

Sera deseable que los algoritmos numricos proporcionaran soluciones exactas a los problemas numricos. Sin embargo, debido a que las computadoras solo pueden representar un
sistema numrico discreto, esto no es posible en general. Como ya hemos visto anteriormente, el error de redondeo jugar un papel importante en este caso. La nocin de estabilidad
es la forma comn de caracterizar lo que es posible, es decir, de obtener la respuesta correcta
aunque no sea la respuesta exacta.
Algoritmos. Un algoritmo puede verse como un mapeo f : X Y el cual esta asociado a
un problema matemtico f : X Y . Para precisar la definicin de algoritmo consideremos:
1. Un problema f : X Y
2. Una computadora cuyo sistema de punto flotante satisface el axioma fundamental de
la aritmtica de punto flotante (1.7).
3. Un algoritmo f , para el poblema f , y su implementacin en computadora (programa).
Dado el dato x X, este dato es redondeado en la computadora para obtener en numero
de punto flotante x = x(1 + ) con
maq , y este ltimo nmero despus proporcionado
como entrada al programa. Al correr el programa el resultado es una coleccin de nmeros
de punto flotante que pertenece a Y . Llamemos al resultado f (x), el cual generalmente es

38

L. Hctor Jurez V.

distinto a f (x). Esquemticamente

Entrada
Redondeo

x
x

Aritmtica de punto flotante


Salida

Programa (conjunto de
f (x)
operaciones)

Mnimamente, el resultado f (x) es afectado por errores de redondeo, pero tambin, y dependiendo de las circunstacias, puede ser alterado por otras complicaciones como, por ejemplo,
otros programas corriendo al mismo tiempo tambin por tolerancias de convergencia. As
que f (x) puede tomar valores diferentes en corridas diferentes, es decir f puede ser un mapeo
multivariado.
Precisin. f no ser un mapeo continuo salvo en casos excepcionales. Lo central es que el
algoritmo aproxime en forma adecuada el problema f . Para cuantificar la precisin da la
aproximacin podemos considerar el
error absoluto :

f (x) f (x)

error relativo :

f (x) f (x)
,
f (x)

el

en alguna norma . Nosotros consideramos el error relativo ya que, como hemos dicho
anteriormnte, en el anlisis numrico se prefieren cantidades relativas para cuantificar errores.
Entonces podriamos decir que f es un buen algoritmo para el problema f si el error relativo
es de orden del epsilon de mquina, es decir, si
f (x) f (x)
= O(
f (x)

maq ).

Estabilidad: si el problema f es mal condicionado, entonces el objetivo de precisin O( maq )


es excesivamente ambicioso, dado que cualquier perturbacin en el dato x X ocasionar
un gran cambio en el resultado. El error de redondeo es inevitable al utilizar la computadora.
As que, en lugar de buscar precisin en todos los casos (lo cual es imposible), a lo ms que
podemos aspirar es a mantener cierta estabilidad en los resultados.
Definicin: Decimos que un algoritmo f para un problema f es estable si para cada x X
f (x) f (x)
= O(
f (x)

maq )

para algn x tal que

xx
= O(
x

maq ).

(2.8)

Anlisis Numrico

39

En palabras, la anterior definicin puede expresarse como un algoritmo estable proporciona


una respuesta casi correcta cuando se proporcionan datos casi correctos.

2.2.5.

Retroestabilidad (Backward-Stability)

Algunos algoritmos en el anlisis numrico satisfacen una condicin que es a la vez ms


fuerte y ms simple que la estabilidad a secas.
Definicin: Decimos que un algoritmo f para un problema f es retroestable si para cada
xX
x
x
= O( maq )
(2.9)
f(x) = f (
x) para algn x
con
x
Esquemticamente tenemos

(exacto)
(perturbado)

Dato
x
x

donde x
= x(1 + ) con | |

redondeo + algoritmo
solucin analtica

Resultado
f(x)
f (
x)

maq .

Ejemplo 2.16. Considrese el problema de la sustraccin de dos nmeros. Analizar la


estabilidad cuando se utiliza aritmtica de punto flotante.
Solucin. El problema y el algorimto se pueden escribir de la siguiente manera
Problema: f : R2 R, f (x1 , x2 ) = x1 x2 .
Algoritmo: f : R R, f(x1 , x2 ) = f l(x1 ) f l(x2 ).
Por el axioma fundamental de la aritmtica de punto flotante
f(x1 , x2 ) = (f l(x1 ) f l(x2 ))(1 +
= (x1 (1 +

1)

= x1 (1 +

= x1 (1 +

4)

x2 (1 +

2 ))(1

1 3)

x2 (1 +

3)

3)

x2 (1 +

5)

=x
1 x
2
= f (
x1 , x
2 ) ,
donde | 4 |, | 5 | 2

maq

+ O(

2
maq ).

Adems x1 , x2 satisfacen

|
x1 x1 |
= O(
|x1 |

maq ),

|
x2 x2 |
= O(
|x2 |

maq ).

2 3)

40

L. Hctor Jurez V.

Por lo tanto la sustraccin en aritmtica de punto flotante es retroestable.


Anlogamente, se puede verificar que los algoritmos , , son todos retroestables. En
forma anloga, es posible demostrar que el producto interno de dos vectores xT y, con x,
y Rn , es retroestable. Por otro lado, el producto externo xy T Rnx es estable, pero no
la matriz calculada
retroestable, pues A = xy T es una matriz de rango 1 exactamente, y A,
no puede generalmente escribirse en la forma (x + x)(y + y)T , pues muy probablementese
se obtendra una matriz de rango mayor a 1.
El uso del polinomio caracteristico p(x) = det[A I] para calcular los valores propios
de una matriz A es un algoritmo inestable. De hecho, anteriormente hemos encontrado que
el clculo de raices de un polinomio es un problema mal condicionado.

2.2.6.

La precisin de un algoritmo retroestable

Supngase que tenemos un algoritmo retroestable f para un problema f . Nos preguntamos si el resultado proporcionado por este algoritmo tiene buena precisin. La respuesta
se encuentra en el condicionamiento del problema: si el nmero de condicin K(x) de f es
pequeo, los resultados sern precisos en sentido relativo, pero si K(x) es grande el error
crecer proporcionalmente.
Anlisis: El error relativo se define por
f(x) f (x)
.
f (x)
Como se supone que el algoritmo es retroestable, entonces
x
x
f(x) = f (
x) para algn x
tal que
= O(
x

maq ),

y el error relativo se puede estimar de la siguiente manera


f(x) f (x)
f (
x) f (x)
f (x)
x
=
=
K(x)
= K(x)O(
f (x)
f (x)
f (x)
x
Es decir

f(x) f (x)
K(x)O(
f (x)

maq ) ,

y el error crece proporcionalmente a K(x) en trminos del

maq ).

(2.10)

maq .

Al proceso que se ha seguido en el anterior anlisis se le conoce como el anlisis regresivo


del error. Se obtiene una estimacin del error en dos pasos: en el primer paso se investiga la

Anlisis Numrico

41

condicin del problema; en el segundo paso se investiga la estabilidad del algoritmo. Podemos
entonces concluir que si el algortimo es estable, entonces la precisin final refleja el nmero
de condicin. Es decir, el mejor algoritmo para la mayora de los problemas no produce
mejores resultados que calcular la solucin exacta para datos ligeramente perturbados.

2.3.

Ejercicios

1. Verificar que

son normas en Rn .

2. Dibujar las esferas unitarias en las normas 1, 2 e .


3. Demuestre que si x = (x1 , x2 , . . . , xn )T Rn , entonces
lm x

= x

Sugerencia: Sea
|xk | = max |xi | = x
1in

entonces
(n|xk |p )1/p x

(|xk |p )1/p .

4. Demostrar que si dos normas || || y || || son equivalentes a una tercera || || , entonces


estas son equivalentes entre s.
5. Encontrar geomtricamente A

si
A=

1 2
0 2

6. Demuestrar que si A Rnn , entonces


n

= sup
x

=1

Ax

|aij |.

= max

1in

j=1

Es decir, la norma infinito de A es la mxima suma por rengln (en valor absoluto).
7. Dadas dos matrices A, B Rn y la norma matricial inducida , probar las siguientes
propiedades:
a) Ax A
b) (A) A .

x ,

x Rn .

42

L. Hctor Jurez V.
c) AB A

B .

d) A + B A + B (desigualdad del tringulo).


8. Qu se entiende por la frase el problema matemtico f : X Y est bin
condicionado? Cmo se mide el nmero de condicin del problema.
9. Calcular el nmero de condicin del problema del clculo de la raz n-sima de
un nmero real positivo x.
10. Verificar mediante un ejemplo que el clculo de los valores propios de una matriz
es un problema mal condicionado.
11. Cul es el nmero de condicin absoluto de la multiplicacin de una matriz
A Rnn por un vector x Rn ? Cul es el nmero de condicin relativo?
12. Demuestrar que si A es una matriz simtrica e invertible en Rn , entonces (A) =
max (A)/min (A).
13. Calcular el nmero de condicin de las siguientes matrices en las normas 1, 2 e
infinito.

A=

2 2
1 3

2 1
1 3

B=

2 1 0

C = 1 2 1
0 1 2

4
2
6

D= 3
0
7
2 1 3

14. Dado un algoritmo f : X Y para un problema f : X Y , escribir la definicin


de
a) Estabilidad para el algoritmo f.
b) Retroestabilidad para el algoritmo f.
Cul es la diferencia entre ambas definiciones.
15. Dado el problema
f : R2 R,

x1
x2

= x1 + x2 ,

y el algoritmo
f : R2 R,

x1
x2

= f l(x1 ) f l(x2 ),

Anlisis Numrico

43

verificar que el algoritmo es retroestable. Calcular el nmero de condicin del


problema f en un dato x R2 . Calcular el error relativo entre la solucin exacta
y la solucin aproximada, suponiendo que se utiliza doble precisin en los clculos.
Escoger cualquier norma.
16. Dar una estimacin del error relativo cuando se resuelve el problema de encontrar
la solucin de un sistema de ecuaciones A x = b, suponiendo que se utiliza doble
precisin y que el nmero de condicin de A es del orden de 106 .

44

L. Hctor Jurez V.

Captulo 3

Solucin de Sistemas de Ecuaciones


Lineales
Uno de los problemas ms frecuentemente encontrados en la computacin cientfica es
el de la solucin de sistemas de ecuaciones algebraicas lineales. Este problema consiste en
encontrar x = (x1 , x2 , . . . , xn )T Rn tal que Ax = b, donde la matriz A Rmn y el vector
b = (b1 , b2 , . . . , bm )T Rm son dados. Este problema aparece muy a menudo en muchas de
las aplicaciones de la matemtica, ciencias e ingeniera. Algunos ejemplos son el ajuste de
datos, problemas de optimizacin, aproximacin de ecuaciones diferenciales y de ecuaciones
integrales. En el presente estudio, salvo en el siguiente captulo, slo consideraremos sistemas de ecuaciones lineales cuadrados (m = n) que tengan solucin nica. Algunas de las
condiciones ms conocidas para que el sistema Ax = b tenga solucin nica son:
1. A es una matriz no-singular (invertible)
2. La nica solucin de Ax = 0 es x = 0
3. det(A) = 0.

3.1.

Eliminacin de Gauss

El mtodo ms conocido (y, en muchos casos, el ms popular) para resolver sistemas


de ecuaciones algebraicas lineales es el mtodo de eliminacin de Gauss. La idea bsica de
este mtodo consiste en manipular las ecuaciones por medio de operaciones elementales para
tranformar el sistema original en un sistema equivalente que sea ms sencillo de resolver.
Las operaciones elementales en la eliminacin de Gauss son tres:
45

46

L. Hctor Jurez V.
1. Multiplicacin de una ecuacin por una constante no cero.
2. Sustraccin del mltiplo de una ecuacin de otra ecuacin.
3. Intercambio de ecuaciones.

Si alguna de estas operaciones se aplican a algn sistema de ecuaciones el sistema obtenido


ser equivalente al original. Lo mismo sucede cuando se realiza una cadena de estas operaciones. Nuestro objetivo es resolver el sistema Ax = b, donde A = (aij ), 1 i, j n,
b = (b1 , b2 , . . . , bn )T , que en forma explcita es:
a11 x1 + a12 x2 + + a1n xn
a21 x1 + a22 x2 + + a2n xn
..
..
..
.
.
.

= b1
= b2
..
.

ai1 x1 + ai2 x2 + + ain xn


..
..
..
.
.
.

bi
..
.

an1 x1 + an2 x2 + + ann xn = bn


Si a este sistema le llamamos A(1) x = b(1) , y a los coeficientes aij , bi los denotamos por
(1) (1)
aij , bi , para indicar el estado original del sistema, entonces el proceso de eliminacin de
Gauss es como se muestra a continuacin:
(1)

1er Paso de eliminacin. Si a11 = 0, podemos eliminar la incgnita x1 a partir de la


segunda ecuacin. El paso tpico es restar de la isima ecuacin (i = 2, . . . , n) la primera
multiplicada por
(1)

(1)

mi1 = ai1 /a11

i = 2, 3, . . . , n

A mi1 se le denomina multiplicador asociado a la isima ecuacin en el primer paso de eliminacin. Despus de realizar esta operacin la isima ecuacin tendr nuevos coeficientes
(2)
(2)
aij y bi cuyos valores son:
(2)

ai1 = 0,

(2)

(1)

(1)

(2)

aij = aij mi1 a1j , para j = 2, . . . , n,

bi

(1)

(1)

= bi mi1 b1 .

Haciendo lo anterior para cada rengln i = 2, . . . , n, obtenemos el nuevo sistema A(2) x = b(2) :
(1)

(1)

(1)

(1)

(2)

(2)

(2)

(2)

(2)

(2)

a11 x1 + a12 x2 + + a1n xn = b1

a22 x2 + + a2n xn = b2
..
..
..
.
.
.

an2 x2 + + ann xn = bn

Anlisis Numrico

47

Nota. Observese que si se va a resolver computacionalmente el problema, para almacenar


(1)
(2)
los coefecientes aij y bi , podemos escribir sobre los aij los nuevos aij justamente calculados.
(1)

Podemos almacenar tambin los multiplicadores mi1 en donde teniamos los coeficientes ai1 ,
y recordando que todos los elementos debajo de la diagonal de la primera columna de A(2)
son realmente cero. Ms adelante veremos porqu es til almacenar los multiplicadores.
2o paso de eliminacin. En este paso el objetivo es eliminar la incgnita x2 de la tercera
(2)
ecuacin hasta la ltima ecuacin. Si a22 = 0, primero se calculan los multiplicadores
(2)

(2)

mi2 = ai2 /a22 ,


(3)

(3)

Los nuevos coeficientes aij y bi


(3)

ai2 = 0

(3)

i = 3, . . . , n .

de la isima ecuacin sern:

(2)

(2)

aij = aij mi2 a2j , para j = 3, . . . , n,

(3)

bi

(2)

(2)

= bi mi2 b2 .

Haciendo lo anterior para cada rengln i = 3, . . . , n, obtenemos el nuevo sistema A(3) x = b(3)
que es:
(1)
(1)
(1)
(1)
(1)
a11 x1 + a12 x2 + a13 x3 + + a1n xn = b1
(2)

(2)

(2)

(2)

(3)

(3)

(3)

(3)

(3)

(3)

a22 x2 + a23 x3 + + a2n xn = b2

a33 x3 + + a3n xn = b3
..
..
..
.
.
.

an3 x3 + + ann xn = bn

Continuando de esta manera, y despus de n1 pasos de eliminacin, obtenemos un sistema


triangular superior
(1)

(1)

(1)

(1)

= b1

(2)

(2)

(2)

= b2

(3)

(3)

= b3
..
.

a11 x1 + a12 x2 + a13 x3 + + a1n xn


a22 x2 + a23 x3 + + a2n xn
a33 x3 + + a3n xn
..
.
(n)

(1)
(2)
(3)

(n)

ann xn = bn

que denotaremos por A(n) x = b(n) . El proceso anterior se termina sin problemas siempre
(1)
(n)
y cuando ninguno de los coeficientes a11 , a222 , . . . , ann , denominados pivotes, sea cero.
Cuando se realiza computacionalmente este procedimiento la matriz A se reescribe en for(k)
ma sucesiva, en cada paso de eliminacin, almacenando los nuevos coeficientes aij y los
correspondientes multiplicadores mik en los lugares asociados a las variables eliminadas. Lo
mismo ocurre con el vectro b. Al trmino del proceso de eliminacin obtenemos un sistema

48

L. Hctor Jurez V.

triangular superior U x = b (donde U = A(n) , b = b(n) ) el cual es equivalente al sistema


original, es decir este nuevo sistema tiene exactamente la misma solucin que el sistema
original. Sin embargo, este nuevo sistema puede resolverse muy fcilmente por medio de la
tcnica de sustitucin hacia atrs sustitucin regresiva:

xn = bn /ann
n

xi = (bi

aij xj )/aii ,

i = n 1, n 2, . . . , 1

j=i+1

en donde hemos suprimido los superndices para simplificar la notacin. Entonces, supo(i)
niendo que en el proceso de eliminacin ninguno de los pivotes aii es cero, el algoritmo de
eliminacin de Gauss para resolver el sistema A x = b puede escribirse de la siguiente manera:

Algoritmo de eliminacin de Gauss. Dados los coeficientes aij de la matriz A, y los


coeficientes bi de b
Para k = 1, 2, . . . , n 1
/* Pasos de eliminacin */
.
Para i = k + 1, . . . , n
.
.
m := aik /akk
/* Multiplicador asociado al rengln i */
.
.
Para j = k + 1, . . . , n
.
.
.
aij := aij m akj
.
.
Fn
.
.
bi := bi mbk
.
Fn
Fn
xn = bn /ann
/* Empieza la sustitucin regresiva */
Para i = n 1, . . . , 1
.
xi := bi
.
Para j = i + 1, . . . , n
.
.
xi := xi aij xj
.
Fn
.
xi := xi /aii
Fn

Anlisis Numrico

49

Ejemplo 3.1. Dada la matriz A y el

4
A=
8

vector b
1
3
7
7

1
3
9
9

0
1
5
8

b=

1
8
30
41

aplicar el mtodo de eliminacin de Gauss para calcular la solucin del sistema A x = b. La


solucin exacta de este sistema es x = (1, 2, 1, 3)T .
Solucin. En la prctica, para aplicar el mtodo de eliminacin de Gauss, es til escribir
solo los coeficientes de la matriz A en el lado izquierdo y los del vector b en el lado derecho,
sin incluir las incgnitas. Entonces, el sistema inicial se puede escribir de la siguiente manera:

A(1) x = b(1) :

2
4
8
6

1
3
7
7

1
3
9
9

0
1
5
8

1
8
30
41

El proceso de eliminacin de Gauss se muestra a continuacin:


1er paso de eliminacin.
Pivote: a11 = 2.
Multiplicadores para el segundo, tercero y cuarto renglones:
m21 = a21 /a11 = 4/2 = 2
m31 = a31 /a11 = 8/2 = 4
m41 = a41 /a11 = 6/2 = 3
Entonces,
restamos del segundo rengln el primero multiplicado por m21 = 2,
restamos del tercer rengln el primero multiplicado por m31 = 4,
restamos del cuarto rengln el primero multiplicado por m41 = 3,
con lo cual obtenemos:

A(2) x = b(2) :

2 1
1
3
4

1
1
5
6

0
1
5
8

1
6
26
38

50

L. Hctor Jurez V.

2o paso de eliminacin
Pivote: a22 = 1.
Multiplicadores para el tercero y cuarto renglones:
m32 = a32 /a22 = 3/1 = 3
m42 = a42 /a22 = 4/1 = 4

Entonces
restamos del tercer rengln el segundo multiplicado por m32 = 3,
restamos del cuarto rengln el segundo multiplicado por m42 = 4,
y se obtiene:

A(3) x = b(3) :

2 1 1 0
1 1 1
2 2
2 4

1
6
8
14

3er paso de eliminacin


Pivote : a33 = 2.
Multiplicador para el cuarto rengln
m43 = a43 /a33 = 2/2 = 1
Entonces, restando del cuarto rengln el tercero, pues m43 = 1, se obtiene

A(4) x = b(4) :

2 1 1 0
1 1 1
2 2
2

1
2x1 + x2 + x3
6
x2 + x3 + x4

8
2x3 + 2x4
6
2x4

=
=
=
=

1
6
8
6

Sustitucin regresiva. En el sistema triangular superior obtenido hacemos sustitucin


regresiva para encontrar la solucin.
6
=3
2
8 2x4
86
x3 =
=
=1
2
2
6 x3 x4
613
x2 =
=
=2
1
1
1 x2 x3
121
x1 =
=
= 1
2
2
x4 =

Anlisis Numrico

3.2.

51

Factorizacin LU

En la seccin anterior hemos visto como el proceso de eliminacin de Gauss transforma


un sistema lineal completo en un sistema triangular superior por medio de la aplicacin de
operaciones elementales de eliminacin. Este proceso de eliminacin se puede interpretar
desde un punto de vista meramente matricial. Es decir, cada paso de eliminacin se puede
escribir en forma compacta por medio de la multiplicacin de una matriz. Por ejemplo, para
el sistema Ax = b con

2 1 1 0
1

4 3 3 1
8

,
A=
b=
,

8 7 9 5
30
6 7 9 8
41
el primer paso de eliminacin se puede expresar multiplicando el sistema por una matriz
triangular inferior. Esta matriz triangular inferior contiene unos en la diagonal y los multiplicadores con signo contrario en sus posiciones correspondientes. El resultado se muestra a
continuacin

1 0 0 0
2 1 1 0
1

2 1 0 0
0 1 1 1
6

,
L1 =
L1 b =
= L1 A = 0 3 5 5 ,

4 0 1 0

26
3 0 0 1
0 4 6 8
38
obteniendo la misma matriz y lado derecho que previamente obtuvimos al final del primer paso de eliminacin. En forma anloga, el segundo paso de eliminacin equivale a premultiplicar
el sistema anterior por la matriz triangular inferior (con los multiplicadores correspondientes
con signo contrario)

1 0

0 1
L2 =
0 3

0 4

0
0
1
0

0
0
0
1

En este caso se obtiene

L2 L1 A =

2
0
0
0

1
1
0
0

1
1
2
2

0
1
2
4

L2 L1 b =

1
6
8
14

52

L. Hctor Jurez V.

Finalmente, el tercer paso de eliminacin equivale a


matriz

1 0 0

0 1 0
L3 =
0 0 1

0 0 1
obteniendo

L3 L2 L1 A =

2
0
0
0

1
1
0
0

1
1
2
0

0
1
2
2

premultiplicar el ltimo sistema por la


0
0
0
1

L3 L2 L1 b =

1
6
8
6

Si denotamos esta ltima matriz triangular superior por U , y la matriz L3 L2 L1 por L1 ,


entonces esta claro que
A = LU
El clculo de la matriz L es sencillo como veremos a continuacin. Observese que L =
1 1
(L3 L2 L1 )1 = L1
1 L2 L3 , y basta con calcular las inversas de las matrices L1 , L2 y L3 . El
clculo de estas inversas es trivial. Por ejemplo

1 0 0 0
1 0 0 0

2 1 0 0
2 1 0 0
1

L1 =
= 4 0 1 0 .
4
0
1
0

3 0 0 1
3 0 0 1
Anlogamente las inversas de L2 y L3 se obtienen simplemente cambiando el signo de sus
coeficientes debajo de la diagonal, y su producto es:

1 0 0 0

2 1 0 0
1 1 1

L = L1 L2 L3 =

4 3 1 0
3 4 1 1
La cual es una matriz triangular inferior con unos en la diagonal, y con los multiplicadores
debajo de la diagonal. A esta matriz L se le conoce como la matriz de multiplicadores.
Podemos generalizar el resultado anterior:
(i)

Factorizacin LU . Si en el proceso de eliminacin de Gauss ninguno de los pivotes aii


es cero, entonces la matriz A se puede factorizar en la forma A = LU . La matriz L es

Anlisis Numrico

53

triangular inferior con unos en la diagonal y con los multiplicadores debajo de la diagonal.
La matriz U es la matriz triangular superior que se obtiene al final del proceso de eliminacin
(U = A(n) ) y contiene los pivotes en la diagonal. Es decir,

(1) (1)
(1)
a11 a12 . . . a1n
a11 . . . a1n
1

(2)
(2)
a21 . . . a2n l21 1

a22 . . . a2n

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

.
.
.
. .
.
.

(n)
an1 . . . ann
ln1 . . . ln(n1) 1
ann
donde lij = mij para i > 1 son los multiplicadores que se obtienen en el proceso de eliminacin de Gauss.
(i)

Observacin. Como aii = 0, entonces A es no singular y


n
(i)

detA = det(LU ) = (detL)(detU ) = (1)(

aii ) = producto de los pivotes.


i=1

Solucin del sistema Ax = b utilizando la factorizacin LU


Sea el sistema Ax = b con A Rnn invertible, b Rn . Supongase que ya tenemos una
factorizacin A = LU . Entonces, el sistema de ecuaciones tambin su puede escribir en la
forma LU x = b. Si hacemos U x = y, entonces Ly = b, y por lo tanto el sistema puede
resolverse en dos pasos:
1. Se resuelve el sistema triangular inferior Ly = b utilizando sustitucin hacia adelante
progresiva:
y1 = b1 ,
i1

yi = bi

lij yj ,

i = 2, . . . , n.

j=1

2. Una vez obtenido y del paso anterior, se resuelve el sistema triangular superior U x = y
utilizando sustitucin hacia atrs regresiva:
xn = yn /ann ,
n

xi = (yi

uij xj )/uii ,
j=i+1

i = n 1, . . . , 1,

54

L. Hctor Jurez V.
(i)

en donde hemos denotado por uij a los coeficientes aij , j i, de la matriz U .


Ejemplo 3.2. Resolver el sistema del sistema de ecuaciones anterior utilizando factorizacin
LU .
Solucin. Del proceso de elminacin de Gauss obtenemos:

L=

1
2
4
3

0
1
3
4

0
0
1
1

0
0
0
1

U =

2
0
0
0

1
1
0
0

y1
y2
y3
y4

1
1
2
0

0
1
2
2

b=

1
8
30
41

Entonces, Ly = b es

1
2
4
3

0
1
3
4

0
0
1
1

0
0
0
1

1
8
30
41

y la solucin por sustitucin progresiva es


y1
y2
y3
y4

=1
= 8 2y1 = 8 2 = 6
= 30 4y1 3y2 = 30 4 18 = 8
= 41 3y1 4y2 y3 = 41 3 24 8 = 6

Luego U x = y es

2
0
0
0

1
1
0
0

1
1
2
0

0
1
2
2

x1
x2
x3
x4

1
6
8
6

y la solucin por sustitucin regresiva es


x4
x3
x2
x1

= 6/2 = 3
= (8 2x4 )/2 = (8 6)/2 = 1
= (6 x3 x4 )/1 = (6 3 1)/1 = 2
= (1 x2 x3 0x4 )/2 = (1 2 1)/2 = 1

Por lo tanto, la solucin es la misma que la obtenida anteriormente.

Anlisis Numrico

3.3.

55

Inestabilidad del mtodo de eliminacin de Gauss

Desafortunadamente el mtodo de eliminacin de Gauss, como se ha presentado hasta


el momento, no es un buen mtodo prctico de propsito general para resolver sistemas
de ecuaciones lineales. Como veremos un poco ms adelante, este no es mtodo estable regresivo. De hecho su posible inestabilidad, en algunos casos, est asociada a una dificultad
muy simple: para algunas matrices el mtodo no funciona debido que se corre el
peligro de dividir por cero.

Ejemplo 3.3. La matriz


A=

0 1
1 1

tiene rango completo (es invertible) y es bin condicionada, debido a que

1 5
p() = det(A I) = (1 ) 1 = 1 1,2 =
2

|max |
3 5
1+ 5
=
A simtrica K(A) = cond(A) =
=
2,618.
|mn |
2
1 5
2

Sin embargo, el mtodo de eliminacin de Gauss falla en el primer paso debido a que el
primer pivote es cero.

Al introducir una pequea perturbacin en la matriz anterior se revelan otras dificultades.


Por ejemplo, supongase que aplicamos eliminacin de Gauss a la matriz perturbada
A =

1020 1
1
1

Ahora el mtodo no fallar en el primer paso de eliminacin. En este caso el pivote es


= 1020 y el multiplicador 1020 . Suponiendo que realizamos las operacines en aritmtica
exacta, obtenemos la factorizacin A = LU con
L=

1
0
20
10
1

U=

1020
1
0
1 1020

Sin embargo, en aritmtica de punto flotante IEEE de doble precisin con maq = 2,224
1016 , el nmero 1 1020 no se puede representar en forma exacta y ste es redondeado al

56

L. Hctor Jurez V.

nmero de punto flotante ms cercano, que es 1020 . Luego, las matrices de punto flotante
son
20
1
0
1
=
= 10
L
,
U
20
10
1
0
1020
Estas matrices son cercanas, en sentido relativo, a las matrices exactas L y U , es decir

hemos calculado la factorizacin en forma estable. Sin embargo, cuando multiplicamos L


aparece un problema inesperado: desgraciadamente A = L
U
, dado que
por U
A =

1020 1
1
1

1020 1
1
0

U
=
L

La diferencia es el coeficiente a22 = 1, el cual es muy grande comparado con el valor de


la perturbacin 1020 . Cuando intentamos resolver el sistema Ax = b por medio de la
U
x = b aparece otro problema: el resultado es muy diferente al exacto. Por
factorizacin L
ejemplo, con b = (1, 0)T el sistema Ax = b es
0 1
1 1

x1
x2

1
0

U
x = b es
y la solucin exacta es x = (1, 1)T . Por otro lado, el sistema L
1020 1
1
0

x1
x2

1
0

La solucin en dos etapas de este sistema proporciona


=b :
Ly

x = y :
U

1
0
20
10
1
1020
1
0
1020

y1
y2

x1
x2

1
0
=

y = (1, 1020 )T

1
1020

x
= (0, 1)T ,

lo cual muestra que la solucin de punto flotante x


es muy diferente a la solucin exacta x.
Un anlisis cuidadoso de lo que ocurre en este ejemplo revela que la eliminacin de Gauss
es cercana a L y U
es cercana a U ), pero
ha calculado la factorizacin LU establemente (L
no ha resuelto Ax = b establemente (
x no es cercana a x). Una explicacin de este fenmeno
es que, a pesar de que la factorizacin LU se ha hecho en forma estable, esta factorizacin
no es estable regresiva. Las siguientes lineas muestran esta aseveracin:
f : Rnn Rnn Rnn ,

f (A) = LU

Anlisis Numrico

57
A A
1020
=
O(
A
2

maq )

= f(A) ,
pero f (A)

representa la factorizacin exacta de la matriz perturbada A,


es decir
pues f (A)
= LU =
f (A)

1
0
20
10
1

1020
1
0
1 1020

y f(A) representa la factorizacin aproximada (de punto flotante) de la matriz exacta, dentro
de la computadora, es decir
U
=
f(A) = L

1
0
20
10
1

1020
1
1
1020

En el caso general para matrices A de orden n n con n grande, la situacin empeora.


El mtodo de eliminacin de Gauss en no es ni estable regresivo ni tampoco estable como
algoritmo general para encontrar factorizaciones del tipo LU . Adems de esto, las normas
de las matrices triangulares L y U obtenidas pueden ser mucho mayores que la norma de la
matriz misma A, introduciendo fuentes adicionales de inestabilidad en las faces de sustitucin
progresiva y regresiva para resolver los sistemas triangulares. En el ejemplo anterior
A

= 2 mientras que

= 1020 + 1 y

= 1020 1,

lo cual muestra que, efectivamente, las normas de los factores L y U son desproporcional
mente mayores que la de la matriz dada. A.

3.4.

Tcnicas de pivoteo

Si bin no podemos eliminar la inestabilidad completamente, si podemos controlarla permutando el orden de los renglones y columnas de la matriz del sistema de ecuaciones. A esta
tcnica se le conoce como pivoteo y ha sido usada desde la aparicin de las computadoras
(alrededor de 1950). El propsito del pivoteo es asegurar que los factores L y U no sean tan
grandes comparados con la matriz A. Siempre que las cantidades que aparecen en la eliminacin sean manejables, los errores de redondeo se mantendrn controlados y el algoritmo
ser estable regresivo.

3.4.1.

Pivoteo completo

La idea es la siguiente: en el ksimo paso de eliminacin debemos escoger un pivote de


entre los coeficientes del subsistema con matriz (para simplificar la exposicin los supern-

58

L. Hctor Jurez V.

dices se han suprimido)

A(k : n, k : n)

ak,k
ak,k+1 . . . ak,n
ak+1,k ak+1,k+1 . . . ak+1,n
..
..
..
..
.
.
.
.
an,k
an,k+1 . . . an,n

en donde hemos utilizado la notacin que utiliza el ambiente MATLAB para denotar rangos
de ndices, es decir k : n en A(k : n, k : n) denota los subndices k, k + 1, . . . , n. En esta
submatriz el pivote no necesariamente es ak,k , como lo hemos considerado hasta ahora. Con
el objeto de controlar el crecimiento de los coeficientes en las matrices de factorizacin L y
U es conveniente escoger como pivote a aquel coeficiente que tiene valor absoluto mximo:
|a| = max |aij | = |alm | .
ki,jn

Despus se procede a hacer el intercambio del rengln k con el rengln l, y de la columna


k con la columna m, y se continua con la eliminacin en la forma usual, calculando los
multiplicadores y los nuevos coeficientes. En este caso, los multiplicadores que se obtienen
son tales que
ai k
1 , i = k + 1, . . . , n
mi k =
|a|
y, en consecuencia, ninguno de los coeficientes de la matriz L, al final del proceso de eliminacin ( factorizacin), ser mayor a uno. A esta estrategia se le denomina pivoteo completo;
sin embargo, esta estrategia en muy poco usada por dos razones:
1. En el paso k hay (n k + 1)2 posibilidades para buscar el mximo, y el costo para
seleccionar los pivotes en los n 1 pasos de eliminacin implica O(n3 ) operaciones, lo
cual es excesivo.
2. Hay que darle seguimiento al intercambio de renglones y columas.

3.4.2.

Pivoteo parcial

En la prctica, es posible encontrar pivotes tan tiles como los encontrados con pivoteo
completo pero realizando un nmero mucho menor de operaciones de busqueda. El mtodo
ms comn se denomina pivoteo parcial. En esta estrategia se intercambia solamente dos
renglones en cada paso de eliminacin. As, en el ksimo paso de eliminacin se escoge
como pivote el coeficiente en la primera columna de la submatriz con mayor valor absoluto:
|a| = max |aik | = |alk |.
kin

Anlisis Numrico

59

Posteriormente se intercambian los renglones k y l. En este caso hay n k + 1 posibilidades


para el pivoteo en el ksimo paso, y por lo tanto el nmero de operaciones de busqueda
en todo el proceso de eliminacin es en total O(n2 ) (en realidad n(n 1)/2).
Como es usual con otras operaciones en el lgebra lineal numrica, el intercambio de renglones puede expresarse por medio de un producto de matrices. Como vimos anteriormente
un paso de eliminacin corresponde a la multiplicacin izquierda por una matriz triangular
inferior Lk en el ksimo paso. El pivoteo parcial complica un poco ms el proceso pues
ahora es necesario multiplicar por una matriz de permutacin Pk por la izquierda antes de
cada eliminacin.
Matrices de permutacin
Una matriz de permutacin es una matriz con ceros en todos lados excepto por un
coeficiente 1 en cada rengln y columna. Por ejemplo la matriz

0 1 0 0

1 0 0 0

P =

0 0 0 1
0 0 1 0
tiene un slo 1 en cada rengln y columna, y en todas las demas entradas tiene ceros.
Cualquier matriz de permutacin es el producto de matrices de permutacin elemental. Una
matriz de permutacin elemental se obtiene de la matriz identidad permutando dos de sus
renglones (o dos de sus columnas) solamente. Por ejemplo, las matrices

0 1 0 0
1 0 0 0

1 0 0 0
0 1 0 0

P12 =
y
P34 =
0 0 1 0
0 0 0 1

0 0 0 1
0 0 1 0
son matrices de permutacin elementales que se obtienen de la matriz identidad en R44
permutando los renglones ( columnas) 1 y 2, y permutando los renglones ( columnas) 3 y
4 respectivamente. La matriz de permutacin P dada un poco ms arriba se puede expresar
como el producto de estas dos matrices, pues
P = P12 P34 = P34 P12 .
Dada cualquier matriz A R44 , el producto P12 A intercambia los renglones 1 y 2 de
la matriz A, y el producto AP12 intercambia las columnas 1 y 2 de la matriz A:

60

L. Hctor Jurez V.

P12 A =

AP12

3.4.3.

0
1
0
0
a11
a21
a31
a41

1
0
0
0

0
0
1
0
a12
a22
a32
a42

0
0
0
1

a13
a23
a33
a43

a11
a21
a31
a41
a14
a24
a34
a44

a12
a22
a32
a42

a13
a23
a33
a43
1
0
0
0

0
0
1
0

a14
a24
a34
a44

0
0
0
1

a21
a11
a31
a41

a22
a12
a32
a42

a23
a13
a33
a43

a24
a14
a34
a44

a12
a22
a32
a42

a11
a21
a31
a41

a13
a23
a33
a43

a14
a24
a34
a44

Factorizacin LU con pivoteo parcial

Tomando en cuenta el intercambio de renglones en cada paso para realizar el pivoteo


parcial, encontramos que, para una matriz nosingular A Rnn , al trmino de los n 1
pasos de eliminacin se obtiene la siguiente factorizacn
Ln1 Pn1 L2 P2 L1 P1 A = U .
El siguiente ejemplo ilustra esta aseveracin.
Ejemplo 3.4. Encontrar la factorizacin LU con

2 1 1 0

4 3 3 1
A=
8 7 9 5

6 7 9 8
Solucin.
1er paso de eliminacin:
renglones 1 y 3

0
P1 A =
1

0
1
0
0

los multiplicadores son: m21

1
0 0

1/2 1 0
L1 P1 A =
1/4 0 1

3/4 0 0

= 4/8 = 1/2,

0
8 7

0
4 3

0
2 1
1
6 7

pivoteo parcial para la matriz

= A(1)

Claramente el pivote debe ser 8 y hay que intercambiar los


1
0
0
0

0
0
0
1

2
4
8
6

1
3
7
7

1
3
9
9

0
1
5
8

8
4
2
6

m31 = 2/8 = 1/4, m41



9 5
8
7

3 1
= 0 1/2

1 0
0 3/4
9 8
0 7/4

7
3
1
7

9
3
1
9

5
1
0
8

= 6/8 = 3/4. Luego

9
5

3/2 3/2
= A(2)
5/4 5/4

9/4 17/4

Anlisis Numrico

61

2o paso de eliminacin: Ahora


intercambiar los renglones 2 y 4

1 0 0 0
8

0 0 0 1 0

P2 L1 P1 A =
0 0 1 0 0

0 1 0 0
0

el pivote (para el subsistema 3 3) es 7/4, debemos

7
9
5
1/2 3/2 3/2
3/4 5/4 5/4
7/4
9/4 17/4

y los multiplicadores ahora son: m32 =

L2 P2 L1 P1 A =

1 0 0
0 1 0
0 3/7 1
0 2/7 0

0
0
0
1

8
0
0
0

8
7
9
5
0 7/4
9/4 17/4
0 3/4 5/4 5/4
0 1/2 3/2 3/2

3
1/2
2
= , m42 =
= . As que
7
7/4
7

7
9
5
8 7
9
5

7/4
9/4 17/4 0 7/4 9/4 17/4
=
3/4 5/4 5/4
0 0 2/7 4/7
1/2 3/2 3/2
0 0 6/7 2/7
3/4
7/4

= A(3)
3er paso de eliminacin: El pivote (para el subsistema
cambiamos los renglones 3 y 4

1 0 0 0
8 7
9
5

0 1 0 0 0 7/4 9/4 17/4

P3 L2 P2 L1 P1 A =
0 0 0 1 0 0 2/7 4/7

0 0 1 0
0 0 6/7 2/7

2 2) es -6/7. Entonces, inter

1
2/7
= . Finalmente
6/7
3

0
0
0
8 7
9
5

1
0
0
0 7/4 9/4 17/4

0
1
0
0 0 6/7 2/7
0 1/3 1
0 0 2/7 4/7

8 7
9
5
0 7/4 9/4 17/4
0 0 6/7 2/7
0 0 2/7 4/7

El multiplicador es m43 =

L3 P3 L2 P2 L1 P1 A =

1
0
0
0

8 7
9
5
0 7/4 9/4 17/4
0 0 6/7 2/7
0 0
0
2/3

=U.
En el anterior ejemplo hemos encontrado entonces que
L3 P3 L2 P2 L1 P1 A = U.
Con un poco ms de trabajo podemos reescribir esta ltima igualdad en forma ms adecuada.
Para ello, definimos
L3 = L3 ,

L2 = P3 L2 P31 ,

L1 = P3 P2 L1 P21 P31 .

62

L. Hctor Jurez V.

Se puede verificar directamente que estas ltimas matrices son triangulares inferiores y que
L3 L2 L1 P3 P2 P1 = L3 P3 L2 P2 L1 P1 . Por lo tanto
L3 L2 L1 P3 P2 P1 A = U .
Entonces, podemos escribir
P A = LU
Un clculo directo muestra que

0 0 1

0 0 0
P =
0 1 0

1 0 0

con P = P3 P2 P1 ,

0
1
0
0

L=

L = (L3 L2 L1 )1 .

1
0
0
3/4
1
0
1/2 2/7 1
1/4 3/7 1/3

0
0
0
1

La matriz U ya se calcul al trmino del proceso de eliminacin.


A la anterior factorizacin se le denomina factorizacin LU de la matriz A con estrategia
de pivoteo simple o parcial. Por supuesto la factorizacin LU corresponde, estrictamente
hablando, no a A sino a una permutacin de la matriz A, a saber P A. Este algoritmo se
muestra a continuacin:
Algoritmo de factorizacin LU con pivoteo parcial
Dados los coeficientes aij de A y los coeficientes bj de b
Para k = 1, 2, . . . , n 1
.
Encontrar p k tal que |apk | = maxkin |aik |
.
Intercambiar los renglones p y k ( si p = k)
.
Si |akk | = 0, escribir: la matriz es singular. Parar y salir
.
Si no, hacer para i = k + 1, . . . , n
.
.
m := aik /akk
.
.
para j = k + 1, . . . , n
.
.
.
aij := aij makj
.
.
Fn
.
.
bi := bi mbk
.
Fn
Fn

Anlisis Numrico

3.5.

63

Clculo de la inversa de una matriz

Dada la matriz A Rnn no singular, el clculo de su inversa en forma aproximada


se puede encontrar resolviendo n sistemas de ecuaciones lineales por medio del mtodo de
eliminacin de Gauss con pivoteo parcial, como se indica a continuacin:
Sea A1 = [x1 , x2 , . . . , xn ], donde xi Rn es el isimo vector columna de A1 , entonces
AA1 = [Ax1 , Ax2 , . . . , Axn ] = I = [e1 , e2 , . . . , en ]
donde ei = (0, . . . , 1, . . . , 0)T es el vector columna con 1 en el isimo lugar y 0 en las dems
entradas. Luego la igualdad se cumple si
Axi = ei ,

i = 1, 2, . . . , n.

Resolviendo este conjunto de sistema de ecuaciones lineales, encontramos los vectores columna xi de la matriz inversa A1 . Como los n sistemas de ecuaciones lineales tienen la
misma matriz, se puede aplicar eliminacin con pivoteo con lado derecho e1 , e2 , . . . , en en
forma simultanea.
[A|I]

eliminacin con pivoteo

[U |J]

donde I es la matriz identidad y U es una matriz triangular superior. La inversa se obtiene


resolviendo por sustitucin regresiva los sistemas
U xi = ji
donde ji son los vectores columna de la matriz J, y los xi los vectores solucin, es decir, los
vectores columna de A1 .

3.6.

Estabilidad del mtodo de eliminacin de Gauss con pivoteo

El mtodo de eliminacin de Gauss con pivoteo parcial es inestable para ciertas matrices
(un nmero pequeo en realidad), pero estable en la prctica (es decir, en la gran mayora de
los problemas que aparecen en la aplicaciones). El anlisis de estabilidad de la eliminacin de
Gauss con pivoteo parcial es complicado y ha sido uno de los temas ms difciles del anlisis
numrico desde 1950. La inestabilidad del mtodo de eliminacin de Gauss, con o sin pivoteo,
puede aparecer si uno de los factores L y U es grande comparado con la matriz A. As que
el propsito del pivoteo, desde el punto de vista de la estabilidad, es asegurar que L y U no

64

L. Hctor Jurez V.

sean muy grandes. De tal manera que cuando las cantidades intermedias en el proceso de
eliminacin sean de tamao manejable, los errores de redondeo sern pequeos, y el mtodo
ser estable regresivo. Estas ideas se precisan en el siguiente teorema que se establece para
la eliminacin de Gauss sin pivoteo, pero tambin puede aplicarse al caso con pivoteo si A
representa la matriz original con renglones y columnas permutadas adecuadamente.
Teorema 3.5. Si A Rnn tiene una factorizacin LU y esta se realiza utilizando eliminacin de Gauss sin pivoteo en una computadora que satisface el axioma fundamental de la
U
satisfacen
aritmtica de punto flotante, entonces las matrices L,
U
= A + A
L

con

A
= O(
L U

maq )

para alguna

A Rnn .

Aclaracin: Observese que el denominador es L U y no A en la expresin de arriba. Si


L U fuera de tamao comparable con A ( L U = O( A )) entonces la eliminacin
de Gauss es un mtodo estable regresivo. Si por el contrario, L U
O( A ) entonces
el algoritmo es inestable.
Crecimiento de factores
Consideremos ahora el caso de la eliminacin de Gauss con pivoteo parcial. En este caso
se obtiene que la matriz de multiplicadores L tiene entradas que son menores o iguales a 1
en valor absoluto, es decir, L = O(1) en cualquier norma matricial . Por lo tanto
A
A
=
= O(
L U
U

maq ).

De aqu que en este caso se concluye que el algoritmo es estable regresivo si U = O( A ).


Para que la norma de U sea comparable con la norma de A basta que los coeficientes de U
no sean mucho mayornes que los de A. Es decir, hay que considerar como se amplifican los
coeficientes al reducir A a la matriz U en el proceso de eliminacin. En particular, sea
=

max |uij |
max |aij |

el factor de crecimiento. Si es de orden 1, entonces no hay mucho crecimiento, y el proceso


de eliminacin es estable. Por otro lado si es mucho mayor que O(1), entonces podemos
esperar que haya inestabilidad en el proceso de eliminacin. Observese que si = O(1),
entonces de la igualdad anterior se tiene U = O(( A )). Esto se resume en el siguiente
teorema.

Anlisis Numrico

65

Teorema 3.6. Supongase que la factorizacin P A = LU se lleva a cabo por medio de eliminacin de Gauss con pivoteo parcial en una computadora que satisface el axioma fundamental
yU
satisfacen
de la aritmtica de punto flotante. Entonces las matrices calculadas P , L
U
= P A + A
L

A
= O(
A

con

maq )

para alguna A Rnn . Asimismo la eliminacin Gaussiana es un mtodo estable regresivo


si = O(1) uniformemente sobre todas las matrices en Rnn , y no lo es en caso contrario.
El peor caso de inestabilidad
Considere la matriz

A=

1
0
0
0
1 1
0
0
1 1 1
0
1 1 1 1
1 1 1 1

Al aplicar el mtodo de eliminacin de Gauss

1 0

0 1

U =
0 0

0 0
0 0

1
1
1
1
1

se tiene
0
0
1
0
0

0 1
0 2
0 4
1 8
0 16

Al hacer los clculos detallados el lector puede convencerse que no se hace intercambio
de renglones an y cuando se aplique pivoteo parcial. En esta matriz 5 5, el factor de
m
ax |uij |
4
crecimiento es = max |aij
| = 16/1 = 2 . Por otro lado, para la matriz anloga de orden
n n el factor de crecimiento al hacer eliminacin de Gauss es = 2n1 . As que, de acuerdo
al teorema anterior, tendriamos
U
= P A + A con
L

A
= O(
A

maq )

= O(2n1

maq ).

Este resultado implica que habra una perdida de n 1 bits de precisin al hacer eliminacin de Gauss con pivoteo, lo cual es intolerable para clculos prcticos a medida que el
tamao n del sistema aumenta. En realidad este es un ejemplo extremo de corte puramente
acadmico y, afortunadamente, la gran mayora de las matrices que aparecen como resultado de problemas prcticos no exhiben este tipo de comportamiento. De hecho, en 50 aos
de computacin, no se ha visto que aparezcan, bajo circunstancias naturales, problemas
matriciales que exhiben una inestabilidad tan dramtica.

66

L. Hctor Jurez V.

3.7.

Mtodo de Factorizacin de Choleski

Para matrices simtricas y definidas positivas el proceso de eliminacin de Gauss, y por


tanto la factorizacin LU, puede realizarse en forma ms eficiente. El mtodo que se utiliza
se denomina factorizacin de Choleski. Este algorimto opera en el lado izquierdo y derecho
de la matriz explotando la simetra. Este algoritmo descompone las matrices simtricas y
definidas positivas en factores triangulares haciendo la mitad de las operaciones que las
necesarias para matrices generales.

3.7.1.

Matrices definidas positivas

Una matriz A Rnn se dice que es definida positiva si xT Ax > 0 para todo x Rn con
x = 0. Si A es una matriz definida positiva, algunas de sus propiedades importantes son:
1. A es no singular.
2. Los valores propios de A son todos reales y positivos.
3. El determinante de la matriz A y de cada uno de sus n menores.

a11 a1k
.
..
..
A(1 : k, 1 : k)
.
,

ak1 akk
k = 1, . . . , n, es siempre mayor a cero.
4. Cualquier submatriz principal de A de la forma A(1 : k, 1 : k) de la forma

akk akn
.
..
.
A(k : n, k : n)
.
.
,
ank ann
k = 1, . . . , n, es definida positiva.
5. Cada uno de los pivotes obtenidos en el poceso de eliminacin de Gauss aplicado a la
matriz A es mayor a cero.
Se deja al lector verificar las propiedades 3 y 5. Aqu verificaremos el resto de las propiedades.

Anlisis Numrico

67

Verificacin de la propiedad 1. La propiedad 1 es consecuencia directa de la propiedad 3.


Verificacin de la propiedad 2. Si es un valor propio de A Rnn y x Rn es el
vector propio correspondiente, entonces x = 0 y
xT Ax = xT x = x

2
2

as que
=

xT Ax
> 0.
x 22

Verificacin de la propiedad 4. Para todo vector x = [x1 , . . . , xk ]T Rk no cero se tiene

x1
.
..

x1

.
xk

> 0,
[x1 , . . . , xk ]A(1 : k, 1 : k) .. = [x1 , . . . , xk , 0, . . . , 0]A

xk
...

0
por ser A definida positiva. Por lo tanto la submatriz A(1 : k, 1 : k) es definida positiva. En
forma anloga se puede verificar que la submatriz A(k : n, k : n) es definida positiva si A lo
es.

3.7.2.

Factorizacin de Choleski

Sea A Rnn una matriz simtrica y definida positiva. Nuestro propsito es descomponer esta matriz en factores triangulares explotando las propiedades de la matriz. Con el
objeto de simplificar la exposicin primero realizaremos un paso de eliminacin para el caso
especial en el que a11 = 1, es decir cuando la matriz es de la forma

1 2 . . . n

A= .

.. A(2 : n, 2 : n)
n
donde 2 = a12 , 3 = a13 ,. . ., n = a1n y A(2 : n, 2 : n) es la submatriz principal inferior
de orden n 1. Al realizar el primer paso de eliminacin sin pivoteo en forma matricial

68

L. Hctor Jurez V.

obtenemos

A=

1
2
..
.

2 . . . n



=

A(2 : n, 2 : n)

1
2
..
.
n

0 ... 0
1 2 . . . n

1 . . . 0 0

= L1 A(1)
. . .. ..

. . .
M2

0 ... 1
0

donde 2 , 3 ,..., n son los multiplicadores y M2 = A(2 :


producto externo dado por

2 2 . . .
2

.
...
.. 2 . . . n = 3. 2
..
.

.
.
n
n 2 . . .

n, 2 : n) T con T el
2 n
3 n
..
.

n n

Al trmino del primer paso de eliminacin se inducen ceros en la primera columna, pero
quisieramos mantener simetra. Observese que la matriz A(1) no es simtrica an y cuando
M2 lo es. Para obtener simetra, procedemos en forma anloga haciendo eliminacin derecha
en el primer rengln de A(1) (sustraccin de mltiplos de la primera columna de la restante
columna). Obtenemos

A=

1
2
..
.
n

0 ... 0
1 0

1 ... 0 0

. . .. ..
. . .
0 ... 1
0

...
M2
A(1)
s

L1

1 2 . . . n

0 1 ... 0
..
..
..

. .
.
0 0 ... 1
LT1

(1)

Observe que la matriz As ahora si es simtrica, dado que M2 los es. La idea de la factoriza(1)
cin de Choleski es continuar este proceso con la submatriz As y as sucesivamente hasta
obtener una matriz identidad en el ltimo paso de eliminacin simtrica.
Queremos extender el anterior proceso para el caso en que la matriz A definida positiva
sea tal que a11 > 0 en lugar de a11 = 1. La generalizacin se obtiene ajustando algunos

elementos de las matrices L1 por un factor a11 . Concretamente, si

a11 2 . . . n

A= .

.
. A(2 : n, 2 : n)
n

Anlisis Numrico

69

entonces

A=

a11
2

a11
..
.
n

a11

0 ... 0

1 0
0
..
.

1 ... 0

. . ..
. .

0
0 ... 1

...

M2


a11

..
0

a11
1
0

A(1)
s

L1

...
..
.

a11
0
..
.

...

...

LT1

donde
M2 = A(2 : n, 2 : n)

T
.
a11

(1)

(1)

La matriz As es simtrica, pues las submatrices A(2 : n, 2 : n) y T lo son. Adems As

T
tambin es definida positiva, pues si x Rn , x = 0 , entonces y = (L1
1 ) x = 0 dado que
L1
1 es no singular y, por lo tanto
1 T
T
xT A(1) x = xT L1
1 A(L1 ) x = y Ay > 0
(1)

Volviendo a aplicar el mismo procedimiento a As

se obtiene

T T
A = L1 L2 A(2)
s L2 L1

donde

A(2)
s

1 0 ... 0

0 1 ... 0
,
.. ..

. .
K
0 0

con K matriz simtrica y definida positiva. Luego, el proceso puede continuarse en forma
sucesiva (pues todas las submatrices K son definidas positivas y simtricas) hasta obtener
A = L1 L2 . . . Ln I LTn LTn1 . . . LT1 .
L

LT

Lo anterior se resume en el siguiente resultado


Teorema 3.7. Cualquier matriz A Rnn simtrica y definida positiva tiene una nica
factorizacin de Choleski A = LLT , donde L es una matriz triangular inferior no singular.
Nota: Dado que LT = U es una matriz triangular superior, tambin podemos escribir
A = UT U

70

L. Hctor Jurez V.

3.7.3.

El algoritmo de Choleski

Cuando el algoritmo de Choleski se programa slo se necesita almacenar la parte triangular superior de A bin la parte triangular inferior. Esta simplificacin permite reducir
el nmero de operaciones a la mitad para lograr la factorizacin A = LLT . El algortimo se
puede construir realizando comparacin de los coeficientes:
Sean A = (aij )1i, jn con aij = aji , y L = (lij )1i, jn con lii = 0, i = 1, . . . , n y lij = 0
si j > i. Comparando los coeficientes en la ecuacin matricial A = LLT , se obtiene
aii = (i-simo rengln de L) (i-sima columna de LT ),
es decir
i

i1

aii =
k=1

k=1

Por lo tanto

1/2

i1

lii =

2
2
+ lii
.
lik

lik lik =

2
lik

aii

i = 1, . . . , n.

k=1

Anlogamente
min(i,j)
T

aij = (i-simo rengln de L) (j-sima columna de L ) =

lik ljk .
k=1

Considerando el caso i > j:


j

j1

aij =

lik ljk =
k=1

entonces
lij =

aij

lik ljk + lij ljj ,


k=1

j1
k=1 lik ljk

ljj

i = j + 1, . . . , n.

Obervese que en este mtodo no hay intercambio de renglones o pivoteo. A continuacin


se muestra el algoritmo de factorizacin de Choleski.
Algoritmo

l11 = a11
Para i = 2, . . . , n
li1 = ai1 /l11
Fn

Anlisis Numrico

71

Para j = 2, . . . , n 1
ljj = ajj

j1 2
k=1 ljk

1/2

Para i = j + 1, . . . , n

lij = aij

Fn

j1
k=1 lik ljk

/ljj

Fn
n1 2
k=1 lnk

lnn = ann

1/2

Ejemplo 3.8. Aplicar el algoritmo de Choleski para factorizar en la forma A = LLT la


siguiente matriz, que es simtrica definida positiva.

A=

4 2 0 4

2 10 3 2
.
0
3 2 3

4 2 3 29

Solucin. La matriz es simtrica, y puede verificarse (calculando sus valores propios) que
es definida positiva. Entonces, aplicando el algoritmo anterior obtenemos
l11 =

a11 =

4=2

.........................................................
l21 = a21 /l11 = 2/2 = 1
l31 = a31 /l11 = 0/2 = 0
l41 = a41 /l11 = 4/2 = 1
.........................................................
2 )1/2 = (10 (1)2 )1/2 = 3
l22 = (a22 l21

l32 = (a32 l31 l21 )/l22 = (3 (0)(1))/3 = 1


l42 = (a42 l41 l21 )/l22 = (2 (2)(1))/3 = 0
.........................................................
2 l2 )1/2 = (2 02 12 )1/2 = 1
l33 = (a33 l31
32

l43 = (a43 l41 l31 l42 l32 )/l33 = (3 (2)(0) (0)(1))/1 = 3


.........................................................
2 l2 l2 )1/2 = (29 (2)2 02 32 )1/2 = 4
l44 = (a44 l41
42
43

72

L. Hctor Jurez V.

Luego la factorizacin de Choleski es


4 2 0 4


2 10 3 2

=
0

3 2 3


4 2 3 29
A

3.7.4.

2
1
0
2

0
3
1
0

0
0
1
3

0
0
0
4

2 1 0 2

0 3 1 0

0 0 1 3

0 0 0 4
LT .

Estabilidad del algoritmo de Choleski

Todas las sutilezas que aparecen en el anlisis de estabilidad de la eliminacin de Gauss


desparecen cuando se utiliza la factorizacin de Choleski. El algoritmo de Choleski no utiliza ninguna tcnica de pivoteo y siempre es estable. Podemos verificar esta aseveracin
estimando el factor de crecimiento al hacer la factorizacin. Sabemos que
i
2
.
lik

aii =
k=1

y si suponemos que |lik | 1, entonces


|lik | |lik |2 aii max |aij | i, k.
1i,jn

Esto implica que


m
ax |lik | max |aij | .
Por lo tanto
=

max |lik |
1.
max |aij |

En consecuencia, el factor de crecimiento es O(1), y el algoritmo siempre es estable regresivo.

3.8.

Ejercicios

1. Considerese la matriz

A=

2
4
8
6

1
3
7
7

1
9
9
9

0
1
5
8

Anlisis Numrico

73

Encuentra el determinante de A utilizando la factorizacin A = LU (sn pivoteo).


Ahora calcula el mismo determinante utilizando la factorizacn P A = LU (con pivoteo). Menciona la forma general de calcular el determinante de una matriz no singular
utilizando eliminacin de Gauss con pivoteo parcial.
2. Supongase que se aplica eliminacin de Gauss con pivoteo parcial para resolver Ax = b,
(1)
y sea a = m
ax |aij |. Al realizar el primer paso de eliminacin, suponiendo que a11 es
el que tiene mayor valor absoluto de entre los posibles pivotes, se tiene
(2)

(1)

(1)

(1)

(1)

|aij | = |aij mi1 a1j | |aij | + |mi1 | |a1j |


(2)

(k)

Demuestra que |aij | 2 a primero, y luego que |aij | 2k1 a para k = 1, . . . , n 1,


inductivamente. Concluye que el mximo factor de crecimiento al hacer eliminacin
de Gauss con pivoteo parcial es de orden 2n1 , es decir
=

max |uij |
= O(2n1 )
max |aij |

3. Utiliza el algoritmo de eliminacin de Gauss para el clculo de inversas para demostrar


que la inversa de una matriz triangular inferior nosingular es una matriz triangular
inferior. Muestra un ejemplo con una matriz L de orden 4 4.
4. Experimenta resolviendo sistemas Ax = b con matrices A de la forma


1
0
0 1
1


1 1
2
0 1
,
,
A=
n = 4,
1 1

3
1
1


1 1 1 1
4
utilizando eliminacin sin pivoteo y eliminacin con pivoteo parcial. Para que valor
de n los resultados son inservibles? Cul es el factor de crecimiento en cada caso?
5. Demuestra que si A Rnn es una matiz definida positiva, entonces
a) El determinante de la matriz A y de cada uno de sus n menores.

a11 a1k
.
..
..
A(1 : k, 1 : k)
.

,
ak1 akk
k = 1, . . . , n, es siempre mayor a cero.

74

L. Hctor Jurez V.
b) Cada uno de los pivotes obtenidos en el proceso de elminacin de Gauss aplicado
a la matriz A es mayor a cero.
6. Dada la matriz A = (aij )1i,jn simtrica y definida positiva verifica que
a) Si a11 = 1, al realizar eliminacin sin pivoteo A = L1 A(1) , donde

L1 =

1
2
..
.
n

0 ... 0

1 ... 0

. . ..
. .
0 ... 1

A(1)

1 2 . . . n

,
= .

M2
..

con 2 = a12 , 3 = a13 ,. . ., n = a1n y M2 = A(2 : n, 2 : n) T es simtrica.


(1)

b) En el caso general en que a11 > 0 se tiene A = L1 As LT1 donde

L1 =

a11
0 ... 0

2 / a11 1 . . . 0

..
. . ..
.
.
.

n / a11 0 . . . 1

A(1)
s

1 0
0
..
.

...
M2

siendo 2 , 3 , . . . , n como en el inciso anterior y M2 = A(2 : n, 2 : n) T /a11 .

7. Utiliza el algoritmo de Choleski para resolver Ax = b, donde


a)

A=

4
1
1
1
3 1
1 1 2
1
1
0

1
1
0
2

b=

8
1
6
6

b)

A=

6
2
1
1

2 1 1

4 1
0
,
1 4 1

0 1
3

Verifica primero que la matriz A sea definida positiva.

b=

3
2
1
2

Anlisis Numrico

75

8. Resuelve el siguiente sistema de n ecuaciones con n incgnitas tomando n = 10 y


2

sen n+1
n = 100 y bi = n+1
, i = 1, . . . , n. Para que valor mximo de n se
pueden obtener resultados en tu computadora?

2 1
x1
b1

2 1
1
x2 b2

x3 b3
1
2 1

. = .
..
.
.

. .

1
2 1 xn1 bn1

1
2
xn
bn

76

L. Hctor Jurez V.

Captulo 4

Problemas de mnimos cuadrados


lineales. Factorizacin QR
El trmino mnimos cuadrados describe un enfoque frecuentemente usado para resolver
sistemas de ecuaciones sobredeterminados especificados inexactamente en algn sentido
apropiado. En lugar de resolver las ecuaciones exactamente, buscaremos solamente minimizar la suma de los cuadrados de los residuales. El criterio de mnimos cuadrados tiene
interpretaciones estadsticas importantes. Si se hacen suposiciones probabilsticas apropiadas acerca de la distribucin del error, el enfoque de mnimos cuadrados produce lo que
se conoce como la estimacin de mxima verisimilitud de los parmetros. A pesar de que
ciertas suposiciones probabilsticas no se cumplan, durante mucho tiempo se ha verificado
que los mtodos de mnimos cuadrados producen resultados tiles.

4.1.

Ajuste de curvas

Existen muchos problemas en las aplicaciones que pueden abordarse utilizando el enfoque
de mnimos cuadrados. Una fuente comn que da origen a problemas de mnimos cuadrados
es el ajuste de curvas a un conjunto de datos dados: Sea x una variable independiente y sea
y(x) una funcin desconocida de x la cual queremos aproximar. Suponiendo que tenemos m
observaciones
(x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ) ,
donde yi = y(xi ), i = 1, 2, . . . , m, la idea es modelar y(x) por medio de una combinacin de
n funciones base 1 (x), 2 (x), . . . , n (x). Es decir, suponer que la funcin que se ajusta a
77

78

L. Hctor Jurez V.

los datos es una combinacin lineal de la forma


y(x) c1 1 (x) + c2 2 (x) + . . . + cn n (x)
en donde generalmente el nmero de funciones base n es menor que el nmero de datos m.
Es decir, m n. Entonces, los datos deben satisfacer de manera aproximada
y(xi ) c1 1 (xi ) + c2 2 (xi ) + . . . + cn n (xi ),

i = 1, 2, . . . , m .

La ltima expresin constituye un sistema de m ecuaciones con n incgnitas c1 , c2 ,..., cn ,


que en forma matricial puede expresarse de la siguiente manera:

1 (x1 )
1 (x2 )
..
.

2 (x1 )
2 (x2 )

...
...
..
.

n (x1 )
n (x2 )
..
.

1 (xm ) 2 (xm ) . . . n (xm )

c1
c2
..
.
cn

y1
y2
..
.

m n.

ym

A la matriz de este sistema A = (aij ) con aij = j (xi ) se le denomina matriz de diseo.
Dado que m n, entonces el sistema tiene ms renglones (ecuaciones) que columnas (incgnitas). A este tipo de sistemas se les denomina sobredeterminados y generalmente no tienen
solucin. Las funciones base i (x), i = 1, . . . , n, pueden ser funciones no lineales de x, pero
los coeficientes y parmetros cj aparecen en el modelo en forma lineal cuando se trata de
un ajuste lineal.
Dependiendo del problema particular y el objeto de estudio, las funciones base i (x)
pueden escogerse de muchas maneras, e incluso pueden depender de ciertos parmetros.
Algunas elecciones comunes pueden ser, entre otras
Polinomios: i (x) = xi1 .
Funciones racionales: i (x) = xi1 /(0 + 1 x + + n1 xn1 ), con 0 , . . . , n1
parmetros dados.
Exponenciales: i (x) = ei x , con parmetros de decaimiento i .

Gaussianas: i (x) = e

x i
i

, con medias y varianzas i , i .

para i = 1, . . . , n. En el presente estudio solo consideraremos el estudio de ajuste de datos


por medio de polinomios.

Anlisis Numrico

4.2.

79

Ajuste por medio de polinomios

4.2.1.

Polinomio de interpolacin

Cuando se tienen m observaciones (x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ), y se escogen funciones


base polinomiales i (x) = xi1 , i = 1, . . . , n, la curva de ajuste toma la forma
y(x) = c1 + c2 x + + cn xn1

con m n.

El caso particular en el que m = n da lugar al problema de encontrar el polinomio de


interpolacin. Es decir, suponiendo que los m puntos son distintos nuestro problema consiste
en encontrar el polinomio de grado menor o igual a m 1
p(x) = c1 + c2 x + + cm xm1
que interpola los puntos (x1 , y1 ), (x2 , y2 ), . . . , (xm , ym ), es decir, p(xi ) = yi , i = 1, . . . , m.
El sistema de ecuaciones obtenido es un sistema cuadrado de la forma

1 x1 x21 . . . xm1
c1
y1
1

1 x2 x22 . . . xm1
c2 y2
2

..
..
..

. = .
.
.
. .. ..

1 xm x2m . . . xm1
m

cm

ym
=

que se denomina sistema cuadrado de Vandermonde. La matriz A del sistema se denomina


matriz de Vandermonde y es no-singular si los puntos x1 , x2 , . . . , xm son diferentes. De
hecho puede demostrarse que
(xi xj ) = 0

det(A) =
i>j

por ser los xi , i = 1, . . . , m, distintos. Por lo tanto, los coeficientes c1 , c2 , . . . , cm , son nicos
si los puntos de interpolacin son todos distintos.

Ejemplo 4.1. Encontrar el polinomio de grado 10 que interpola los 11 puntos


x
y

=
=

3.0,
0.0,

2.0,
0.0,

1.0,
0.0,

0.0,
1.0,

1.0,
1.0,

2.0,
1.0,

3.0,
0.0,

4.0,
0.0,

5.0,
0.0,

6.0,
0.0,

7.0
0.0

80

L. Hctor Jurez V.

Solucin. Construimos la matriz de diseo asociada (de Vandermonde) de orden 11 11

1 3 (3)2 . . . (3)10

1 2 (2)2 . . . (2)10

..
..
..

.
.
.

2
1 7
(7)
. . . (7)10

Esta matriz es mal condicionada, con nmero de condicin cond(A) 109 , lo cual permite
anticipar que debemos utilizar pivoteo para resolver el sistema cuadrado de Vandermonde.
Utilizando el algoritmo de factorizacin LU con pivoteo encontramos la siguiente solucin
aproximada a seis cifras decimales para los coeficientes del polinomio

1.000000,
0.072535,

0.059524,
0.005704,

0.454683,
-0.005804,

0.761078,
0.000901,

-0.112004,
-0.000045

-0.208160

La Figura 4.1 muestra los datos junto con la grfica del polinomio de interpolacin calculado.
Obsrvese que el ajuste no es satisfactorio pues, aunque la curva y = p(x) pasa por los puntos

5
4
3
2
1
0
1
2
2

Figura 4.1: Polinomio de interpolacin con 11 puntos.

de interpolacin, cerca de los extremos muestra oscilaciones fuertes. Estas oscilaciones son

Anlisis Numrico

81

un artificio tpico de cualquier proceso de interpolacin como veremos en el captulo 4. Este


mal ajuste empeora si se utilizan ms puntos de interpolacin como puede constatarse si en
lugar de 11 puntos se usan 21 puntos de interpolacin: los 11 puntos ya dados mas los 10
puntos intermedios adicionales. Los valores de x y y en este caso son

3.0,
2.5,
0.0,
0.5,

2.5,
3.0,
0.0,
0.0,

2.0,
3.5,
0.0,
0.0,

1.5,
4.0,
0.0,
0.0,

1.0,
4.5,
0.0,
0.0,

0.5,
5.0,
0.5,
0.0,

0.0,
5.5,
1.0,
0.0,

0.5,
6.0,
1.0,
0.0,

1.0,
6.5,
1.0,
0.0,

1.5,
7.0
1.0,
0.0

2.0,
1.0,

La Figura 4.2 muestra la grfica del polinomio de interpolacin obtenido con los 21 puntos.
Como puede observarse la solucin no es buena, pero ilustra lo que pasa si se aumenta el

500

500

1000

1500
4

Figura 4.2: Polinomio de interpolacin con 21 puntos.

nmero de puntos de interpolacin: las oscilaciones en los extremos son de mucho mayor
magnitud. Obsrvese que el nmero de condicin la matriz de Vandermonde en este caso
aumenta respecto de aquel en el caso anterior, pues ahora cond(A) 1018 . De hecho el
proceso de interpolacin puede ser mal condicionado (sensitivo a perturbaciones en los datos)
si se utilizan puntos igualmente espaciados como en los ejemplos anteriores. Para evitar este
problema se podran utilizar los puntos de interpolacin distribuidos en forma no uniforme.
Sin embargo, en las aplicaciones uno no puede escoger los puntos a modo.

82

4.2.2.

L. Hctor Jurez V.

Mnimos cuadrados polinomiales

Sin cambiar los datos podemos obtener mejores resultados reduciendo el orden del polinomio. Dados los puntos (x1 , y1 ), . . . , (xm , ym ), consideremos el polinomio
p(x) = c1 + c2 x + + cn xn1

con n < m .

Este polinomio ser un ajuste de mnimos cuadrados para los datos si minimiza la suma de
cuadrados
m

(p(xi ) yi )2 .
i=1

Es decir, para encontrar el ajuste de mnimos cuadrados debemos encontrar el vector de


coeficientes c = (c1 , . . . , cn )T que resuelve el problema
m

(c1 + c2 xi + + cn xin1 yi )2 .

mnn

cR

i=1

Esta suma de cuadrados es igual al cuadrado de la norma euclideana del residual, r 22 , para
el sistema rectangular de Vandermonde:

c1
y1
1 x1 x21 . . . x1n1

1 x2 x22 . . . x2n1 c2 y2

..
.. .. ..
..
, n < m ,

.
.
. . .

n1
cn
ym
1 xm x2m . . . xm
c

es decir, r = Ac y. Entonces, el problema consiste en resolver


mn Ac y

cRn

2
2

dados A de orden m n y y Rm con m > n.

4.3.

Mtodo de ecuaciones normales

Cmo se puede resolver el problema anterior? Ms an, cmo podemos resolver los
problemas de mnimos cuadrados en general?
A continuacin intentaremos dar respuesta a estas preguntas. Con el objeto de hacer
ms clara la exposicin cambiamos un poco la notacin: denotamos por x a la incgnita c,
y por b el lado derecho y, en el anterior problema. As pues, nuestro objetivo es encontrar
el punto Ax ms cercano al vector b, es decir el que minimiza la norma del residual
r = b Ax.

Anlisis Numrico

4.3.1.

83

Proyeccin ortogonal sobre el espacio imagen

La idea principal para generar algoritmos que resuelvan el anterior problema de minimizacin descansa en el concepto de proyeccin ortogonal. Si denotamos por Im(A) al
espacio imagen de A, y por
P : Rm Im(A)
la proyeccin ortogonal que mapea Rm sobre el espacio imagen de A, entonces el valor de x
que minimiza la norma de r = b Ax es aquel que satisface Ax = P b. Esta idea se ilustra en
la Figura 4.3. En otras palabras, el residual r = b Ax debe ser ortogonal al espacio imagen

b
r=bAx
y=Ax
O
Espacio imagen de A

Figura 4.3: El espacion imagen de A es ortogonal al residual.

de A. El espacio imagen de A es generado por los vectores columna de A. Es decir, si


A = [ a1

| a2

| an

],

donde ai es el i-simo vector columna de A, entonces


Im(A) = gen{a1 , a2 , . . . , an }.
Demostracin. Dado x Rn con x = (x1 , x2 , . . . , xn )T , Ax gen{a1 , . . . , an } pues
Ax = [ a1

| a2

| an

= x1 a1 + x2 a2 + + xn an .

]x

84

L. Hctor Jurez V.

4.3.2.

Sistema de ecuaciones normales

Del resultado anterior se tiene que r = bAx es ortogonal a Im(A) = gen{a1 , a2 , . . . , an }


si
si
si
si

y
y
y
y

slo
slo
slo
slo

si
si
si
si

aTi r = 0
AT r = 0
AT (b Ax) = 0
AT Ax = AT b

i = 1, . . . , n

Este ltimo sistema de ecuaciones para x es conocido como el sistema de ecuaciones


normales para el problema de mnimos cuadrados. El siguiente resultado es de fundamental
importancia.
Teorema 4.2. Si la matriz A es de orden m n con m n y tiene rango completo (todos
sus vectores columna son linealmente independiente), entonces AT A es una matriz cuadrada
de orden n n que es no singular.
Demostracin. Dado que A es de m n, entonces AT es de orden n m y AT A debe ser
de orden n n. Para demostrar que A de rango completo implica AT A no singular, basta
con demostrar que si AT A es singular entonces es de rango deficiente:
AT A singular AT Ax = 0 para algn vector x = 0 en Rn
xT AT Ax = 0,

Ax

2
2

= 0,

Ax = 0,

x=0
x=0

x=0

A es singular
A tiene rango deficiente.
Otro resultado importante es
Teorema 4.3. Si A es de rango completo, entonces AT A es una matriz simtrica y positiva
definida.
Demostracin. Como A es de rango completo, AT A es no singular, y adems claramente
simtrica. Ahora bien, dado x = 0 en Rn , entonces, como AT A es no singular, se satisface
xT AT Ax = Ax 22 > 0. Se concluye que AT A debe ser positiva definida.
De los dos resultados anteriores se deduce que si la matriz A es de rango completo,
entonces la solucin del sistema de ecuaciones normales (AT Ax = AT b) es nica e igual a
x = (AT A)1 AT b.

Anlisis Numrico

85

Adems esta solucin puede obtenerse por medio del algoritmo de factorizacin de Choleski
dado que AT A es simtrica y definida positiva.
Nota. Cuando A es de rango completo, dado que x = (AT A)1 AT b es nica, a la matriz
A+ (AT A)1 AT se le denomina la seudoinversa de A. Adems como x = A+ b, entonces
Ax = AA+ b y P = AA+ es la matriz de proyeccin, es decir AA+ b = P b es la proyeccin
de b sobre el espacio imagen de A.

4.3.3.

Algoritmo de ecuaciones normales

Si A es una matriz mn con m n, y A es de rango completo, entonces AT A es no singular, simtrica y definida positiva. Por tanto el sistema de ecuaciones normales AT Ax = AT b
puede resolverse utilizando el mtodo de Choleski:
Algoritmo. Dados A de m n de rango completo y b Rm
1. Calcular AT A y el vector AT b.
2. Calcular la factorizacin de Choleski AT A = LLT .
3. Resolver para z Rn el sistema triangular inferior Lz = AT b (sustitucin progresiva)
4. Resolver para x Rn el sistema triangular superior LT x = z (sustitucin regresiva)

Ejemplo 4.4. Considere de nuevo el problema de ajustar los once datos del problema 4.1,
pero ahora utilizando un polinomio de grado 6, p(x) = c1 + c2 x + + c6 x5 + c7 x6 .
Solucin. Debemos encontrar los coeficientes c = (c1 , c2 , . . . , c7 )T . En este caso la matriz
de diseo A es la matriz de Vandermonde de tamao m n = 11 7

1 3 (3)2 . . . (3)6

1 2 (2)2 . . . (2)6

..
..
..

.
.
.

(7)2

...

(7)6

y el lado derecho es el vector


T

b=y=

0 0 0 1 1 1 0 0 0 0 0

86

L. Hctor Jurez V.

Obsrvese que A es de rango completo, ninguna columna es combinacin lineal de las otras.
Entonces los coeficientes c = (c1 , c2 , . . . , c7 ) satisfacen la ecuacin
AT A c = AT b
donde AT A es simtrica definida positiva de orden 7 7. Obsrvese que el nmero de
condicin de la matriz es (AT A) 1010 . Utilizando el mtodo de factorizacin de Choleski
para resolver el sistema de ecuaciones normales, en aritmtica de doble precisin, obtenemos
la solucin
c1 = 0.822788975730632, c2 = 0.412287124639659, c3 = 0.173651218063367,
c4 = 0.043013848896040, c5 = 0.012531422825567, c6 = 0.000286576168915,
c7 = 0.000130718954247
La Figura 4.4 ilustra la grfica del polinomio de ajuste junto con los datos. El nuevo polinomio no interpola los datos, pero captura el comportamiento global de mejor manera que
los polinomios de interpolacin encontrados anteriormente.
1
0.5
0
3

Figura 4.4: Polinomio de ajuste de grado 6.

Observacin. Si hay miles de observaciones y slo unos pocos parmetros, la matriz de


diseo A es muy grande, pero la matriz AT A es pequea y de orden del nmero de parmetros, n n.
Precaucin. El mtodo de ecuaciones normales para resolver problemas de mnimos cuadrados aparece en muchos libros de estadstica y mtodos numricos. Este mtodo debe
utilizarse con cautela pues el sistema de ecuaciones normales tiene un nmero de condicin
mucho mayor que el sistema sobredeterminado original, es decir
(AT A) = [(A)]2 .
Con aritmtica de precisin finita, las ecuaciones normales pueden llegar a ser singulares
y, en consecuencia (AT A)1 no existir, an y cuando las columnas de A sean linealmente

Anlisis Numrico

87

independientes. Por ejemplo, consideremos la siguiente matriz

1 1

A=
con
0<
1.
0
0
Las dos columnas son casi paralelas, pero linealmente independientes. Con aritmtica exacta
obtenemos
1+ 2
1
AT A =
1
1+ 2
Sin embargo, si
obtenemos

< 108 y utilizamos aritmtica de punto flotante de doble precisin


AT A =

1 1
1 1

la cual es una matriz singular.

4.4.

Mtodo de factorizacin QR por ortogonalizacin de GramSchmidt

El otro mtodo principal para resolver el problema de mnimos cuadrados es el mtodo


de factorizacin QR. Este es un mtodo clsico, moderno, y popular desde 1960 (Golub). De
hecho, actualmente se considera que este mtodo representa una de las ideas algortmicas
ms importante en el lgebra lineal numrica.

4.4.1.

Factorizacin reducida

Considere la matriz A Rmn con m n y sean ai Rm , i = 1, . . . , n los vectores


columna de A:
A = [ a1 | a2 | | an ] .
Los espacios sucesivos generados por los vectores columna de A tienen la siguiente propiedad
gen{a1 } gen{a1 , a2 } . . . gen{a1 , . . . , an } .
La idea detrs de la factorizacin QR es construir una sucesin de vectores ortonormales q1 , q2 , . . . Rm que generen estos espacios sucesivos. Supongamos que A es de rango
completo, entonces sus vectores columna son linealmente independientes y queremos que
gen{q1 , . . . , qi } = gen{a1 , . . . , ai },

i = 1, 2, . . . , n

88

L. Hctor Jurez V.

con qi 2 = 1 y qiT qj = ij . Para contruir este conjunto de vectores podemos utilizar el


mtodo de Gram-Schmidt:
v1
v1
v2
q2 =
v2
v3
q3 =
v3

con v1 = a1 ,

q1 =

con v2 = a2 (q1T a2 )q1 ,

con v3 = a3 (q1T a3 )q1 (q2T a3 )q2 .

En general, en el j-simo paso, suponiendo conocidos q1 , q2 ,. . ., qj1 , un vector qj ortonormal


a ellos esta dado por
vj
qj =
vj

j1

con vj = aj
2

(q1T aj )q1

(q2T aj )q2

...

T
(qj1
aj )qj1

(qiT aj )qi .

= aj
i=1

Si definimos rij qiT aj , y el escalar rjj = vj


q1

q2

=
..
.

qn

2,

entonces

a1
,
r11
a2 r12 q1
,
r22
an

n1
i=1 rin qi

rnn

Por lo tanto,
a1
a2

=
=
..
.

r11 q1 ,
r12 q1 + r22 q2 ,

an

r1n q1 + r2n q2 + + rnn qn .

Este conjunto de ecuaciones tienen la siguiente representacin matricial


A

[ a1

| a2

| an

matriz mn

[ q1

| q2

matriz mn

| qn

r11 r12 . . . r1n


0 r22 . . . r2n
..
..
..
.
.
.
0
0 . . . rnn
matriz nn

Anlisis Numrico

89

R
encontrada:
El siguiente algoritmo construye la factorizacin Q
Algoritmo de Gram-Schmidt clsico
Para j = 1, . . . , n
vj = aj
Para i = 1, . . . , j 1

rij = qiT aj

vj = vj rij qi

Fn
rjj = vj

qj = vj /rjj
Fn
Teorema 4.5. Si A Rmn con m n es de rango completo, existe una nica factorizacin
R
con rii > 0, i = 1, . . . , n. (Ver TrefethenBau)
reducida QR, A = Q

4.4.2.

Factorizacin completa

Una factorizacin completa QR de A Rmn (m n) va ms all agregando m n


y agregando m n renglones de ceros a R
de manera tal que
columnas ortonormales a Q,
obtenemos una matriz ortogonal Q Rmm y otra matriz R Rmn triangular superior.
Esquemticamente
FACTORIZACION REDUCIDA

mxn

A=

00000000
11111111
000000000
111111111
11111111
00000000
000000000
111111111
000000000
111111111
00000000
11111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
000000000
111111111
00000000
11111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
000000000
111111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111

FACTORIZACION COMPLETA

mxm

nxn

mxn

0000000000000 11111111
1111111111111
00000000
11111111
1111111111111
0000000000000
00000000
00000000
11111111
0000000000000
1111111111111
0000000000000
1111111111111
00000000
0000000000000 11111111
1111111111111
00000000
11111111
00000000
11111111
0000000000000 11111111
1111111111111
0000000000000
1111111111111
00000000
0000000000000
1111111111111
00000000
R
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
0000000000000
1111111111111
00000000
11111111
Q
0000000000000
1111111111111
00000000
11111111
0000000000000 11111111
1111111111111
00000000
11111111
0000000000000
1111111111111
00000000
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111
0000000000000
1111111111111

En la factorizacin completa las columnas qj para j = n+1, . . . , m, son ortogonales a Im(A).


Obsrvese que la matriz completa Q tiene la propiedad

90

L. Hctor Jurez V.

Q Q=

q1T
q2T
..
.
T
qm

[ q1 | q2 | | qm ] = I

debido a que qiT qj = ij . Por tanto Q1 = QT . A las matrices con esta propiedad se les
denomina matrices ortogonales.

Teorema 4.6. Cualquier matriz A Rmn (m n) tiene una factorizacin completa QR,
A = QR con Q Rmm matriz ortogonal y R Rmn matriz triangular superior (ver
TrefethenBau).
Habiendo obtenido una factorizacin completa QR de A Rmn , el problema sobredeterminado Ax = b con b Rm se puede expresar en la forma QRx = b, que a su vez es
equivalente al sistema triangular superior
Rx = QT b (pues Q1 = QT ) .
Este sistema en forma expandida es

r11 r12 . . . r1n

0 r22 . . . r2n
.
..
..
.
.
.
.

0
0 . . . rnn

0 ... 0
0
.
..
..
.
.
.
.
0
0 ... 0

x1
x2
..
.
xn

f1
f2
..
.



= fn


fn+1
.
.
.
fm

con fi = (QT b)i , i = 1, . . . , m. Esta claro que este sistema se puede resolver utilizando
sustitucin regresiva, y que las ltimas m n componentes de f = QT b no intervienen en
la solucin. De hecho estas ltimas componentes de QT b estn relacionadas con el residual
r = b Ax, pues QT r = QT b Rx = (0, . . . , 0, fn+1 , . . . , fm )T y, en consecuencia, ||r||2 =
||z||2 , donde z = (fn+1 , . . . , fm )T .
Obsrvese que en el caso que A sea una matriz cuadrada (m = n) no singular este
algoritmo es til para resolver sistemas lineales Ax = b. Sin embargo no es el mtodo
estndar porque requiere el doble de operaciones que el mtodo de eliminacin de Gauss o
el mtodo de factorizacin LU .

Anlisis Numrico

91

En la prctica las frmulas de Gram-Schmidt no se aplican como se muestra en la pgina


88 debido a que la sucesin de operaciones resulta numricamente inestable (sensible a errores
de redondeo). Esta inestabilidad se produce debido a las sustracciones y a que los vectores qj
no son estrictamente ortogonales debido a errores de redondeo. Se pueden utilizar mtodos
de estabilizacin, cambiando el orden en que se realizan las operaciones. Sin embargo, hay
un mtodo ms efectivo, estable por supuesto, para encontrar la factorizacin QR. El nuevo
mtodo hace uso de las propiedades de las proyecciones ortogonales. Por tal motivo hacemos
un parntesis en nuestra discusin para estudiar dichas propiedades.

4.5.

Proyecciones en Rn

Una proyeccin en Rn es una matriz cuadrada P de n n tal que P 2 = P . El espacio


imagen de P se define por
Im(P ) = {v Rn | v = P x, para algn x Rn }.
El espacio nulo de P se define por
N ul(P ) = {x Rn | P x = 0}.
Ejemplo 4.7. Verificar que la siguiente matriz
espacio imagen y su espacio nulo.

1
1
P = 0
5
2

cuadrada es una proyeccin y encontrar su

0 2

0 0
0 4

Solucin. P es una proyeccin en R3 , pues P 2 = P . El espacio imagen


de vectores v Rn de la forma

1 0 2
x1
1
1
1

v = P x = 0 0 0 x2 = (x1 + 2x3 ) 0 = c 0
5
5
x3
2 0 4
2
2

de P es el conjunto

c R.

Es decir, Im(P ) es la lnea recta determinada por el vector (1, 0, 2)T . El espacio nulo es el
conjunto de vectores x = (x1 , x2 , x3 )T que satisfacen x1 + 2x3 = 0 . Es decir, N ul(P ) es el
plano que pasa por el origen con vector normal (1, 0, 2)T . La Figura 4.5 ilustra geomtricamente el espacio imagen de P , el cual es una lnea recta en el plano x1 x3 de R3 . El
espacio nulo de P es el plano perpendicular a dicha recta. En dicha figura slo se ilustra la
interseccin de este plano con el plano x1 x3 .

92

L. Hctor Jurez V.

x3

(1,0,2)

Nul(P)
Plano

x1

Lnea recta
Im(P)

Figura 4.5: Ilustracin del espacio imagen y el espacio nulo

4.5.1.

Algunas propiedades de las proyecciones

1. Si v Im(P ), entonces P v = v.
Demostracin. v Im(P ) v = P x para algn x Rn P v = P 2 v = P x = v.
2. Dado v Rn , v se puede escribir como v = v1 + v2 con v1 Im(P ) y v2 N ul(P ).
Demostracin. Sea v1 = P v, entonces v2 = v P v N ul(P ) pues P v2 = P (v
P v) = P v P 2 v = 0.
3. Si P es una proyeccin en Rn , entonces I P tambin es una proyeccin.
Demostracin. (I P )2 = I 2IP + P 2 = I 2P + P = I P .
A la proyeccin I P se le llama proyeccin complementaria de P .
4. Si P es una proyeccin en Rn , entonces
Im(P ) = N ul(I P ): P proyecta sobre el espacio nulo de I P .
Im(I P ) = N ul(P ): I P proyecta sobre el espacio nulo de P .
Demostracin. v Im(P ) v = P x, con x Rn (I P )v = v P v =
P xP 2 x = 0 v N ul(I P ) Im(P ) N ul(I P ). Por otro lado v N ul(I P )
v P v = 0 v = P v Im(P ) N ul(I P ) Im(P ). Con esto se concluye que
Im(P ) = N ul(I P ). En forma anloga se verifica que Im(I P ) = N ul(P ).

Anlisis Numrico

93

Ejemplo 4.8. Retomando la proyeccin del ejemplo anterior, encontramos que su proyeccin
complementaria es

1 0 0
1 0 2
4 0 2

1
1

I P = 0 1 0 0 0 0 = 0 5 0
5
5
0 0 1
2 0 4
2 0 1
En la Figura 4.6 se ilustran estas proyecciones. En dicha figura se tiene que Im(I P ) =
N ul(P ) es el plano en R3 con normal (1, 0, 2)T , y N ul(I P ) = Im(P ) es la lnea determinada por el vector a = (1, 0, 2)T .
x3
Im(P)=Nul(IP)
Plano

v
v1=Pv

v2=(IP)v
x

Nul(P)=Im(IP)
Lnea recta

Figura 4.6: Ilustracin de la proyeccin complementaria.

De la discusin anterior concluimos que


5. Una proyeccin P en Rn separa el espacio completo en dos subespacios S1 y S2 con
S1 S2 = {0}, y S1 + S2 = Rn . Es decir, dado v Rn , v = v1 + v2 con v1 = P v y
v2 = (I P )v, bien v1 = (I P )v y v2 = P v.

4.5.2.

Proyecciones ortogonales

Los tipos de proyecciones ms importantes en el lgebra lineal numrica y en las aplicaciones son las denominadas proyecciones ortogonales. Se dice que una proyeccin P es
ortogonal si P T = P . De hecho, una proyeccin ortogonal separa el espacio completo Rn

94

L. Hctor Jurez V.

en dos subespacios ortogonales S1 S2 con S1 S2 = {0}, S1 + S2 = Rn . Dado v Rn ,


v = v1 + v2 con v1 = P v y v2 = (I P )v, y si P es ortogonal, entonces
v1T v2 = (P v)T (I P )v = v T P T (I P )v = v T P (I P )v = v T (P P 2 )v = 0
En resumen
6. Si P en una proyeccin ortogonal, entonces P v y (I P )v son ortogonales para toda
v Rn .
Ejemplo 4.9. La proyeccin anterior

1 0 2
1

P = 0 0 0 ,
5
2 0 4
es una proyeccin ortogonal (ver Figura 4.6).
Ejemplo 4.10. Proyeccin ortogonal de rango 1. Dado q Rn con q
de rango 1 dada por Pq qq T es una proyeccin ortogonal.

= 1, la matriz

Demostracin. Primero, obsrvese que Pq es una matriz de rango 1, pues toda columna
es un mltiplo del vector q:

Pq =

..
.

q1 qn
q2 qn
..
.

qn q1 qn q2

qn qn

q1 q1
q2 q1
..
.

q1 q2
q2 q2

Pq es una proyeccin, pues


(Pq )2 = (qq T )(qq T ) = q(q T q)q T = q q 22 q T = qq T = Pq .
Pq es ortogonal, pues
(Pq )T = (qq T )T = (q T )T q T = qq T = Pq .
Su proyeccin complementaria es
(Pq )T = I Pq = I qq T .

Anlisis Numrico

95

Ejemplo 4.11. Para cualquier a Rn , a = 0, existe una proyeccin ortogonal de rango 1


Pa =

aaT
.
aT a

Demostracin. Dado a Rn , a = 0, q = a/ a
qq T =

es unitario y

a
aT
aaT
aaT

=
=
.
a 2 a 2
aT a
a 22

Pa v produce la proyeccin del vector v Rn sobre la lnea definida por el vector a Rn . Su


proyeccin complementaria
aaT
Pa = I Pa = I T ,
a a
n
es de rango n 1 y proyecta el vector v R sobre el hiperplano perpendicular al vector a.
En otras palabras
Pa proyecta v sobre la lnea determinada por a:
Im(Pa ) = {x Rn | x = a, R} .
Pa proyecta sobre el hiperplano con vector normal a = (a1 , a2 , . . . , an )T :
Im(Pa ) = {x Rn | a1 x1 + a2 x2 + . . . + an xn = 0} .
En la Figura 4.7 se ilusta lo anterior.

Im(Pa )
v

Im(Pa )

Pa v
Pa v
O

Figura 4.7: Proyeccin ortogonal de rango 1 generada por un vector a.

96

L. Hctor Jurez V.
La proyeccin

1 0 2
1

P = 0 0 0
5
2 0 4
es un caso particular de una proyeccin de rango 1 con a = (1, 0, 2)T , pues

1
1
0
2
aaT
1
1

= 0 1 0 2 = 0 0 0 .
T
a a
5
5
2
2 0 4
Ejemplo 4.12. Proyeccin ortogonal sobre la imagen de una matriz A Rmn
(m n). Si A Rmn con m n es de rango completo, sabemos que AT A es una matriz
de n n, simtrica y definida positiva. La inversa generalizada derecha de A, se define como
la matriz A+ = (AT A)1 AT de orden n m. Esta matriz define una proyeccin ortogonal
en el espacio Rm al premultiplicarse por A, pues PA = AA+ = A(AT A)1 AT Rmm , y,
claramente PA2 = PA y PAT = PA . Cualquier vector v Rm es proyectado sobre el espacio
imagen de la matriz A por la proyeccin PA . Es decir, el espacio generado por las columnas
de A es igual a Im(PA ) (ver Fig. 4.8).

v
P v
A

(IPA) v
O
Im(IPA)

Im(PA) = Im(A)

Figura 4.8: Proyeccin ortogonal sobre la imagen de A.

Nota. Obsrvese que PA = A(AT A)1 AT es la generalizacin multidimensional de la proyeccin de rango 1, P a = aaT /aT a con a Rm , si observamos que a se puede ver como una
de las columnas de la matriz A bien como una matriz de m 1.

Anlisis Numrico

4.6.

4.6.1.

97

Mtodo de factorizacin QR por reflexiones de Householder


Triangularizacin de Householder

La triangularizacin de Housholder (Alston Householder, 1958) es el mtodo ms usado


actualmente para encontrar la factorizacin QR debido a que es numricamente ms estable
que el mtodo de Gram-Schmidt. Este mtodo consiste en un proceso de triangularizacin
ortogonal , en donde se construye una matriz triangular por una sucesin de operaciones
matriciales semejante al proceso de eliminacin de Gauss. Solo que en este caso se multiplica
por matrices ortogonales Qk , de tal manera que al final del proceso
Qn Q2 Q1 A
resulta triangular superior. Cada matriz Qk se escoge para introducir ceros debajo de la
diagonal en la k-sima columna. Por ejemplo, para una matriz A de 5 3, las operaciones
Qk se aplican como se muestra a continuacin:
A(1)

A(0)

x
x
x
x
x

x
x
x
x
x
A

x
x
x
x
x

Q1

x
0
0
0
0

x
x
x
x
x

A(2)

x
x
x
x
x

Q2

Q1 A

x
0
0
0
0

x
x
0
0
0

A(3)

x
x
x
x
x

Q2 Q1 A

Q3

x
0
0
0
0

x
x
0
0
0

x
x
x
0
0

= R,

Q3 Q2 Q1 A

donde las x indican coeficientes no cero en general.


Cmo se construyen tales matrices ortogonales Qk ?

4.6.2.

Reflexiones de Householder

Si A Rmn con m n, cada Qk se escoge como una matriz ortogonal de la forma


Qk =

I 0
0 H

donde I es la matriz identidad de orden (k1)(k1) y H es una matriz ortogonal de orden


(mk +1)(mk +1). La multiplicacin por H debe introducir ceros debajo de la diagonal

98

L. Hctor Jurez V.

en la ksima columna. Esquemticamente, esta operacin se muestra a continuacin

a11 . . . a1k1
a1k . . . a1n
.

..
..
..
..
..
..

.
.
.
.
.

0 . . . ak1k1
I
0
ak1k . . . ak1n

0
H mm 0 . . .
0
akk . . . akn
.

..
..
..
..
..
.

.
.
.
.
.
.

...

amk

...

amn

mn

La matriz de la izquierda es la matriz ortogonal Qk de orden m m, mientras que la de


la derecha es la matriz A(k1) de orden m n. El resultado de la anterior multiplicacin
es la matriz A(k) Rmn , la cual tiene los mismos bloques que A(k1) , excepto el bloque
diagonal inferior que debe cambiar por

akk akk+1 . . . akn


akk . . . akn

.
0 ak+1k+1 . . . ak+1n
.
.

..
..
H ..
..
..
..

= ..
.
.
.

.
amk . . . amn
0
amk+1 . . . amn
Por supuesto, aqu el paso fundamental es la multiplicacin de H por la primera columna
de la submatriz de la derecha:

akk
akk

ak+1k 0

H
..
= ..
.

.
amk

donde akk = xk , con xk = (akk , . . . , amk )T . Es decir, el algoritmo de Householder escoge


H como una matriz particular llamada reflexin de Householder. Esta matriz introduce
los ceros correctos en la ksima columna:

x1
x

x2

Hx = . = x e1
x=
..

.
.

xmk+1

con e1 = (1, 0, . . . , 0)T de tamao m k + 1. Para obtener la reflexin de Householder H


observamos en la Figura 4.9 que sta refleja Rmk+1 a travs del hiperplano H + ortogonal a

Anlisis Numrico

99

v = x e1 x. Cuando la reflexin se aplica a cada punto en algn lado de H + , el resultado


es la imagen reflejada en el otro lado de H + . En particular x es enviado a x e1 .
x
+

H
mk+1

v = ||x|| e1 x

H x = ||x|| e

Figura 4.9: Reflexin de Householder para un vector dado x

Para cualquier y Rmk+1 , el vector


Py=

vv T
vT v

es la proyeccin ortogonal de y sobre el espacio H + (perpendicular a v). Para reflejar y a


travs de H + , debemos continuar al doble de la distancia en la misma direccin como se
ilustra en la Figura 4.10. La reflexin H debe ser entonces
x

Py

H+
O

Hy

Hx

Figura 4.10: La reflexin de Householder H = I 2vv T /v T v.

100

L. Hctor Jurez V.
H =I 2

vv T
vT v

con

v = x e1 x.

Ejemplo 4.13. Dado el vector x = (3, 4, 0)T , encontrar la reflexin de Householder H tal
que Hx = x e1 = (5, 0, 0)T .
Solucin.

5
3
2

v = x e1 x = 0 4 = 4 ,
0
0
0

vv T = 4
0

2 4 0

4 8 0

= 8 16 0
0
0 0

y v T v = 20.

Luego

1 0 0
4 8 0
3/5 4/5 0
1

H =I 2 T = 0 1 0
8 16 0 = 4/5 3/5 0 .
v v
10
0 0 1
0
0 0
0
0
1
vv T

Se puede verificar que H efectivamente satisface Hx = x e1 = (5, 0, 0)T . En la figura 4.11


se ilustra el resultado de este ejemplo.
x3
x = (3,4,0)T

H+

v = ||x|| e1 x = (2,4,0)T

||x|| e1 = (5,0,0)T

x1

Figura 4.11: Reflexin de Householder del ejemplo 4.13.

El plano H + tiene ecuacin v1 x1 + v2 x2 + v3 x3 = 0, es decir, 2x1 4x2 = 0 con x3 arbitrario.

Anlisis Numrico

101

Obsrvese adems que

3/5 4/5 0
3/5 4/5 0
1 0 0

HH T = 4/5 3/5 0 4/5 3/5 0 = 0 1 0 = I


0
0
1
0
0
1
0 0 1

En general, se puede verificar fcilmente que


HH T = I 2

vv T
vT v

I 2

vv T
vT v

=I.

de modo que H es siempre una matriz ortogonal. Por lo tanto, las matrices Qk en el proceso
de triangularizacin de Householder son ortogonales, pues
Qk QTk =

4.6.3.

I 0
0 H

I
0
0 HT

I
0
0 HH T

Ik1
0
0
Imk+1

= Im .

La mejor de las dos reflexiones

En la exposicin anterior se ha simplificado el procedimiento. El vector x en realidad


puede reflejarse ya sea a x e1 bien a x e1 , dando lugar a dos reflexiones, una a travs
del hiperplano H + , y otra a travs del hiperplano H , como se muestra en la Figura 4.12.

x
+

H
||x|| e1 x
||x|| e1

||x|| e1 x

||x|| e1

Figura 4.12: Las dos reflexiones de Householder

Desde el punto de vista matemtico, cualquiera de las dos elecciones es satisfactoria. Sin
embargo, para asegurar estabilidad en el algoritmo numrico se debe escoger aquella reflexin

102

L. Hctor Jurez V.

para la cual x se encuentre ms alejado de su punto reflejado x e1 x e1 . Para lograr


esto escogemos v = signo(x1 ) x e1 x, o bien podemos quitar el signo , y escoger
v = signo(x1 ) x e1 + x. La funcin signo se define como:

1 si x 0 ,
1
signo(x1 ) =
1 si x < 0 .
1

Vale la pena recordar que x1 es la primera coordenada de x. Las Figura 4.13 muestra ambos
casos.
H

H+

x
+

H
v = ||x|| e1 + x

||x|| e1

v = ||x|| e1 + x

||x|| e1

||x|| e1

||x|| e1

Figura 4.13: Grfica de la izquierda: x1 > 0 signo(x1 ) = +1. Grfica de la derecha:


x1 < 0 signo(x1 ) = 1.

La razn por la cual esta eleccin para v es conveniente es que si el ngulo entre H + y
e1 es muy pequeo, entonces el vector v = x e1 x ser ms pequeo que x x e1 , y
el clculo de v representa la sustraccin de cantidades casi iguales, con lo cual se obtienen
errores de cancelacin. Por otro lado, si escogemos el signo de tal forma que en lugar de
restar sumemos, cortamos el efecto de cancelacin y v nunca ser ms pequeo que x ,
con lo cual aseguramos estabilidad en los clculos.

4.6.4.

Algoritmo de factorizacin de Householder

Utilizando las ideas anteriores podemos construir el algoritmo que factoriza A en la


forma A = QR, es decir QT A = R, con Q = (Qn Q2 Q1 )T matriz ortogonal y R matriz
triangular superior. Sin embargo, en el algoritmo que escribimos a continuacin solamente
calculamos el factor R y lo almacenamos en el mismo espacio de memoria que ocupa A con
el objeto de ahorrar memoria. Tambin, si se desea se pueden almacenar los n vectores de
reflexin v1 , . . . , vn , para posibles usos posteriores.

Anlisis Numrico

103

Algoritmo de factorizacin
Para k = 1, . . . , n
. x = A(k : m, k)
. vk = signo(x1 ) x e1 + x
. v k = vk / vk 2
. A(k : m, k : n) = A(k : m, k : n) 2vk (vkT A(k : m, k : m))
Fn
Obsrvese que en el algoritmo se han realizado dos simplificaciones:
1. Se ha denotado por v a v/ v

pues la reflexin se puede escribir como


vv T
vT v

I 2

=I 2

v
v

vT
v 2

2. Al multiplicar o aplicar la reflexin por un vector y obtenemos


I 2

v
v

vT
v 2

y =y2

v
v

vT
y
v 2

de tal manera que cuando y es una de las columnas de la submatriz A(k : m, k : n), entonces
la forma econmica de aplicar la reflexin a cada una de estas columnas es como se indica
en el ltimo rengln del algoritmo. La matriz ortogonal QT = Qn Q2 Q1 no se construye
en el algoritmo anterior, pues esto tomara trabajo adicional. Afortunadamente en muchas
aplicaciones no es necesario obtener esta matriz. Por ejemplo, si se quiere resolver el sistema
Ax = b y sabemos que QT A = R, entonces Rx = QT A x = QT b y basta con resolver el
sistema Rx = QT b utilizando sustitucin regresiva. El lado derecho QT b puede calcularse
aplicando a b la misma sucesin de operaciones aplicadas a la matriz A:
Para k = 1, . . . , n
..
. b(k : m) = b(k : m) 2vk (vkT b(k : m))
Fn
Hemos supuesto que los vectores de reflexin v1 , . . . , vn se almacenan al encontrar R en el
algoritmo anterior. Sin embargo, en el problema de la solucin del problema sobredeterminado Ax = b no es necesario almacenar los vectores de reflexin vk y el clculo de QT b puede
realizarse simultneamente al clculo de R. En este caso el algoritmo completo, incluyendo
sustitucin regresiva, es como se muestra a continuacin:
Algoritmo de triangularizacin de Householder para resolver Ax = b
Para k = 1, . . . , n

104

L. Hctor Jurez V.
. x = A(k : m, k)
. v = signo(x1 ) x e1 + x
. v = v/ v

. A(k : m, k : n) = A(k : m, k : n) 2v (v T A(k : m, k : m))


. b(k : m) = b(k : m) 2v(v T b(k : m))
Fn
x(n) = b(n)/A(n, n)
Para k = n 1 : 1 : 1
..
. x(k) = (b(k) A(k, k + 1 : n) b(k + 1 : n))/A(k, k)
Fn
Ejemplo 4.14. El NIST (National Institute of Standards and Technology) es una rama
del Departamento de Comercio de los EU, que se responsabiliza de establecer estndares
nacionales e internacionales. El NIST mantiene conjuntos de datos de referencia, para su
uso en la calibracin y certificacin de software en estadstica. En su pgina Web
http://www.itl.nist.gov/div898/strd
en la liga Dataset Archives, y despus bajo Linear Regresion, se encuentra el conjunto de
datos Filip, que consiste de 82 observaciones de una variable y para diferentes valores de
x. El problema es modelar este conjunto de datos por medio de un polinomio de grado 10.
Este conjunto de datos es controversial: algunos paquetes pueden reproducir valores cercanos
a los coeficientes que el NIST ha declarado como los valores certificados; otros paquetes
dan advertencias mensajes de error de que el problema es mal condicionado.
Solucin. Resolveremos el problema utilizando el mtodo de ecuaciones normales y el mtodo de factorizacin QR, con el objeto de comparar el desempeo de cada uno de ellos.
Tenemos m = 82 datos (xi , yi ) y debemos encontrar n = 11 coeficientes cj para el polinomio
de ajuste de grado 10. La matriz de diseo A tiene coeficientes aij = xj1
, i = 1, . . . , 82,
i
j = 1, . . . , 11. Para dar una idea de la complejidad de esta matriz obsrvese que el coeficiente
con mnimo valor absoluto es 1 y el coeficiente con mayor valor absoluto es un poco mayor a
2.7109 . Esta matriz es mal condicionada, siendo su nmero de condicin (A) O(1015 ).
La matriz de ecuaciones normales AT A es todava ms mal comportada, desde el punto de
vista numrico, pues tiene un coeficiente mnimo en valor absoluto de 82 y uno mximo de
5.11019 , su nmero de condicin es proporcional a 1030 . En los clculos se utiliz aritmtica de punto flotante de doble precisin. La Figura 4.14 muestra la grfica de los datos
junto con la grfica de los polinomios de ajuste obtenidos por medio de los dos mtodos. En
esta figura no se aprecia la diferencia entre la grfica del polinomio obtenido por medio del

Anlisis Numrico

105

mtodo QR y el certificado por el NIST. La grfica del polinomio de ajuste obtenido por
medio de ecuaciones normales difiere de los dos anteriores, sobre todo en la mitad derecha,
intervalo (6, 3), donde presenta pequeas oscilaciones alrededor de los datos.
0.94
0.92
0.9
0.88

0.86
0.84
0.82

Datos
NIST
Normales
QR

0.8
0.78
0.76
9

Figura 4.14: Grfica de los datos FILIP y los polinomios de ajuste

El Cuadro (4.1) muestra los coeficientes obtenidos con los dos mtodos junto con los
certificados por el NIST. Los resultados obtenidos con el mtodo QR son muy buenos,
tomando en cuenta que los resultados certificados por el NIST fueron obtenidos con clculos
de muy alta precisin, a saber precisin mltiple de 500 dgitos (lo cual representa una
idealizacin de lo que se alcanzara si los clculos se hicieran sin error de redondeo). Por
el contrario, los coeficientes obtenidos por medio del mtodo de ecuaciones normales son
totalmente diferentes a los certificados, incluso en el signo.
Finalmente, en el siguiente cuadro indicamos la diferencia relativa del vector de coeficientes obtenido con los dos mtodos con respecto al valor certificado del NIST. Esta cantidad
se define como:
||cnist c||2
100
||cnist ||2
Observamos que la diferencia relativa de la solucin obtenida por medio del mtodo de
factorizacin QR es muy pequea, a diferencia de la obtenida por medio del mtodo de
ecuaciones normales. En el mismo cuadro tambin incluimos la magnitud del residual ||A c
y||2 en cada caso. Obsrvese que el residual obtenido por medio de QR coincide con el del

106

L. Hctor Jurez V.
Coef.

NIST (103 )

QR (103 )

Ec. Normales (102 )

c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11

-1.467489614229800
-2.772179591933420
-2.316371081608930
-1.127973940983720
-0.354478233703349
-0.075124201739376
-0.010875318035534
-0.001062214985889
-0.000067019115459
-0.000002467810783
-0.000000040296253

-1.467489582388863
-2.772179531420028
-2.316371030602281
-1.127973915874232
-0.354478225708109
-0.075124200018508
-0.010875317781920
-0.001062214960612
-0.000067019113828
-0.000002467810721
-0.000000040296251

3.508390286748969
5.458039227995218
3.674467707503117
1.398316266894402
0.330592755393584
0.050170726293308
0.004860547121394
0.000287297102007
0.000009255550238
0.000000120446348
0.000000000044876

Cuadro 4.1: Comparacin de los coeficientes del polinomio de ajuste obtenidos con los certificados por el NIST.

NIST hasta la onceava cifra, mientras que el obtenido por medio del mtodo de ecuaciones
normales es casi el doble que el certificado.
Cantidad
Diferencia relativa
Residual

NIST

QR

Ec. Normales

0
0.028210838148692

2.2106 %

118 %
0.041705784558465

0.028210838142565

Cuadro 4.2: Diferencia relativa con respecto a la certificada por el NIST y los residuales de
cada solucin.

En conclusin, los resultados obtenidos en este problema muestran la superioridad del


mtodo de factorizacin QR sobre el mtodo de ecuaciones normales para la solucin de
problemas de mnimos cuadrados.

4.7.

Ejercicios

1. Verifica que si x1 , x2 , x3 tienen valores diferentes, entonces la matriz de Vandermonde

1 x1 x21

A = 1 x2 x22
1 x3 x23

Anlisis Numrico

107

es nosingular, mostrando que su determinante es diferente de cero e igual a (x3


x2 )(x3 x1 )(x2 x1 ). Generaliza el resultado.
2. Sean los puntos (x1 , y1 ), . . . , (xm , ym ) y p(x) = c1 + c2 x + + cn xn1 un polinomio
de grado n < m. Este polinomio ser un ajuste de mnimos cuadrados si minimiza la
2
suma de cuadrados m
i=1 (p(xi )yi ) . Verifica que el problema de ajuste es equivalente
a resolver el problema mncRn Ac y 22 , donde y = (y1 , y2 , . . . , ym )T y A es la matriz
de diseo con aij = xj1
para 1 i m, 1 j n.
i
3. Sea A una matriz de orden mn con m n. Demuestra que si A es de rango deficiente,
entonces AT A es singular. Construye un ejemplo con una matriz A de 3 2. Ahora
demuestra que si A es una matriz de rango completo, entonces AT A es una matriz no
singular, simtrica y definida positiva. Construye un ejemplo.
4. Suponiendo que A es de rango completo, demuestra que el vector c Rn es la solucin
del problema de mnimos cuadrados del ejercicio 4.7 s y solo s resuelve el sistema de
ecuaciones normales AT A c = AT y. Sugerencia: Considera la funcin f : Rn R
definida por f (c) = ||A c y||22 , y demuestra que c satisface las condiciones necesarias
y suficientes de segundo orden para ser el nico mnimo global de f . Recuerda que
||x||22 = xT x.
5. Explica en que consiste el algoritmo de ecuaciones normales para resolver el problema
sobredeterminado Ax = b, donde A es una matriz de orden m n con m > n. Porqu
este algoritmo debe ser usado con precaucin?
6. Utiliza el mtodo de ecuaciones normales para encontrar el polinomio de interpolacin
de segundo grado que mejor se ajuste a los datos (2, 1), (1, 0), (0, 1), (1, 0), (2, 3).
Grafica los datos y el polinomio en la misma figura. Ahora encuentra el polinomio de
ajuste de grado tres. Por ltimo realiza el ajuste con un polinomio de grado cuatro.
Grafica los polinomios. Comenta los resultados.
7. Dados los vectores a1 , a2 , . . . , an Rn linealmente independientes, el proceso de ortogonalizacin de GramSchmidt produce una sucesin de vectores q1 , q2 , . . . , qn . Demuestra que los vectores as generados son ortonormales, es decir qkT qj = kj para
1 k, j n. Utiliza este algoritmo para encontrar los vectores ortonormales asociados a los vectores a1 = (2, 0, 1)T , a2 = (0, 2, 1)T , a3 = (1, 1, 3)T . Con el resultado,
R
para la matriz A cuyos vectores columna son
construye la factorizacin reducida Q
es una matriz ortogonal.
los vectores a1 , a2 , a3 . Verifica que Q

108

L. Hctor Jurez V.

8. Demuestra que si P es una proyeccin en Rn entonces Im(I P ) = N ul(P ), es decir


I P proyecta sobre el espacio nulo de P . Menciona como son estos espacios para un
proyeccin ortogonal.
Dado el vector no cero a Rn , demuestra que Pa = a aT /aT a es una proyeccin
ortogonal y que la proyeccin complementaria Pa = I Pa tambin es ortogonal. Sea
a = (1, 1, 1)T y v = (1, 0, 3)T . Encuentra Pa y Pa y verifica que Pa v es ortogonal a
Pa v. Verifica que Pa es de rango uno y que Pa es de rango 2. Encuentra la ecuacin
del plano sobre el cual proyecta Pa .

1 1

9. Verifica que la matriz A = 2 0 es de rango completo.


1 1
a) Encuentra su inversa generalizada derecha (seudoinversa de MoorePenrose)
A+ = (AT A)1 AT .
b) Encuentra PA = A A+ y verifica que esta es una proyeccin ortogonal en R3 .
c) Sean a1 y a2 los vectores columna de la matriz A. Verifica que PA a1 = a1 y
PA a2 = a2 .
d) Dado un vector fuera del espacio columna de A, por ejemplo v = (1, 0, 0)T , verifica que PA v se encuentra en el espacio columna de A. Es decir, PA v = 1 a1 + 2 a2
con 1 , 2 R.

10. Demuestra que si Q es una matriz cuadrada con vectores columna ortonormales, entonces QT Q = I. A una matriz con esta propiedad se le denomima matriz ortogonal.
Demuestra que
a) det (Q) = 1. Si A es una matriz cuadrada y A = QR, entonces det (A) =
det (R).
b)

Qx

= x 2 , es decir una transformacin ortogonal preserva distancias.

c) El producto de matrices ortogonales es ortogonal.


d) La transpuesta de una matriz ortogonal es ortogonal.

=
11. Sean Q

1
2

0
12

=
y R

1 2
0 3

Anlisis Numrico

109

R.

a) Encontrar la matriz A que tiene factorizacin reducida Q


b) Encontrar la factorizacin completa QR de A.
c) Utiliza la factorizacin reducida para encontrar la solucin de mnimos cuadrados
de Ax = (1, 1, 1)T . Encuentra la norma del residual.
= RT R = AT A.
T R
d) Verifica que R

12. Si la matriz A de orden m n es de rango completo, se define la inversa generalizada


(seudoinversa de MoorePenrose) como A+ = (AT A)1 AT .
a) Demostrar que A+ A = I.
b) Demostrar que la solucin de mnimos cuadrados del problema sobredeterminado
Ax = b es x = A+ b.
c) Supngase que A = QR es una descomposicin QR para A. Expresar A+ en
trminos de Q y R.
d) Si A = [1 2; 2 1; 1 2], encontrar A+ y usarla para encontrar la solucin de
mnimos cuadrados de Ax = (2, 2, 2)T . Calcular el nmero de condicin de A
definido por (A) = A A+ .
13. Explica lo que entiendes por una reflexin de Householder. Encuentra la reflexin de
Householder H1 que transforma el vector x = (4, 0, 3) en H1 x = (5, 0, 0) y la reflexin
de Householder H2 que lo transforma en H2 x = (5, 0, 0). Encuentra las ecuaciones
de los planos de reflexin H + y H . Demuestra que la reflexin H = I 2v v T , donde
I es la matriz identidad de n n y v Rn es un vector unitario, es una transformacin
ortogonal. Explica como se construye el algoritmo de factorizacin QR para resolver
el problema de mnimos cuadrados mncRn ||A c y||22 .
14. Consulta la pgina del NIST http://www.itl.nist.gov/div898/strd/lls/lls.shtml e ingresa a la liga Wampler4 y despus a la liga Data Data file (ASCII Format). Al
final de esta liga se encuentra el conjunto de 21 datos. Copia estos datos y calcula
el polinomio de ajuste de grado 5 utilizando los mtodos de ecuaciones normales y
factorizacin QR. Compara tus resultados con los valores certificados. Encuentra el
residual ||A c y||2 en cada caso, as como la diferencia relativa con respecto a los
valores certificados. Escribe tus conclusiones.

110

L. Hctor Jurez V.

Captulo 5

Solucin de Ecuaciones no Lineales


El problema de resolver sistemas de ecuaciones no lineales aparece frecuentemente en
la matemtica computacional y en las aplicaciones en donde los modelos subyacentes para
estudiar determinado fenmeno no pueden expresarse en forma lineal. Es decir los sistemas
correspondientes no son de la forma Ax = b, donde A es una matriz y x, b son vectores.
Este nuevo tipo de ecuaciones algebraicas puede representarse en forma funcional compacta
f (x) = 0, donde f : Rn Rn es una funcin vectorial, x = (x1 , . . . , xn )T y 0 = (0, . . . , 0)T en
Rn . En forma desarrollada escribimos
f1 (x1 , x2 , . . . , xn ) = 0,
f2 (x1 , x2 , . . . , xn ) = 0,
..
.
fn (x1 , x2 , . . . , xn ) = 0,
donde fi : Rn R, i = 1, . . . , n, son las funciones componentes de la funcin vectorial f . El
caso n = 1 corresponde a una simple ecuacin no-lineal en la incgnita x R.
Es frecuente que, en las aplicaciones, un problema no lineal aparezca en la forma de
problema de punto fijo:
Encontrar x Rn tal que x = g(x),
donde g : Rn Rn es una funcin vectorial. El problema, en este ltimo sistema, consiste
en encontrar un punto Rn que satisface = g(), y al cual se le denomina punto fijo
de g. Cualquier ecuacin o sistema de ecuaciones f (x) = 0 puede escribirse en la forma de
punto fijo, y esto puede realizarse de muchas maneras. Por ejemplo, la ecuacin con una
111

112

L. Hctor Jurez V.

incgnita f (x) = x2 x 2 = 0, puede expresarse de manera equivalente en cualquiera de


las formas:

1. x = x2 2

2. x = x + 2
2
3. x = 1 +
x
x2 + 2
4. x =
2x 1

g(x) = x2 2

g(x) = x + 2
2
g(x) = 1 +
x
x2 + 2
g(x) =
2x 1

entre otras. Cualquier punto fijo de estas funciones g ser una raz de la ecuacin original
f (x) = 0. Entonces, el problema del clculo de races de f (x) se puede expresar como el
clculo de los puntos fijos de alguna funcin g(x).

5.1.

Mtodo iterativo de punto fijo

Los mtodos ms ampliamente usados para encontrar soluciones de ecuaciones no lineales son los denominados mtodos iterativos de punto fijo. Estos mtodos consisten
en transformar la ecuacin (o sistema de ecuaciones) original, f (x) = 0, en algn sistema
equivalente de punto fijo x = g(x) adecuado. Una vez hecho esto, se escoge algn x0 como
aproximacin inicial al punto fijo , y se genera una sucesin de aproximaciones mediante
las iteraciones:
xn+1 = g(xn ),

n = 0, 1, 2, . . .

Se espera que la sucesin {xn } converja al punto fijo . Desgraciadamente esto no siempre
ocurre como se muestra a continuacin.
Ejemplo 5.1. Consideremos el ejemplo sencillo de encontrar numricamente una de las
races de f (x) = x2 x2 = 0. Sus races exactas son x1 = 1 y x2 = 2. Nos concentraremos
nicamente en el clculo de la raz = 2. En todos los casos a continuacin el punto de
comienzo para las iteraciones es x0 =2.1.
a) Con g(x) = x2 2, obtenemos x1 =2.41, x2 =3.8081, x3 =12.50162561, y xn si
n .

b) Con g(x) = x + 2, obtenemos x1 =2.024846, x2 =2.006202, x3 =2.001550, x4 =2.000387,


. . ., x10 =2.0000004, y xn 2 si n .

Anlisis Numrico

113

c) Con g(x) = 1+ x2 , obtenemos x1 =1.952381, x2 =2.024390, x3 =1.987952, x4 =2.006061,. . .,


x18 =2.0000004, y xn 2 si n .
2

x +2
d) Con g(x) = 2x1
, obtenemos x1 =2.003125, x2 =2.00003, x3 =2.000000000004, y xn 2
si n .

En el primer caso, la funcin de iteracin g(x) = x2 2 no genera una sucesin {xn }


convergente al punto fijo = 2. Por el contrario, esta sucesin diverge a infinito. En los
otros tres casos se produce una sucesin convergente al punto fijo = 2. Obsrvese que estas
sucesiones convergen al punto fijo con mayor o menor rapidez". Por ejemplo, la funcin de
iteracin
x2 + 2
g(x) =
2x 1
aparentemente genera una sucesin que converge extremadamente rpido al punto fijo, mientras que las otras dos funciones de iteracin generan sucesiones con una convergencia ms
lenta al punto fijo. Hasta el momento no hemos estudiado bajo que condiciones para la
funcin de iteracin g se obtiene una sucesin que converja efectivamente al punto fijo . La
respuesta a este problema viene dada por el teorema de punto fijo de Banach, tambin
llamado principio de mapeos contractantes, el cual estudiaremos en la siguiente seccin. Una
vez hecho este estudio podremos estudiar otros temas, como la rapidez de convergencia del
mtodo iterativo, y el diseo de algoritmos rpidos.

5.2.

Teorema de punto fijo de Banach

Este teorema es muy importante y sirve como fuente para probar existencia y unicidad
en diferentes ramas del Anlisis y sus aplicaciones como: ecuaciones algebraicas, ecuaciones diferenciales ordinarias, ecuaciones diferenciales parciales, y ecuaciones integrales, entre
otras. Este teorema da condiciones suficientes para la existencia y unicidad de un punto fijo
para una clase de aplicaciones o funciones llamadas contracciones.
Definicin 5.2. Una aplicacin T : X X con X Rn se denomina contraccin sobre
X si existe un nmero real K, con 0 < K < 1, tal que para todo x, y X
Tx Ty K x y
en alguna norma vectorial

Geomtricamente esto significa que dos puntos cualesquiera x, y X tienen imgenes


ms cercanas que ellos mismos. De ah el nombre de contraccin para la aplicacin T .

114

L. Hctor Jurez V.

Ejemplo 5.3. La funcin g : [1, 3] [1, 3] definida por g(x) =


en X = [1, 3].

x + 2 es una contraccin

Primero verificamos que g(x) [1, 3] si x [1, 3]:

x [1, 3] 1 x 3 3 x + 2 5 3 x + 2 5 .

Por lo tanto, g(x) = x + 2 [1, 3]. Por otro lado, por el teorema del valor medio
|g(x) g(y)| = |g ()| |(x y)| con entre x y y ,
y debido a que
1
g (x) =
2 x+2

1
max |g (x)| = g (1) = ,
2 3

x[1, 3]

se tiene

1
|g(x) g(y)| |x y| .
2 3
1
Se concluye que g es una contraccin con K = < 1.
2 3
Teorema 5.4. Teorema de punto fijo de Banach. Si X es un conjunto cerrado conexo
de Rn y T es una contraccin sobre X, entonces T tiene un nico punto fijo en X, y dado
cualquier punto de comienzo x0 X, la sucesin generada por iteracin de punto fijo
xn+1 = T xn ,

n = 0, 1, 2, . . .

converger al punto fijo de T .


Demostracin. Sea x0 X, y sea {xn } la sucesin generada por iteracin. Para cada
m N, xm+1 xm = T xm T xm1 , y como T es una contraccin entonces
xm+1 xm = T xm T xm1 K xm xm1 ,
con 0 < K < 1. Procediendo recursivamente, obtenemos
xm+1 xm K m x1 x0

m N .

Utilizando este resultado para toda n > m se obtiene


xn xm

xn xn1 + xn1 xn2 + xn2 + . . . + xm+1 xm

xn xn1 + xn1 xn2 + . . . + xm+1 xm

(K n1 + K n2 + . . . + K m ) x1 x0
K m (1 + K + K 2 + . . . + K nm1 ) x1 x0
1 K nm
x1 x0 ,
Km
1K

Anlisis Numrico

115

y como 0 < K nm < 1, entonces


xn xm K m

1
x1 x0 .
1K

Por lo tanto

1
x1 x0 = 0 ,
m,n
m
1K
lo cual implica que la sucesin {xn } generada por iteracin es una sucesin de Cauchy.
Como T esta definida sobre el conjunto cerrado X la sucesin de Cauchy {xn } tiene un
lmite X:
= lm xn
lm

xn xm lm K m

Este lmite X es un punto fijo de T pues


T = xn + xn T xn + xn T = xn + T xn1 T
implica que
T xn + K xn1 0, cuando n 0 .
Por lo tanto, = T . Adems este es el nico punto fijo de T en X, pues si hubiese otro,
digamos , entonces
= T T K < ,
lo cual no es posible. Por tanto, es el nico punto fijo de T en X.
En suma, para que una aplicacin sea una buena funcin de iteracin y produzca una
sucesin convergente al punto fijo basta con que ella sea una contraccin en un conjunto
cerrado X que contenga al punto fijo. En ocasiones es difcil probar en forma directa que
una funcin de iteracin es una contraccin. Pero si g es una funcin suave (tiene derivada
continua en X), y si adems
g (x) K, x X con 0 < K < 1 ,
entonces g es una contraccin en X con K = max g (x) < 1. En efecto, para x, y, X,
xX

por el teorema del valor medio, se tiene


g(x) g(y) g ()

x y con entre los puntos x, y .

As que
g(x) g(y) K x y con K = max g (x) < 1 .
xX

116

L. Hctor Jurez V.

5.3.

Cota del error en la iteracin de punto fijo

La desigualdad

Km
x1 x0 ,
1K
obtenida anteriormente es vlida para toda n > m. Luego, cuando n , xn , y por
tanto
Km
xm
x1 x0
m N.
1K
Esta desigualdad, aparte de que proporciona una cota para el error en la msima iteracin,
sirve para estimar el nmero de iteraciones necesarias par alcanzar una precisin determinada
en el clculo del punto fijo :
xn xm

m log

xm
(1 K) / log K
x1 x0

Ejemplo 5.5. Encontrar la raz de f (x) = x2 x 2 = 0 que se encuentra en el intervalo


[1, 3].
Solucin. Anteriormente se propusieron algunas funciones de iteracin. La primera funcin
g(x) = x2 2 es tal que su derivada es g (x) = 2x, y en el intervalo [1, 3] esta es mayor que
1, de hecho 2 g (x) 3. Luego g(x) = x2 2 no define una contraccin en [1, 3], y esto
explica porqu la sucesin generada por iteracin de punto fijo diverge, a pesar de que se
escoge como punto inicial x0 =2.1 muy cercano al punto fijo = 2. La Figura 5.1 ilustra
esta situacin.
3

y
y = x2 2

2.5

1.5

y=x
0.5

0
0

0.5

1.5

2.5

Figura 5.1: La funcin de iteracin g(x) = x2 2 es tal |g (x)| > 1 en [1, 3], y produce una
sucesin divergente.

Anlisis Numrico

117

La segunda funcin de iteracin g(x) = x + 2 produjo una sucesin convergente al


punto fijo = 2. En la Seccin 5.2 se demostr que esta funcin es una contraccin en [1, 3],
as que cualquier punto de comienzo x0 en este intervalo producir, bajo las iteraciones, una
sucesin que converge al punto fijo = 2. Si comenzamos con x0 = 1, cul es el nmero de
iteraciones para alcanzar un error menor a 104 ? Como
|xn | = 104 , |x0 x1 | = |1

3| =

1
3 1, K = .
2 3

Entonces

1
104 (1 2
)
2
3

n log
/ log( ) 7.436
31
3 3
As que podemos tomar n = 8. El Cuadro 5.1 muestra las iteraciones con precisin a 6 cifras
decimales, junto con el error y la estimacin del error. Obsrvese que el error real siempre

xn

en = |xn |

0
1
2
3
4
5
6
7
8

1
1.732051
1.931852
1.982890
1.995718
1.998930
1.999732
1.999933
1.999983

1
0.267949
0.068148
0.017110
0.004282
0.001070
0.000268
0.000067
0.000017

Cuadro 5.1: Iteraciones de g(x) =

Kn
1K |x1

x0 |

1.029137
0.297086
0.085761
0.024757
0.007147
0.002063
0.000715
0.000172
0.000050

x + 2, el error y la estimacin del error.

Kn
|x1 x0 |, como debe de suceder. Adems, en la prctica, el
1K
nmero de iteraciones para alcanzar un error menor que 104 es 7. La Figura 5.2 ilustra este
ejemplo.
2
Finalmente, la tercera funcin de iteracin g(x) = 1 + tambin produce una sucesin
x
convergente cuando x0 =2.1. Para saber que rango de valores puede tomar x0 y obtener una
sucesin que converja a = 2 con esta funcin de iteracin hacemos
es menor que la cota

|g (x)| =

2
1 x2 2 x 2 x 2 .
2
x

Entonces para obtener una sucesin convergente = 2 basta tomar x0 2. Es decir,

la funcin de iteracin es una buena eleccin si nos restringimos al intervalo [ 2, 3]. En

118

L. Hctor Jurez V.

y
2.5
_

y = x+2

2
_

1.5

y=x
0.5

0
0

0.5

Figura 5.2: La funcin de iteracin g(x) =


gente.

1.5

2.5

x + 2 produce una sucesin montona conver-

este intervalo podemos tomar x0 =1.5, y obtenemos x0 =1.5, x1 =2.333333, x2 =1.85714,


x3 =2.07692, x4 =1.96296,. . . Obsrvese el carcter alternante de la sucesin alrededor de
2
= 2. Esto debido a que g (x) = 2 < 0 y, en particular, g () = g (2) = 0.5. La Figura
x
5.3 ilustra esta situacin.
3

y = 1 + 2/x

2.5

1.5

y=x
0.5

0
0

0.5

1.5

2.5

Figura 5.3: La funcin de iteracin g(x) = 1 + 2/x produce una sucesin alternante convergente.

En general, si g es la funcin de iteracin y sta es una contraccin en X, con X, se


satisfacen las siguientes propiedades para la sucesin generada por iteracin de punto fijo:

Anlisis Numrico

119

1. Cuando g (x) > 0 para toda x X. La sucesin xn es creciente si x0 < . La sucesin


xn es decreciente si x0 > .
2. Cuando g (x) < 0 para toda x X. La sucesin es alternante alrededor de en
la forma x0 < x2 < x4 < . . . < < . . . < x5 < x3 < x1 , o bien en la forma
x1 < x3 < x5 < . . . < < . . . < x4 < x2 < x0 .

5.4.

Orden de convergencia

Teorema 5.6. Sea f (x) = 0 una ecuacin no lineal y x = g(x) su correspondiente ecuacin
de punto fijo. Bajo las siguientes condiciones:
1. g es una contraccin sobre X.
2. g C 1 (X) (g y g son continuas en X).
3. g es estrictamente montona sobre X (g (x) = 0 , x X).
se tiene que
Si x0 = , entonces xn = , n N ,
es decir, el proceso iterativo no puede terminar en un nmero finito de pasos.
Demostracin. Una demostracin de este hecho se obtiene suponiendo lo contrario, es
decir que g(xn ) = xn para algn n. Si n es el primer ndice para el cual esto ocurre, entonces
xn = g(xn1 ) y xn = g(xn ) con xn1 = xn .
Luego, por el teorema del valor medio
0 = g(xn ) g(xn1 ) = g ()(xn xn1 ) con entre xn1 y xn ,
y debe tenerse g () = 0 con X, lo cual contradice la hiptesis de que g (x) = 0 x I.
Comportamiento asinttico del error
Una vez hecho lo anterior, ahora podemos analizar como se comporta el error en el
mtodo iterativo de punto fijo al ir aumentando n:
en+1 = xn+1 = g(xn ) g() = g (n )(xn ) = g (n )en .
Es decir
en+1 = g (n )en

con n entre xn y .

120

L. Hctor Jurez V.

Como n est entre xn y para cada n, y es el lmite de xn , necesariamente se tiene que


lm n = .

Adems
lm g (n ) = g (),

por ser g (x) continua. As que


en+1 = g (n )en = (g () +

n )en

donde n 0 cuando n . Luego


lm

en+1
= g () + lm n = g () .
n
en

De aqu que, para valores suficientemente grandes de n (asintticamente) se tendr que


en+1 g ()en .
Esta ltima relacin establece que el error en la iteracin n+1 depende (ms o menos) linealmente del error en la iteracin n. Por tanto, podemos decir que la sucesin {xn } converge
linealmente a , y que el mtodo de punto fijo es un mtodo con orden de convergencia
lineal o de orden uno. En general, como desconocemos g () no es posible estimar en+1 en
trminos de en . Lo nico que sabemos es que en+1 es igual a una constante (menor que 1)
multiplicada por en , y en consecuencia en+1 < en .
Con el objeto de ilustrar este tipo de convergencia, consideremos la funcin de iteracin

g(x) = x + 2 en el Ejemplo 3.5. Para esta funcin g () = g (2) = 0.25, as que asintticamente tenemos que en+1 g ()en = 0.25 en . Es decir, asintticamente, el error en la
siguiente iteracin es un cuarto del error anterior. El Cuadro 5.2 muestra que efectivamente
as es.
n

en

0.25 en

5
6
7
8

0.001070
0.000268
0.000067
0.000017

0.00026750
0.00006700
0.00001675

Cuadro 5.2: Error real y error asinttico de la sucesin de punto fijo con funcin de iteracin

g(x) = x + 2.

Anlisis Numrico

121

Definicin del orden de convergencia


Sea {xn } una sucesin que converge a un nmero , y sea en = xn . Si existe un
nmero p > 0, y una constante = 0 tal que
|en+1 |
=
n |en |p
lm

entonces p se denomina el orden de convergencia de la sucesin y se denomina la constante


asinttica del error. Entre mayor sea p, mayor ser el orden de convergencia y la sucesin
converger ms rpido al lmite :
Si p = 1, la convergencia se denomina lineal, y asintticamente
|en+1 | |en | .
Si p = 2, la convergencia se denomina cuadrtica, y asintticamente
|en+1 | |en |2 .
Por otro lado, si 0 < < 1 decrece, la sucesin tambin tendra una mejor convergencia,
pero no tan dramtica como aquella cuando p aumenta.
Ejemplo 5.7. Ya hemos mostrado que la sucesin generada por la funcin de iteracin

g(x) = x + 2 converge linealmente al punto fijo = 2. Por otro lado, la funcin de iteracin
x2 + 2
g(x) =
produce una sucesin {xn } que aparentemente tiene un orden de convergencia
2x 1
mayor a uno.
En realidad, esta sucesin converge cuadrticamente al punto fijo = 2. Una forma de
verificar esto es la siguiente: La convergencia cuadrtica implica que existe > 0 tal que
|en+1 | |en |2 para n grande .
Para verificar esto basta con ver que los cocientes |en+1 |/|en |2 producen un valor aproximadamente constante 0.3.

5.5.

La convergencia cuadrtica

En la discusin de convergencia lineal supusimos g (x) = 0 , x X, y en particular


g () = 0. Ahora queremos investigar el comportamiento asinttico del error si g () = 0.
Suponiendo ahora que la contraccin g satisface g C 2 (X), y que g (x) = 0 x X, se
puede demostrar que

122

L. Hctor Jurez V.

1. si x0 = , entonces xn = , n N.
2. El orden de la convergencia de la sucesin generada por iteracin de punto fijo es 2.
Demostracin. Primero demostraremos que en = xn = 0 , n N. Supngase lo
contrario, y sea n el primer entero para el cual xn = . Entonces
xn = g(xn1 ) = g(xn ) con xn1 = xn .
Por el teorema de Taylor
0 = g(xn ) g(xn1 ) = g (xn )(xn xn1 ) +

g (cn )
(xn xn1 )2 .
2!

con cn entre xn1 y xn . Como g (xn ) = g () = 0 y xn1 = xn se debe cumplir g (cn ) = 0,


lo cual contradice la hiptesis g (x) = 0 x X.
Ahora verificamos que bajo las suposiciones anteriores se obtiene convergencia cuadrtica:
1
en+1 = xn+1 = g(xn ) g() = g ()(xn ) + g (n )(xn )2
2
con n entre xn y . Dado que g () = 0, se obtiene
1
en+1 = g (n )e2n ,
2
Como n cuando n y g C 2 (X), entonces
lm

|en+1 |
1
= |g ()|
|en |2
2

lo cual implica que la sucesin {xn } converge cuadrticamente al punto fijo . Por lo tanto,
para valores grandes de n se tiene
1
|en+1 | |g ()| |en |2 ,
2
lo cual muestra que el error en la iteracin n + 1 es proporcional al cuadrado del error en la
iteracin n, con constante de proporcionalidad igual a = 12 |g ()| (la constante del error
asinttico).
Una mejor forma para ver el comportamiento de esquemas de segundo orden es tomar
dn = nmero de decimales correctos en la iteracin n, es decir
|en | = |xn | = 10dn , con dn > 0 .
Entonces
10dn = |xn | |xn1 |2 = 102dn1 .

Anlisis Numrico

123

Luego
dn log10 2dn1 .
Por lo tanto
dn 2dn1 log10 .
Entonces si < 1, se tiene log10 > 0, y el nmero de decimales correctos en la iteracin
n es mayor que el doble de decimales correctos en la iteracin n 1. Si > 1, se sigue
cumpliendo que dn 2dn1 para n suficientemente grande pues en este caso dn
log .
Ejemplo 5.8. Consideremos de nuevo el problema de calcular la raz = 2 de la funcin
f (x) = x2 x 2. Verificar que la funcin de iteracin
x2 + 2
2x 1
produce una sucesin que converge cuadrticamente a = 2, tomando el valor de comienzo
x0 = 2.1.
g(x) =

Solucin. El nmero de decimales correctos en la primera iteracin es d1 = 2 debido a que


x1 = 2.003125, por lo que el nmero de decimales en la segunda iteracin ser
d2 2d1 log10 = 4 log10 0.3 = 4.52
Como x2 = 2.00003, el nmero de decimales correctos en realidad es 4. La frmula predice
que el nmero de decimales correctos en la tercera iteracin ser
d3 2d2 log10 = 8 + 0.52 = 8.52
Pero en realidad se obtiene 11 decimales correctos, pues x3 = 2.000000000004.
Convergencia de orden mayor a dos
Generalizando, podemos describir fcilmente los esquemas que convergen ms rpidamente que los de segundo orden: supngase que g C k con k > 2, y que en el punto fijo

g () = g () = . . . = g (k1) () = 0 ,
y que g (k) (x) = 0 , x X. Haciendo una expansin en series de Taylor obtenemos:
en+1 = xn+1 = g(xn ) g() =

g (k) (cn )
g (k) (cn ) k
(xn )k =
en .
k!
k!

por ser g () = g () = . . . = g (k1) () = 0. Por lo tanto


lm

|en+1 |
= ,
|en |k

lo cual implica un orden de convergencia k, con constante asinttica del error = |g (k) ()/k!|.

124

5.6.

L. Hctor Jurez V.

El mtodo de Newton

Puede tenerse la impresin que la discusin de convergencia cuadrtica en la seccin


anterior no tiene mucho valor prctico, ya que en una ecuacin de la forma x = g(x)
esperaramos que la condicin g () = 0 se satisfaga solo accidentalmente. Sin embargo,
mostraremos que, al menos para funciones diferenciales g, el procedimiento bsico del mtodo
de iteracin de punto fijo puede reformularse de tal manera que llegue a ser cuadrticamente
convergente.
El problema general es calcular las races de f (x) = 0 en algn intervalo, digamos
a x b, que llamamos X. Sea (x) una funcin en C (1) (X) que no tenga races en X, es
decir
0 < |(x)| < , x X .
Entonces, la ecuacin
x = g(x) x (x)f (x) ,
tiene exactamente las mismas races que f (x) en [a, b]. Muchos de los mtodos iterativos
usuales pueden obtenerse con elecciones especiales de (x). Por ejemplo, para que el mtodo
de iteracin de punto fijo tenga convergencia cuadrtica, una de las condiciones es que
g () = 0. Como
g (x) = 1 (x)f (x) (x)f (x) ,
entonces para que
g () = 1 ()f () ()f () = 0
se debe tener () = 1/f (). Por lo tanto, es suficiente con escoger (x) = 1/f (x), y con
esta eleccin se obtiene la funcin de iteracin
g(x) = x

f (x)
.
f (x)

Suponiendo f (x) = 0, x X, el algoritmo que resulta es conocido como el Mtodo de


Newton (tambin conocido como mtodo de Newton-Raphson):
Escoger x0 cercano a , y determinar la sucesin {xn } por medio de la relacin de
recurrencia
f (xn )
, n = 0, 1, 2, . . .
xn+1 = xn
f (xn )
La convergencia de este mtodo inmediatamente se sigue del teorema de convergencia cuadrtica, dado que se escogi g(x) = x f (x)/f (x) para satisfacer g () = 0. Sin embargo,
como veremos ms adelante, en general debemos tener x0 suficientemente cercano al punto
fijo para asegurar el xito del algoritmo.

Anlisis Numrico

125

Ejemplo 5.9. Encontrar al raz de f (x) = x2 x 2 en el intervalo [1, 3] utilizando el


mtodo de Newton.
Solucin. El mtodo de Newton para la ecuacin correspondiente es: Dado x0 , generar {xn }
por medio de
f (xn )
f (xn )
x2 xn 2
= xn n
2xn 1
x2n + 2
=
2xn 1

xn+1 = xn

La funcin de iteracin g(x) = x f (x)/f (x) = (x2 + 2)/(2x 1) es la misma que en los
dos ejemplos anteriores. Esta funcin satisface
2( 2 2)
f ()f ()
=
= 0 , pues f () = 0,
[f ()]2
(2 1)2
2
18
= , pues = 2,
g () =
(2 1)3
3
1
1
1
= | g ()| = = en+1 e2n = e2n para n grande.
2
3
3
g () =

Por lo tanto, si comenzamos las iteraciones con x0 = 1.5 obtenemos


n

xn

en

e2n

0
1
2
3
4

1.5
2.125
2.00480769230769
2.00000768001966
2.00000000001966

0.5
0.125
0.0048077
0.00000768
1,97 1011

0.083333
0.0052083
0.0000077
1,966 1011

Obsrvese como el valor asinttico e2n se aproxima a en+1 cuando n aumenta. Adems, dado
que el nmero de decimales correctos en la segunda iteracin es 2, en la tercera iteracin
ser
1
d3 2d2 log10
= 4.477
3
Como en la tercera iteracin d3 = 5, en la cuarta ser aproximadamente
d4 2d3 + 0.477 = 10.477
y el valor real es d4 = 11.

126

5.6.1.

L. Hctor Jurez V.

Interpretacin geomtrica del mtodo de Newton

El mtodo de Newton tiene una interpretacin geomtrica muy sencilla. Dada la ecuacin
f (x) = 0 en una variable, suponiendo conocido la aproximacin xn a la raz , xn+1 se calcula
como
f (xn )
,
xn+1 = xn
f (xn )
es decir
f (xn ) + (xn+1 xn )f (xn ) = 0 .
Si reemplazamos xn+1 por la variable x, obtenemos la funcin y = f (xn ) + f (xn )(x xn ),
la cual tiene como grfica a la recta tangente a f (x) en el punto (xn , f (xn )). As que xn+1
es la interseccin de esta recta con el eje x, como se ilustra en la figura siguiente.
y
y = f(x)
y = f(xn) + f(xn)(xxn)

xn+1 xn

Figura 5.4: Interpretacin geomtrica del mtodo de Newton

El mtodo de Newton es uno de los mtodos ms usados para calcular numricamente


races de ecuaciones no lineales, pues si se escoge adecuadamente la aproximacin inicial
x0 , la sucesin obtenida por iteracin converge razonablemente rpido a la solucin. Sin
embargo, este es un mtodo denominado local, pues si x0 no es lo suficientemente cercano a
y la funcin f (x) no tiene buenas propiedades, se pueden presentar algunos problemas.
El siguiente ejemplo muestra algunas de las situaciones indeseables en el mtodo de Newton.
Ejemplo 5.10. Considere el problema f (x) = sin(x) = 0 en el intervalo X = [/2, /2].
El mtodo de Newton es: dado x0 [/2, /2], generar {xn } por medio de
xn+1 = xn

f (xn )
sin(xn )
= xn
= xn tan(xn ) .
f (xn )
cos(xn )

Anlisis Numrico

127

Si escogemos x0 = /2, entonces x1 = . De hecho, si escogemos x0 cerca de /2 /2,


la lnea tangente intersecta al eje x fuera del intervalo y muy lejos del mismo. Por ejemplo,
tomando x0 = 1.4 se obtiene x1 = 4.3979. Esta situacin se ilustra en la Figura 5.5.
y
(/2,1)

x1

x0

=0
y = senx

(/2,1)

Figura 5.5: Situacin indeseable en el mtodo de Newton: x1 cae muy lejos de

Otro aspecto indeseable es que si escogemos x0 = x tal que


tan(x ) = 2x

(x 1.1655 . . .) ,

entonces
x1 = x0 tan(x0 ) = x0 2x0 = x0
x2 = x1 tan(x1 ) = x0 tan(x0 ) = x0
y entramos dentro de un ciclo obteniendo x0 , x0 , x0 , x0 , . . . como se ilustra en la Figura
5.6.
y
(/2,1)

y = senx
x0

=0

x0

(/2,1)

Figura 5.6: Situacin indeseable en el mtodo de Newton: ciclo infinito

128

L. Hctor Jurez V.
La primera situacin indeseable se suprime si exigimos que
aa

es decir si
0

f (a)
b,
f (a)

f (a)
b a,
f (a)

y ab

f (b)
b
f (b)

y ab

f (b)
0,
f (b)

o equivalentemente si exigimos que


f (a)
b a,
f (a)

f (b)
b a.
f (b)

La segunda situacin indeseable se suprime si exigimos que la funcin f (x) no cambie de


concavidad en el intervalo, es decir si exigimos
f (x) 0 f (x) 0 , x X .
Estas observaciones se incorporan para establecer condiciones suficientes para asegurar la
convergencia del mtodo de Newton.

5.6.2.

Teorema de convergencia no-local para el mtodo de Newton

El siguiente teorema resume las observaciones anteriores especificando condiciones suficientes para que el mtodo de Newton converja a la raz independientemente de como se
escoja x0 dentro del intervalo [a, b] = X.
Teorema 5.11. Sea f C 2 (X), y supngase que f satisface las siguientes condiciones
1. f (a)f (b) < 0,
2. f (x) = 0 , x X,
3. f (x) 0 f (x) 0, x X
4.

f (a)
ba
f (a)

f (b)
b a,
f (b)

entonces el mtodo de Newton converger a la nica solucin de f (x) = 0, para cualquier


elemento x0 X = [a, b].
La literatura sobre el mtodo de Newton es muy extensa. En particular, la convergencia
puede demostrarse bajo varios conjuntos de condiciones diferentes a las del teorema anterior.
Sin embargo, en este curso no consideraremos otro tipo de condiciones.

Anlisis Numrico

129

Ejemplo 5.12. El problema que hemos venido considerando, f (x) = x2 x 2 = 0, cumple


las condiciones del ejemplo anterior en el intervalo [1, 3]:
1. f (1)f (3) = 8 < 0;
2. f (x) = 2x 1 > 0 en [1, 3];
3. f (x) = 2 > 0 , x [1, 3];
4.

2
f (1)
= 3 1,
f (1)
1

4
f (3)
= 31
f (3)
5

Por lo tanto, es posible aplicar el mtodo de Newton tomando como valor de comienzo
cualquier valor del intervalo [1, 3].

5.6.3.

Algunas modificaciones del mtodo de Newton

El mtodo de Newton requiere de la evaluacin de f y f en cada iteracin. Mientras que


en muchos problemas el clculo de f es trivial, en muchos otros puede llegar a representar
un verdadero problema. Por otro lado, desde el punto de vista computacional, la precisin
alcanzada con el mtodo de Newton depende de la precisin con cual ff (x)
(x) puede evaluarse.
Puede suceder que f (x) sea muy pequeo aunque no sea cero, y cualquier error al calcular
f (x) ser aumentado al dividir por esta cantidad. Por estas razones, en ocasiones es conveniente considerar otros mtodos que no requieran evaluaciones de f (x) y que retengan
algunas de las propiedades de convergencia del mtodo de Newton.
Mtodo de la cuerda (Whittaker)
Una forma fcil de evitar el clculo de f (xn ) es reemplazar este valor por un valor
constante m, obteniendo el mtodo
f (xn )
.
m
Suponiendo que xn es cercano a la raz , entre ms cercana sea la constante m a f ()
mejor ser el mtodo.
xn+1 = xn

Ejemplo 5.13. Para calcular la raz = 2 de f (x) = x2 x 2 = 0 en el intervalo [1, 3]


podemos escoger
f (1) + f (3)
1+5
m=
=
= 3.
2
2
Si tomamos x0 = 1, la regla xn+1 = xn f (xn )/m produce en doble precisin x1 =
1.6666666666667, x2 = 1.96296296296296, x3 = 1.99954275262917, x4 = 1.99999993030828,
x5 = 2, y observamos que en este caso la sucesin converge cuadrticamente.

130

L. Hctor Jurez V.

En realidad, en este ejemplo se obtiene convergencia cuadrtica debido a que, casualmente, m = 3 es igual a f (2). Sin embargo, en general el mtodo tiene convergencia lineal,
y como ya mencionamos arriba la convergencia slo ser cercana a la cuadrtica cuando
m = f (). Si la estimacin de m es buena, la convergencia puede ser muy rpida. Especialmente en los estados finales del mtodo de Newton no es necesario recalcular f (x) en cada
paso, y una buena estrategia es cambiar al mtodo de la cuerda.
Mtodo de la secante
En este caso el valor de la derivada f (xn ) en el mtodo de Newton se reemplaza por el
cociente de diferencias:
f (xn ) f (xn1 )
,
xn xn1
obteniendo la frmula de recurrencia:
xn+1 =

xn1 f (xn ) xn f (xn1 )


.
f (xn ) f (xn1 )

En el mtodo de la secante debemos encontrar dos iteraciones sucesivas x0 , x1 antes de


empezar a usar la frmula de recurrencia. Sin embargo, slo es necesario evaluar la funcin
una vez en cada paso, ya que el valor anterior f (xn1 ) puede retenerse. Esto representa una
ventaja sobre el mtodo de Newton donde forzosamente necesitamos dos evaluaciones, una
para f (xn ) y otra para f (xn ).
El orden de convergencia de la sucesin generada por el mtodo de la secante no puede
deducirse por un anlisis semejante al de punto fijo, pues este mtodo no puede expresarse
en la forma de punto fijo xn+1 = g(xn ). Una investigacin detallada del mtodo muestra
que su orden de convergencia es fraccionario y se encuentra entre 1 y 2. Asintticamente
(Conte-deBoor)
f ()
|en+1 |
2f ()

1/p
p

|en |

1+ 5
con p =
1.618
2

A una convergencia de este tipo se le denomina superlineal.


El mtodo de la secante tiene una interpretacin geomtrica anloga a la del mtodo
de Newton. El valor xn+1 representa la interseccin con el eje x de la recta que pasa por
los puntos (xn1 , f (xn1 )) y (xn , f (xn )), de ah el nombre de mtodo de la secante. Esto se
ilustra en la Figura 5.7.
Ejemplo 5.14. Utilizar el mtodo de la secante para encontrar la solucin de f (x) = x2
x 2 = 0, x [1, 3] en el intervalo [1, 3].

Anlisis Numrico

131

y = f(xn) + mn (xxn)

xn+1

xn

n+1

y = f(x)

Figura 5.7: Ilustracin geomtrica del mtodo de la secante

Solucin. Escogiendo x0 = 1, x1 = 3, al aplicar el mtodo de la secante, se obtienen los


valores mostrados en el Cuadro 5.3 cuando se utiliza aritmtica de punto flotante de doble
precisin en el ambiente MATLAB.

xn

en

0
1
2
3
4
5
6
7
8

1
3
1.66666666666667
1.90909090909091
2.01176470588235
1.99963383376053
1.99999856948921
2.00000000017462
2.00000000000000

1
1
0.33333333333333
0.09090909090909
0.01176470588235
3.661662397104
1.43051079106
1.74621010
0

f ()
2f ()

1/p

|en |p (error asinttico)

0.08572834524805
0.01047403661108
3.830517471104
1.39648907106
1.77221010
0

Cuadro 5.3: Resultados obtenidos por el mtodo de la secante.

Analizando estos resultados se observa la denominada convergencia superlineal.

132

L. Hctor Jurez V.

5.7.

Mtodo de punto fijo para sistemas de ecuaciones

Consideraremos brevemente el caso de sistemas no lineales de ecuaciones de la forma


f (x) = 0,
donde f : Rn Rn , f = (f1 , . . . , fn ). Es decir, f es una funcin vectorial con las funciones
componentes f1 , f2 , . . . , fn , cada una de las cuales es una funcin escalar en las variables
x1 , x2 , . . . , xn : fi (x) = fi (x1 , x2 , . . . , xn ), i = 1, , n. Primero expresamos el anterior
sistema de ecuaciones en la forma de un sistema de ecuaciones de punto fijo
x = g(x) ,
o bien, escribiendo componente a componente
xi = gi (x1 , x2 , . . . , xn ) ,

i = 1, 2, . . . , n .

Esperamos que la funcin de iteracin g : Rn Rn tenga un punto fijo en un subconjunto


X Rn . El algoritmo de iteracin de punto fijo es: Dado x0 X, generamos la sucesin
{xk }
k=1 por medio de
xk+1 = g(xk ) ,

k = 0, 1, 2, . . .

Est claro que para cada k, xk es el vector con componentes xk1 , xk2 , , xkn .
El anlisis de los mtodos de iteracin de punto fijo para sistemas es el mismo que aquel
para ecuaciones de una variable. La nica diferencia es que para los temas de convergencia
y error utilizamos una norma vectorial en lugar del valor absoluto. Por ejemplo, para que la
funcin de iteracin sea una contraccin basta con que en alguna norma matricial ,
Jg(x) K < 1 ,

x X ,

donde 0 < K < 1 es alguna constante, y Jg(x) la matriz Jacobiana de g en x X:


Jg(x) =

gi (x)
xj

1 i, j n

La anterior es una condicin suficiente y se puede justificar utilizando el teorema del valor
medio para derivadas:
g(x) g(y) = Jg() (x y) ,

x, y X ,

y = x + (y x) ,

Anlisis Numrico

133

X
1
0
0
1

1
0
0
1

1
0
0
1

Figura 5.8: se encuentra entre x y y.

con 0 < < 1. En consecuencia


g(x) g(y) Jg()

(x y) K (x y)

Por supuesto, la norma de la matriz Jacobiana es la norma matricial inducida por la norma
vectorial aplicada a la diferencia x y y tambin a g(x) g(y).

Ejemplo 5.15. Encontrar una solucin del sistema de tres ecuaciones no lineales con tres
incgnitas
1
2
x21 81(x2 + 0.1)2 + sen x3 + 1.06 = 0
10 3
= 0
ex1 x2 + 20x3 +
3
3x1 cos(x2 x3 ) =

en el conjunto X = [1, 1]3 .


Solucin. La funcin vectorial f (x), x = (x1 , x2 , x3 )T , que define el sistema de ecuaciones
tiene las funciones componentes
1
2
f2 (x1 , x2 , x3 ) = x21 81(x2 + 0.1)2 + sen x3 + 1.06
10 3
f3 (x1 , x2 , x3 ) = ex1 x2 + 20x3 +
3
f1 (x1 , x2 , x3 ) = 3x1 cos(x2 x3 )

Un posible sistema de punto fijo se obtiene despejando x1 de la primera ecuacin, x2 de la

134

L. Hctor Jurez V.

segunda y x3 de la tercera:
1 1
+ cos(x2 x3 )
= g1 (x1 , x2 , x3 )
6 3
1
x2 =
x21 + sen x3 + 1.06 0.1 = g2 (x1 , x2 , x3 )
9
1
10 3
x3 = ex1 x2
= g3 (x1 , x2 , x3 )
20
60

x1 =

La matriz Jacobiana de la funcin de iteracin

g1
x1
g

2
Jg(x) =
x1
g3
x1

g1
x2
g2
x2
g3
x2

g1
x3
g2
x3
g3
x3

en este caso es

0
x1

Jg(x) =
9 x21 + sen x3 + 1.06
x2 x1 x2
e
20

x3
sen(x2 x3 )
3
0
x1 x1 x2
e
20

x2
sen(x2 x3 )
3 cos x

18 x21 + sen x3 + 1.06


0

Si tomamos X = [1, 1]3 , es decir 1 x1 , x2 , x3 1, entonces la ecuacin de punto fijo


satisface g(X) X, pues
1 1
1 1
+ cos(1) x1 + cos(0)
6 3
6 3
0 + sen(1) + 1.06
1 + sen(1) + 1.06
0.1 x2
0.1
9
9
e
10 3
e1 10 3

x3

.
20
60
20
60
Es decir,
0.346 g1 (x1 , x2 , x3 ) 0.5
0.048 g2 (x1 , x2 , x3 ) 0.089
0.610 g3 (x1 , x2 , x3 ) 0.492 .
Por lo tanto, la funcin de iteracin tiene su imagen dentro de X = [1, 1]3 . Adems, si
consideramos la norma infinito, se obtiene Jg(x) es el mximo de las cantidades
| sen(x2 x3 )|
|x1 | + | cos x3 |/2
ex1 x2
(|x2 | + |x3 |),
,
(|x1 | + |x2 |)
3
20
9 x21 + sen x3 + 1.06

Anlisis Numrico

135

con 1 x1 , x2 , x3 1. Es decir
Jg(x)

max

2e
2 sen(1)
3/2
,
,
3
9 0.06 20

0.6804 ,

de tal forma que g es una contraccin en X = [1, 1]3 con K 0.6804. Si tomamos como
punto de comienzo x0 = (0.2, 0.1, 0.1)T , se obtienen los valores mostrados en el Cuadro
5.4
k

x1

x2

x3

0
1
2
3
4
5
6
7
8
9
10

0.2
0.49998333347222
0.49999437090050
0.49999999987705
0.49999999999043
0.5
0.5
0.5
0.5
0.5
0.5

0.1
0.01112036535646
0.00005190019018
0.00001447284345
0.00000006935321
0.00000001934170
0.00000000009269
0.00000000002585
0.00000000000012
0.00000000000003
0.0

-0.1
-0.52260870926364
-0.52332154714020
-0.52359747812499
-0.52359841377852
-0.52359877386447
-0.52359877511476
-0.52359877559598
-0.52359877559765
-0.52359877559830
-0.52359877559830

Cuadro 5.4: Resultados de la iteracin de punto fijo.


1

La solucin exacta el sistema es x1 = , x2 = 0, x3 = .


2
6

5.7.1.

Aceleracin de tipo Seidel en las iteraciones

Para sistemas de ecuaciones puede acelerarse la convergencia del mtodo de punto fijo
k+1
k+1
k
k
k
utilizando las ltimas estimaciones xk+1
1 , x2 , . . . , xi1 en lugar de x1 , x2 , . . . , xi1 para
calcular xk+1
, para 2 i n, como se hace en el mtodo de Gauss-Seidel para sistemas
i
lineales. En el ejemplo anterior, las nueva relacin de recursin al realizar aceleracin del
tipo Seidel es:
1 1
+ cos(xk2 xk3 )
6 3
1
k
2
=
(xk+1
1 ) + sen x3 + 1.06 0.1
9
k+1 k+1
1
10 3
= ex1 x2
20
60

xk+1
=
1
xk+1
2
xk+1
3

136

L. Hctor Jurez V.

Tomando el mismo punto de comienzo x0 = (0.2, 0.1, 0.1)T , se obtienen los valores mostrados en el Cuadro 5.5. Claramente se observa la aceleracin de la convergencia.
k

x1

x2

x3

0
1
2
3
4
5
6

0.2
0.49998333347222
0.49997746826183
0.49999999996378
0.5
0.5
0.5

0.1
0.02222979355858
0.00002815366194
0.00000003762202
0.00000000005028
0.00000000000007
0.0

-0.1
-0.52304612619137
-0.52359807179342
-0.52359877465775
-0.52359877559704
-0.52359877559830
-0.52359877559830

Cuadro 5.5: Resultados al aplicar aceleracin de tipo Seidel.

5.8.

Mtodo de Newton para sistemas de ecuaciones

Al igual que en el caso de una variable el mtodo de punto fijo converger cuadrticamente si g C 2 (X)), y si la matriz Jacobiana es nula en el punto fijo , es decir si todas
las derivadas parciales gj /xi evaluadas en el punto fijo son cero. Asimismo, el mtodo
de Newton para sistemas de ecuaciones no lineales f (x) = 0, con f : X Rn , se puede
construir en forma anloga a como lo hicimos en el caso escalar. En este caso hacemos la
eleccin para la funcin de iteracin en la forma
g(x) = x A(x)f (x) ,
donde la matriz A(x) Rnn depende de x Rn . El sistema de ecuaciones f (x) = 0 y el
sistema de punto fijo x = g(x) tienen la misma solucin si la matriz A(x) es no-singular
para toda x del dominio de f , dado que en este caso
x = g(x) A(x)f (x) = 0 f (x) = 0 .
Adems, para que el mtodo sea de segundo orden, se debe satisfacer
0 = Jg() = I A () f () A() Jf () = I A() Jf () .
Para que esto suceda basta pedir A(x) = [Jf (x)]1 , x. Con esta eleccin se tiene
g(x) = x [Jf (x)]1 f (x) ,

Anlisis Numrico

137

donde Jf (x) debe ser invertible para toda x cerca de la raz (al menos). Por lo tanto, el
mtodo de Newton es:
Dado x0 cerca de la solucin , generar la sucesin {xk }
k=1 por medio de
xk+1 = xk [Jf (xk )]1 f (xk ) .
Para evadir el costo excesivo la evaluacin de la inversa de Jf (xk ) en cada iteracin, podemos
expresar la iteracin en la forma
xk+1 = xk + y ,
donde y Rn resuelve el sistema lineal
Jf (xk )y = f (xk ) .
Por lo tanto el mayor costo del Mtodo de Newton consiste resolver un sistema lineal de n
ecuaciones con n incgnitas en cada iteracin. Podemos utilizar el mtodo de eliminacin de
Gauss con pivoteo bien el mtodo de factorizacin LU para resolver estos sistemas lineales.
En el caso que la matriz Jacobiana sea simtrica definida positiva, entonces se puede aplicar
el mtodo de Choleski.
Si cada una de las funciones fi (x), i = 1, 2, . . . , n tienen segundas derivadas continuas
y adems Jf (x) es no singular x X, entonces el mtodo converge cuadrticamente si el
punto inicial x0 se escoge suficientemente cercano a la raz .
Ejemplo 5.16. Consideremos el sistema no lineal del ejemplo anterior. La matriz Jacobiana
del sistema f (x) = 0 es

3
x3 sen(x2 x3 ) x2 sen(x2 x3 )

Jg(x) =
(5.1)
2x1
162(x2 + 0.1)
cos x3

x2 ex1 x2
x1 ex1 x2
20
Tomando x0 = (0.2, 0.1, 0.1)T , como en los ejemplos anteriores, obtenemos los resultados
mostrados en el Cuadro 5.6. Se observa claramente la convergencia cuadrtica del mtodo.

5.9.

Ejercicios

1. Demuestra que la ecuacin ex 4x2 = 0 tiene una raz en el intervalo [4, 5]. Demuestra
que esta raz no puede calcularse por iteracin de punto fijo con la funcin g(x) =
ex/2 /2. Encontrar una funcin de iteracin adecuada. Verifica que la misma ecuacin
tiene tambin una raz entre [0, 1], y demuestra que la sucesin generada por iteracin
de la funcin anterior converge a esta raz si se escoge x0 dentro de este intervalo.

138

L. Hctor Jurez V.
k

x1

x2

x3

0
1
2
3
4
5

0.2
0.49986882803679
0.50001730001008
0.50000016585639
0.50000000001512
0.5

0.1
0.02161464530261
0.00192386026501
0.00001819182542
0.00000000165766
0.0

-0.1
-0.52190738633341
-0.52354815221340
-0.52359829975132
-0.52359877555494
-0.52359877559830

Cuadro 5.6: Resultados obtenidos con el mtodo de Newton.


2. Sea g una funcin de una variable que es una contraccin sobre X = [a, b], y {xn }
n=0
1
la sucesin generada por iteracin de esta funcin. Si g C (X), demuestra que
a) Cuando g (x) > 0 para toda x X, entonces la sucesin es creciente si x0 < y
decreciente si x0 > .
b) Cuando g (x) < 0 para toda x X, entonces la sucesin es alternante alrededor
de en la forma x0 < x2 < x4 < . . . < < . . . < x5 < x3 < x1 , bien la sucesin
es alternante en la forma x1 < x3 < x5 < . . . < < . . . < x4 < x2 < x0 .
Sugerencia: Utiliza el teorema del valor medio para derivadas.
3. Sea m un nmero real y | | < 1. Demuestra que la ecuacin de Kepler x = m + sen x
tiene una solucin en el intervalo [m , m + ]. Encuentra una funcin de iteracin
y demuestra que es una contraccin en dicho intervalo. Resuelve numricamente la
ecuacin por medio de iteracin de punto fijo en el caso en que m = 0.8 y = 0.2.
Estima el nmero necesario de iteraciones para tener un error menor a 1016 y compara
con tus resultados numricos. Toma el ltimo valor como la solucin exacta y calcula
la expresin para el error asinttico. Cmo se compara con el error real?
4. Mostrar que f (x) = x ex satisface las condiciones del teorema de convergencia
nolocal para el mtodo de Newton en el intervalo [0, 1]. Encuentra la raz de f (x)
utilizando el mtodo de Newton. Parar las iteraciones cuando |xn+1 xn | < 1015 .
Cuntas iteraciones se realizaron? Dado que el nmero de cifras exactas en la segunda
iteracin es 2, estima cuantas cifras exactas se obtienen en la tercera iteracin.
5. La funcin f (x) = sen(x) cambia de concavidad en cualquier intervalo que contenga
su raz = 0. Verifica que el mtodo de Newton para encontrar esta raz converge si se
escoge x0 en el intervalo [-1.1655, 1.1655] y diverge si se escoge x0 =1.1656. Ms an,

Anlisis Numrico

139

el mtodo de Newton diverge en una iteracin si se escoge x0 = /2, pero el mtodo


de la secante converger en un solo paso si se toma x0 = /2 y x1 = /2.
6. Utiliza el mtodo de la secante para encontrar la raz = 2 de la ecuacin f (x) =
x2 x2 = 0 en el intervalo [1, 3], tomando x0 = 1 y x1 = 3. Verifica con los resultados
numricos que obtengas que, asintticamente, |en+1 | |en |p , donde
=

1 f ()
2 f ()

1/p

con p = 1.618

Es decir, el mtodo de la secante exhibe convergencia sper lineal. Investiga sobre la


demostracin del orden de convergencia del mtodo de la secante.
7. Explica que sucede si se aplica el mtodo de Newton a un sistema de ecuaciones lineales
A x = b, con A de orden n n y b Rn . Dado cualquier vector de comienzo x0 Rn ,
En cuntas iteraciones converge a la solucin = A1 b?
8. Dado el sistema de ecuaciones
x1 + cos(x1 x2 x3 ) = 1,
1/4

(1 x1 )

+ x2 + 0.05 x23 0.15 x3 = 1,

x21 0.1 x22 + 0.01 x2 + x3 = 1,


a) Encuentra una funcin de iteracin de punto fijo y demuestra que es una contraccin en el conjunto X =[0.1, 0.1][0.1, 0.3][0.5, 1.1].
b) Resuelve el sistema de ecuaciones utilizando iteracin de punto fijo tomando como
valor de comienzo x0 = (0, 0.1, 0.8). Detener las iteraciones cuando el error sea
menor a 106 .
c) Ahora resuelve el sistema utilizando aceleracin de tipo Seidel en el mtodo iterativo de punto fijo.
c) Por ltimo, resuelve el sistema de ecuaciones utilizando el mtodo de Newton.
Utiliza el mismo valor de comienzo y para las iteraciones cuando el error sea
menor a 106 .
9. Sea f (x) = x3 , con x R. Dados tres puntos xi1 < xi < xi+1 la diferencia central
f [xi1 , xi+1 ] :=

f (xi+1 ) f (xi1 )
xi+1 xi1

140

L. Hctor Jurez V.
aproxima la derivada f (xi ). Determinar los nmeros 0 < x1 < x2 < . . . < xn < 1
tales que f (xi ) = f [xi1 , xi+1 ] para i = 1, 2, . . . , n, cuando el nmero de puntos es
n = 10, 100 y 200. Utiliza el mtodo iterativo del tipo GausSeidel y el mtodo de
Newton para obtener una solucin con 10 cifras significativas, tomando como valor
de comienzo x0 = (1, 2, . . . , n)T /(n + 1) en cada caso. Grafica los puntos solucin
(x1 , f (x1 )), (x2 , f (x2 )), . . . , (xn , f (xn )) obtenidos con el mtodo de Newton junto con
la grfica de f (x). Indica cuantas iteraciones se realizan con cada mtodo y el tiempo
que tarda el programa en cada caso. Qu mtodo es ms eficiente? Ahora aumenta el
nmero n a 300, 400,... hasta que la solucin con el mtodo de Newton tarde ms de
un minuto en tu computadora. Cul es el mximo valor de n que lograste? Cuntas
iteraciones de Newton se realizan en cada caso? Escribe tus conclusiones.

Captulo 6

Interpolacin Polinomial e
Integracin Numrica
Los polinomios son utilizados como el medio bsico de aproximacin de funciones en
muchas reas como son:
Aproximacin de derivadas e integrales,
Solucin numrica de ecuaciones diferenciales e integrales,
Solucin de ecuaciones no lineales,
entre otras. La principal razn es que los polinomios tienen una estructura algebraica muy
simple y su manipulacin es sencilla al igual que las funciones trigonomtricas. La interpolacin polinomial es un rea particular de la teora de aproximacin de funciones y, de hecho,
es la tcnica ms usada para aproximar funciones, ms ampliamente incluso que los mtodos
de mnimos cuadrados, funciones racionales, funciones trigonomtricas y splines.
El teorema de aproximacin de Weierstrass garantiza la existencia de un polinomio que
aproxima a una funcin continua dada con una precisin arbitrara dada:
Teorema 6.1. Teorema de aproximacin de Weierstrass. Dada f C[a, b], para toda
> 0, existe un polinomio p tal que |f (x) p (x)| < , x [a, b].
Geomtricamente, el teorema de aproximacin de Weierstrass establece que para cualquier > 0 podemos encontrar una f ranja con grosor 2 alrededor de f (x) sobre [a, b]
dentro de la cual se encuentra un polinomio P , sin importar que tan pequea sea . Sin
embargo, este teorema es til solo desde el punto de vista terico, pero no lo es desde el
141

142

L. Hctor Jurez V.

Ancho 2e

y=Pe(x)
y=f(x)

Figura 6.1: Teorema de aproximacin de Weierstrass

punto de vista computacional, pues no ofrece un mtodo constructivo para calcular dicho polinomio. Por tal motivo es necesario recurrir a otras herramientas para construir polinomios
que aproximen a las funciones.

6.1.

Polinomio de Taylor

Una forma de aproximar una funcin suave localmente y cerca de un punto dado x0 ,
es por medio del polinomio de Taylor. Sea Ix0 un intervalo que contiene x0 . Entonces
Dada la funcin f C n+1 (Ix0 ), donde Ix0 es un intervalo que contiene x0 , el polinomio
de Taylor de grado n que aproxima f (x) en Ix0 es
f (n) (x0 )
(x x0 )n .
n!
El trmino de error o trmino complementario de la aproximacin es
pn (x) = f (x0 ) + f (x0 )(x x0 ) + . . . +

en (x) = f (x) pn (x) =

f (n+1) ()
(x x0 )n+1 ,
(n + 1)!

con entre x y x0 . Este error aumenta conforme x se aleja del punto x0 , y tambin si la
derivada f n+1 () es muy grande.
Ejemplo 6.2. El polinomio de Taylor de f (x) = ex cerca de x0 = 0 es
pn (x) = 1 + x +

x2 x3
xn
+
+ ... +
,
2!
3!
n!

Anlisis Numrico

143
8
y = ex
p1(x)

p2(x)

p3(x)

1
2

1.5

0.5

0.5

1.5

Figura 6.2: Polinomios de Taylor de orden 1, 2 y 3 para la funcin exponencial

y el error es
en (x) =

e
xn+1 ,
(n + 1)!

con entre 0 y x.

La Figura 6.2 muestra la grfica de la funcin exponencial junto con la grfica de los polinomios de Taylor de grado 1, 2 y 3 en el intervalo [1, 1]. Se observa que al aumentar el
grado, la aproximacin mejora, mientras que al aumentar |x| la aproximacin se deteriora
en cada caso, como era de esperarse.

6.2.

Interpolacin de Lagrange

La forma ms usual de aproximar una funcin dada mediante un polinomio de interpolacin es por medio del denominado polinomio de interpolacin de Lagrange. Este polinomio
se obtiene resolviendo el siguiente problema:
Dados n + 1 puntos distintos x0 , x1 , . . . , xn y los valores f (x0 ), f (x1 ), . . ., f (xn ) de
una funcin continua f (x) definida en un intervalo [a, b], encontrar un polinomio pn (x) de
grado n tal que
pn (xj ) = f (xj ) , j = 0, 1, . . . , n .
Debido a que se deben satisfacer n + 1 condiciones y se deben calcular n + 1 coeficientes
c0 , c1 , . . . , cn que definen al polinomio
pn (x) = c0 + c1 x + . . . + cn xn ,

144

L. Hctor Jurez V.

debemos esperar que el problema tenga una solucin nica. Anteriormente hemos demostrado que, efectivamente, este polinomio es nico si los puntos xj , j = 0, 1, . . . , n, son
distintos, dado que en este caso la matriz de Vandermonde es nosingular. En realidad, la
existencia y unicidad no depende de la estructura de la matriz de Vandermonde, y podemos
demostrar que el polinomio existe y es nico por otros medios. Por ejemplo, la unicidad
puede demostrarse como sigue:
Supngase que pn (x) y qn (x) son dos polinomios de grado n que interpolan a f (x) en
xj , j = 0, . . . , n, es decir
pn (xj ) = qn (xj ) = f (xj ) ,

j = 0, 1, . . . , n .

Entonces, rn (x) = pn (x)qn (x) es un polinomio de grado n con n+1 races x0 , x1 , . . . , xn .


Pero cualquier polinomio de grado n con un nmero de races mayor a n debe ser constante
e igual a cero. Por lo tanto rn (x) 0, x, y en consecuencia pn (x) = qn (x), x [a, b].
Para probar la existencia de tal polinomio basta con construirlo. Para lograr esto primero
construimos los n + 1 polinomios de Lagrange j (x), j = 0, 1, . . . , n, de grado n. Cada
uno de estos polinomios esta asociado a un nodo. Por ejemplo, el polinomio j (x) tiene la
propiedad de que j (xj ) = 1 y j (xj ) = 0 si i = j, y se puede representar como el producto
n
j (x) =
k=0
k=j

(x xk )
(xj xk )

Esta claro que se satisface j (xi ) = ij . La Figura 6.3 muestra la grfica de este polinomio
cerca de su punto correspondiente xj .

(xj ,1)
y = lj(x)
|

xj 2

xj 1

xj

xj + 1

xj + 2

Figura 6.3: Polinomio bsico de Lagrange asociado al punto xj

Una vez que hemos construido los polinomios de Lagrange, se procede a construir el
polinomio de interpolacin como una combinacin de los n + 1 polinomios de Lagrange

Anlisis Numrico

145

como se indica a continuacin.


n

pn (x) =

f (xj ) j (x).
j=0

Claramente este polinomio es de grado n y satisface


n

pn (xi ) =

f (xj ) j (xi ) =
j=0

f (xj )ij = f (xi ) ,

i = 1, . . . , n .

j=0

Aunque el polinomio de interpolacin es nico, hay varias formas de representarlo. Una de


ellas es la anterior, y se le conoce como la forma de Lagrange del polinomio de interpolacin.

Ejemplo 6.3. Dado la funcin f (x) definida sobre el intervalo [a, b]. El polinomio p1 (x) de
grado 1 que interpola f (x) en dos puntos distintos x0 y x1 del intervalo es
x x0
x x1
f (x0 ) +
f (x1 ) .
p1 (x) =
x0 x1
x1 x0
Este polinomio tiene como grfica una recta. La Figura 6.4 ilustra esta situacin.

y=P1(x)
y=f(x)
f(x1)
f(x0)
x0=a

x1=b

Figura 6.4: Polinomio de interpolacin de Lagrange de grado 1.

El polinomio p2 (x) de grado 2 y que interpola f (x) tres puntos distintos x0 , x1 y x2 = b


del intervalo es
(x x0 )(x x2 )
(x x1 )(x x2 )
f (x0 ) +
f (x1 )
p2 (x) =
(x0 x1 )(x0 x2 )
(x1 x0 )(x1 x2 )
(x x0 )(x x1 )
+
f (x2 ),
(x2 x0 )(x2 x1 )
el tiene como grfica una parbola como se muestra el la Figura 6.5

146

L. Hctor Jurez V.

y=P2(x)
y=f(x)

f(x0)
x0=a

f(x1)
x1

f(x2)
x1=b

Figura 6.5: Polinomio de interpolacin de Lagrange de grado 2.

6.3.

Error en el polinomio de interpolacin

La funcin f (x) y su polinomio de interpolacin coinciden en los puntos de interpolacin.


Sin embargo, tambin queremos el polinomio de interpolacin para aproximar la funcin
en puntos distintos a puntos los de interpolacin, as como estimar la diferencia en (x)
f (x) pn (x) en cualquier x [a, b]. Sin hiptesis adicionales para f (x) no podemos decir
gran cosa sobre el error en (x). Sin embargo, si suponemos que f (x) es suficientemente suave,
es decir si la funcin tiene suficientes derivadas continuas, podemos establecer una estimacin
del error.
Teorema 6.4. Si f (x) es una funcin con n+1 derivadas continuas y pn (x) el polinomio de
interpolacin de grado menor o igual a n en los n+1 puntos distintos x0 , x1 , . . . , xn , entonces
para cada punto x existe (x) I[x0 , x1 , . . . , xn , x] (el intervalo cerrado ms pequeo que
contiene x0 , x1 , . . . , xn , x) tal que
f (x) pn (x) =

f n+1 ((x))
w(x)
(n + 1)!

con

w(x) =

(x xk ).
k=0

Demostracin. Si x = xi para algn 0 i n, la igualdad se satisface trivialmente pues


ambos lados de son iguales a cero. As que supngase que x = xi , i = 0, 1, . . . , n, y sea
F (t) = f (t) pn (t)

f (x) pn (x)
w(t) ,
w(x)

t [a, b] .

Claramente F (t) esta bien definida pues w(x) = 0 ya que x = xi , i. Adems F (t) es de clase
C n+1 en I[x0 , x1 , . . . , xn , x] y tiene al menos n + 2 races, a saber x0 , x1 , . . . , xn , x. Luego

Anlisis Numrico

147

F (t) tiene al menos n + 1 ceros, F (t) tiene al menos n ceros. Continuando de esta manera,
se encuentra que F (n+1) (t) tiene al menos un cero en dicho intervalo, y que llamaremos (x).
Por lo tanto
0 = F n+1 ((x)) = f n+1 ((x)) 0

f (x) pn (x)
(n + 1)! .
w(x)

Se concluye que
f (x) pn (x) =

f n+1 ((x))
w(x).
(n + 1)!

Ejemplo 6.5. Cuando se hace interpolacin lineal en los puntos x0 , x1 la frmula del error
para todo x en [x0 , x1 ] es
f (x) p1 (x) =

f ((x))
(x x0 )(x x1 ) con (x) [x0 , x1 ] .
2

Suponiendo que f (x) tiene dos derivadas continuas en el intervalo [x0 , x1 ], sea M2 el mximo
de |f (x)| en [x0 , x1 ]. Por otro lado, el punto x [x0 , x1 ] donde |w(x)| = |(x x0 )(x x1 )|
1
toma su valor mximo es x = (x0 + x1 ) y este valor es |w(x )| = h2 /4 con h = x1 x0
2
(ver Figura 6.6). Tomando estas estimaciones, se encuentra la siguiente cota para el error
m
ax |f (x) p1 (x)|

axb

M2 2
M2 h2
=
h .
2 4
8

es decir

M2 2
h .
8
Se puede hacer el mismo clculo en el caso de interpolacin cuadrtica en x0 , x1 , x2 puntos
f (x) p1 (x)

y= w(x)

x*
x0

x1

Figura 6.6: El punto mximo de |w(x)|

148

L. Hctor Jurez V.

igualmente espaciados, es decir x0 , x1 = x0 + h, x2 = x0 + 2h. En este caso se obtiene


f (x) p2 (x) =

f (3) ((x))
(x x0 )(x x1 )(x x2 ) con (x) (x0 , x0 + 2h) ,
3!

es decir

M3
w
6

f (x) p2 (x)

donde M3 = m
axx0 xx2 |f (3) (x)| y w

2
= h3 .
3 3

Ejemplo 6.6. Sea

K(y) =
0

M3
= h3 ,
9 3

dx
1 sen2 y sen2 x

Para ciertos valores de y medidos en grados se tiene K(1) = 1.5709, K(4) = 1.5727, K(6) =
1.5751. Calcular K(3.5) usando interpolacin polinomial cuadrtica.
Solucin. Los puntos de interpolacin son y0 = 1, y1 = 4, y2 = 6. El polinomio de Lagrange
es
(y y0 )(y y2 )
(y y1 )(y y2 )
+ K(y1 )
(y0 y1 )(y0 y2 )
(y1 y0 )(y1 y2 )
(y y0 )(y y1 )
+K(y2 )
(y2 y0 )(y2 y1 )

p2 (y) = K(y0 )

Por lo tanto
(3.5 4)(3.5 6)
(3.5 1)(3.5 6)
+ 1.5727
(1 4)(1 6)
(4 1)(4 6)
(3.5 1)(3.5 4)
+1.5751
(6 1)(6 4)
= 1.57225

p2 (3.5) = 1.5703

El nmero de operaciones para construir y evaluar el polinomio de interpolacin en forma


de Lagrange es:
(x xk )
se necesitan 2(n 1) multiplicaciones, 1 divisin,
(xj xk )
y 2n restas, para cada j. En total se necesitan [2(n 1) + 1](n + 1) = (2n 1)(n + 1)
multiplicaciones/divisiones y 2n(n + 1) restas.

a) Para evaluar

j (x)

n
k=j

Anlisis Numrico

149

b) Para evaluar pn (x) =

n
j=0 f (xj ) j (x)

se requieren n + 1 multiplicaciones, y n sumas.

El nmero total de operaciones es: 2n(n + 1) multiplicaciones/divisiones y n(2n + 3)


sumas/restas.

6.4.

Forma de Newton del polinomio de interpolacin

En ocasiones uno no sabe a ciencia cierta cuantos puntos de interpolacin usar. Dada esta
circunstancia sera deseable calcular los polinomios de interpolacin p0 (x), p1 (x), p2 (x), . . .
en forma sucesiva aumentando el nmero de puntos de interpolacin hasta obtener una
aproximacin pn (x) satisfactoria para la funcin f (x). En un proceso de este tipo el uso de
la forma de Lagrange no es adecuada, pues no es posible utilizar alguna ventaja obvia del
polinomio anterior pk1 para construir el siguiente pk (x). Para este y otros propsitos, la
forma de Newton del polinomio de interpolacin es mejor. En esta forma, dada la funcin
f (x) y los puntos de interpolacin x0 , x1 , . . . , xn , el polinomio de interpolacin pn (x) se
expresa utilizando los primeros n puntos de interpolacin x0 , x1 , . . . , xn1 como centros
para escribir
pn (x) = a0 + a1 (x x0 )+a2 (x x0 )(x x1 ) + . . .
+ an (x x0 )(x x1 ) . . . (x xn1 )
es decir

j1

pn (x) = a0 +

aj
j=1

(x xk ) ,
k=0

donde a0 , a1 , . . . , an son coeficientes a determinar. Antes de abordar el clculo de estos


coeficientes estudiaremos algunas propiedades de esta forma de representar el polinomio de
interpolacin. Estas propiedades son tiles para verificar que esta representacin permite la
construccin de un polinomio de interpolacin de grado k a partir del de grado menor k 1.
Sea qk (x) la suma de los primeros k + 1 trminos de la expansin de pn (x), es decir
qk (x) = a0 + a1 (x x0 )+a2 (x x0 )(x x1 ) + . . .
+ ak (x x0 )(x x1 ) . . . (x xk1 )
Entonces los trminos restantes de pn (x) tienen como factor comn el producto
(x x0 )(x x1 ) . . . (x xk ) .
As que
pn (x) = qk (x) + (x x0 )(x x1 ) . . . (x xk )r(x)

150

L. Hctor Jurez V.

donde r(x) es un polinomio de grado n (k + 1). Adems qk (x) interpola f (x) en los
puntos x0 , x1 , . . . , xk , pues
qk (xj ) = pn (xj ) (xj x0 )(xj x1 ) . . . (xj xk )r(xj )
= pn (xj ) si 0 j k
= f (xj )
Entonces qk (x) es el nico polinomio de interpolacin pk (x) para f (x) en x0 , x1 , . . . , xk , y
podemos escribir
pk (x) = pk (x) + (x x0 )(x x1 ) . . . (x xk ) r(x),
y con k = n 1, obtenemos
pn (x) = pn1 (x) + an (x x0 )(x x1 ) . . . (x xn1 )
Entonces, el polinomio de interpolacin pn (x) puede construirse paso a paso construyendo
la sucesin de polinomios de interpolacin p0 (x), p1 (x),. . ., pn (x), donde pk (x) se construye
de pk1 (x) agregando el siguiente trmino en la forma de Newton , el cual es
ak (x x0 )(x x1 ) . . . (x xk1 ).

6.4.1.

Clculo de los coeficientes a0 , a1 , . . . , an

Obsrvese que cada coeficiente ak es el coeficiente principal del polinomio pk (x) que
interpola a f (x) en los puntos x0 , x1 , . . . , xk . Adems este coeficiente depende de los puntos
y los valores de f (x) en estos puntos pues
f (x0 )

p0 (x0 ) = a0

p1 (x1 ) = f (x0 ) + a1 (x1 x0 )


f (x1 ) f (x0 )
a1 =
x1 x0
f (x2 ) = p2 (x2 ) = p1 (x2 ) + a2 (x2 x0 )(x2 x1 )
f (x2 ) p1 (x2 )
a2 =
(x2 x0 )(x2 x1 )
..
.

f (x1 )

f (xk )

pk (xk ) = pk1 (xk ) + ak (xk x0 )(xk x1 ) . . . (xk xk1 )


f (xk ) pk1 (xk )
ak =
k1
j=0 (xk xj )
=

Anlisis Numrico

151

Para indicar la dependencia de ak de x0 , x1 , . . . , xk y f (x0 ), f (x1 ), . . . , f (xk ) escribimos


ak := f [x0 , x1 , . . . , xk ] .
Esta expresin se denomina la ksima diferencia dividida de f (x) en los puntos x0 , x1 , . . . , xk ,
y es igual al coeficiente principal del polinomio que interpola f (x) en dichos puntos.
Podemos encontrar una forma ms conveniente de calcular las diferencias divididas, en
lugar del mtodo recursivo anterior. Sabemos que
f [x0 ]

a0 = f (x0 )
f (x1 ) f (x0 )
a1 =
x1 x0

f [x0 , x1 ]

Las diferencias de orden mayor pueden construirse utilizando la frmula


ak =

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ]


f [x0 , x1 , . . . , xk ]
(xk x0 )

La validez de esta ltima frmula viene dada por el siguiente argumento debido a Neville:
Supngase que la frmula se ha obtenido para diferencias divididas hasta el orden k 1,
y considrense los puntos x0 , x1 , . . . , xk . Sea pk1 (x) el polinomio de grado k 1 que
interpola f (x) en x0 , x1 , . . . , xk1 , y sea qk1 (x) el polinomio de grado k 1 que interpola
f (x) en x1 , x2 , . . . , xk como se muestra en la Figura 6.7.

qk-1(x)

x1

...

xk-1

x0

xk

pk-1(x)

Figura 6.7: Polinomios en el argumento de Neville.

Luego, el polinomio
p(x) =

x x0
xk x
qk1 (x) +
pk1 (x),
xk x0
xk x0

152

L. Hctor Jurez V.

es un polinomio de grado k. Adems se puede verificar directamente que este polinomio


interpola f (x) en los puntos x0 , x1 , . . . , xk . Por unicidad en el polinomio de interpolacin,
pk (x) = p(x), y en consecuencia
pk (x) =

x x0
x xk
qk1 (x)
pk1 (x).
xk x0
xk x0

Claramente
coef. principal de pk =

coef. principal de qk1 coef. principal de pk1

xk x0
xk x0

Es decir

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ]


(xk x0 )
Resumiendo, la forma de Newton del polinomio de interpolacin en los puntos
x0 , x1 , . . . , xn para f (x) es
f [x0 , x1 , . . . , xk ] =

pn (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) + . . .


+f [x0 , x1 , . . . , xn ](x x0 ) . . . (x xn1 )
k1

(x xj )

f [x0 , . . . , xk ]

= f (x0 ) +

j=0

k=1

donde

f [x1 , . . . , xk ] f [x0 , . . . , xk1 ]


, k = 1, 2, . . . , n .
(xk x0 )
Esta ltima expresin se utiliza para generar las diferencias divididas en forma simple por
medio de una tabla denominada tabla de diferencias divididas. Por ejemplo, para el
caso n = 3, esta tabla queda de la siguiente manera
f [x0 , x1 , . . . , xk ] =

f []

f [, ]

f [, , ]

f [, , , ]

x0 f (x0 )
f [x0 , x1 ] =

f (x1 )f (x0 )
x1 x0

x1 f (x1 )
f [x1 , x2 ] =

f [x1 ,x2 ]f [x0 ,x1 ]


x2 x0

f [x1 , x2 , x3 ] =

f [x2 ,x3 ]f [x1 ,x2 ]


x3 x1

f (x2 )f (x1 )
x2 x1

x2 f (x2 )
f [x2 , x3 ] =

f [x0 , x1 , x2 ] =

f [x0 , x1 , x2 , x3 ]

f (x3 )f (x2 )
x3 x2

x3 f (x3 )

donde
f [x0 , x1 , x2 , x3 ] =

f [x1 , x2 , x3 ] f [x0 , x1 , x2 ]
x3 x0

Anlisis Numrico

153

Ejemplo 6.7. Consideremos de nuevo el ejemplo anterior, donde K(1) = 1.5709, K(4) =
1.5727 y K(6) = 1.5751. Calcular K(3.5) con interpolacin cuadrtica utilizando la forma
de Newton.
Solucin. Primero calculamos la tabla de diferencias divididas:
y

K[]

K[, ]

K[, , ]

1 1.5709
1.57271.5709
41

= 0.0006
0.00120.0006
61

1.5727
1.57511.5727
64

= 0.00012

= 0.0012

1.5751

Despus, tomamos los coeficientes en la diagonal superior (en negrita) para construir el
polinomio de interpolacin:
p2 (y) = K(1) + K[1, 4](y 1) + K[1, 4, 6](y 1)(y 4)
= 1.5709 + 0.0006(y 1) + 0.00012(y 1)(y 4),
y evaluamos directamente en y = 3.5:
p2 (3.5) = 1.5709 + 0.0006(3.5 1) + 0.00012(3.5 1)(3.5 4) = 1.57225
Este resultado coincide con el encontrado con el polinomio de interpolacin en forma de
Lagrange.

6.4.2.

Nmero de operaciones en la forma de Newton

Para hacer interpolacin en la forma de Newton se requieren


a) 2 restas y 1 divisin para evaluar cada una de las n(n + 1)/2 diferencias divididas. Es
decir, se requieren n(n + 1) restas y n(n + 1)/2 divisiones.
b) n(n + 1)/2 + n sumas y n(n + 1)/2 multiplicaciones para evaluar el polinomio .
Luego, el nmero total de operaciones es
n(n + 1)
3(n + 1)
+ n = n[
+ 1] sumas/restas
2
2
n(n + 1) n(n + 1)
+
= n(n + 1) multiplicaciones/divisiones
2
2

n(n + 1) +

154

L. Hctor Jurez V.

El nmero de operaciones para evaluar el polinomio puede reducirse expresando el polinomio


de interpolacin de Newton en forma anidada:
pn (x) = a0 + a1 (x x0 ) + a2 (x x0 )(x x1 ) + a3 (x x0 )(x x1 )(x x2 )
+ . . . + an (x x0 )(x x1 ) . . . (x xn1 )
= a0 + (x x0 )[a1 + a2 (x x1 ) + a3 (x x1 )(x x2 )
+ . . . + an (x x1 ) . . . (x xn1 )]
= a0 + (x x0 )[a1 + (x x1 )[a2 + a3 (x x2 )
+ . . . + an (x x2 ) . . . (x xn1 )]]
..
.
= a0 + (x x0 )[a1 + (x x1 )[a2 + (x x2 )[a3
+ . . . + (x xn2 )[an1 + an (x xn1 )] . . .]]]
cuya evaluacin toma n multiplicaciones y 2n sumas. As que para calcular pn (x) y evaluarlo
se requieren en total
n(n + 1) + 2n = n(n + 3) sumas y
n+3
n(n + 1)
+ n = n(
) multiplicaciones
2
2
El algoritmo para evaluar el polinomio en forma anidada se puede escribir de la siguiente
manera:
Algoritmo para evaluar pn (z)
An := an
Para k = n 1, n 2, . . . , 0 hacer
Ak := ak + Ak+1 (z xk )
Fin
Entonces pn (z) = A0 . Los coeficientes ak son las correspondientes diferencias divididas
f [x0 , x1 , . . . , xk ].
Ejemplo 6.8. Con este algoritmo, la evaluacin del polinomio en el ejemplo anterior se
escribe
A2 = a2 = 0.00012
A1 = a1 + A2 (3.5 x1 ) = 0.0006 + 0.00012(3.5 4) = 0.00054
A0 = a0 + A1 (3.5 x0 ) = 1.5709 + 0.00054(3.5 1) = 1.57225

Anlisis Numrico

155

Por lo tanto p2 (3.5) = 1.57225.

6.4.3.

Interpolacin en un nmero creciente de puntos

Si conocemos el polinomio de interpolacin pn (x) de f (x) en x0 , x1 , . . . , xn , y agregamos


un punto adicional xn+1 , entonces, como ya hemos mencionado anteriormente, el polinomio
pn+1 (x) que interpola f (x) en x0 , x1 , . . . , xn , xn+1 se obtiene con polinomio anterior y el
siguiente trmino con el punto adicional xn+1
pn+1 (x) = pn (x) + f [x0 , x1 , . . . , xn+1 ](x x0 )(x x1 ) . . . (x xn ) .

Ejemplo 6.9. En los dos ejemplos anteriores calculamos el polinomio de grado dos que
interpola K(y) en los puntos y = 1, 4, 6. Si agregamos el valor K[0] = 1.5708, obtenemos
la tabla:

K[]

1.5709

K[, ]

K[, , ]

K[, , , ]

0.0006
4

1.5727

0.00012
0.0012

1.5751

-0.000001
0.000121

0.000717
0 1.5708

Por lo tanto, el polinomio p3 (y) que interpola K(y) en y = 1, 4, 6, 0, se obtiene del


polinomio de grado dos ya calculado en los puntos y = 1, 4, 6 y del siguiente trmino en el
polinomio de interpolacin con el punto agregado:
p3 (y) = p2 (y) + K[1, 4, 6, 0](y 1)(y 4)(y 6) ,
y su valor en y = 3.5 es
p3 (3.5) = p2 (3.5) + (0.000001)(2.5)(0.5)(2.5)
= 1.57225 0.000003125
= 1.5722469

156

6.4.4.

L. Hctor Jurez V.

El error del polinomio en forma de Newton

Sea f (x) definida en [a, b] y pn (x) el polinomio que interpola a f (x) en los puntos
x0 , x1 , . . . , xn . Consideremos x un punto en [a, b] distinto de los puntos de interpolacin, y
sea pn+1 (x) el polinomio que interpola f (x) en los puntos x0 , x1 , . . . , xn , x, es decir
pn+1 (x) = pn (x) + f [x0 , . . . , xn , x]w(x),
donde w(x) = (x x0 ) . . . (x xn ). As que
f (x) = pn+1 (x) = pn (x) + f [x0 , . . . , xn , x]w(x) ,
y
en (x) = f (x) pn (x) = f [x0 , . . . , xn , x]w(x) .
En general, para toda x en [a, b]
en (x) = f (x) pn (x) = f [x0 , . . . , xn , x]w(x) .
Anteriormente encontramos, en el anlisis del error del polinomio de la forma de Lagrange,
que si f C n+1 [a, b], entonces
en (x) = f (x) pn (x) =

f (n+1) ((x))
w(x), con (x) I[x0 ,...,xk ]
(n + 1)!

Comparando las dos ltimas expresiones arriba, hemos encontrado que si f C n+1 [a, b],
entonces
f [x0 , . . . , xn , x] =

f (n+1) ((x))
.
(n + 1)!

En general, se tiene que si f C (k) (I[x0 ,...,xk ] ), entonces


f [x0 , . . . , xk ] =

6.5.
6.5.1.

f (k) ()
con I[x0 ,...,xk ] .
(k)!

(6.1)

Integracin Numrica
Frmulas de NewtonCotes

Nuestro objetivo es estimar la integral de una funcin f (x) sobre un intervalo dado
[a, b], especialmente cuando esta integral no puede calcularse analticamente o cuando solo
se conocen valores de f en un nmero finito de puntos. Una de las estrategias para aproximar

Anlisis Numrico

157

esta integral consiste en aproximar f (x) por el polinomio pk (x) que interpola f en los puntos
conocidos x0 , . . . , xk del intervalo. Entonces
b

f (x)dx

pk (x)dx
a

Si utilizamos la forma de Lagrange del polinomio de interpolacin


k

pk (x) =

f (xj ) j (x)
j=0

obtenemos

f (x)dx
a

wj f (xj )

con wj =

j (x)dx.
a

j=0

Entonces, la integral de f (x) sobre [a, b] se aproxima por medio de un promedio pesado de
valores de f (x) en los puntos de interpolacin, en donde los pesos wj son las integrales de las
funciones de Lagrange j (x). A estas frmulas de integracin numrica se les conoce como
de Newton-Cotes. Por supuesto, tambin podemos realizar la aproximacin utilizando la
forma de Newton del polinomio de interpolacin
j1

pk (x) = f (x0 ) +

(x xl ) .

f [x0 , . . . , xj ]
j=1

l=0

En este caso obtenemos


f (x)dx (b a)f (x0 ) +
a

6.5.2.

b j1

(x xl )dx .

f [x0 , . . . , xj ]
j=1

a l=0

El error en las frmulas de integracin de Newton-Cotes

Como vimos anteriormente, el error en el polinomio de interpolacin en forma de Newton


es para toda x I[x0 , x1 , . . . , xk ] es
k

ek (x) = f (x) pk (x) = f [x0 , . . . , xk , x]wk+1 (x) , con wk+1 (x) =

(x xj ).
j=0

Luego, el error en la integracin numrica es:


b

e=

ek (x)dx =
a

f [x0 , . . . , xk , x]wk+1 (x)dx .


a

El clculo de esta ltima integral puede ser complicado. Sin embargo, puede simplificarse si
consideramos dos casos:

158

L. Hctor Jurez V.
Primer caso: Si wk+1 (x) es de un solo signo en [a, b], es decir si wk+1 (x)dx > 0
wk+1 (x)dx < 0, entonces
b

wk+1 (x)dx con (a, b).

e = f [x0 , . . . , xk , ]
a
b

Segundo caso: Si a wk+1 (x)dx = 0, entonces se puede introducir un punto adicional


xk+1 para que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b]. Si esto es
posible, entonces
b

e = f [x0 , . . . , xk+1 , ]

wk+2 (x)dx
a

Demostracin. Primer caso: f [x0 , . . . , xk , x] es una funcin continua de x en [a, b] y toma


sus valores mximo M y mnimo m en el intervalo
m f [x0 , . . . , xk , x] M .
Suponiendo wk+1 (x)dx > 0, x [a, b], se obtiene
b

wk+1 (x)dx

m
a

wk+1 (x)f [x0 , . . . , xk , x]dx M


a

Por lo tanto
m

b
a wk+1 (x)f [x0 , . . . , xk , x]dx
b
a wk+1 (x)dx

wk+1 (x)dx .
a

M.

Por el teorema del valor intermedio para funciones continuas, debe existir un en [a, b] tal
que
b
a wk+1 (x)f [x0 , . . . , xk , x]dx
f [x0 , . . . , xk , ] =
,
b
a wk+1 (x)dx
de donde se sigue la expresin para el error. Se obtiene la misma expresin suponiendo
wk+1 (x)dx < 0, x [a, b].
Segundo caso: Sea xk+1 un punto adicional a x0 , . . . , xk . Entonces
f [x0 , . . . , xk , xk+1 , x] = f [xk+1 , x0 , . . . , xk , x]
f [x0 , . . . , xk , x] f [xk+1 , x0 , . . . , xk ]
=
x xk+1
f [x0 , . . . , xk , x] = f [xk+1 , x0 , . . . , xk ] + f [x0 , . . . , xk , xk+1 , x](x xk+1 ) .

Anlisis Numrico

159

Luego
b

f [x0 , . . . , xk ]wk+1 (x)dx

e=
a

= f [xk+1 , x0 , . . . , xk ]

f [x0 , . . . , xk , xk+1 , x]wk+2 (x)dx .

wk+1 (x)dx +
a

La primera integral en la ltima expresin es cero por hiptesis. Adems, si se escoge xk+1
de tal manera que wk+2 (x) = wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b], entonces se
obtiene la expresin para el error:
b

e = f [x0 , . . . , xk , xk+1 , ]

wk+2 (x)dx
a

Nota. En caso de que la funcin f (x) sea suficientemente suave, cada diferencia dividida
es igual a una derivada del mismo orden dividida por un factorial. Tomando en cuenta esta
propiedad, se obtienen las siguientes expresiones para el error en la integracin numrica:
Caso 1: Si wk+1 (x) es de un solo signo en [a, b], entonces
b

e = f [x0 , . . . , xk , ]

wk+1 (x)dx =
a

f (k+1) ()
(k + 1)!

wk+1 (x)dx .
a

Caso 2: Si a wk+1 (x)dx = 0, se introduce un punto adicional xk+1 tal que wk+2 (x) =
wk+1 (x)(x xk+1 ) sea de un solo signo en [a, b], y
b

e = f [x0 , . . . , xk+1 , ]

wk+2 (x)dx =
a

f (k+2) ()
(k + 2)!

wk+2 (x)dx .
a

Obsrvese que el error en este caso tiene un orden mayor que el del caso 1.

6.5.3.

Frmulas de integracin numrica ms comunes

Consideraremos las reglas de NewtonCotes ms utilizadas en la prctica:


1. Regla del rectngulo.
Consideremos un solo punto de interpolacin x0 , es decir k = 0. En este caso f (x) se
aproxima por el polinomio constante p0 (x) = f (x0 ), y la integral de f (x) se aproxima
por
b

f (x)dx
a

f (x0 )dx = (b a)f (x0 ) .


a

160

L. Hctor Jurez V.
Si se escoge x0 = a, entonces
b

f (x)dx (b a)f (a) .


a

Como w1 (x) = (x a) es de un solo signo en [a, b] y el error en este caso es


b

(x a)dx = f [a, ]

w1 (x)dx = f [a, ]

e = f [x0 , ]

(b a)2
,
2

con en [a, b]. Suponiendo f C 1 [a, b], podemos expresar el error en la forma
e=

f ()
(b a)2
2

2. Regla del trapecio.


Consideremos dos puntos de interpolacin x0 y x1 , es decir k = 1. En este caso f (x)
se aproxima por el polinomio lineal
p1 (x) = f (x0 ) + f [x0 , x1 ](x x0 ),
y la integral de f (x) sobre el intervalo [a, b] se aproxima por
b

{f (x0 ) + f [x0 , x1 ](x x0 )}dx = f (x0 )(b a) +


a

f [x0 , x1 ]
{(b x0 )2 (a x0 )2 } .
2

Si se escoge x0 = a, x1 = b, la regla de cuadratura es


b

f (x)dx
a

ba
{f (a) + f (b)} .
2

Adems w2 (x) = (x a)(x b) 0 es de un solo signo en [a, b] (ver Fig. 6.8). Luego
x0=a

x1=b

Figura 6.8: El polinomio cuadrtico w2 (x)

el error en este caso se obtiene de


b

e = f [x0 , x1 , ]

(x a)(x b)dx = f [a, b, ]

w2 (x)dx = f [a, b, ]
a

(a b)3
,
6

Anlisis Numrico

161

con en [a, b]. Suponiendo f C 2 [a, b], entonces


e=

f 2 ()
(b a)3 ,
12

en [a, b] .

3. Regla de Simpson.
Consideremos tres puntos de interpolacin x0 , x1 y x2 , es decir k = 2. En este caso el
polinomio de interpolacin para f (x) es
p2 (x) = f (x0 ) + f [x0 , x1 ](x x0 ) + f [x0 , x1 , x2 ](x x0 )(x x1 ) .
Si elegimos x0 = a, x1 = b, x2 =
b

f (x)dx
a

a+b
, entonces la regla de cuadratura es
2

p2 (x)dx = f (a)(b a) + f [a, b]


a

ba
=
6

f (a) + 4f (

a + b (a b)3
(b a)2
+ f a, b,
2
2
6

a+b
) + f (b)
2

En este caso se tiene que w3 (x) = (x a)(x b)(x


Figura 6.9)

a+b
), el cual satisface (ver
2

w3 (x)dx = 0 .
a

x0=a

x1=b

x2=(a+b)/2

Figura 6.9: El polinomio cbico w3 (x)


a+b
como punto adicional entonces
2
a+b 2
w3 (x) = (x a)(x b)(x
) 0,
2
es de un solo signo en [a, b]. Por lo tanto
Si introducimos x3 =

e = f a, b,
= f a, b,

a+b a+b
,
,
2
2
a+b a+b
,
,
2
2

(x a)(x b) x
a

4
15

ba
2

a+b
2

f 4 ()
90

dx
ba
2

donde [a, b]. En la ltima igualdad hemos supuesto que f C 4 [a, b].

162

L. Hctor Jurez V.

4. Regla del punto medio.


En este caso volvemos a considerar un solo punto de interpolacin, pero ahora tomamos
a+b
el punto medio del intervalo: x0 =
. Luego
2
a+b
2

f (x) p0 (x) = f
y la regla de cuadratura es
b

a+b
2

f (x)dx f
a

(b a) .

Adems (ver Figura 6.10)


b

w1 (x)dx
a

(x
a

a+b
)dx = 0 .
2

x0 = (a+b)/2

Figura 6.10: El polinomio lineal w1 (x)


a+b 2
a+b
Si tomamos x1 =
como punto adicional, entonces la funcin w2 (x) = (x
)
2
2
es de un solo signo en [a, b], y
b

e = f [x0 , x1 , ]

w2 (x)dx =
a

f 2 ()
2

x
a

a+b
2

dx =

f 2 ()
(b a)3 .
24

Ejemplo 6.10. Consideremos la integral I = 0 ex dx, cuyo valor exacto a ocho cifras
decimales es 0.74682413. Aplicando las reglas de integracin anteriores, con a = 0, b = 1,
a+b
a+b
= 0.5, f (a) = 1, f (b) = e1 , f (
) = e1/4 , obtenemos
2
2

Anlisis Numrico

163

Regla

Frmula

Resultado

Rectngulo

(b a)f (a)

Trapecio

ba
2 {f (a)

0.6839397

+ f (b)}

a)f ( a+b
2 )

Punto medio

(b

Simpson

ba
6 {f (a)

Solucin

Exacta

0.7788007

4f ( a+b
2 )

+ f (b)}

0.7471804
0.74682413

Los errores obtenidos con cada regla son

6.6.

Regla

Error real

Rectngulo

0.25318

Trapecio

0.06288

Punto medio

0.03198

Simpson

3.6104

Estimacin del error


|f ()|
(b a)2 0.4288819
2
|f ()|
(b a)3 0.166666
12
|f ()|
(b a)3 0.0833333
24
|f 4 ()| ba 5
( 2 ) 4.1666103
90

Reglas compuestas de integracin


b

Las estimaciones de I = a f (x)dx presentadas anteriormente no producen una buena


aproximacin, particularmente cuando el intervalo [a, b] es grande. Introducir ms puntos
de interpolacin para compensar el aumento en el tamao del intervalo no es conveniente
pues la acumulacin del error debido a que el trmino wk+1 (x) = nj=0 (x xj ) es cada
vez mayor conforme n aumenta. La alternativa prctica es dividir [a, b] en un conjunto de
subintervalos pequeos y aplicar las reglas simples de integracin numrica en cada uno de
estos subintervalos.
Sea f (x) definida e integrable sobre [a, b]. Consideremos una subdivisin de [a, b] en n
ba
subintervalos iguales de longitud h =
como se ilustra en la Figura 6.11, y sean
n
xi = a + ih, i = 0, 1, . . . , n.

Esta claro que x0 = a y xn = b. Entonces


b

xi

i=1

xi1

f (x)dx =
a

f (x)dx ,

164

L. Hctor Jurez V.

...

x1

a=x0

xn-1

xn=b

Figura 6.11: Subdivisin del intervalo en n subintervalos.

y las integrales delante de la sumatoria se aproximan utilizando las reglas simples en cada
subintervalo.

1. Regla del trapecio compuesta. Para cada i = 1, 2, . . . , n, se tiene


xi

f (x)dx =
xi1

h
f (i ) 3
{f (xi1 ) + f (xi )}
h ,
2
12

para algn i [xi1 , xi ]. Entonces


b
a

h
f (x)dx =
2
=

n
i=1

h3
[f (xi1 ) + f (xi )]
12

h
[f (x0 ) + 2
2

f (i )
i=1

n1

f (xi ) + f (xn )]
i=1

h3
12

f (i )
i=1

La ltima sumatoria se puede simplificar cuando f C 2 [a, b], pues en este caso
m f (i ) M

para cada i = 1, . . . , n,

en donde
m = mn f (x) y M = max f (x) .
axb

As que

axb

n
i=1

f (i )
M.
n
Por el teorema del valor intermedio aplicado a la funcin continua f (x) sobre [a, b],
existe en [a, b] tal que
n
f (i )
f () = i=1
n
es decir
m

nf () =

f (i )
i=1

Anlisis Numrico

165

Por lo tanto, el trmino del error en la regla de cuadratura es

h3
h2
nf () = (b a)f ()
12
12

pues nh = b a. Resumiendo, la regla del trapecio compuesta es


b

f (x)dx
a

h
[f (x0 ) + 2
2

n1

f (xi ) + f (xn )]
i=1

y la expresin del error es


e=

ba
f ()h2
12

2. Regla de Simpson compuesta


Sabemos que para cada i = 1, 2, . . . , n
xi

f (x)dx =
xi1

h
f 4 (i ) h
f (xi1 ) + 4f (xi 1 ) + f (xi )
2
6
90
2

donde hemos usado la notacin


xi 1 =
2

xi1 + xi
.
2

Sumando de i = 1 a i = n obtenemos
b

f (x)dx =
a

h
6

[f (xi1 ) + 4f (xi 1 ) + f (xi )]


2

i=1

h
f (x0 ) + 2
6

n1

1 h
90 2

5 n

f 4 (i )
i=1

f (xi 1 ) + f (xn )

f (xi ) + 4
i=1

h
ba 4

f (i )
180
2

i=1

en donde en el trmino del error hemos utilizado un argumento similar al utilizado en


la regla del trapecio:
n

Suponiendo f C 4 [a, b] :

f 4 (i ) = nf 4 () ,
i=1

para algn en [a, b].


Ejemplo 6.11. Estimar el nmero de subintervalos en los que hay que dividir el intervalo
2
1
[0, 1] para que la regla compuesta del trapecio calcule 0 ex dx con un valor correcto a 6
dgitos.

166

L. Hctor Jurez V.

Solucin. El error en la regla de trapecio es

con a = 0, b = 1, y h =

h2
h2
1
(b a)f () = f () =
f ()
12
12
12n2

1
. Entonces debemos pedir que
n
1
|f ()| 106 .
12n2

Como no conocemos , basta con calcular


M = max |f ()|
0x1

y despus determinar n tal que


1
M 106 .
12n2
2

Pero f (x) = ex (4x2 2) es creciente en 0 x 1, pues f (x) = 4xex (3 2x2 ) > 0 en


el mismo intervalo. Luego el mximo de |f (x)| debe tomarse en x = 0 en x = 1, as que
M = m
ax{|f (0)|, |f (1)|} = max{2, 2e1 } = 2 ,
y n debe ser tal que

1
2 106 . Es decir
12n2
n

106
408
6

El valor n = 408 subintervalos es realmente una sobre estimacin del nmero necesario ya
que estamos usando M = m
ax{|f (x)| : 0 x 1} en lugar de |f ()|. A continuacin
mostramos los valores obtenidos usando diferentes valores de n.
n

Resultado

error

50
100
200
400
800

0.74679961
0.74681800
0.74682260
0.74682375
0.74682404

2.452106
6.13106
1.53106
3.8107
9108

Estimacin del error


6.67105
1.67105
4.17106
1.04106
2.60107

Ntese que con n = 400 subintervalos ya se obtiene un error menor a 106 . En la tabla de
arriba la estimacin del error es
ba
ba
M h2
M
2
1
m
ax |f (x)|h2 =
M h2 =
=
=
= 2
2 0x1
2
12
12n2
12n2
6n

Anlisis Numrico

167

Con el objeto de comparar hacemos lo mismo con el mtodo de Simpson.


ba 4
h
|f ()|
180
2

1
h4
12h4
1
max |f 4 (x)|
=
=
106 ,
180
16
180 16
240n4

en donde m
ax0x1 |f 4 (x)| = 12. Por lo tanto
n

106
8,
240

y, como era de esperarse, este resultado muestra un aumento dramtico en la precisin


cuando se utiliza el mtodo de Simpson. A continuacin mostramos los resultados para
diferentes valores de n
n
2
4
6
8
22

Resultado

error

0.74685538
0.74682612
0.74682452
0.74682426
0.74682413

3.125105
1.99106
3.96107
1.27107
4.99109

Estimacin del error


2.604104
1.628105
3.215106
1.017106
1.780108

en donde la estimacin del error se obtuvo por medio de


ba
h4
1
max |f (4) (x)|
=
.
180
16
240 n4

6.7.

Frmulas de cuadratura de Gauss

Todas las reglas de integracin numrica que hemos obtenido son de la forma
b

f (x)dx w0 f (x0 ) + w1 f (x1 ) + . . . + wn f (xn )

(6.2)

donde x0 , x1 , . . . , xn son puntos de interpolacin y w0 , w1 , . . . , wn son pesos tales que


b
n
i=0 wi /(b a) = 1. Si se escogen los wi como wi = a i (x)dx, donde i (x) es el polinomio
de Lagrange asociado al punto xi , entonces la regla es exacta al menos para polinomios de
grado n. Sin embargo, es posible hacer que la regla sea exacta para polinomio de grado 2n+1
si se escogen los puntos x0 , x1 , . . . , xn de manera apropiada, y no igualmente separados
como lo hemos hecho hasta ahora. Esta es la idea bsica de las reglas de cuadratura de
Gauss.
Los valores w0 , w1 , . . . , wn se escogen de manera arbitraria y los puntos x0 , x1 , . . . , xn
tienen como nica restriccin que f (x) este definida en ellos, as que hay 2n + 2 parmetros

168

L. Hctor Jurez V.

(grados de libertad) involucrados. Dado que los polinomios de grado 2n + 1 contienen 2n + 2


coeficientes, entonces la clase de polinomios de mayor grado para los cuales se espera que la
frmula (6.2) sea exacta es precisamente la de los polinomios de grado 2n + 1.
La idea para derivar una regla de cuadratura numrica que proporcione este nivel de
presicin esta basada fuertmente en un concepto que es muy til y poderoso en matemticas: el concepto de ortogonalidad.

Definicin 6.12. Conjunto ortonormal de funciones. El conjunto de funciones 0 (x),


1 (x), . . ., n (x), es un conjunto ortonormal en [a, b] con respecto a la funcin de peso v(x)
siempre y cuando para toda 0 i, j n
b

v(x)i (x)j (x)dx = ij .


a

Ejemplo 6.13. Polinomios de Legendre


Los polinomios de Legendre pueden generarse en forma recursiva:
0 (x) = 1
1 (x) = x
(k + 1)k+1 (x) = (2k + 1) x k (x) kk1 (x) ,

k = 1, 2, . . . .

Se puede verificar fcilmente que estos polinomios son ortogonales en el intervalo [1, 1] con
respecto a la funcin de peso v(x) = 1. Algunas propiedades de estos polinomios son
1. El polinomio k (x) tiene k races distintas en (1, 1). Por ejemplo
3 2
(x
2
5 2
(x
2

2 (x) =
3 (x) =

1
1
) tiene races x =
3
3
3
) x tiene races x = 0, x =
5

3
.
5

2. Los polinomios 0 (x), 1 (x), . . . , n (x), al ser ortogonales y tener grados 0, 1, . . . , n,


generan el espacio de polinomios de grado n.
Si escogemos como puntos de interpolacin las races x1 , x2 , . . . , xn del polinomio de Legendre de grado n, n (x) sobre [1, 1], entonces podemos expresar f (x) por medio de su
polinomio de interpolacin de la siguiente manera
n

f (x) =

f (xi ) i (x) +
i=1

f (n) ((x))
n!

(x xi )
i=1

Anlisis Numrico

169

Esta claro que la regla de cuadratura


n

f (x)dx
1

wi f (xi ) con wi =
1

i=1

i (x)dx =
1 j=1

(x xj )
dx
(xi xj )

j=i

integra de manera exacta al menos polinomios de grado n 1 cualquier otra funcin


suave cuya derivada de orden n 1 sea cero sobre [a, b]. Verifiquemos que esta regla en
realidad es exacta para polinomios de grado 2n 1:
Sea p(x) un polinomio de grado 2n 1. Si dividimos este polinomio entre el polinomio
de Legendre de grado n, n (x), obtenemos un polinomio cociente q(x) de grado n 1, y
un polinomio residuo r(x) de grado n 1, tales que
p(x) = q(x)n (x) + r(x) .
As que
1

p(x)dx =

q(x)n (x)dx +

r(x)dx

Adems como q(x) es polinomio de grado n 1, entonces es combinacin lineal de los


polinomios de Legendre 0 (x), 1 (x), . . . , n1 (x). Es decir, existen d0 , d1 , . . . , dn1 R
tales que
n1

q(x) =

di i (x).
i=0

Luego
n1

p(x)dx =
1

di
1

i=0
1

i (x)n (x)dx +

r(x)dx
1

r(x)dx ,
1

debido a la ortogonalidad de los polinomios de Legendre. Por otro lado como r(x) es un
polinomio de grado n 1, entonces la ltima integral en la expresin anterior se puede
sustituir por
n

r(xi )wi

con wi =

1
i (x)dx =

i=1

1 i=j

(x xj )
dx .
(xi xj )

Pero adems, como cada punto xi , 1 i n, es raz de n (x), se tiene p(xi ) = q(xi )n (xi )+
r(xi ) = r(xi ). Por lo tanto,
n

p(x)dx =
1

wi p(xi )
i=1

170

L. Hctor Jurez V.
n

xi

wi

x2 = x1 = 0.5773502692

w1 = w2 = 1

x3 = x1 = 0.7745966692
x2 = 0

w1 = w3 = 0.5555555556
w2 = 0.8888888889

x4 = x1 = 0.8611363116
x3 = x2 = 0.3399810436

w1 = w4 = 0.3478548451
w2 = w3 = 0.6521451549

x5 = x1 = 0.9061798459
x4 = x2 = 0.5384693101
x3 = 0

w1 = w5 = 0.2369268851
w2 = w4 = 0.4786286705
w3 = 0.5688888889

Cuadro 6.1: Puntos y pesos para reglas de cuadratura de Gauss.

lo cual comprueba que la regla de la cuadratura es exacta para el polinomio arbitrario p(x)
de grado 2n 1.
En la siguiente tabla se muestran valores xi , wi a diez cifras decimales para distintos
valores de n.
En la prctica, queremos integrar en un intervalo arbitrario [a, b] y no solamente en
[1, 1]. En estos casos utilizamos el cambio de variable
t=

2x a b
ba

el cual transforma [a, b] en [1, 1] si a < b. En este caso

x=

(b a)t + a + b
2

y
b

f (x)dx =
a

f
1

(b a)t + a + b
2

ba
dt
2

La regla Gaussiana se aplica a esta ltima integral.

Ejemplo 6.14. Calcular I =


5).

1 x2
dx
0 e

utilizando la frmula Gaussiana de 5 puntos (n =

Anlisis Numrico

171

Solucin: a = 0, b = 1 implica x =
1

ex dx =

t+1
. Por lo tanto
2
e(

t+1 2
)
2

1
5

1
2

wi e(

1
1
dt =
2
2

xi +1 2
)
2

e(

t+1 2
)
2

dt

= 0.74682413

i=1

utilizando los valores xi y wi de la tabla con n = 5.


Observacin. Para obtener una precisin comparable con la regla del trapecio se requieren
2, 800 subdivisiones de [0, 1], mientras que con la regla de Simpson se necesitan 20 subdivisiones aproximadamente.
Otros casos que llevan a reglas de integracin de Gauss son
Intervalo
[1, 1]
[1, 1]
[0, )
(, )

6.8.

Funcin de peso v(x)


x2 )1/2

(1

(1
+ x) , , > 1
ex
2
ex

x) (1

Nombre
Tn (x), Chebishev
Pn, (x), Jacobi
Ln (x), Laguerre
Hn (x), Hermite

Ejercicios

1. Encuentra los polinomios de Taylor de grados n = 1, 2, 3, para f (x) = sen(x) cerca de


x0 = 0, y grafcalos junto con f (x) en el intervalo [/4, /4]. Compara los errores
cometidos en x = /6.
2. Supngase que f C (n+1) [a, b], y sea pn (x) el polinomio de interpolacin para f (x)
en x0 = a, x1 , . . . , xn = b. Demuestra que la funcin de t
F (t) = f (t) pn (t)

f (x) pn (x)
w(t),
w(x)

donde w(x) =

(x xj )
j=0

es de clase C (n+1) en [a, b], y que tiene al menos n + 2 ceros: x0 , x1 , . . . , xn , x. Demuestra que f (n+1) (x) tiene al menos un cero en [a, b]. Deduce la expresin para el
error en el polinomio de interpolacin.

172

L. Hctor Jurez V.

3. La interpolacin lineal iterada est basada en el siguiente hecho observado por Neville:
Sea pij (x) el polinomio de grado menor o igual a j i, el cual interpola f (x) en los
puntos xi , xi+1 , . . . , xj con i < j. Entonces
pij =

xj x
x xi
pi+1, j (x) +
pi, j1 (x).
xj xi
xj xi

Demuestra esta identidad probando las siguientes propiedades


a) pij es efectivamente un polinomio de grado menor o igual a j i.
b) pij (xk ) = f (xk ) para k = i, i + 1, . . . , j.

4. Dada una funcin f (x) definida en [a, b] y los puntos x0 , x1 , . . . , xn , escribe las formas de Lagrange y Newton del polinomio de interpolacin pn (x). Escribe tambin las
frmulas del error en ambos casos.
5. Dados los valores log10 (1) = 0, log10 (1.5) = 0.17609, log10 (2) = 0.30103, log10 (3) =
0.47712, log10 (3.5) = 0.54407 y log10 (4) = 0.60206, encuentra los siguientes valores
utilizando interpolacin cbica en forma de Lagrange y Newton:
a) log10 (1.25),

b) log10 (3.25)

Escoge los mejores puntos de interpolacin en cada caso. Utiliza los resultados para
recalcular los valores de los incisos anteriores, por medio de un polinomio de interpolacin, pero ahora de cuarto grado. Grafica tus resultados y estima el error cometido
en cada caso.
6. El error en la interpolacin lineal de f (x) en dos puntos distintos x0 , x1 es
e1 (x) = f (x) p1 (x) =

f ((x))
(x x0 )(x x1 )
2

si f C (2) [x0 , x1 ]. Determina (x) explcitamente en el caso en que f (x) = 1/x,


x0 = 1, x1 = 2, y encuentra el mximo y mnimo de (x) en [1, 2].
7. Sea pn (x) el polinomio que interpola a f (x) = ex en los puntos xi = i/n, i =
0, 1, . . . , n. Calcula una cota superior para el error |en (x)| = |f (x) pn (x)| en [0, 1].
Determina el menor n para que este error sea menor a 103 y a 106 . Calcula el polinomio de interpolacin en el primer caso y grafcalo junto con la funcin exponencial
en el intervalo [0, 1].

Anlisis Numrico

173

Sugerencia: Primero demuestra que


m
ax

0x1

i
n

ni
n

1
,
4

i = 0, 1, . . . , n.

8. Los puntos de interpolacin influyen en el error del polinomio de interpolacin por


medio del polinomio w(x) = ni=0 (x xi ). Supngase que interpolamos una funcin
f sobre el intervalo [1, 1] usando interpolacin cuadrtica.
(a) Si x0 = 1, x1 = 0, x2 = 1, determinar el mximo valor de la expresin |w(x)|
para 1 x 1.

(b) Si x0 = 3/2, x1 = 0, x2 = 3/2, determinar de nuevo el valor mximo de


|w(x)| para 1 x 1. Cmo se compara con el mximo de la parte (a)?
(c) Ahora selecciona cualesquier tres nmeros del intervalo [1, 1] que sirvan como puntos de interpolacin. Determina el mximo de |w(x)| y compara con los
resultados de las partes (a) y (b).
9. Deducir las reglas del rectngulo y punto medio para aproximar la integral de una funcin f (x) en el intervalo [a, b], as como las expresiones del error. Construye tambin
las correspondientes reglas compuestas y su expresin del error.

10. Complementa el programa newtoncotes.m, agregando las reglas compuestas del rectngulo y punto medio. Para cada una de estas reglas estima el nmero de subintervalos para obtener un error menor o igual a 106 en la aproximacin de la integral de
2
f (x) = ex en el intervalo [0, 1]. Construye una tabla semejante a las mostradas en
la Seccin 6.6. Toma
n = 103 , 104 , 105 , 3 105 , y 4 105
n = 50, 100, 150, 200 y 300

para la regla del rectngulo,


para la regla del punto medio.

11. Deriva la frmula de NewtonCotes con cuatro puntos de interpolacin igualmente


espaciados para integrar f (x) en el intervalo [a, b]. Derivar el trmino del error asociado
con esta regla de cuadratura.
12. Calcula el valor de con la precisin de la mquina realizando cuadratura numrica
en la identidad integral
1
1

dx = .
2
4
0 1+x

174

L. Hctor Jurez V.
Cuntos subintervalos se requieren con la regla de Simpson? Cuntos con la regla
de Gauss de tres puntos?

13. Calcula los polinomios de Legendre n (x) en [1, 1] hasta el grado n = 5. Calcula las
races de 3 , 4 y 5 . Encuentra los valores
1

wi =
1 j=1

x xj
dx
xi xj

j=i

para caso estos casos y compara con los valores mostrados en el Cuadro 6.1.
14. Verifica que los polinomios de Legendre 1 , 2 , 4 , 4 forman un conjunto ortonormal
con funcin de peso v(x) = 1.
15. Construye una regla compuesta de Gauss de orden 3 e integra la funcin f (x) = ex /x en
el intervalo [1, 2], aumentando el nmero de subintervalos hasta alcanzar la precisin
de la mquina. Cuntos subintervalos se necesitan con la Regla de Simpson para
alcanzar la misma precisin.

Captulo 7

Aproximacin Numrica de
Ecuaciones Diferenciales Ordinarias
7.1.

Conceptos bsicos

Los problemas de valores iniciales o ecuaciones diferenciales ordinarias ocurren en muchas reas de la ciencia, pero ms particularmente en la mecnica (incluyendo la mecnica
celeste), donde el movimiento de partculas (planetas) obedece la segunda ley de Newton.
Algunos astrnomos como Adams, Moulton, Cowell, contribuyeron al desarrollo de tcnicas numricas para resolver ecuaciones diferenciales ordinarias. Las ecuaciones diferenciales
ordinarias tambin juegan un papel importante en la mecnica cuntica, en el estudio de
dinmica de poblaciones, modelos biolgicos, desintegracin radiactiva, economa, circuitos
elctricos, entre otros campos. Los sistemas de ecuaciones diferenciales ordinarias aparecen
tambin como parte importante en la bsqueda de soluciones de las ecuaciones diferenciales
parciales.
El problema tpico de valores iniciales (que denotaremos por PVI) involucra sistemas de
ecuaciones diferenciales de primer orden de la forma
dy
= f (t, y), a < t b,
dt
y(t0 ) = y0
(t0 = a),

(7.1)
(7.2)

donde y = y(t) = (y1 (t), y2 (t), . . . , yn (t))T , y0 = (y01 , y02 , . . . , y0n )T son vectores en Rn , y
f : Rn+1 Rn es una funcin vectorial de la forma f = (f1 , f2 , . . . , fn )T , con funciones
componentes fi : Rn+1 R de la forma fi = fi (t, y1 , y2 , . . . , yn ), 1 i n.

175

176

L. Hctor Jurez V.

Ejemplos de ecuaciones diferenciales ordinarias (e.d.o.)


1. Geometra: La ecuacin de una circunferencia de radio r con centro en el origen es
x2 + y 2 = r2 . Suponiendo que y = y(x), cuando se deriva implcitamente la ecuacin,
se obtiene:
dy
dy
x
2x + 2y
= 0, es decir
= .
dx
dx
y
Si identificamos x con t entonces y = y(t), y obtenemos la ecuacin diferencial ordinaria
dy
t
= ,
dt
y
y(0) = r con r > 0.
2. Oscilador armnico simple: Consideremos un bloque de masa m suspendido de un
resorte. Si a partir de su posicin de equilibrio estiramos o encogemos el resorte, entonces este bloque comienza a oscilar. La ecuacin que describe el movimiento oscilatorio,
despreciando la friccin con el aire, se obtiene a partir de la segunda Ley de Newton.
mx (t) = k x(t),
donde x(t) indica la desviacin del bloque respecto a la posicin de equilibrio, k es la
constante de rigidez (o restitucin) del resorte. La anterior ecuacin puede reescribirse

equilibrio
x(t)<0

x(t)>0

m
Figura 7.1: Bloque de masa m suspendido por un resorte.

en la forma
x + w2 x = 0, con w =

k/m.

A su vez, esta ecuacin diferencial de segundo orden puede expresarse como un sistema
de dos ecuaciones diferenciales de primer orden de la forma (7.1). Esto se logra haciendo
la sustitucin
y1 (t) = x(t)

y1 (t) = y2 (t)

y2 (t) = x (t)

y2 (t) = w2 y1 (t)

Anlisis Numrico

177

Entonces identificando a y(t) y f (t, y) con


y(t) = (y1 (t), y2 (t))T ,
f (t, y) = (y2 , w2 y1 )T =

(7.3)
0
1
2
w 0

y1
y2

(7.4)

respectivamente, obtenemos el sistema mencionado.

En forma anloga, una ecuacin diferencial ordinaria de orden n de la forma


y (n) (t) = g(t, y(t), y (t), . . . , y (n1) (t)),
se puede transformar en un problema del tipo y = f (t, y), haciendo las sustituciones:
y1 (t) = y(t)

y1 (t) = y (t) = y2 (t)

y2 (t) = y (t)
..
.

y2 (t) = y (t) = y3 (t)

yn1 (t) = y (n2) (t)

yn1 (t) = y (n1) (t) = yn (t)

yn (t) = y (n1) (t)

yn (t) = y (n) (t) = g(t, y1 , y2 , . . . , yn )

e identificando a y(t) y f (t, y) con


y(t) = (y1 (t), y2 (t), . . . , yn (t))T ,
f (t, y) = (y2 (t), y3 (t), . . . , yn (t), g(t, y1 (t), y2 (t), . . . , yn (t)))T ,
respectivamente.
3. Problema de dos cuerpos. Un problema ligeramente ms elaborado de la mecnica
celeste es el que describe la rbita de un cuerpo de masa m bajo la atraccin de otro
cuerpo de masa mayor o igual M , como se ilustra en la Figura 7.2 .
Usando coordenadas cartesianas x1 (t), x2 (t), centradas en el cuerpo ms pesado, las
ecuaciones son:
G M m x1 (t)
,
r(t)2
G M m x2 (t)
x2 (t) =
,
r(t)2

x1 (t) =

178

L. Hctor Jurez V.
m
r(t)
M

Figura 7.2: Dinmica de dos cuerpos.

donde = M m/(m + M ) es la masa reducida, G es la constante de gravitacin


universal y r(t) = x1 (t)2 + x2 (t)2 . Si hacemos las sustituciones:
y1 (t) = x1 (t) y1 (t) = x1 (t) = y3 (t)
y2 (t) = x2 (t) y2 (t) = x2 (t) = y4 (t)
G M m y1 (t)
y3 (t) = x1 (t) y3 (t) = x1 (t) =
r(t)2
G M m y2 (t)
y4 (t) = x2 (t) y4 (t) = x2 (t) =
r(t)2
con r(t)2 = x1 (t)2 + x2 (t)2 = y1 (t)2 + y2 (t)2 y M m/ = m + M obtenemos el sistema
de ecuaciones diferenciales ordinarias de primer orden y (t) = f (t, y) donde
y(t) = (y1 (t), y2 (t), y3 (t), y4 (t))T ,
f (t, y) = (f1 , f2 , f3 , f4 )T ,
con
f1 (t, y) = y3 ,
f2 (t, y) = y4 ,
G (M + m) y1
,
y12 + y22
G (M + m) y2
f4 (t, y) =
.
y12 + y22
f3 (t, y) =

El teorema fundamental del clculo establece una conexin importante entre ecuaciones diferenciales e integrales
dy
= f (t, y)
dt

t+h

y(t + h) = y(t) +

f (s, y(s))ds .
t

(7.5)

Anlisis Numrico

179

No podemos usar integracin numrica directamente en el problema de la derecha debido


a que y(s) es una funcin desconocida. De cualquier manera la idea bsica es escoger una
sucesin de valores h (pasos del tiempo) y a partir de dicha frmula generar nuestra solucin
numrica. Un caso especial es cuando f (t, y) = f (t), en cuyo caso la ecuacin diferencial
se simplifica considerablemente ya que la solucin se obtiene directamente calculando la
antiderivada de f (t), es decir:
t+h

f (s)ds .

y(t + h) = y(t) +

(7.6)

La solucin numrica es entonces una aproximacin obtenida por medio de la sucesin de


cuadraturas de la forma
tn+1

yn+1 yn +

f (s)ds

(7.7)

tn

7.2.

Existencia y unicidad de la solucin

La existencia y unicidad de soluciones del problema (7.1)(7.2) depende fundamentalmente de las propiedades de suavidad de la funcin f (t, y). En particular se requiere que
f sea continua respecto a t y Lipschitz continua respecto a y. Antes de enunciar el teorema,
recordamos este ltimo concepto.
Definicin 7.1. Una funcin f : [a, b] Rn Rn se dice que es Lipschitz continua respecto
a la variable y si existe una constante L > 0 tal que
f (t, y) f (t, y ) L y y ,
en alguna norma vectorial

t [a, b], y, y Rn

de Rn .

Ejemplo 7.2. En el problema del oscilador armnico encontramos que f (t, y) = (y2 , w2 y1 )T ,
con w constante. Entonces en la norma euclidiana se tiene
f (t, y) f (t, y )

=
=

(y2 y2 , w2 (y1 y1 ))T

(y2 y2 )2 + w4 (y1 y1 )2

max{1, w2 }

(y2 y2 )2 + (y1 y1 )2

= max{1, w2 } y y

Por tanto, si tomamos L = max{1, w2 }, entonces se satisface una condicin de Lipschitz


para f (t, y) (en realidad en este caso f no depende de t).

180

L. Hctor Jurez V.

Obsrvese que la condicin tipo Lipschitz es parecida a la propiedad que define a una
aplicacin como una contraccin (ver captulo 3). Sin embargo, la constante de Lipschitz
no tiene que ser L < 1, pudiendo ser incluso muy grande pero constante. Intuitivamente
hablando, la condicin de Lipschitz asegura que la funcin f (t, y) no tenga cambios muy
bruscos o infinitos cuando y vara.
Teorema 7.3. Teorema de existencia y unicidad. Si f (t, y) es una funcin continua
respecto a la variable t en [a, b], Lipschitz continua respecto a la variable y en Rn , entonces
el problema de valores iniciales (PVI) tiene una solucin nica y(t), a t b para cualquier condicin inicial y0 Rn . Adems y(t) depende continuamente de t0 y y0 (los datos
iniciales).
Nota 1. En ocasiones la condicin de Lipschitz no se satisface para toda y Rn , sino en un
subconjunto Y de Rn . En este caso el teorema de existencia y unicidad sigue siendo vlido
en [a, b] Y .
Nota 2. En ocasiones es muy difcil verificar una condicin de Lipschitz en forma directa.
Sin embargo si las derivadas parciales fi (t, y)/yi son continuas y acotadas en [a, b] Rn
o [a, b] Y (con Y Rn ), entonces f (t, y) es Lipschitz continua respecto a y en Rn o Y,
respectivamente.

Ejemplo 7.4. La funcin f (t, y) = t/y no es Lipschitz continua en cualquier conjunto que
contenga y = 0. Sin embargo, como f /y = t/y 2 es continua respecto a t y respecto a toda
y = 0, entonces f (t, y) es Lipschitz continua en cualquier t [a, b] y cualquier conjunto Y
que no contenga y = 0. Geomtricamente es fcil observar que el problema no tiene solucin
si la condicin inicial fuese y(0) = 0 y(0) = r < 0, pues no hay circunferencias de radio
nulo o negativo.

7.3.

Mtodos de aproximacin con series de Taylor

En el presente estudio nicamente consideraremos mtodos de aproximacin de variable


discreta del problema PVI. En estos mtodos se encuentran aproximaciones yi de la solucin
exacta y(ti ) slo en puntos discretos ti [a, b], como se muestra en la Figura 7.3. Los
mtodos de series de Taylor son mtodos de este tipo. La idea para obtener este tipo de
mtodos consiste en lo siguiente: Sea y(t) la solucin de (7.1)(7.2) al tiempo arbitrario t.

Anlisis Numrico

181

yN

y(t0)=y0

y2

y1

y(tN)

y(t1) y(t2)

t0=a

t1

t2

...

tn=b

Figura 7.3: Aproximacin de variable discreta.

Si h es un incremento del tiempo, entonces


y (t) 2 y (t) 3
h +
h + ....
(7.8)
2!
3!
Si y(t) no es conocida, las derivadas de y(t) tampoco lo son. Sin embargo, sabemos que
y(t + h) = y(t) + y (t) h +

y (t) = f (t, y),


y (t) = f (1) (t, y) = ft (t, y) + fy (t, y) f (t, y),
(1)

y (t) = f (2) (t, y) = ft (t, y) + fy(1) (t, y) f (t, y),


..
.
(k1)

y (k+1) (t) = f (k) (t, y) = ft

(t, y) + fy(k1) (t, y) f (t, y) ,

en donde f (1) y f (2) , . . . , f (k) , k 0, indican derivadas totales de f respecto a t. Por lo tanto
(7.8) puede reescribirse como
y(t + h) = y(t) + h f (t, y) +

h3 (2)
h2 (1)
f (t, y) +
f (t, y) + . . .
2
3!

(7.9)

Obsrvese que si la funcin f (t, y) no es simple, las derivadas f (1) , f (2) , f (3) sern cada vez
ms complicadas. Adems por razones prcticas debemos limitarnos a un nmero finito de
trminos en la serie. Esta limitacin restringe los valores de h para los cuales (7.9) es una
buena aproximacin a y(t). Si cortamos la serie en p + 1 trminos (p 1), se obtiene
h2 (1)
hp (p1)
hp+1
f (t, y) + . . . +
f
(t, y) +
f (p) (, y())
2!
p!
(p + 1)!
h
hp1 (p1)
hp+1
f
(t, y) +
f (p) (, y())
= y(t) + h f (t, y) + f (1) (t, y) + . . . +
2!
p!
(p + 1)!

y(t + h) = y(t) + h f (t, y) +

182

L. Hctor Jurez V.

con entre t y t + h. Entonces, podemos escribir


y(t + h) = y(t) + h (t, y; h) +

hp+1
f (p) (, y()),
(p + 1)!

(7.10)

con
p1

f (k) (t, y)

(t, y; h) =
k=0

hk
(k + 1)!

(7.11)

El algoritmo de Taylor, y otros mtodos basados en este tipo de algoritmos calculan y en


ti+1 usando solamente informacin de y en ti , donde ti+1 = ti + hi es un incremento en
tiempo de ti . La forma ms sencilla de llevar a cabo esta estrategia es dividir el intervalo
[a, b] en N subintervalos de igual longitud h = (b a)/N , obteniendo el
Algoritmo de Taylor de orden p
1. Escoger h = (b a)/N y sean ti = t0 + i h, con i = 0, 1, . . . , N .
2. Dado el valor inicial y0 , para cada i = 0, 1, . . . , N 1 generar una aproximacin yi+1
de la solucin exacta y(ti+1 ) por medio de la relacin de recurrencia
yi+1 = yi + h (ti , yi ; h),

(7.12)

Por ejemplo, cuando p = 1 se obtiene (t, y; h) = f (t, y) y obtenemos el mtodo de Euler,


cuya relacin de recurrencia es:
yi+1 = yi + h f (ti , yi ),

i = 0, 1, . . . , N 1.

(7.13)

El mtodo de Taylor de segundo orden se obtiene con p = 2. En este caso (t, y; h) =


f (t, y) + h2 f (1) (t, y), y la relacin de recurrencia es
yi+1 = yi + h f (ti , yi ) +

h (1)
f (ti , yi ) ,
2

i = 0, 1, . . . , N 1.

(7.14)

A continuacin introducimos algunas definiciones tiles para analizar los mtodos de


Taylor y otros mtodos que estudiaremos ms adelante.

Definicin 7.5. Error de truncamiento. El error de truncamiento del mtodo de un paso


yi+1 = yi + h (ti , yi ; h),

(7.15)

Anlisis Numrico

183

se define como
T (t, y; h) =

1
(yaprox y(t + h)),
h

donde
yaprox = y(t) + h (t, y(t); h).
Entonces el error de truncamiento es una medida de la diferencia entre las soluciones aproximada y exacta de la ecuacin diferencial por unidad del paso de tiempo h. Sustituyendo
la expresin yaprox en la expresin T (t, y; h), obtenemos
T (t, y; h) = (t, y; h)

1
[y(t + h) y(t)]
h

(7.16)

Definicin 7.6. Consistencia. El mtodo de un paso (7.15) es consistente si


T (t, y; h) 0,

cuando

h 0.

De la relacin (7.16) se obtiene que el mtodo es consistente si


y(t + h) y(t)
h0
h0
h0
h
= (t, y; 0) y (t) = (t, y; 0) f (t, y).

0 =

lm T (t, y; h) = lm (t, y; h) lm

Es decir, el mtodo de un paso es consistente si


(t, y; 0) = f (t, y)

(7.17)

Definicin 7.7. Orden del mtodo El mtodo (7.15) se dice que tiene orden p, con p 1
entero, si en alguna norma vectorial
T (t, y; h) c hp

(7.18)

uniformemente sobre [a, b] Rn , donde c no depende de t,ni de y ni de h.


Para expresar que el mtodo es de orden p, usualmente escribimos
T (t, y; h) = O(hp ), h 0
Obsrvese que si p > 1, entonces automticamente se tiene consistencia en el mtodo. El
nmero p se denomina el orden exacto del mtodo si la desigualdad (7.18) no se cumple
para ningn nmero mayor a p.

184

L. Hctor Jurez V.

Definicin 7.8. Funcin principal del error. Si determina un mtodo de orden p, a


una funcin : [a, b] Rn Rn que satisfaga
(x, y) = 0

T (t, y; h) = (t, y)hp + O(hp+1 ), h 0,

se denomina la funcin principal del error.


La funcin principal del error determina el trmino lder en el error de truncamiento. El
nmero p en
T (t, y; h) = (t, y)hp + O(hp+1 )
es el orden exacto del mtodo ya que (t, y) = 0.
Nota. Todas las definiciones anteriores se hacen con la idea en mente de que h > 0 es
un nmero pequeo. Entonces entre mayor es p ms preciso es el mtodo. Por ejemplo, el
mtodo de Taylor de segundo orden (p = 2) es ms preciso que el mtodo de Euler (p = 1).

Ejemplo 7.9. Ilustraremos las definiciones anteriores para el mtodo de Euler:


yi+1 = yi + h f (ti , yi ),

i = 0, 1, 2, . . . , N 1

Dado que (t, y; h) = f (t, y) no depende de h, entonces (t, y, 0) = f (t, y) e inmediatamente


concluimos que el mtodo es consistente. El error de truncamiento es: (suponiendo que
y C 2 [a, b])
1
1
(y(t + h) y(t)) = f (t, y) (y(t + h) y(t))
h
h
1
h2
h
h
= y (t) (h y (t) +
y ()) = y () = f (1) (, y())
h
2
2
2

T (t, y; h) = (t, y; h)

donde f (1) ft + fy f , con entre t y t + h. Por lo tanto, si f y todas sus derivadas parciales
de primer orden estn uniformemente acotadas en [a, b] Rn , entonces
T (t, y; h) c h.
Esto muestra que efectivamente el mtodo de Euler es de primer orden.
Si hacemos la misma suposicin de acotamiento uniforme sobre las segundas derivadas
de y, entonces y () = y (t) + O(h), as que
T (t, y; h) =

h
[ft + fy f ] (t, y) + Oh2 ,
2

h 0,

Anlisis Numrico

185

lo cual demuestra que la funcin principal del error es


1
1
(t, y) = [ft + fy f ](t, y) = f (1) (t, y).
2
2
As pues, a menos que ft + fy f 0, el mtodo de Euler tiene exactamente orden p = 1.
Ejemplo 7.10. En forma anloga podemos hacer un anlisis para el mtodo de Taylor
general (7.12).
Suponiendo que f C p sobre [a, b] Rn de (7.10), (7.11) y (7.16) se obtiene
T (t, y; h) =

hp
f (p) (, y())
(p + 1)!

(7.19)

con entre t y t + h. As que


T (t, y; h)

cp
hp ,
(p + 1)!

con cp = cota de f (p) (t, y) en [a, b] Rn . Entonces, el mtodo tiene exactamente el orden p,
a menos que f (p) (t, y) 0 y, por lo tanto, la funcin principal del error es
(t, y) =

1
f (p) (t, y)
(p + 1)!

(7.20)

Claramente el mtodo es consistente, pues de (7.11) se obtiene


(t, y; 0) = f (t, y).
Ejemplo 7.11. Considrese la siguiente ecuacin diferencial escalar de primer orden
y (t) = a y b y 2 ,

t0 < t tf

y(t0 ) = y0 .
Esta ecuacin es el modelo lgistico del crecimiento de poblaciones com parmetros vitales
a y b. El parmetro a indica el grado de crecimiento de la poblacin, y b modela nivel de
competencia de la poblacin as como el nivel de los recursos de sustentacin de la poblacin.
La solucin exacta viene dada por
y(t) =

a y0
b y0 + (a b y0 ) ea t

y se aproxima a la poblacin lmite y = lmt y(t) = a/b. Consideramos los valores


a = 1, b = 0.005, t0 = 0, tf = 8, y0 = 10 y escogemos como parmetro de discretizacin de
tiempo h = 0.1.

186

L. Hctor Jurez V.

En la Figura 7.4 y en el Cuadro 7.1 se muestran los resultados con el mtodo de Euler
y el mtodo de Taylor de segundo orden. En ambos casos slo se muestran los resultados
cada cinco pasos de tiempo. Tanto en el cuadro como en la grfica se observa una mejor
aproximacin con el mtodo de Taylor de segundo orden que con el mtodo de Euler, como
era de esperarse. Obsrvese que en este caso f (t, y) = a y b y 2 , y entonces f (1) (t, y) =
(a 2 b y)(a y b y 2 ) = y (a 2 b y)(a b y). En el Cuadro 7.1 tambin es posible observar
que el error en el mtodo de Euler es O(h), mientras que para el mtodo de Taylor de segundo
orden es O(h2 ). Adems, como se observa en la grfica, a medida que se avanza en el tiempo
y la solucin tiende a su valor lmite, el error va disminuyendo en ambos casos. Se puede dar
una explicacin de este comportamiento por medio del error de truncamiento: Suponiendo
h constante y pequeo, el trmino que domina en (7.19) es la funcin principal del error
(7.20), la cual tiende a cero para p = 1 y p = 2, debido que la solucin exacta tiende al
valor contante y = a/b y, por lo tanto, cualquier derivada f (p) (, y()) = y (p+1) () tiende
a cero, haciendo el error cada vez ms pequeo conforme se llega a la poblacin lmite.

200

150
y(t)
100

50
Exacta
Euler
Taylor
0
0

Tiempo

10

Figura 7.4: Grficas de las soluciones con los mtodos de Euler y Taylor de segundo orden.

Ejemplo 7.12. Consideremos la ecuacin del oscilador armnico simple


x (t) + w2 x(t) = 0,
x(0) = 1,

0 < t 2,

x (0) = 0.

Anlisis Numrico
t
0.0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
8.0

187

Sol. Exacta
10
15.969234
25.032200
38.171778
56.000912
78.136752
102.77734
127.08497
148.36827
165.14310
177.30166
185.58924
191.00440
194.44559
196.59386
197.92014
198.73332

Sol. Euler
10
15.667868
24.173025
36.452708
53.215871
74.398281
98.637430
123.32914
145.58199
163.45948
176.50349
185.35110
191.05386
194.60811
196.77670
198.08264
198.86286

Sol. Taylor
10
15.961783
25.013070
38.139291
55.960287
78.101050
102.75950
127.08654
148.37906
165.15171
177.30313
185.58438
190.99616
194.43661
196.58568
197.91341
198.72813

Error Euler
0
3.0136547e-001
8.5917490e-001
1.7190693e+000
2.7850413e+000
3.7384709e+000
4.1399065e+000
3.7558230e+000
2.7862786e+000
1.6836144e+000
7.9817667e-001
2.3814482e-001
4.9462366e-002
1.6251834e-001
1.8284181e-001
1.6250097e-001
1.2954473e-001

Error Taylor
0
7.4503650e-003
1.9130056e-002
3.2487074e-002
4.0625456e-002
3.5701963e-002
1.7832833e-002
1.5783894e-003
1.0789616e-002
8.6190204e-003
1.4663846e-003
4.8632042e-003
8.2363908e-003
8.9865936e-003
8.1783772e-003
6.7268039e-003
5.1902058e-003

Cuadro 7.1: Comparacin entre los mtodos de Euler y Taylor de segundo orden.
En este caso primero transformamos la ecuacin diferencial de segundo orden en un sistema
de dos ecuaciones de primer orden y (t) = f (t, y(t)) con y y f (t, y) como se indica en (7.3)
(7.4). La condicin inicial es y(0) = (y1 (0), y2 (0))T = (1, 0)T , adems
f (1) (t, y) = ft (t, y) + fy (t, y) f (t, y) =

0
0

0
1
2
w 0

y2
w2 y1

= w2

y1
y2

Tomando w = 2, se obtiene
f (t, y) = (y2 , 4y1 )T ,

f (1) (t, y) = 4(y1 , y2 )T ,

y el mtodo de Euler y Taylor de segundo orden con h = 0.1 producen los resultados
mostrados en la Figura 7.5. En este caso es ms evidente la superioridad del mtodo de
Taylor de segundo orden que en el caso anterior, pues la solucin obtenida con el mtodo
de Euler se deteriora dramticamente conforme avanza el tiempo. El mtodo de Taylor de
segundo orden (7.14) produce resultados satisfactorios debido a que toma en cuenta el cambio
de concavidad de la solucin en la funcin del mtodo (t , y; h) = f (t, y) + h f (1) (t, y)/2,
mientras el mtodo de Euler no. Por lo tanto, la acumulacin del error con el mtodo de
Euler es mucho mayor que lo esperado, de acuerdo a su orden. Por esta razn, el mtodo de

188

L. Hctor Jurez V.

Euler generalmente no es usado en la prctica como mtodo de aproximacin para resolver


ecuaciones diferenciales ordinarias y se prefieren los mtodos de orden mayor. Sin embargo,
4
3

Exacta
Euler
Taylor

2
1
x(t)
0
1
2
3
0

Tiempo

Figura 7.5: Soluciones numricas para el oscilador armnico simple.

una de las principales desventajas de los mtodos de Taylor de orden mayor es que es
necesario calcular derivadas de orden superior f (k) (t, y). Por esta razn los investigadores
optaron por buscar mtodos de orden mayor al mtodo de Euler pero sin la necesidad de
calcular derivadas de f (t, y). En la siguiente seccin se introduce la clase de mtodos ms
conocidos con esa propiedad: los denominados mtodos de Runge-Kutta.

7.4.

Mtodos de Runge-Kutta

En el mtodo de Euler, para calcular y(t + h) a partir de y(t), se corrige el valor y(t)
sumando hf (t, y), para obtener
yaprox = y(t) + hf (t, y),
donde yaprox denota una aproximacin al valor exacto y(t + h). La Figura 7.6 ilustra la
diferencia entre yaprox y y(t + h). Se toma en cuenta que f (t, y) = y (t) representa la
pendiente de la tangente a y en t.
Habiendo hecho esta descripcin geomtrica, observamos que para mejorar el clculo es
necesario seguir una mejor direccin a partir del punto (t, y(t)). Esto se logra reevaluando
la pendiente a la mitad del intervalo [t, t + h], y entonces seguir la pendiente revisada sobre

Anlisis Numrico

189

yaprox
Pendiente
1
y (t)=f(t,y)

y(t+h)

y(t)

t+h

Figura 7.6: Interpretacin geomtrica del mtodo de Euler.

el intervalo completo. Es decir


f

Pendiente revisada:

yaprox

Nuevo mtodo:

h
h
, y + f (t, y)
2
2
h
h
= y + h f t + , y + f (t, y)
2
2

t+

En este caso obtenemos


(t, y; h) = f (t +

h
h
, y + f (t, y)).
2
2

Esta construccin se muestra en la Figura 7.7. Ntese la caracterstica anidada de f en la

yaprox
m=f(t+h/2,y+h/2 f(t,y))
y(t+h)

y(t)

t+h/2

t+h

Figura 7.7: Interpretacin del mtodo de Euler mejorado.

frmula de aproximacin. Para propsitos de programacin se deshace el anidamiento de f

190

L. Hctor Jurez V.

y escribimos:
Mtodo de Euler modificado (o mejorado)

k (t, y) = f (t, y)

1
k2 (t, y) = f (t + h2 , y + h2 k1 )

yaprox = y + hk2

(7.21)

En este mtodo, hemos tomado dos pendientes de prueba: k1 y k2 . La primera se toma en el


punto inicial, y la segunda a la mitad del camino, y al final hemos tomado la segunda como
pendiente para avanzar.
Es posible tambin tomar la segunda pendiente de prueba en el punto (t+h, y +hf (t, y)),
pero entonces se corre el peligro de haber esperado mucho para revaluar la pendiente. Una
mejor opcin es tomar la pendiente final como el promedio de las dos pendientes m1 = f (t, y)
y m2 = f (t + h, y + hf (t, y)). Con esta estrategia obtenemos el siguiente mtodo, cuya
interpretacin grfica se muestra en la Figura 7.8:

m2=f(t+h,y+hf(t,y))

yaprox
y(t+h)
m1=f(t,y)

m= m1+m2
2

t+h

Figura 7.8: Interpretacin del mtodo del Trapecio.

Mtodo de Heun (o del trapecio)

k (t, y) = f (t, y)

1
k2 (t, y) = f (t + h, y + hk1 )

yaprox = y + h (k1 + k2 )
2

(7.22)

Anlisis Numrico

191

En este caso

1
(t, y; h) = [f (t, y) + f (t + h, y + hf (t, y))].
2
En los algoritmos usualmente no se utiliza la letra m para denotar las pendientes en los mtodos. En su lugar se utliza la letra k. Las ventajas que se obtienen con estas modificaciones
para revaluar la pendiente son bsicamente dos:
1. Los mtodos obtenidos tienen un orden p = 2, el cual es mayor que el mtodo de Euler.
2. No se evalan derivadas de f . Slo se evala f dos veces en cada paso de tiempo.

7.5.

Mtodos de Runge-Kutta de dos etapas

Una forma ms sistemtica para obtener los mtodos anteriores (7.21) y (7.22) consiste
en suponer que es un promedio pesado de dos pendientes k1 y k2 . Es decir
(t, y; h) = 1 k1 + 2 k2
con 1 + 2 = 1, 1 , 2 0, y
k1 (t, y) = f (t, y),
k2 (t, y) = f (t + h, y + hk1 ),
En las pendientes anteriores el parmetro expresa que fraccin de tiempo nos movemos
entre t y t + h. La idea fundamental de los mtodos de RungeKutta es intentar escoger los
parmetros 1 , 2 y de tal manera que el orden del mtodo se pueda maximizar. Es decir,
de tal forma que
T (t, y; h) = (t, y; h)

y(t + h) y(t)
h

= 1 f (t, y) + 2 f (t + h, y + hk1 )
= O(hp ), h 0

y(t + h) y(t)
h

con p mximo. Si escribimos t = h y y = h k1 = t f (t, y), entonces


f (t + h, y + hk1 ) = f (t + t, y + y)
= f (t, y) + [ft t + fy y] (t, y)
1
+
ftt t2 + 2fty ty + y T fyy y (t, y) + . . .
2
= f (t, y) + h [ft + fy f ] (t, y)
+

2 h2
[ftt + 2fty + f T fyy f ](t, y) + O(h3 )
2

192

L. Hctor Jurez V.

Anlogamente
y(t + h) y(t)
h
h2
= y (t) + y (t) + y (3) (t) + O(h3 )
h
2
3!
h (1)
h2
= f (t, y) + f (t, y) + f (2) (t, y) + O(h3 )
2
6
h
= f (t, y) + [ft + fy f ](t, y)
2
h2
+ [ftt + 2fty f + f T fyy f + fy (ft + fy f )](t, y) + O(h3 )
6
Sustituyendo estas dos expresiones en la expresin del error de truncamiento, obtenemos:
T (t, y; h) = 1 f + 2 f + h[ft + fy f ] +

2 h2
[ftt + 2fty f + f T fyy f ]
2

h2
h
[ft + fy f ] [ftt + 2fty f + f T fyy f + fy (ft + fy f )] + O(h3 )
2
6
= (1 + 2 1)f + (2 1/2)h[ft + fy f ]
f

h2
1
(2 2 1/3)(ftt + 2fty f + f T fyy f ) fy (ft + fy f ) + O(h3 )
2
3

En esta expresin el primer coeficiente es cero pues 1 + 2 = 1; el segundo coeficiente es


cero si 2 = 1/2; el tercer coeficiente no puede hacerse cero, a menos que se impongan
restricciones muy severas sobre f . Por lo tanto, el mximo orden alcanzable es p = 2 si
escogemos 1 , 2 , , tales que
1
2 = .
2
Si despejamos 1 de la primera ecuacin y de la segunda, se obtiene una familia de
soluciones que dependen del parmetro 2 = 0:
1 + 2 = 1,

1 = 1 2

y =

1
.
22

Se puede verificar muy fcilmente que el mtodo de Euler modificado se obtiene escogiendo
2 = 1, y el mtodo de Heun se obtiene escogiendo 2 = 1/2. Otra posible eleccin se
obtiene considerando la funcin principal del error
(x, y) =

1
1
1
1
(
)(ftt + 2fty f + f T fyy f ) fy (ft + fy f ) (t, y)
2 42 3
3

Obsrvese que la suma de los valores absolutos de los coeficientes se puede minimizar si
escogemos 2 = 3/4, con lo cual se obtiene
1
1 = ,
4

3
2 = ,
4

2
= .
3

Anlisis Numrico

193

Con estos valores se obtiene el mtodo:


Mtodo RK2 ptimo

k = f (t, y)

1
k2 = f (t + 23 h, y + 23 hk1 )

yaprox = y(t) + h (k1 + 3k2 )


4

Ejemplo 7.13. Resolvemos de nuevo el problema del oscilador armnico simple con w = 2,
utilizando el mtodo de Euler modificado y el mtodo de Heun con h = 0.1 en el intervalo
0 t 2.
Hacemos la transformacin de la ecuacin de segundo orden a un sistema de dos ecuaciones
de primer orden como en el ejemplo anterior. Los resultados numricos con los mtodos
de Euler modificado y Heun son casi idnticos: En la Figura 7.9 se muestra una grfica de
la solucin exacta x(t) = cos(2t) junto con las soluciones aproximadas; en la Tabla 7.2 se
muestra el error, cada dos pasos de tiempo en la ltima porcin del intervalo de tiempo,
as como la diferencia en valor absoluto de los resultados obtenidos con ambos mtodos. Se
observa una diferencia entre ambos mtodos de orden 1016 , la precisin de la mquina.
1.5
1

Exacta
Euler Modificado
Heun

0.5
x(t) 0
0.5
1
1.5
0

Tiempo

Figura 7.9: Comparacin de los mtodos de Euler mejorado y Heun.

194

L. Hctor Jurez V.
t

Error Euler-mod

Error Heun

Dif. EM y Heun

4.5
4.7
4.9
5.1
5.3
5.5
5.7
5.9
6.1
6.3

3.1253742e-2
9.0537770e-3
1.6663189e-2
4.1764547e-2
6.1892396e-2
7.3214496e-2
7.3133807e-2
6.0827900e-2
3.7512415e-2
6.3655670e-3

3.1253742e-2
9.0537770e-3
1.6663189e-2
4.1764547e-2
6.1892396e-2
7.3214496e-2
7.3133807e-2
6.0827900e-2
3.7512415e-2
6.3655670e-3

7.7715612e-16
8.8817842e-16
6.6613381e-16
2.2204460e-16
5.5511151e-17
4.4408921e-16
6.1062266e-16
8.8817842e-16
7.7715612e-16
6.6613381e-16

Cuadro 7.2: Comparacin de los mtodos de Euler modificado y Heun

7.6.

Mtodos de un paso de retapas

En forma anloga en como se introducen los mtodos de dos etapas se pueden generar
mtodos de orden mayor. Por ejemplo, en un mtodo de r etapas se proponen r pendientes
de la forma
k1 (t, y) = f (t, y),
k2 (t, y) = f (t + 2 h, y + h21 k1 ),
k3 (t, y) = f (t + 3 h, y + h31 k1 + h32 k2 ),
..
.
kr (t, y) = f (t + r h, y + hr1 k1 + hr2 k2 + . . . + hr,r1 kr1 ),
donde los incrementos 2 , 3 , . . . , r se escogen para para que 2 = 21 , 3 = 31 + 32 , . . .,
r = r1 + r2 + . . . + r,r1 . Posteriormente se forma un promedio ponderado de las
pendientes propuestas, para obtener
(t, y; h) = 1 k1 + 2 k2 + . . . + r kr
de tal manera que 1 + 2 + . . . + r = 1. As que
yaprox = y(t) + h(t, y; h)

Anlisis Numrico

195

Los parmetros introducidos se escogen en la forma adecuada para obtener el mximo orden
en el error de truncamiento. Es decir de tal forma que
y(t + h) y(t)
T (t, y; h) = (t, y; h)
=
h
= O(hp ),

i ki
i=1

y(t + h) y(t)
h

h0

con p mximo.
El procedimiento es ms engorroso que en el caso de los mtodos de dos etapas, y no
intentaremos abordarlo con detalle. Basta decir que el algoritmo general de r etapas requiere
r evaluaciones de f por cada paso del tiempo. El mtodo ms popular es el denominado
mtodo de Runge-Kutta de cuarto orden. Este es un mtodo de cuatro etapas y viene dado
por
Mtodo de Runge-Kutta clsico (r=4) o RK4
k1 (t, y) = f (t, y),
h
1
k2 (t, y) = f (t + , y + hk1 )
2
2
h
1
k3 (t, y) = f (t + , y + hk2 )
2
2
k4 (t, y) = f (t + h, y + hk3 )
h
yaprox = y(t) + (k1 + 2k2 + 2k3 + k4 )
6
Obsrvese que en este caso
1
(t, y; h) = (k1 + 2k2 + 2k3 + k4 ).
6
El mtodo es de orden p = 4, y cuando la funcin f (t, y) no depende de y se puede demostrar
t
fcilmente que este mtodo se reduce al mtodo de Simpson para calcular t0 f ( )d . En
forma anloga puede demostrarse que si f (t, y) no depende explcitamente de y, el mtodo
de Euler modificado se reduce al mtodo del punto medio para aproximar la integral de f (t),
y el mtodo de Heun se reduce al mtodo del trapecio.
En la Figura 7.10 se muestran los resultados numricos que se obtienen cuando se utiliza
el mtodo de Runge-Kutta clsico con h = 0.1, para resolver la ecuacin del oscilador
armnico simple con w = 2 en 0 t 2. En el Cuadro 7.3 se muestran los valores de
la solucin numrica y el error para valores desde t = 4.5 hasta t = 6.3 cada dos pasos del
tiempo. Estos resultados muestran la superioridad del mtodo RK4 respecto de los mtodos
anteriores.

196

L. Hctor Jurez V.

1.5

Exacta
RungeKutta 4

1
0.5
x(t)

0.5
1
1.5
0

Tiempo

Figura 7.10: Grfica de resultados con el mtodo de RungeKutta 4.

Sol. RK-4

Error

Sol. RK-4

Error

4.5
4.7
4.9
5.1
5.3

-9.1106338e-1
-9.9966920e-1
-9.3045331e-1
-7.1434336e-1
-3.8545771e-1

6.6886305e-5
2.3846367e-5
2.7034469e-5
7.7709332e-5
1.1952256e-4

5.5
5.7
5.9
6.1
6.3

4.2810183e-3
3.9334320e-1
7.2030612e-1
9.3355101e-1
9.9941230e-1

1.4467967e-4
1.4766633e-4
1.2636242e-4
8.2637098e-5
2.2289544e-5

Cuadro 7.3: Resultados con el mtodo RK4 para el oscilador armnico simple.

7.7.

Estabilidad y convergencia de los mtodos de un paso

Para el estudio de la estabilidad y convergencia de los mtodos de un paso, consideraremos el caso ms general en el que el paso del tiempo puede ser variable:
yi+1 = yi + hi (ti , yi ; hi ).
A continuacin introducimos algunas definiciones y notacin til para el estudio de la convergencia y estabilidad de los mtodos de un paso.
Mallas. Una malla en [a, b] es un conjunto de puntos {ti }N
i=0 tales que
a = t0 < t1 < . . . < tN = b,

Anlisis Numrico

197

con longitudes de malla hi = ti+1 ti , i = 0, 1, . . . , N 1. A menudo se usa la letra h


1
para sealar la coleccin de longitudes {hi }N
i=0 . El tamao o finura de la malla se mide por
medio de
|h| := max hi = h ,
0 i N 1

Si hi es constante e igual a (b a)/N para toda 0 i N 1, se dice que la malla es


uniforme, de otra manera se dice que la malla es no uniforme. Si la malla no es uniforme se
dice que el mtodo es de paso variable.
Funciones de malla. La funcin vectorial
vh = {vi }N
i=0 ,

con vi Rn ,

se denomina funcin de malla, y al conjunto o coleccin de funciones de malla definidas


sobre [a, b] lo denotamos por Fh [a, b]. Podemos definir normas de funciones de malla. Por
ejemplo, dado vh = {vi }N
i=0 Fh [a, b], definimos
vh

= max

0iN

vi ,

en donde vi indica una norma vectorial de vi Rn .


Los mtodos de un paso, y cualquier otro mtodo de variable discreta, produce una
N
funcin de malla yh = {yi }N
i=0 en los puntos de malla {ti }i=0 . Es decir, dado el valor incial
y0 Rn , t0 = a, el mtodo
ti+1 = ti + hi

(7.23)

yi+1 = yi + hi (ti , yi ; hi ),

(7.24)

con i = 0, 1, . . . , N 1, aproxima la solucin y = {y(ti )}N


i=0 del problema de valores iniciales
(7.1)(7.2).
Operadores Residuales. Para el estudio de la estabilidad y convergencia es til introducir
los siguientes operadores residuales:
(Ry)(t) := y (t) f (t, y(t)), y (C (1) [a, b])n .
yi+1 yi
(ti , yi ; hi ), yh Fh [a, b] .
(Rh yh )i :=
hi
De la definicin de estos operadores residuales, se deduce que:

Si Ry 0 , entonces y(t) resuelve la ecuacin diferencial ordinaria (7.1).

Si Rh yh 0 , entonces yh = {yi }N
i=0 resuelve la ecuacin en diferencias (7.23)(7.24).

198

L. Hctor Jurez V.
Si hacemos la interpretacin
(Rh y)(t) :=

y(t + h) y(t)
(t, y; h),
h

entonces
(Rh y)(t) = T (t, y; h).

7.7.1.

Estabilidad

La estabilidad es una propiedad del esquema numrico solamente, y no tiene nada que ver
con la precisin o poder de aproximacin del mismo. La estabilidad caracteriza la robustez
del esquema con respecto a las perturbaciones pequeas. Es decir, pequeos cambios en los
datos , producen cambios pequeos en las soluciones numricas. Veremos que la estabilidad
del esquema junto con la consistencia del mismo, implica la convergencia de la solucin
numrica a la solucin exacta.
Definicin 7.14. El mtodo (7.23)(7.24) es estable sobre [a, b] si existe K > 0, independiente de cualquier malla h sobre [a, b], tal que para cualesquier dos funciones de malla
N
yh = {yi }N
i=0 , wh = {wi }i=0 , se satisface
y h wh

K( y0 w0 + Rh yh Rh wh

h con |h| pequeo.


Esta definicin est motivada por la siguiente propiedad: Supngase que yh = {yi }N
i=0
es la solucin de la ecuacin en diferencias (7.23)(7.24), obtenida con precisin infinita.
Entonces
Rh yh = 0,
y(t0 ) = y0 .
Ahora bien, cuando utilizamos una computadora o cualquier otro medio de clculo para
aplicar el esquema (7.23)(7.24), la precisin es finita y el error de redondeo estar presente
en los clculos. Entonces, en lugar de obtener yh obtenemos la solucin en punto flotante
wh = {wi }N
i=0 , la cual satisface
Rh wh = ,

con = {i }N
i=0

w0 = y0 + 0 ,

Anlisis Numrico

199

en donde w0 es la representacin en punto flotante de y0 (es decir, si 0 = (01 , 02 , . . . , 0n )T ,


entonces |0i | maq ). Por lo tanto, la estabilidad del mtodo (7.23)(7.24) se satisface si
existe K > 0 tal que
yh wh

K( 0 +

(7.25)

Esta ltima relacin nos indica que el mtodo (7.23)(7.24) es estable si el cambio global en
yh es del mismo orden de magnitud que los errores residuales = {i }N
i=0 y el error inicial
0 . Tambin observamos que Rh wh = significa que para 0 i N 1, (Rh wh )i = ()i , es
decir
wi+1 wi
(ti , wi ; hi ) = i ,
h
o bien
wi+1 = wi + hi (ti , wi ; hi ) + hi i .
De la ltima expresin se deduce que el efecto del error de redondeo se desvanece cuando
|h| 0, pues
wi+1 wi + hi (ti , wi ; hi ) cuando |h| 0.
Teorema 7.15. El mtodo (7.23)(7.24) es estable si (t, y; h) satisface una condicin de
Lipschitz con respecto a y sobre [a, b] Rn [0, h0 ] con h0 > 0. Es decir, si
(t, y; h) (t, y ; h) M y y ,

y, y Rn

N
N
Demostracin. Sea h = {hi }N
i=1 una malla en [a, b] y sean yh = {yi }i=0 , wh = {wi }i=0 dos
funciones de malla. Se satisface

yi+1 = yi + hi (ti , yi ; hi ) + hi (Rh yh )i


wi+1 = wi + hi (ti , wi ; hi ) + hi (Rh wh )i .
Entonces
yi+1 wi+1 = yi wi + hi [(ti , yi ; hi ) (ti , wi ; hi )] + hi [(Rh yh )i (Rh wh )i ].
Sean ei = yi wi y di = (Rh yh )i (Rh wh )i en alguna norma vectorial , y sea
= d = m
ax0iN di . Debido a que satisface una condicin de Lipschitz y utilizando
la desigualdad del tringulo, se obtiene:
ei+1 (1 + hi M )ei + hi ,

i = 0, 1, . . . , N 1

(7.26)

200

L. Hctor Jurez V.

donde M es la constante de Lipschitz asociada a (t, y; h). Por recurrencia de la desigualdad


(7.26) obtenemos
i

ei+1

(1 + hk M )e0 + h0
k=0

(1 + hk M )+h1
k=1

(1 + hk M )
k=2

+ + hi1 (1 + hi M ) + hi .
Se puede demostrar facilmente que cada uno de los productos es menor o igual a e(ba)M
pues 1 + hk M ehk M y N
k=1 hk = b a. As que
i

ei+1 e(ba)M e0 + e(ba)M

hk e(ba)M [e0 + (b a)]


k=0

En la ltima desigualdad se utiliz que


e

= yh wh

i
k=0 hk

e(ba)M
K

b a. Por lo tanto

y0 w0 + (b a) Rh yh Rh wh

y0 w0 + Rh yh Rh wh

con K = e(ba)M m
ax{1, b a}

Ejemplo 7.16. El mtodo de Euler es estable si f (t, y) es Lipschitz continua respecto a y,


dado que en el mtodo de Euler (t, y; h) = f (t, y).
En realidad todos los mtodos de un paso que se usan en la prctica satisfacen una
condicin de Lipschitz si f (t, y) satisface una condicin de este tipo. En este caso la constante
de Lipschitz M para puede expresarse en trminos de la constante de Lipschitz L para f .
Por ejemplo, para el mtodo de Heun:
1
(t, y; h) = (k1 + k2 ),
2

con k1 = f (t, y), k2 = f (t + h, y + hk1 ).

Entonces
1
f (t, y) f (t, y ) + f (t + h, y + hk1 ) f (t + h, y + hk1 )
2
donde k1 = f (t, y ). Por la desigualdad del tringulo y la condicin de Lipschitz se obtiene
(t, y; h) (t, y ; h)

(t, y; h) (t, y ; h)

L
L
y y +
y + hk1 y hk1
2
2
Lh
L2 h
L y y +
f (t, y) f (t, y ) L y y +
y y .
2
2

Tomando M = L(1 +

hL
2 )

se obtiene la condicin de estabilidad.

Anlisis Numrico

7.7.2.

201

Convergencia

Definicin 7.17. El mtodo de un paso (7.23)(7.24) es convergente si


m
ax

0iN

es decir si yh y

yi y(ti ) 0 cuando |h| 0,

0 cuando |h| 0.

Teorema 7.18. Si el mtodo (7.23)(7.24) es consistente y estable sobre [a, b], entonces el
mtodo es convergente.
N
Demostracin. Sea yh = {yi }N
i=0 solucin de (7.23)(7.24), y sea y = {y(ti )}i=0 solucin
de (7.1)(7.2) en los puntos de malla. Entonces, debido a la estabilidad

yh y

K{ y0 y(t0 ) + Rh yh Rh y

},

para alguna constante K > 0. Como y0 = y(t0 ) y Rh yh = 0 , entonces


yh y

K Rh y = K T (, y; h)

= O(|h|p )

suponiendo un error de truncamiento de orden p. Claramente


yh y

0, cuando |h| 0

Conclusin. Todos los mtodos de un paso que se han considerado en esta seccin son
estables y convergentes, y de orden p 1, bajo suposiciones razonables de suavidad para
f (t, y).

7.8.

Estudio asinttico del error global

Hasta el momento slo hemos considerado el error de truncamiento para hablar de la


precisin de un mtodo de aproximacin. Si el mtodo es de orden p el error de truncamiento
puede expresarse en trminos de la funcin principal del error en la forma
T (t, y; h) = (t, y)hp + O(hp+1 ).
Como sabemos el error de truncamiento indica una medida del error por unidad de paso del
tiempo. Esta claro que la distribucin de este error local esta descrita por la funcin principal
del error y juega el papel de trmino lider en el error de truncamiento. Quisieramos saber si,

202

L. Hctor Jurez V.

en forma anloga, el error global contiene un trmino lider que describe la distribucin del
error global yh y cuando |h| 0. Es decir, estamos interesados en el comportamiento
asinttico de yi y(ti ), i = 1, . . . , N . El siguiente teorema indica que, bajo suposiciones
razonables, el trmino lider del error global es una funcin (t) que resuelve el problema
variacional
d
= fy (t, y) + (t, y), a < t b
dt
(a) = 0
Para simplificar la exposicin consideraremos que la malla es uniforme, es decir hi = h,
i = 1, . . . , N .
Teorema 7.19. Supngase que
a) (t, y; h) C 2 [a, b] Rn [0, h0 ],
b) es un mtodo de orden p 1 con funcin del error principal (t, y) continua sobre
[a, b] Rn .
c) (t) es la solucin del problema de valores iniciales.
d
= fy (t, y(t)) + (t, y(t)), a < t b
dt
(a) = 0

(7.27)
(7.28)

entonces
yi y(ti ) = (ti )hp + O(hp+1 ), cuando |h| 0

(7.29)

para i = 1, . . . , N .
Antes de demostrar este teorema hacemos las siguientes observaciones:
1. El significado preciso de la expresin (7.29) es
yh y hp

= O(hp+1 ) cuando |h| 0,

N
N
donde y = {y(ti )}N
i=0 , yh = {yi }i=0 , = {i }i=0 son funciones de malla y
define como el valor mximo en valor absoluto de la funcin de malla.

se

2. Como (t, y; 0) = f (t, y), entonces la primera suposicin del teorema implica que
f C 2 sobre [a, b]Rn , y esto ltimo es ms que suficiente para garantizar la existencia
y unicidad de la solucin (t) del problema (7.27)(7.28) sobre [a, b].

Anlisis Numrico

203

Demostracin. Utilizando el teorema de Taylor o el teorema del valor medio, y la consistencia del mtodo, se puede demostrar (Gautschi) que
(ti , yi ; hi ) (ti , y(ti ); hi ) = fy (ti , y(ti )) [yi y(ti )] + O(hp+1 )

(7.30)

Para resaltar el trmino lider en el error global, definimos la funcin de malla = (yh y)/hp ,
es decir i = (yi y(ti ))/hp implica
i+1 i
1 yi+1 y(ti+1 ) yi y(ti )
=

h
h
hp
hp
1 yi+1 yi y(ti+1 ) y(ti )
= p

h
h
h
1
= p [(ti , yi ; h) {(ti , y(ti ); h) T (ti , y(ti ); h)}]
h
En la ltima igualdad se ha hecho uso de que
y(ti+1 ) y(ti )
h
Adems, si hacemos uso de la expresin del error de truncamiento en trminos del error
principal
T (ti , y(ti ); h) = (ti , y(ti ))hp + O(hp+1 ),
yi+1 = yi + h(ti , yi ; h) y T (ti , y(ti ); h) = (ti , y(ti ); h)

obtenemos, utilizando (7.30),


i+1 i
h

1
(ti , yi ; h) (ti , y(ti ); h) + (ti , y(ti ))hp + O(hp+1 )
hp
yi y(ti )
= fy (ti , y(ti ))
+ (ti , y(ti )) + O(h)
hp
= fy (ti , y(ti ))i + (ti , y(ti )) + O(h),
=

i = 1, . . . , N . Por lo tanto, despejando i+1 , de la anterior ecuacin, obtenemos


i+1 = i + h [fy (ti , y(ti ))i + (ti , y(ti ))] + O(h2 ),

0 = 0

la cual puede verse como el mtodo de Euler para aproximar la ecuacin (7.27). Dado que
el mtodo de Euler es estable y la funcin g(t, y) = fy (t, y(t)) + (t, y(t)) es lineal en y, sta
satisface una condicin de Lipschitz. Entonces se satisface la condicin

K[ 0 0 + Rh Rh

= K T (, ; h) = O(h)

debido a que T (, ; h) es el error de truncamiento en el mtodo de Euler. Como = hp (yh


y), entonces multiplicando por hp la ltima desigualdad se obtiene
yh y + hp = O(hp+1 ).

204

7.9.

L. Hctor Jurez V.

Monitoreo del error y control del paso

La mayora de los programas modernos disponibles para resolver ecuaciones diferenciales


ordinarias tienen integrada la posibilidad de monitorear errores locales de truncamiento y, en
consecuencia, controlar la longitud del paso h sobre la base de la estimacin de estos errores.
Nosotros utilizaremos el resultado asinttico del teorema anterior para tratar de monitorear
el error global dado por la ecuacin (7.29). Observamos que para ello necesitamos calcular
la matriz Jacobiana a lo largo de la trayectoria solucin fy (t, y(t)) y una estimacin de la
funcin principal del error (t, y(t)), como se muestra en la ecuacin (7.27).
Estimacin del error global.
La idea principal para hacer una estimacin del error global es hacer uso de las expresiones (7.27)(7.29). Es decir, integrar la ecuacin variacional (7.27) junto con la ecuacin
principal (7.1)(7.2). Obsrvese que en (7.29) necesitamos una estimacin de (ti ) con un
error de orden a lo ms O(h), dado que cualquier estimacin con orden adicional sera absorbida por el trmino O(hp+1 ). Por lo tanto, (ti ) puede obtenerse del problema variacional
(7.27) por medio del mtodo de Euler:
i+1 = i + h[fy (ti , yi )i + (ti , yi ; h)].
Sin embargo tenemos un problema adicional: necesitamos calcular la funcin del error principal (t, y), lo cual generalmente no ser posible. Pero, de nuevo, como slo necesitamos
una estimacin de primer orden i , podemos sustituir (t, y) por una funcin r(t, y ; h) que
satisfaga
r(t, y; h) = (t, y) + O(h), h 0
(7.31)
uniformemente sobre [a, b]Rn . Ms adelante presentaremos dos tcnicas mediante las cuales
se puede obtener r(t, y; h).
Resumiendo, si (t, y; h) satisface las condiciones del teorema 7.19 y si r(t, y; h) es una
estimacin del error principal que satisface (7.31), generamos simultaneamente las funciones
N
de malla yh = {yi }N
i=0 y h = {i }i=0 por medio de
ti+1 = ti + h

(7.32)

yi+1 = yi + h(ti , yi ; h)

(7.33)

i+1 = i + h[fy (ti , yi )i + r(ti , yi ; h)],

(7.34)

donde t0 = a, y0 = y(t0 ) y 0 = 0. Entonces la estimacin del error global de orden hp+1


viene dada por
yi y(ti ) = i hp ,
|h| 0

Anlisis Numrico

205

Estimacin del error de truncamiento


Esta claro que para poder utilizar (7.32)(7.34) debemos estimar r(t, y; h) la cual es una
aproximacin de orden h para la funcin del error principal (t, y). A continuacin describimos dos mtodos que producen una estimacin de r(t, y; h).
1. Extrapolacin local de Richardson a cero.
Funciona bien para cualquier mtodo de un paso, pero se considera que es muy caro
computacionalmente. Si tiene orden p, el procedimiento es calcular
yh = y + h(t, y; h)
h
yh/2 = y + (t, y; h/2)
2
h
yh = yh/2 + (t + h/2, yh/2 ; h/2)
2
y entonces una estimacin de r(t, y; h) es (Gautschi)
r(t, y; h) =

yh yh
1
1 1/2p hp+1

(7.35)

Obsrvese que yh es el resultado de aplicar sobre dos pasos consecutivos de tamao h/2,
mientras que yh es el resultado de una aplicacin de sobre el intervalo completo de tamao
h. Este procedimiento es costoso. Por ejemplo, para un mtodo de Runge-Kutta de cuarto
orden se necesitan 11 evaluaciones de f por paso, es decir casi el triple nmero de evaluaciones
necesarias para un paso del mtodo simple de Runge-Kutta. Por esta razn es que el mtodo
de extrapolacin de Richardson normalmente se utiliza despus de cada dos pasos de , es
decir se calcula
yh = y + h(t, y; h)

y2h
= yh + h(t + h, yh ; h)

y2h = y + 2h(t, y; 2h)


y entonces la expresin (7.35) se transforma en
r(t, y; h) =

y2h y2h
1
2(2p 1) hp+1

= (t, y) + O(h)

Para un mtodo de Runge-Kutta clsico, el procedimiento necesita 7 evaluaciones de f por


paso, es decir 3 evaluaciones adicionales a las necesarias para un paso simple de Runge-Kutta.
An con este ahorro el procedimiento sigue siendo caro.

206

L. Hctor Jurez V.
A continuacin presentamos un mtodo ms eficiente.

2. Mtodos de encajamiento (RungeKuttaFehlberg).


Se pueden obtener mtodos ms eficientes para el control del paso, si en lugar de dos
aproximaciones con pasos h y h/2 como en los mtodos anteriores, se sigue la idea de
Fehlberg: generar dos mtodos de discretizacin diferentes, uno de orden p y otro de orden
p + 1:
y(t + h) y(t) + h (t, y; h),
y (t + h) y(t) + h (t, y; h),

(orden p)
(orden p + 1).

Dado que
y(t + h) y(t)
h
y(t
+
h)
y(t)
(t, y; h)
h
(t, y; h)

= T (t, y; h) = (t, y)hp + O(hp+1 ),


= T (t, y; h) = O(hp+1 ),

al restar y dividir por hp , se obtiene


1
[(t, y; h) (t, y; h)] = (t, y) + O(h),
hp

(7.36)

de tal forma que


r(t, y; h) =

1
[(t, y; h) (t, y; h)]
hp

(7.37)

es una aproximacin de orden O(h) de la funcin principal del error (t, y) para el mtodo
de orden p con (t, y; h). Para que el mtodo valga la pena es necesario que sea ms eficiente
que los mtodos de extrapolacin. Siguiendo la idea de Fehlberg, esto se puede lograr encajando o anidando un mtodo de RungeKutta de orden p dentro de otro de orden p + 1. La
forma explcita de construir este tipo de procedimiento se muestra con el siguiente ejemplo.

Ejemplo 7.20. Mtodo de RungeKuttaFehlberg con p = 2 y p + 1 = 3


Consideremos los mtodos
yi+1 = yi + h (ti , yi ; h),

con T (t, y; h) O(h2 ),

yi+1
= yi + h (ti , yi ; h),

con T (t, y; h) O(h3 ),

Anlisis Numrico

207

donde y se construyen de la siguiente manera


(t, y; h) = 1 k1 (t, y; h) + 2 k2 (t, y; h) + 3 k3 (t, y; h),
(t, y; h) = 1 k1 (t, y; h) + 2 k2 (t, y; h) + 3 k3 (t, y; h) + 4 k4 (t, y; h).
Ntese que en la construccin de los valores k1 , k2 y k3 usados para calcular se han
reutilizado, por lo que slo se necesita un valor adicional k4 para construir el segundo mtodo
. Las funciones k1 , k2 , k3 y k4 se construyen de la siguiente manera:
k1 = f (t, y),
k2 = f (t + 2 h, y + h21 k1 ),
k3 = f (t + 3 h, y + h[31 k1 + 32 k2 ]),
k4 = f (t + 4 h, y + h[41 k1 + 42 k2 + 43 k3 ]).
Las constantes r , rj , con r = 2, 3, 4, y 1 j r 1, as como r , r , r = 1, 2, 3,
4, se calculan de tal forma que los errores de truncamiento sean O(h2 ) para (t, y; h) y
O(h3 ) para (t, y; h). Este clculo se realiza en forma anloga a como se hizo en el caso
del mtodo de RungeKutta de dos etapas. Si en el clculo se utiliza la condicin adicional
r1
r =
j=1 rj , r = 2, 3, 4, se obtienen las ecuaciones siguientes para las constantes a
determinar:
1 + 2 + 3 = 1,
1
2 2 + 3 3 = ,
2
1
2
2
2
2 2 + 3 3 + 4 4 = ,
3

1 + 2 + 3 + 4 = 1,
1
2 2 + 3 3 + 4 4 = ,
2
1

2 32 3 + (2 42 + 3 43 )4 = .
6

Este sistema de ecuaciones tiene una infinidad de soluciones, y se pueden imponerse restricciones adicionales para reducir el costo del mtodo. Por ejemplo, puede pedirse que k4 en el
isimo paso sea reusable como k1 en el (i + 1)simo paso. Es decir, podemos imponer
f (t + h, y + h) f (t + 4 h, y + h[41 k1 + 42 k2 + 43 k3 ]),
lo cual produce las restricciones adicionales
4 = 1,

41 = 1 ,

42 = 2 ,

43 = 3 .

Se pueden imponer restricciones adicionales para mnimizar los coeficientes de la funcin


principal del error. Sin embargo, no consideramos esto en detalle. En lugar de esto, escribimos a continuacin un conjunto de valores para las constantes:

208

L. Hctor Jurez V.
r

r1

r2

r3

1
2
3
4

0
1/4
27/40
1

0
1/4
189/800
214/891

729/800
1/33

650/891

214/891
1/33
650/891

533/2106
0
800/1053
1/78

Con estas constantes se obtiene el mtodo siguiente al cual denominaremos RKF23 :


k1 = f (ti , yi ),
h
h
, yi + k1 ),
4
4
189
729
27
hk1 +
hk2 ),
k3 = f (ti + h, yi
40
800
800
214
1
650
k4 = f (ti + h, yi +
hk1 + hk2 +
hk3 ),
819
33
891
h
yi+1 = yi +
(214k1 + 27k2 + 650k3 ),
891
h

yi+1
= yi +
(533k1 + 1600k3 27k4 ).
2106
k2 = f (ti +

(7.38)
(7.39)
(7.40)
(7.41)
(7.42)
(7.43)

Obsrvese que debido a que


k4 (ti , yi ; h) = f (ti + h, yi + h(ti , yi ; h)) = f (ti+1 , yi+1 ) = k1 (ti+1 , yi+1 ; h)
entonces slo se requieren tres evaluaciones de f por paso.
Control del paso
El control del paso h se obtiene de la siguiente forma

yi+1 yi+1
= h[(ti , yi ; h)) (ti , yi ; h))] = h3 r(ti , yi ; h),

(ver ecuacin (7.37) con p = 2). Supngase que queremos que el error global sea menor a un
valor dado (tolerancia). Para que esto ocurra se debe cumplir que

yi+1 yi+1
= h3 r(ti , yi ; h) .

(7.44)

Para que el nuevo paso del tiempo hnew sea exitoso, es decir produzca un error menor a ,
se debe satisfacer
r(ti+1 , yi+1 ; h) h3new .

(7.45)

Anlisis Numrico

209

Pero, salvo errores de orden h,


r(ti+1 , yi+1 ; h) r(ti , yi ; h) =

yi+1 yi+1
h3

por (7.44). Sustituyendo esta expresin en (7.45), obtenemos

yi+1 yi+1
h3new
h3

Por lo tanto, para garantizar que el error global sea menor a en cada paso debemos escoger
1/3

hnew h

yi+1 yi+1

Para el caso general, cuando las aproximaciones yi+1 y yi+1


se han realizado con mtodos
de orden p y p + 1 respectivamente, se tiene
1/(p+1)

hnew h

(7.46)

yi+1 yi+1

Muchos autores, basados en una amplia experiencia numrica, recomiendan hacer el


siguiente ajuste
hnew q h
con
q=

yi+1 yi+1

1/p

y 0.9

Ejemplo 7.21. Ecuacin de Van der Pol.


x (t) c(1 x(t)2 ) x (t) + x(t) = 0,

0 < t 10 ,

x(0) = 1 ,
x (0) = 0.
Con c = 0, se obtiene la ecuacin del oscilador armnico simple. Si c = 0, la ecuacin es
no lineal. Primero, transformamos la ecuacin en un sistema de dos ecuaciones diferenciales
ordinarias de primer orden.
y1 (t) = x(t) y1 (t) = y2 (t)
y2 (t) = x (t) y2 (t) = c(1 y1 (t)2 )y2 (t) y1 (t)

210

L. Hctor Jurez V.

En notacin matricial se puede escribir


y1
y2

0 1
1 c

y1
y2

0
cy12 y2

1
0

, y0 =

Se resuelve numricamente esta ecuacin diferencial no lineal, para el caso c = 3, utilizando


el mtodo RKF23 (7.38)(7.43) con tolerancia = 0.01. La Figura 7.11 muestra las grficas
de y1 (t) = x(t) y y2 (t) = x (t) contra t. La Figura 7.12 muestra el retrato fase de la solucin,
es decir la grfica de x(t) contra x (t). Se observa que el retrato fase de la solucin representa
6
x(t)
x(t)
4

6
0

10

15
tiempo

20

25

Figura 7.11: Solucin de la ecuacin de Van der Pol. Mtodo RKF3 con

30

= 0.01

6
4
2

x(t)
0
2
4
6
2

1.5

0.5

0.5

1.5

x(t)

Figura 7.12: Retrato fase de la solucin de la ecuacin de Van der Pol.

un ciclo lmite no simple y la solucin es perodica. En ambas figuras se observa claramente


el tamao variable de los pasos de tiempo. El nmero de pasos del tiempo en este ejemplo fue
de 156. Con un mtodo de paso fijo se toma h = 0.1 para obtener una precisin equivalente

Anlisis Numrico

211

y se requieren 10/0,1 314 pasos del tiempo, es decir cerca del doble. Con el objeto de
obtener una mejor solucin, escogemos la tolerancia del error como = 104 , y repetimos el
clculo. Las Figuras 7.13 y 7.14 muestran la solucin. En este caso se necesitan 501 pasos
6
x(t)
x(t)

4
2
0
2
4
6
0

10

15
tiempo

20

Figura 7.13: Solucin con mayor precisin:

25

30

= 104 .

6
4
2
x(t)
0
2
4
6

0
x(t)

Figura 7.14: Retrato fase correspondiente.

del tiempo. Con un mtodo de paso fijo se necesitaran 3142 pasos del tiempo para obtener
la misma precisin, es decir ms de 6 veces que con paso variable.

7.9.1.

Mtodo RungeKuttaFehlberg de cuarto orden

Este es un mtodo que tambin es muy usado en la prctica. En este caso se combinan
un mtodo de orden p = 4 con uno de orden p + 1 = 5. Evitando los detalles de deduccin

212

L. Hctor Jurez V.

del mtodo, solamente presentamos a continuacin este mtodo de paso variable:


k1 = f (ti , yi )
h
h
, yi + k1
4
4
3h
3
9
= f ti +
, yi + hk1 + hk2
8
32
32
12h
1932
7200
7296
= f ti +
, yi + h
k1
k2 +
k3
13
2197
2197
2197
439
3680
845
= f ti + h, yi + h
k1 8k2 +
k3
k4
216
513
4104
8
3544
1859
11
h
k3 +
k4 k5
= f ti + , yi + h k1 + 2k2
2
27
2565
4104
40
25
1408
2197
1
= yi + h
k1 +
k3 +
k4 k5
216
2565
4104
5
16
6656
28561
9
2
= yi + h
k1 +
k3 +
k4 k5 + k6
135
12825
56430
50
55

k2 = f
k3
k4
k5
k6
yi+1

yi+1

ti +

El paso de tiempo nuevo en cada iteracin se calcula por medio de


hnew = 0.84 h

yi+1 yi+1

1/4

donde es la tolerancia deseada para el error global. En ocasiones, en lugar de calcular yi+1

se calcula directamente la diferencia ei+1 = yi+1 yi+1


. Por ejemplo, en el caso del mtodo
RKF-45 (RungeKuttaFehlberg de cuarto orden), se tiene

ei+1 = h

1
128
2197
1
2
k1
k3
k4 + k5 + k6
360
4275
75240
50
55

Ejemplo 7.22. Se resuelve la ecuacin de Vander Pol con c = 3 utilizando el mtodo


RKF45 con una tolerancia = 104 . Las Figuras 7.15 y 7.16 muestran las grficas de los
resultados obtenidos. En este caso se realizaron 288 pasos de tiempo para obtener la solucin.
Ejemplo 7.23. El atractor de Lorenz. El atractor de Lorenz es un atractor que aparece
en un sistema simplificado de ecuaciones que describen el movimiento de un flujo bidimensional de una profundidad dada con una diferencia de temperatura impuesta, bajo la accin
de la gravedad. El modelo es utilizado para simular fenmenos de conveccin que se producen

Anlisis Numrico

213

6
x(t)
x(t)

4
2
0
2
4
6
0

10

15
tiempo

20

25

30

Figura 7.15: Solucin con el mtodo RKF45.


6
4
2
x(t)
0
2
4
6

0
x(t)

Figura 7.16: Retrato fase correspondiente.

en la atmsfera terrestre. A principios de la dcada de los 60 del siglo pasado, Lorenz accidentalmente descubri el comportamiento catico de este sistema al encontrar que, para un
sistema de ecuaciones simplificado, las soluciones peridicas crecan cuando un parmetro
(el nmero de Rayleigh) excede el valor crtico. Bajo estas circunstancias, se encontraron
soluciones mucho muy diferentes cuando las condiciones iniciales se cambiaban muy poco.
El sistema simplificado es

d y1
= y1 + y2 y3 ,
dt
d y2
= y2 y3 ,
dt
d y1
= y1 y2 + y2 y3 ,
dt

214

L. Hctor Jurez V.

donde y1 , y2 y y3 dependen del tiempo t. Estas ecuaciones forman un sistema de ecuaciones


diferenciales no lineales donde y1 esta relacionada con la conveccin del flujo atmosfrico, y2
esta relacionada a la variacin de la temperatura horizontal, y3 esta relacionada a la variacin
de la temperatura vertical. El parmetro depende de la geometra del dominio, es el
nmero de Prandtl y es la razn entre el nmero de Rayleigh y su valor crtico. La ecuacin
es completamente determinista, sin embargo el comportamiento de las soluciones es difcil
de predecir. Para algunos valores de los parmetros, la solucin puede converger a un punto,
para otros valores puede divergir a infinito o bien puede oscilar peridicamente. Para ciertos
valores de los parmetros, la rbita en el espacio tridimensional es conocida como atractor
extrao: esta es una rbita oscilatoria no peridica, no convergente, que nunca se intersecta
y que adems se alterna caticamente entre dos puntos diferentes (atractores). Resolvemos
las ecuaciones en el intervalo de tiempo 0 < t 60 y con valor inicial y0 = (25, 10, 10)T con
el mtodo RKF45. Se escoge una tolerancia = 104 y valores = 8/3, = 10 y = 28.
Las Figura 7.17 muestra la historia en tiempo de y1 y y3 para 40 < t < 60. La historia en
tiempo de y2 es similar a la de y3 . La Figura 7.18 muestra la rbita tridimensional de la
solucin.
60
40
20
0
20

y (t)
1

y3(t)
40
40

45

50
Tiempo

55

60

Figura 7.17: Historia en tiempo de y1 (t) y y3 (t) con 40 < t < 60.

Anlisis Numrico

215

rbita Tridimensional

20
y3 0
20
15

10

y2

5
10
15

10

15

20

25

30

35

y1

Figura 7.18: rbita tridimensional de la solucin.

40

216

L. Hctor Jurez V.

Bibliografa
[1] E. Isaacson, H. B. Keller, Analysis of Numerical Methods, Wiley 1966.(Dover en 1994).
[2] W.Gautschi, Numerical Analysis: An Introduction, Birkhauser, 1998.
[3] L. N. Trefethen, D. Bau III, Numerical Linear Algebra, SIAM, 1997.
[4] S. D. Conte, C. de Boor, Elementary Numerical Analysis, Mc. Graw-Hill 3rd. Ed. 1980
[5] J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, Springer-Verlag 1st. Ed. 1980,
2nd. Ed. 199, 3rd. Ed. 2002.
[6] Cleve Moler, Numerical Computing Whit Matlab, Disponible en linea:
http://www.mathworks.com/moler/index.html
[7] J. M. Ortega, Numerical Analysis: A Second Course, Classics in Applied Mathematics,
SIAM, 1990.
[8] P. Henrici, Elements of Numerical Analysis, Wiley 1964.
[9] A. Quarteroni, R. Sacco, F. Saleri, Numerical Mathematics, Text in Applied Mathematics 37, Springer, 2000.
[10] E. Suli, D. F. Mayers, An Introduction to Numerical Analysis, CUP, 2003.
[11] S. Ross, Simulation, Academic Press, 2nd. Ed. 1997.
[12] G.Golub, C. Van Loan, Matrix Computation, John Hopkins University Press, 2nd. Ed.
1989, 3rd. Ed. 1996.
[13] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes: The
Art of Scientific Computing, Cambridge University Press. Gratis versiones para F77,
F90 y C en
http://www.lanl.gov/numerical/index.html
217

218

L. Hctor Jurez V.

[14] G. Engeln-Mullges, F. Uhlig, Numerical Algorithms whit Fortran, Springer-Verlag, Berlin, 1996. QA297 E5.6613
[15] Hammerlin, Gunther-Karl-Heinz Hoffmann, Numerical Mathematics, Springer-Verlag.
QA297 H2.53
[16] R. Burden, J. D. Faires, Anlisis Numrico, Grupo Editorial Iberoamericana, 2a. Ed.
1996.
[17] K. E. Atkinson, An introduction to Numerical Analysis, Wiley 1st Ed.1978, 2nd. Ed.
1989.
[18] D. Kincaid, W. Cheney, Numerical Analysis: Mathematics of Scientific Computing,
Books/Cole Pub. Co., 2nd Ed. 1996.

Potrebbero piacerti anche