Está en la página 1de 152

1.

Algunas Ideas Generales sobre Mtodos Numricos

1.1 Introduccin
En ciencia y tecnologa son comunes los problemas para los que no es posible hallar una
solucin analtica. Es frecuente entonces reducir el problema a un caso particular, o
simplificar el modelo de modo que pueda ser analizado. Hay, sin embargo, situaciones
en que un modelo simplificado no es apropiado para describir los aspectos que son
importantes en el comportamiento. Se recurre entonces a soluciones numricas. La
magnitud del trabajo es funcin de la precisin que se requiere. En los ltimos 50 aos,
gracias a las computadoras digitales, las posibilidades para utilizar eficientemente los
mtodos numricos han aumentado enormemente; y los puntos de vista con relacin a
ellos han ciertamente cambiado.

En la mayor parte de los mtodos numricos se aplican ideas relativamente simples.


Una idea frecuente es la de iteracin, es decir, la repeticin de un proceso en forma tal
que se obtienen cada vez mejores aproximaciones a la solucin. Para ilustrar el uso de
iteraciones considrese la solucin de x 3 = c . En este caso x es la raz cbica de c .
Esta ecuacin puede reescribirse como:

1 c
x= 2x + 2
3 x
Empezando con la aproximacin inicial x x 0 0 , se puede iterar con:

1 c
x n +1 = 2 x n + 2
3 xn
Esta es una aplicacin del conocido mtodo de Newton para hallar races de una
ecuacin no lineal. Por ejemplo, para el caso c = 2 (es decir x 3 = 2 ) y con x 0 = 1 se
obtienen:
1 2
x1 = 2 1 + 2 = 1.333 y
3 (1)
3
1 2
x2 = 2 1.333 + = 1.263 889
2 2.5
3 (1.333) y=x
2
y as sucesivamente:
x 3 = 1.259 933 493 450 1.5
y = 13 (2 x + 2 / x 2 )
x 4 = 1.259 921 050 018 1

x 5 = 1.259 921 049 895 0.5

0
Una interpretacin geomtrica de la 0 0.5 1 1.5 2 2.5 3 x
iteracin se muestra en la figura.

Puede en este caso probarse que el proceso converge siempre, para cualquier seleccin
de x0. Si xn tiene t dgitos correctos, xn+1 tendr por lo menos 2t 1 dgitos correctos.

Sin embargo, no todos los procesos iterativos funcionan. Por ejemplo, podra escribirse
x n +1 = 2 x n2 , lo que produce resultados alternados y obviamente no converge.

H. Scaletti - Mtodos Numricos: Introduccin 1-1


Otra idea frecuente es la de aproximar localmente una funcin complicada por una
funcin lineal (o quizs parablica u otra relativamente simple). Esto es lo que se hace
al interpolar entre dos lneas de una tabla, o en procesos tales como el mtodo de
Newton Raphson para mejorar la aproximacin a una raz de una funcin f ( x) = 0 , la
integracin de una funcin por el mtodo de los trapecios, la solucin de una ecuacin
diferencial y = f ( x, y ) por el mtodo de Euler, por citar slo algunos de los mtodos ms
conocidos.

En muchos casos se obtiene un conjunto de resultados en una sucesin de etapas, para


cada una de las cuales se consideran como datos los resultados de la etapa anterior.
Tales procesos se denominan de recursin. Son muy poderosos, pero deben ser
utilizados con propiedad. La Regla de Horner para evaluar un polinomio tal como
n 1
p( x) = a0 x + a1 x + K + a n 1 x + a n proporciona un ejemplo simple de recursin.
n
El
polinomio p(x) puede evaluarse realizando las operaciones:
p0 = 0
p1 = p 0 x + a 0
p 2 = p1 x + a1
M
p n = p n 1 x + a n = p( x)

La acumulacin de errores en un proceso de este tipo puede ser importante.

El ejemplo siguiente ilustra tambin el uso de una recursin y el fenmeno conocido


como inestabilidad numrica. Supngase que se requiere calcular, para n = 0, 1, 2, ...
1
xn
yn =
0 x+5
dx

Puede observarse que los valores de yn decrecen con n. Adems:

1 xn 1 5 x n 1 1 x n 1 ( x + 5) 1 1
y n + 5 y n 1 = 0 x+5
dx + 0 x+5
dx = 0 x+5
dx = 0
x n1 dx =
n
y por lo tanto: yn = 1/n 5yn-1. Esta expresin podra permitir determinar los sucesivos
yn a partir de un valor inicial, como y0. Sabiendo que:
xn 6
dx = [Ln(x + 5)]0 = Ln 0.182
1
y0 =
1
0 x+5 5
Se obtienen (en todos los clculos de este ejemplo se han considerado slo tres cifras
significativas):
y 0 0.182
y1 = 1 5 y 0 0.090
y 2 = 12 5 y1 0.050
y 3 = 13 5 y 2 0.083 Sorprendente que se obtenga y3 > y2 !
y 4 = 14 5 y 3 0.165 Absurdo!
y 5 = 15 5 y 4 1.03 L

Los malos resultados se deben a que las aproximaciones y el uso de un nmero finito de
dgitos introducen errores, que se propagan a etapas posteriores del clculo. La forma

H. Scaletti - Mtodos Numricos: Introduccin 1-2


en que estos errores se propagan (o disipan) es decisiva en la utilidad de un mtodo
numrico dado.
En el proceso utilizado, un pequeo error en yo se multiplica por 5 en el clculo de
y1. Sin tener en consideracin los errores introducidos en los redondeos de este paso, se
produce un error de 25 en y2. El resultado del paso k est afectado por el error inicial
k
multiplicado por (-5) . A esto deben agregarse los efectos de los errores introducidos en
todos los pasos intermedios. Si se hubieran utilizado ms cifras decimales en los
clculos, los resultados absurdos habran tambin aparecido, aunque un tanto ms
adelante en el proceso. La inestabilidad numrica puede evitarse seleccionando un
algoritmo ms adecuado. As, utilizando la frmula en la otra direccin:
11
y n -1 = yn
5n
el error queda dividido por 5 en cada paso. Sabiendo que yn decrece cuando n crece,
pueden iniciarse los clculos con algo tan pobre como y10 = 0 , obtenindose:
y 9 = 15 (101 0) = 0.020
y8 = ( y 9 ) 0.019
1 1
5 9
1.5

y 7 = 15 (18 y 8 ) 0.021
n creciente
1

y 6 = 15 ( 17 y 7 ) 0.025 0.5
n decreciente
Y

y as sucesivamente:
0
y5 0.028 0 1 2 3 4 5

y4 0.034 -0.5

y3 0.043
-1
y2 0.058 n

y1 0.088
y0 0.182 Correcto! (a pesar de la errada informacin inicial)

Sin embargo, no debe creerse que el utilizar frmulas al revs es el remedio para todos
los problemas numricos. Cualquier proceso que se plantee no ser siempre aplicable,
ni en todos los casos el ms efectivo.

1.2 Fuentes de Error


Los resultados numricos estn afectados por errores provenientes de diversas fuentes.

En primer lugar deben citarse errores en los datos, puesto que ellos son en general
resultado de mediciones o estimaciones imperfectas. Es de esperar que los errores
relativos en los resultados sean del mismo orden de magnitud (o menores) que aquellos
de los datos. Sin embargo, ste no siempre es el caso: se dice entonces que el
problema es mal condicionado, es decir, la solucin es muy sensible a pequeos
errores en los datos. Dificultades de este tipo pueden tambin no ser debidas a la
formulacin del problema, sino a un mal condicionamiento del mtodo numrico utilizado.

Un segundo grupo de errores es debido a simplificaciones en el modelo matemtico del


problema y a la truncacin de expresiones (series por ejemplo), cuyo objetivo es evitar
que la formulacin se complique ms all de lo que razonablemente puede manejarse.

H. Scaletti - Mtodos Numricos: Introduccin 1-3


Ms importantes desde el punto de vista de los mtodos numricos son los errores de
truncacin y redondeo. stos son funcin del procedimiento empleado y de las
caractersticas de operacin de la computadora. La mayor parte de las computadoras
trabajan internamente con sistemas de numeracin binarios, octales o hexadecimales y
tienen dos tipos de aritmtica: de punto fijo (o enteros) y de punto flotante (o reales).
La aritmtica de punto fijo es exacta, pero est limitada a nmeros enteros y a un rango
pequeo. En consecuencia, la mayor parte de las operaciones se efectan con la
aritmtica de punto flotante. En la aritmtica de punto flotante la representacin interna
de un nmero es de la forma: a = m 10 q , donde m es la mantisa y q el exponente.
Slo se almacenan t cifras (en base b ) de la mantisa, y por lo tanto cualquier nmero
puede ser representado con un error relativo que no excede 1
2
b t 1 (habitualmente entre
-6 -15
10 y 10 ). Para q se usa un nmero finito de posiciones de memoria y en
consecuencia existe un rango aceptable (en general muy grande) para los nmeros con
punto flotante.

Las operaciones aritmticas en punto flotante tienen propiedades algo diferentes de


aquellas correspondientes en la aritmtica exacta. As por ejemplo, la suma (o resta)
no es estrictamente asociativa.

a = 0.1234567 10 0
b = 0.123567 10 4
c = b
El esquema siguiente indica como se efecta la suma en punto flotante:
b 0.1234567 10 4
a 0.0000123 10 4 (las cuatro cifras finales se recortan)
a + b 0.1234690 10 4

c 0.1234567 10 4
(a + b ) + c 0.0000123 10 4 = 0.1230000

mientras que (b + c) + a = 0.1234567 10 0 . El orden de las operaciones s afecta los


resultados.

Esto es vlido tambin para operaciones de otro tipo. Por ejemplo, las races de
x + 2bx + c = 0 podran obtenerse de: x = b b c .
2 2
Sin embargo el proceso
alternativo (y tericamente equivalente):

x1 = b ( signo b) b 2 c
c
x2 =
x1
tiene mucho menos acumulacin de error, especialmente cuando c es pequeo, porque
evita la resta de dos nmeros del mismo orden de magnitud. Considrese, por ejemplo,
la ecuacin: x 2 64 x + 1 = 0 . Trabajando con 5 cifras significativas:

x1 = 32 + 1023 32 + 31.984 = 63.984 12 10 3


x 2 = 32 1023 32 31.984 = 0.016 12 10 3

H. Scaletti - Mtodos Numricos: Introduccin 1-4


El error relativo en x 2 es muy grande. La resta se ha hecho en forma exacta; la causa
del error est ms bien en el redondeo previo de la raz cuadrada. Si en cambio se toma
x 2 = 1 x1 se obtiene:
1
x2 = = 0.015629 0.0000005
1
63.984 10 3
2
con un error relativo del mismo orden que el de x1 .

Finalmente, deben mencionarse errores humanos y errores de la computadora. Estos


ltimos son prcticamente inexistentes, los primeros son en cambio la causa de muchos
resultados inesperados.

H. Scaletti - Mtodos Numricos: Introduccin 1-5


2. LGEBRA LINEAL

2.1 Definiciones
Una matriz = (aij), de orden n x m, es un conjunto de nmeros dispuestos en n filas y m
columnas.
a11 a12 a13 .... a1 m

a 21 a 22 a 23 .... a2m
A = a 31 a 32 a 33 .... a3m

.....

a n1 an2 a n3 .... a nm

Un elemento, aij, se identifica por dos sub ndices, el primero de los cuales denota la
fila y el segundo la columna. Si m = 1 se tiene una matriz columna o "vector" de
dimensin n:
b1
b

b = 2
M
b3

Si en cambio n = 1, se tiene una matriz fila: c = [c1 c2 K c m ] . Si n = m se dice que


la matriz es cuadrada (de orden n). Por ejemplo:
1 2 3 4 d1 0 0 0 1 0 0 0

1 4 9 16 0 d2 0 0 0 1 0 0
A= D= In =
1 8 27 64 0 0 d3 0 0 0 1 0

1 16 81 256 0 0 0 d 4 0 0 0 1

A, D e In son matrices cuadradas. La matriz D = diag [d 1 d 2 K d n ] es una matriz
diagonal, cuyos elementos son todos cero, excepto aquellos ubicados en la diagonal
principal (de la esquina superior izquierda a la inferior derecha). Un caso particular es el
( )
de I n = diag [1 1 K 1] = ij , que es una matriz unidad (o identidad) de orden n. La
matriz identidad tiene en el lgebra matricial un papel similar al uno en lgebra comn.
Por otro lado, el equivalente del cero es una matriz nula (no necesariamente cuadrada),
cuyos elementos son todos ceros.

Las matrices cuadradas cuyos elementos tienen simetra conjugada: a ij = a ji (donde *
indica conjugada compleja) se denominan Hermitianas. Por ejemplo:

1 2 + i 3 2i 0

2i 5 1 i 1+ i
H= i = 1
3 + 2i 1 + i 3 2 3i

0 +
1 i 2 3i 4
es una matriz Hermitiana. Si todos los elementos de una matriz Hermitiana son reales,
es decir a ij = a ji , se tiene una matriz simtrica.

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-1


Una matriz cuadrada en la que la mayor parte de los elementos son ceros y los
elementos con valor significativo estn agrupados alrededor de la diagonal principal se
denomina matriz banda. Por ejemplo:

1 1

1 2 1
B= 1 2 1

1 2 1

1 1

Las lneas paralelas a la diagonal principal se llaman codiagonales. El nmero total de


diagonal y codiagonales con elementos significativos en el ancho de banda (3 en este
ejemplo). Para matrices simtricas puede tambin hablarse de un ancho de semi
banda; que incluye a la diagonal principal (2 en el ejemplo precedente). Una matriz
banda tiene baja densidad. Por densidad se entiende la razn entre el nmero de
elementos con valor significativo y el nmero total de elementos.

Si en una matriz cuadrada todos los elementos por encima (o por debajo) de la diagonal
principal son cero se dice que sta es una matriz triangular inferior (superior):

l 11 0 0 L 0 u11 u12 u13 L u1n



l 21 l 22 0 L 0 0 u 22 u 23 L u 2n
L = l 31 l 32 l 33 L 0 U= 0 0 u 33 L u 3n

K K

l n1 l n2 l n3 L l nm 0 0 0 L u nm

En lo que sigue se usan letras negritas para denotar matrices. Para las matrices
columna y para las matrices filas se usan minsculas, mientras que para las matrices
rectangulares (incluyendo las matrices cuadradas) se usan maysculas. En todos los
casos, los elementos de una matriz se indican en minsculas.

2.2 Operaciones Bsicas con Matrices


Subdivisin o particin. El conjunto de elementos de una matriz A puede ser dividido
en otros ms pequeos mediante lneas horizontales y/o verticales. Las distintas partes,
A11, A12, etc. son submatrices de la matriz A. Las submatrices pueden tratarse como
elementos comunes de una matriz, excepto que deben operarse segn las reglas del
lgebra matricial.

Igualdad. Dos matrices, A, B, del mismo orden, son iguales si cada elemento de una es
igual al correspondiente elemento de la otra. A = B implica a ij = bij para todo i, j.

Suma (resta). La suma (o diferencia) de dos matrices A, B del mismo orden es una
tercera matriz del mismo orden, cuyos elementos se obtienen sumando (restando)
algebraicamente los correspondientes elementos de las dos matrices originales:

AB=C a ij bij = cij

La suma (resta) de matrices es asociativa y conmutativa:


(A + B ) + C = A + (B + C ) A+B=B+A

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-2


Derivada e integral. Anlogamente, puede definirse la derivada de una matriz:

A aij
=B = bij

y la integral de una matriz en forma similar.

Multiplicacin por un escalar. El producto de una matriz por un escalar es otra matriz
del mismo orden cuyos elementos son los de la matriz original multiplicados por el
escalar:
A = B a ij = bij

Multiplicacin de dos matrices. Dos matrices, A (m x p) y B (p x n) pueden ser


multiplicadas en el orden A B slo si son conformables para el producto, es decir, si el
nmero de columnas de A es igual al nmero de filas de B. El producto C (m x n) es
una matriz cuyos elementos se obtienen de:
p
cij = a
k =1
ik bkj i = 1, m j = 1, n

Por ejemplo, si:


5 3 1 1 5

A= 4 6 2 B = 2 4 C = AB
10 3 4 3 2

c11 = 5 1 + 3 2 + 1 3 = 14
14 39
c 21 = 4 1 + 6 2 + 2 3 = 22
C = 22 48
K 28 70
c32 = 10 5 + 3 4 + 4 2 = 70

La multiplicacin de matrices es asociativa y distributiva, pero en general no es


conmutativa:
A (B C) = ( A B) C A (B + C) = AB + AC AB BA

Siendo el orden de multiplicacin importante, es frecuente enfatizarlo, diciendo por


ejemplo que en el producto AB la matriz A premultiplica a B, o bien que B postmultiplica
a A. En algunos casos AB = BA ; se dice entonces que A y B son conmutables.

Es fcil verificar que el producto de dos matrices triangulares inferiores (superiores) es


otra matriz triangular inferior (superior).

Transposicin. La transpuesta AT de una matriz A es aquella cuyas filas son las


columnas de A (y viceversa). Si A = B = (bij ) , entonces bij = a ji :
T

1 4
1 2 3
A = 2 5 A T =
3 6 4 5 6

La transpuesta de una matriz simtrica es obviamente la matriz original. Productos del
tipo A T A resultan siempre en matrices simtricas. Lo mismo puede decirse de
T
productos A SA si S es simtrica.

Cuando se transpone un producto matricial la secuencia de los factores debe invertirse:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-3


(AB K C)T = CT K B T A T
Determinante de una matriz cuadrada. Es un nmero que resulta de:

det A = A = a
n!
1i a 2 j a 3 k K a nr

Donde cada trmino de la suma incluye un solo elemento de cada fila y de cada
columna. Si en estos productos se considera a los elementos ordenados por filas 1, 2, ..
n, los ndices de las columnas en cada trmino de la suma pueden ser obtenidos como
permutacin del orden normal. Segn el nmero de cambios requeridos para esta
permutacin sea par o impar se asigna al producto correspondiente el signo + o -. La
suma incluye las n! permutaciones posibles.

Las siguientes propiedades facilitan el cmputo de la determinante de una matriz


cuadrada A cualquiera:

Si se intercambian dos filas (columnas) la determinante cambia de signo.


La determinante de una matriz, A , es igual a la determinante de su transpuesta.
El valor de la determinante de una matriz A no se altera si una columna (fila)
multiplicada por un escalar se suma algebraicamente a otra columna (fila):

a b a
b
det = det bc = ad bc
c d 0 d
a
En consecuencia, la determinante de una matriz con dos filas (o columnas) iguales (o
proporcionales) es cero. Ms an,si dos o ms columnas (filas) de una matriz A son
linealmente dependientes, es decir 1a1+ 2a2+ 3a3+...+ n-1an-1+ nan = 0 para un
conjunto de coeficientes i de los que por lo menos uno es distinto de cero, la
determinante es cero. Se dice entonces que la matriz A es singular. Considrese por
ejemplo el caso:

1 1 0

A = 1 2 1
0 1 1

1 1 0 0
A es singular puesto que: (1)1 + ( 1)2 + (1)1 = 0

0 1 1 0

La determinante de una matriz triangular es igual al producto de los elementos de su
diagonal principal.
Para un producto matricial se cumple que:
det (A B K C ) = det( A ) det( B) K det(C)

As, por ejemplo, si:


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

1 4 9 16 1 1 0 0 0 2 6 12
A= =
1 8 27 64 1 3 1 0 0 0 6 24

1 16 81 256 1 1 0 0 24
7 6 0

entonces: det( A) = (1) (1 2 6 24 ) = 288

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-4


Inversa de una matriz. Si una matriz A es no singular, es posible obtener su inversa,
A-1, que satisface:

A 1 A = AA 1 = I n (A )
1 1
=A
1
Obviamente I n = I n . La inversa de una matriz diagonal es otra matriz diagonal, cuyos
elementos son inversas de los elementos de la matriz original. La inversa de una matriz
triangular (inferior o superior) es otra matriz triangular del mismo tipo.

La inversin de matrices permite efectuar la operacin equivalente a la divisin del


lgebra comn.

AB = C B = A 1C (vanse los comentarios del tem 2.5.5)

Para la inversa de un producto matricial se cumple:

(AB K C)1 = C 1 K B 1 A 1
Una matriz Q se denomina ortogonal si: Q Q T = I n . Particularmente, si Q es una matriz
1
cuadrada se tiene entonces que Q = Q T . Por ejemplo:
cos sen
R =
sen cos
es ortogonal, puesto que:

cos sen
R 1 = = R T
sen cos
.

Refirindose a una matriz con coeficientes complejos, U, se dice que sta es unitaria si
U U* = I

2.3 Espacios y Subespacios Vectoriales


Una matriz columna de orden n es un conjunto nmeros que pueden ser interpretados
como componentes de un vector en un espacio de dimensin n.

Se dice que un conjunto de vectores v1 v2 v3 .... v5 son linealmente dependientes si


existen nmeros 1 2 3 .... 5, no todos cero, tales que:
1v1 + 2 v 2 + 3 v 3 + K + 5 v 5 = 0

Alternativamente, puede decirse que los vectores son linealmente dependientes si uno
cualquiera de ellos puede expresarse como combinacin lineal de los otros:
vr = c v
i r
i i (y linealmente independientes si esto no es posible).

p vectores linealmente independientes de orden n ( n p ) conforman una base de un


espacio vectorial de dimensin p. Por otro lado, q vectores, de los que p ( p q ) son
linealmente independientes, estn contenidos en un espacio de dimensin p.

Si los vectores linealmente independientes x1 x2 .... xp constituyen una base de un


espacio vectorial de dimensin p, un sub conjunto de estos puede considerarse como
base de un sub espacio contenido en el espacio vectorial original.

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-5


Las columnas (o filas) de una matriz rectangular A pueden tratarse como vectores. El
nmero de vectores linealmente independientes define el rango de la matriz. Una
matriz cuadrada es no singular si su rango es igual al orden de la matriz, es decir si
todas las columnas son linealmente independientes. Lo contrario implica que una o ms
columnas (filas) pueden obtenerse como combinacin lineal de las otras y la
determinante es cero.

2.4 Sistemas de Ecuaciones Lineales


Se ha estimado que un 75% de los problemas de ingeniera se presenta, en alguna
etapa del trabajo, la solucin de un sistema de ecuaciones lineales:
a11 x1 + a12 x 2 + a13 x 3 + K + a1n x n = b1
a 21 x1 + a 22 x 2 + a 23 x3 + K + a 2 n x n = b2
a 31 x1 + a 32 x 2 + a33 x 3 + K + a 3n x n = b3 (2.1a)

a n1 x1 + a n 2 x 2 + a n3 x3 + K + a nn x n = bn

o bien: Ax = b

a11 a12 a13 K a1n x1 b1



a 21 a 22 a 23 K a 2 n x 2 b2
a
a 32 a 33 K a 3n x3 = b3 (2.1b)
31
L M M

a n1 an2 a n3 K a nn x n bn

En las secciones siguientes se supone que el sistema de ecuaciones tiene solucin


nica, es decir, que det(A) 0 .

La solucin de sistemas de ecuaciones es un buen ejemplo de las diferencias entre las


matemticas clsicas y los mtodos numricos modernos. As, la Regla de Cramer:

a11 a12 K b1 K a1n



a 21 a 22 K b2 K a 2n
det a 31 a 32 K b3 K a 3n

L

a n1 an2 K bn K a nn
xj = (2.2)
a11 a12 K a1 j K a1n

a 21 a 22 K a2 j K a 2n
det a 31 a 32 K a3 j K a 3n

L

a n1 an2 K a nj K a nn

si bien proporciona frmulas explcitas es tremendamente ineficiente cuando se trata de


resolver sistemas con ms de 3 incgnitas (excepto para casos muy especiales de la
matriz de coeficientes).

Muchos mtodos frecuentemente utilizados en ingeniera, como por ejemplo los mtodos
de elementos finitos para la solucin de ecuaciones en derivadas parciales, resultan en

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-6


el planteamiento de grandes sistemas de ecuaciones lineales. El costo de anlisis y en
muchos casos la factibilidad de un modelo suficientemente preciso dependen en gran
medida de la forma de almacenamiento de las ecuaciones y de la eficiencia del algoritmo
utilizado en su solucin.

2.5 Mtodos Directos para la Solucin


de Sistemas de Ecuaciones Lineales
Este acpite considera mtodos que, de no haber errores de redondeo, producen la
solucin exacta en un nmero finito de pasos. Para sistemas Ax = b, en los que A es de
alta densidad, los mtodos directos son en general los ms eficientes (para las
computadoras actualmente utilizadas). Sin embargo, cuando un gran nmero de
elementos de A son cero, y en especial cuando A es definida positiva ( x T Ax > 0 para
cualquier x 0 ), puede ser ms conveniente utilizar un mtodo iterativo en que se
obtiene una secuencia de soluciones aproximadas que convergen a la solucin exacta.

2.5.1. Sistemas Triangulares

La solucin de sistemas de ecuaciones lineales es particularmente simple cuando la


matriz de coeficientes es triangular. Por ejemplo, considrese un sistema Ux = b en el
que U es triangular superior:
u11 x1 + u12 x 2 + u13 x3 + K + u1n x n = b1
u 22 x 2 + u 23 x3 + K + u 2 n x n = b2
u 33 x3 + K + u 3n x n = b3
(2.3)
KK
u n 1,n 1 x n 1 + u nn x n = bn
u nn x n = bn

Si U es no singular ( u ii 0 para todo i), las incgnitas pueden evaluarse en el orden: n,


n-1, n-2, n-3, ... 2, 1:
bn
xn = (2.4a)
u nn

n


1 bi
xi = u ik x k (2.4b)
u ii
k = i +1
Este proceso se denomina sustitucin inversa. Anlogamente, para un sistema Lx = b,
en el que L es una matriz triangular inferior no singular ( l ii 0 para todo i), puede
utilizarse una sustitucin directa o reduccin:
b1
x1 = (2.5a)
l11
i 1


1 bi
xi = l ik x k (2.5b)
lii
k =1
En ambos casos, la solucin del sistema requiere n divisiones y 1
2
n (n 1) operaciones
de multiplicacin y suma (casi lo mismo que para multiplicar una matriz triangular por un
vector).

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-7


2.5.2 Mtodo de Gauss

ste es el ms importante de los mtodos directos para la solucin de sistemas de


ecuaciones lineales. La idea bsica est en combinar las distintas ecuaciones para ir
eliminando incgnitas en forma sistemtica y obtener finalmente un sistema triangular,
fcil de resolver. Considrese el sistema de orden n:
(1)
a11 x1 + a12
(1)
x 2 + a13
(1)
x 3 + K + a1(1n) x n = b1(1)
(1)
a 21 x1 + a 22
(1)
x 2 + a 23
(1)
x 3 + K + a 2(1n) x n = b2(1)
(1)
a 31 x1 + a 32
(1)
x 2 + a 33
(1)
x 3 + K + a 3(1n) x n = b3(1) (2.6)
KK
a n(11) x1 + a n(12) x 2 + a n(13) x 3 + K + a nn
(1)
x n = bn(1)

o en forma compacta: Ax = b. En lo que sigue se supone que A es no singular.


Supngase tambin que a11 0 . Puede entonces eliminarse x1 de la ecuacin i si de
sta se resta la ecuacin 1 multiplicada por:

a i(11)
li1 = (1)
(2.7a)
a11
Con ello se obtiene:
(1)
a11 x1 + a12
(1)
x 2 + a13
(1)
x3 + K + a1(n1) x n = b1(1)
( 2)
a 22 x 2 + a 23
( 2)
x3 + K + a 2( 2n) x n = b2( 2)
( 2)
a 32 x 2 + a 33
( 2)
x3 + K + a 3( 2n) x n = b3( 2) (2.7b)
KK
a n( 22) x 2 + a n( 23) x3 + K + a nn
( 2)
x n = bn( 2)
donde

a ij( 2) = aij(1) l i1 a1(1j)


(2.7c)
bi( 2) = bi(1) l i1 b1(1)

En forma similar, puede eliminarse x2 de las ecuaciones i = 3,4,..n restando de la


ecuacin i la ecuacin 2 multiplicada por:

a i(22)
li 2 = ( 2)
a 22

y as sucesivamente hasta obtener el sistema triangular:


(1)
a11 x1 + a12
(1)
x 2 + a13
(1)
x3 + K + a1(n1) x n = b1(1)
( 2)
a 22 x 2 + a 23
( 2)
x3 + K + a 2( 2n) x n = b2( 2)
( 3)
a 33 x3 + K + a 3(3n) x n = b3(3) (2.8)
KK
(n)
a nn x n = bn( n)

o en notacin matricial: Ux = b.

Los elementos a11 (1) ( 2)


, a 22 ( 3)
, a 33 K a n( n1,1n)1 que se usan como divisores en esta reduccin
se llaman pivotes. El proceso tal como ha sido planteado hasta el momento falla si
alguno de estos es cero. Esto en general no ocurre si la matriz A tiene diagonal

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-8


dominante (es decir, si aii > a
j i
ij ) o si A es simtrica (AT = A) y definida positiva
(vTAv > 0 para v arbitrario).

El siguiente ejemplo ilustra el proceso:

1 2 3 4 x1 2

(1) 1 4 9 16 x 2 10
=
(1) 1 8 27 64 x3 44

(1) 1 16 81 256 x 4 190

Los nmeros indicados a la izquierda (entre parntesis) son los factores li1 por los que es
necesario multiplicar la ecuacin 1 antes de restarla de la ecuacin i, para lograr el
objetivo de eliminar x1 de la segunda y las siguientes ecuaciones.

1 2 3 4 x1 2

0 2 6 12 x 2 8
=
(3) 0 6 24 60 x 3 42

(7) 0 14 78 252 x 4 188

Anlogamente:

1 2 3 4 x1 2

0 2 6 12 x 2 8
0 =
0 6 24 x3 18

(6) 0 0 36 168 x 4 132

1 2 3 4 x1 2

0 2 6 12 x 2 8
0 =
0 6 24 x3 18

0 0 0 24 x 4 24

finalmente:
24 x 4 = 24 x4 = 1
6 x3 + 24 x 4 = 18 x3 = 1
2 x 2 + 6 x3 + 12 x 4 = 8 x2 = 1
x1 + 2 x 2 + 3 x3 + 4 x 4 = 2 x1 = 1

Para estimar el esfuerzo de cmputo es habitual referirse al nmero de "operaciones"


requeridas. La costumbre es contar como una operacin a la combinacin de una suma
(o resta, o simplemente una copia) con una multiplicacin (o divisin). Esta prctica
proviene de las pocas en que el tiempo requerido para efectuar una multiplicacin o una
divisin era un orden de magnitud mayor que el necesario para una suma o una resta,
pudiendo despreciarse estas ltimas. La reduccin de la matriz de coeficientes requiere
de un nmero de operaciones de orden n 3 . La reduccin del segundo miembro y la
1
3
2
sustitucin inversa requieren aproximadamente n operaciones. Si se tuvieran varios
sistemas de ecuaciones con la misma matriz de coeficientes: Ax = b1, Ay = b2, ... slo
se requerira efectuar la reduccin de A una vez, por lo que el nmero de operaciones
sera siempre aproximadamente 1 3 n 3 . Ms precisamente, se hacen 1 3 n 3 + 2 n 2 + 2 3 n

H. Scaletti - Mtodos Numricos: lgebra Lineal 2-9


operaciones para resolver un sistema de n ecuaciones lineales, pero si n es grande slo
el primer trmino es importante.

El proceso antes descrito falla cuando se presenta un pivote, a ii(i ) , igual a cero. Un
ejemplo simple de tal situacin es el siguiente:

1 1 1 x1 1

1 1 2 x 2 = 2
1 2 2 x 1
3
La matriz de coeficientes no es singular y el sistema tiene una solucin nica
x = (1 1 1) . Sin embargo, despus del primer paso (efectuado en el orden indicado
T

anteriormente), se obtiene:

1 1 1 x1 1

0 0 1 x 2 = 1
0 1 1 x 0
3
y siendo a 22 = 0 , no es posible proseguir como habitualmente. La solucin es en este
( 2)

caso obvia: intercambiar las ecuaciones (filas) 2 y 3. En general, si a ii(i ) = 0 , algn otro
(i )
elemento de la misma columna, a ji , debe ser distinto de cero (lo contrario implicara
una dependencia lineal de por lo menos dos de las ecuaciones, es decir la singularidad
de A). Intercambiando las filas j e i puede entonces continuarse la reduccin. Dados los
(i )
elementos a ji de la columna i, es conveniente escoger como pivote aquel de mximo
valor absoluto, puesto que el uso de pivotes pequeos introduce fuertes errores en la
solucin. El ejemplo siguiente es ilustrativo:

3 10 11 1 x1 7
=
1 1 x 2 9

Trabajando con 10 cifras significativas se obtiene:

3.000 000 000 10 11 1 x1 7


=

0 10
(
3.333 333 333 10 x 2 7 3.333 333 333 10 )
10

de donde: x2 = 7
x1 = 0

La solucin correcta es, sin embargo, x1 = 2 . Es fcil comprobar que no se presenta


este problema si se evita el pivote pequeo intercambiando previamente las ecuaciones:

1 1 x1 9
=
3 10
11
1 x 2 7

El intercambio de filas al que se ha hecho referencia se denomina intercambio parcial.


Alternativamente, puede pensarse en un intercambio completo, en que se selecciona el
siguiente pivote como el elemento de mximo valor absoluto entre todos los elementos
de la sub matriz por reducirse. Se intercambian entonces filas (ecuaciones) y columnas
(incgnitas) para continuar el proceso como se ha descrito.

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 10


El intercambio parcial es generalmente satisfactorio, desde el punto de vista de la
estabilidad numrica, y requiere bastante menos trabajo que el proceso con intercambio
total.

2.5.3 Descomposicin A = LU

Supngase que A es tal que el proceso de reduccin del mtodo de Gauss puede
efectuarse sin necesidad de intercambiar filas o columnas. En tal caso, la
descomposicin A = LU donde L es una matriz triangular inferior con l ii = 1 y U es una
matriz triangular superior, es nica. Esto puede probarse fcilmente por induccin. Para
el caso del primer ejemplo:

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

1 4 9 16 1 1 0 0 0 2 6 12
1 8 27 64 = 1 3 1 0 0 0 6 24

1 16 81 256 1 1 0 0 24
7 6 0

Los elementos de L son justamente los coeficientes l ij usados durante la reduccin; U


es en cambio la matriz A reducida!

Se ha mencionado anteriormente que varios sistemas de ecuaciones con la misma


matriz de coeficientes pueden ser resueltos simultneamente. Sin embargo, no siempre
se conocen desde un principio todos los vectores de coeficientes del segundo miembro.
Por ejemplo, puede querer resolverse Ax1 = b y Ax2 = x1. An en este caso, al resolver
el segundo sistema no es necesario volver a reducir la matriz A como al inicio. El
sistema Ax = b es equivalente a LUx = b, o bien a los dos sistemas triangulares: Ly = b
2
, Ux = y. Siendo L y U conocidos, estos dos sistemas pueden resolverse en O(n )
operaciones. L y U pueden almacenarse en las mismas posiciones de memoria que en
la matriz A: a ii(i ) se determina con el objeto de hacer a ki(i +1) = 0 ,
Como l ki = a ki
(i )

l ki puede almacenarse en las posicin de a ki . Por otro lado, no es necesario almacenar


los elementos de la diagonal de L (que son todos iguales a 1). Dado que los elementos
de U son aquellos de la matriz reducida, el efecto de la reduccin o descomposicin en
la distribucin de memoria es de la forma:

a11 a12 a13 K a1n u11 u12 u13 K u1n



a 21 a 22 a 23 K a2n l 21 u 22 u 23 K u 2n
a a 32 a33 K a 3n l 31 l32 u 33 K u 3n
31
L L

a n1 a n2 a n3 K a nn l n1 l n 2 l n3 K u nn
Para el ejemplo precedente:

1 2 3 4 1 2 3 4

1 4 9 16 1 2 6 12
1 8 27 64 1 3 6 24

1 16 81 256 1 6 24
7

En los casos en los que se efectan intercambios de filas y/o columnas es siempre
posible (si A no es singular) obtener factores triangulares L y U tales que LU = A,

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 11


donde A es la matriz que resulta de efectuar los intercambios mencionados en la matriz
original A.

2.5.4 Otros Mtodos Directos

Todos los mtodos tratados en esta seccin pueden considerarse como variantes del
mtodo de Gauss.

Una posible alternativa es la de calcular los elementos de L y U mediante las frmulas:


k 1
u k j = ak j l
p =1
kp upj j = k , k + 1, n (2.9a)

1 k 1
l ik =
u kk
ai k
l ip u pk

i = k + 1, n (2.9b)
p =1
en lugar de efectuar reducciones como anteriormente. Esta modificacin (Doolitle) es
conveniente cuando se usan calculadoras manuales, ya que evita la escritura de muchos
resultados intermedios. Su uso en computadoras es ventajoso si las operaciones se
hacen con una precisin mayor que aquella con la que se almacenan los resultados.

El mtodo de Crout efecta la factorizacin A = LDR, donde L es la misma matriz


triangular inferior obtenida durante el proceso de Gauss, D es una matriz diagonal y R es
una matriz triangular superior con coeficientes 1 en su diagonal principal. D y R estn
relacionados con la U de Gauss.

d ii = u ii
u ij (2.10)
rij = j >i
d ii

En particular, para A simtrica: R = LT. Este mtodo no posee ventajas ni desventajas


con relacin al de Gauss, bien sea en cuanto a estabilidad numrica y precisin, como
en el nmero de operaciones necesarias.

Si durante el proceso de reduccin se usa la ecuacin i para eliminar xi, no slo de las
ecuaciones que siguen a la i sino tambin de la ecuaciones precedentes, se tiene el
mtodo de Gauss Jordan. Para el ejemplo antes considerado:

1 2 3 4 x1 2

1 4 9 16 x 2 10
1 8 27 64 x = 44
3
1 16 81 256 x 190
4

1 2 3 4 x1 2

0 2 6 12 x 2 8
0 6 24 60 x = 42
3
0 14 78 252 x 188
4

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 12


1 0 3 8 x1 6

0 2 6 12 x 2 8
0 =
0 6 24 x3 18

0 0 36 168 x 4 132

Ntese que se utiliz la segunda ecuacin para reducir no solamente las ecuaciones 3 y
4, sino tambin la ecuacin 1. Anlogamente:

1 0 0 4 x1 3

0 2 0 12 x 2 10
0 =
0 6 24 x3 18

0 0 0 24 x 4 24

1 0 0 0 x1 1

0 2 0 0 x 2 2
0 = de donde se obtiene fcilmente la solucin.
0 6 0 x 3 6

0 0 0 24 x 4 24

El mtodo de Gauss- Jordan es ms simple de programar, pero requiere casi 1.5 veces
el nmero de operaciones del mtodo de Gauss tradicional.

Finalmente, para concluir esta seccin, debe mencionarse que el mtodo de Gauss es
aplicable tambin a sistemas de ecuaciones con coeficientes complejos. Por ejemplo:

2 1 i 0 x1 4 2i

1 + i 2 1 + i x 2 = 8 + 4i
0 1 i 3 x3 11 2i

2 1 i 0 x1 4 2i

0 1 1 + i x 2 = 5 + 3i
0 1 i 3 x3 11 2i

2 1 i 0 x1 4 2i

0 1 1 + i x 2 = 5 + 3i
0 0 1 x3 3

de donde:
x3 = 3
x 2 = (5 + 3i ) 3(1 + i ) = 2
x1 = 1
2
[(4 2i) 2(1 i)] = 1
2.5.5 Inversin de Matrices
-1
Si la inversa, A , de una matriz A se conoce, la solucin de un sistema Ax = b puede
-1 -1
escribirse x = A b. Podra entonces parecer conveniente determinar A , en especial si
se tienen varios sistemas de ecuaciones con la misma matriz de coeficientes. Sin
embargo, la solucin puede ser obtenida con mucho menos operaciones y en general
con mucha ms precisin utilizando la descomposicin A = LU. La solucin de los dos
2
sistemas triangulares Ly = b y Ux = y requiere slo O(n ) operaciones (por cada
columna de b x). Por otro lado, la multiplicacin A-1b tambin demanda O(n2)

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 13


-1
operaciones. Sin embargo, la determinacin de A requiere aproximadamente el triple
de trabajo que para obtener L y U. El nmero de operaciones necesarias para obtener
la inversa de una matriz cuadrada (no simtrica) de orden n es n 3 + 2 n 2 n + 1 .

No obstante esto, en algunos casos se necesita la inversa en forma explcita. La inversa


puede obtenerse de un modo eficiente resolviendo n sistemas de ecuaciones lineales:
AX = In, donde X = A-1. El siguiente ejemplo utiliza una variante del mtodo de Gauss
con este objeto:

1 1 1

A = 2 1 3
3 1 4

En la columna de la izquierda se tienen la matriz A y sus sucesivas modificaciones. A la
derecha se presentan la matriz I y las modificaciones obtenidas efectuando sobre las
filas las mismas operaciones que en A:

1 1 1 1 0 0

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

1 1 1 1 0 0

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

1 0 2 1 1 0

0 1 1 2 1 0
0 0 1 1 2 1

1 0 0 1 3 2

0 1 0 1 1 1 = A 1
0 0 1 1 2 1

Alternativamente, si la descomposicin A = LU de una matriz A se conoce, la inversa
-1 -1 -1 2
puede obtenerse de A = U L , tambin en O(n ) operaciones. Si en los cmputos
-1 -1
para L y U se hacen intercambios de filas, el producto U L resulta la inversa de una
-1 -1
cierta matriz A. La matriz A puede obtenerse a partir de (A) intercambiando
columnas en secuencia inversa a los cambios de fila durante el proceso.
Para la matriz antes considerada:

1 1 1 1 0 0 1 1 1

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

A = LU

La inversa de una matriz triangular es otra matriz del mismo tipo, fcil de determinar.

Para una matriz triangular inferior, L, cada columna de la matriz inversa L-1 puede ser
obtenida por sustitucin directa o reduccin: LY = In.

y ij = 0 i< j (2.11a)

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 14


1 i 1
y ij =
l ii
ij l ik y kj

i j (2.11b)
k= j
En forma anloga, la inversa, U-1, de una matriz triangular superior, U, es tambin una
matriz triangular superior. Cada fila i, puede determinarse mediante UZ = In:
j 1
1
z ij =
u jj
ij
z ik u kj


i j (2.12a)
k =i
z ij = 0 i> j (2.12b)

Para las matrices L y U del ejemplo considerado:

1 0 0 1 1 2

1
1

L = 2 1 0 U = 0 1 1
1 2 1 0 0 1

1 3 2
1
1
1
A =U L = 1 1 1
1 2 1

2.5.6 Casos Especiales

Matrices Simtricas Definidas Positivas.

Para una matriz simtrica: a (jk1) = a kj(1) .


Si se efecta la reduccin de Gauss sin
intercambio de filas y/o columnas se tiene tambin que: a jk = a kj para i < j , k n .
(i ) (i )

En otras palabras, la sub matriz que debe an reducirse en un paso dado es tambin
simtrica. Esto puede probarse por induccin, teniendo en cuenta las condiciones
iniciales de simetra y adems que:

a ki(i )
a kj(i +1) = a kj(i ) l ki a ij(i ) = a kj(i ) a ij(i ) (2.13a)
a ii(i )

a (jii )
a (jki +1) = a (jki ) l ji a ik( i ) = a (jki ) a ik( i ) (2.13b)
a ii( i )

Puede observarse que, si los coeficientes en la etapa i son simtricos, aquellos en la


etapa i + 1 tambin lo son, puesto que se obtienen operando del mismo modo con
nmeros iguales.

Considrese, por ejemplo, el sistema de ecuaciones con coeficientes simtricos:

5 4 1 0 x1 0

4 6 4 1 x 2 1
1 4 6 4 x = 0
3
0 1 4 5 x 0
4
En las sucesivas etapas del proceso de eliminacin, las sub matrices que quedan por
reducir siguen siendo simtricas:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 15


5 4 1 0 x1 0

0 145 165 1 x 2 1
0 16 =
29
4 x3 0
5 5
0 1 4 5 x 4 0

5 4 1 0 x1 0

0 5 5
14 16
1 x 2 1
0 0 =
15
207 x 3 87
7
0 0 20 65 145
7 14 x 4

5 4 1 0 x1 0 x1 8

0 5 5
14 16
1 x 2 1 x
2 1 13
0 0 = de donde =
15
207 x3 87 x 3 5 12
7
0 0 0 5 76 x 4 7
6 x 4
La simetra de la matriz por reducirse permite hacer: l ki = a ik
(i ) (i )
a ii(i ) (utilizando a ik en
( i +1)
(i )
lugar de a ki ) y restringir los clculos de: a kj = a kj(i ) l ki a ij(i ) a las columnas k j n ,
en lugar de i j n. El nmero de operaciones para la reduccin es entonces
2
O( 1 6 n ) , aproximadamente la mitad que para el caso general.
Tambin los requerimientos de memoria pueden reducirse, almacenando los coeficientes
de la matriz en un arreglo monodimensional. Para el caso de una matriz simtrica de
alta densidad el siguiente esquema de numeracin de los coeficientes es apropiado:

1 2 4 7 11 M M

3 5 8 12 M M
6 9 13 M M

10 14 M M

15 M M
M M


1
2
n (n + 1)

Es evidente que intercambios de filas y columnas destruyen la simetra, a menos que se


tome siempre como pivote un elemento de la diagonal principal. Tales intercambios no
son necesarios si la matriz es definida positiva (xTAx > 0 para x arbitraria, no nula), ya
que en tal caso:

aii( k ) > 0 i 1, k n
2
a ij( k ) a ii( k ) a (jjk ) k i, j n (2.14)

aii( k +1) 2aii( k ) k <in


Estas condiciones garantizan que no se presentan pivotes pequeos.

Para el caso de matrices simtricas definidas positivas puede tambin utilizarse el


mtodo de Cholesky. ste mtodo efecta la descomposicin A = RTR, donde R es una
matriz triangular superior cuyos elementos pueden obtenerse (por filas) de:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 16


1

i 1 2
rii = a ii rpi
2
(2.15a)
p =1
1 i 1
rij = aij rpi rpj j = i + 1, i + 2,L (2.15b)
rii
p =1
Para el ejemplo anterior se obtiene:

r11 = (a11 ) 2 = 2.2360


1

r12 = a12 r11 = -1.7888


r13 = a13 r11 = 0.44721

r14 = a14 r11 = 0

( )
1

r22 = a 22 r122 2
= 1.6733
r23 = (a 23 r12 r13 ) r22 = -1.9123

r24 = (a 24 r12 r14 ) r22 = 0.5976

( )
1

r33 = a33 r132 r232 2


= 1.4639
r34 = (a 34 r13 r14 r23 r24 ) r33 = -1.9518

( )
1

r44 = a 44 r142 r242 r342 2


= 0.9129
es decir:

2.2360 1.7888 0.4472 0



0 1.6733 1.9123 0.5976
R=
0 0 1.4639 1.9518

0 0.9129
0 0

El sistema Ax = b puede entonces rescribirse como RTRx = b o bien RTy = b; Rx = y

Resolviendo el primer sistema triangular:

0
0.5976

y=
0 . 7808
1.2781

y finalmente:
8

1 13
x=
5 12
7

Puede anotarse que R est relacionada con las L y U de Gauss mediante RT= LD;
R = D 1U; donde D = diag ( u11 u 22 L )
u nn .

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 17


Matrices Banda.

Los sistemas de ecuaciones en que los coeficientes forman matrices banda son
frecuentes. Tales sistemas se resuelven eficientemente por el mtodo de Gauss y otros
similares, ya que stos conservan la estructura de banda de las matrices: A = LU:

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

1 2 1 0 0 1 1 0 0 0 0 1 1 0 0
0 1 2 1 0 = 0 1 1 0 0 0 0 1 1 0

0 0 1 2 1 0 0 1 1 0 0 0 0 1 1

0 0 0 1 2 0 0 0 1 1 0 0 0 0 1
1
Ntese que A 1 = U 1L no es una matriz banda:

5 4 3 2 1

4 4 3 2 1
A 1 = 3 3 3 2 1

2 2 2 2 1

1 1 1 1 1

y por lo tanto no conviene hallar A 1 en forma explcita.

Particularmente simples de tratar son los sistemas con matrices banda simtricas y
definidas positivas (no se requieren intercambios de filas y/o columnas). Dos posibles
esquemas para almacenar los coeficientes en un arreglo monodimensional son en este
caso:
1 8 15

2 9 16
3 10 17

A= 4 11 18
5 12 19

6 13 ( 20)

7 (14) ( 21)

Las posiciones tales como 14, 20 y 21 no se usan, pero se requieren para tener un
nmero fijo de coeficientes en cada codiagonal, lo que facilita la programacin. Siendo
el ancho de la semibanda, m, mucho menor que el nmero de ecuaciones, n, las
posiciones de memoria perdidas son despreciables. Este esquema de almacenamiento
(y su variante por filas) es apropiado cuando el ancho de banda es aproximadamente
constante.

Otra posibilidad es:


1 2 4

3 5 7 13
6 8 10 14

A= 9 11 15
12 16 18

17 19

20

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 18


Esta forma de almacenamiento es ms eficiente cuando el ancho de banda es variable
(como ocurre en la mayor parte de los problemas reales). Se guardan los coeficientes
por columnas, desde el perfil superior a la diagonal principal. Se requiere un arreglo de
apuntadores o ndices que indican las posiciones ocupadas por los coeficientes de la
diagonal principal (que son los ms referidos durante el proceso de solucin). Ntese
que al aplicar el mtodo de Gauss (o cualquier variante de ese procedimiento) no se
producen valores significativos por encima del perfil original y por lo tanto no se requiere
ms memoria que aquella en la situacin inicial.

Se necesitan nm posiciones de memoria (donde n es el orden de la matriz y m << n el


2
ancho de semibanda), mucho menos que las n posiciones para la matriz completa o las
1
2n (n + 1) para una matriz simtrica de alta densidad. Por otro lado, la reduccin de la
matriz de coeficientes demanda slo O (1
2 nm
2
) operaciones, ya que:
l ij = 0 excepto para j i< j+m

u ij = 0 excepto para i j < i + m

Esto debe compararse con O ( 1


6n
3
) operaciones para reducir una matriz simtrica de
alta densidad. La reduccin del segundo miembro y la sustitucin inversa requieren
( )
O (2 nm ) , en lugar de O n 2 operaciones. En la prctica, rara vez se tiene un ancho de
banda constante, pero an as estos estimadores son tiles, si se considera m como la
media cuadrtica de los anchos de semibanda en las ecuaciones.

Un caso especial es aquel en que la matriz de coeficientes es tridiagonal:

a1 b1 x1 c1

b1 a2 b2 x2 c2
x c
3 = 3
b2 a3 b3
(2.16)
O M M

bn 2 a n1 bn 1 x n1 c n 1

bn 1 a n x n c n

Los nicos coeficientes significativos son aquellos de la diagonal principal y de dos


codiagonales, es decir, dos lneas paralelas a la referida diagonal.

Se observa que al descomponer la matriz de coeficientes, A, en sus factores triangulares


LU los factores mantienen la estructura banda:

a1 b1 1 r1 b1

b1 a2 b2 q1 1 r2 b2
b2 a3 b3 q2 1 r3 b3
=
O O O r4 O

bn 2 a n 1 bn 1 q n 2 1 O bn 1
bn 1 a n q n1 1 rn

La determinacin de los q i y ri es muy simple:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 19


r1 = a1
q i = bi / a i i = 1,2 ,L n 1 (2.17a)
ri +1 = ai +1 q i bi
y, considerando L y = c:
y1 = c1
(2.17b)
y i +1 = ci +1 qi y i i = 1,2 ,L n 1
de donde se obtiene x resolviendo U x = y:
x n = y n / rn
xi = ( y i bi xi +1 ) / ri i = n 1,L 2 , 1

Para resolver un sistema de n ecuaciones lineales con matriz de coeficientes tridiagonal


se requieren slo 5n 4 operaciones. Como se indic anteriormente, se cuenta como
una operacin la combinacin de una multiplicacin o divisin con una suma, resta o
almacenamiento del resultado.

Grandes sistemas de ecuaciones lineales

(con matrices de coeficientes banda, simtricas y definidas positivas).

Cuando la memoria de la computadora es insuficiente para almacenar todos los


coeficientes del sistema de ecuaciones, se recurre al disco. El acceso a este medio es
(en trminos relativos) muy lento y en lo posible debe tratar de minimizarse su uso.

Es frecuente subdividir la informacin de sistemas de ecuaciones excesivamente


grandes en bloques de una o ms ecuaciones (o columnas).

Los datos de cada bloque se almacenan en disco. stos son ledos a la memoria
principal conforme van siendo utilizados y regrabados en la memoria auxiliar una vez
operados. La solucin del sistema de ecuaciones por el mtodo de Gauss (u otro similar)
requiere mantener en memoria principal la informacin de por lo menos dos bloques en
forma simultnea. As por ejemplo, durante el proceso de reduccin, las ecuaciones del
bloque k deben ser utilizadas para reducir ecuaciones del mismo bloque y de los bloques
sucesivos k+1, k+2, ...., k+n (n en general es pequea), lo que implica que, estando el
bloque k en memoria, los bloques sucesivos deben ser ledos, parcialmente reducidos, y
regrabados en secuencia. Algo similar ocurre con el proceso de sustitucin inversa.

2.6. Errores en la Solucin de


Sistemas de Ecuaciones Lineales
En la solucin prctica de grandes sistemas de ecuaciones lineales se realizan millones
de operaciones y en cada una ocurren errores de redondeo, Cmo afectan estos
errores a los resultados? Cmo puede estimarse la magnitud del error en la solucin?
Podra pensarse que, habiendo resuelto el sistema A x = b, la magnitud del residuo
r = b A x sea una buena medida del error introducido en x. !Esto es falso!
Considrese por ejemplo:

0.780 0.563 0.217


A = b=
0.913 0.659 0.254

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 20


T
Y supngase que se ha resuelto A x = b obteniendo x1 = (0.341 -0.087) Qu tan
buena es esta solucin?
r1 = b A x1 = (10-6 0)T
T
Por otro lado si se afirma que la solucin es x2 = (0.999 -1.001) se obtiene el residuo.
r2 = b A x2 = (1.343x10-3 1.572x10-3)T
T
Es x1 mejor solucin que x2? No. La solucin exacta es x = (1 -1) .

Aunque la magnitud del vector residuo r = b A x no da una indicacin directa del error
en x, es posible utilizar residuos para estimar el error e incluso para corregir la solucin.
Esto se discute ms adelante.

2.6.1 Normas de Vectores y Matrices

Con el propsito de discutir los errores al resolver sistemas de ecuaciones lineales, se


define como norma (o medida) de un vector:

x p
= ( x1p + x 2p + K )1 / p 1 p (2.18a)

Dos casos particulares son de inters:

x 2
= ( x12 + x 22 + K)1 / 2 (norma Euclidiana) (2.18b)

x
= mx x i (mximo valor absoluto) (2.18c)

Es relativamente fcil probar que:

x 0 slo hay igualdad si x = 0

ax = a x (2.19)

x+y x + y

Estas propiedades son familiares en relacin a la norma Euclidiana o longitud de un


vector.

La norma de una matriz cuadrada, A , puede ser definida en forma consistente con la
definicin de norma de un vector:

Ax
A p
= mx
p
(x 0 ) (2.20a)
x p

mx , mx
1/ 2 T
La norma A 2
es donde es el mximo valor caracterstico de A A (ver
captulo 3). Por otro lado:
n
A
= mx
i j =1
a ij (2.20b)

Estas normas satisfacen condiciones similares a las normas de vectores. Adems:

AB A B (2.21)

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 21


2.6.2 Condicionamiento de una matriz:

En esta ecuacin se analizan los efectos de una pequea perturbacin A en la matriz


A, o de una perturbacin b en b.
Si x es la solucin exacta de A x = b, cuando se considera la matriz de coeficientes
A + A la solucin resulta x + x :
( A + A ) (x + x) = b (2.22)

de donde:

x = A 1 A (x + x)

tomando normas:

x A 1 A x + x

y dividiendo entre x + x :
x A
(A ) (2.23)
x + x A

donde K (A ) = A A 1 (2.24)
1 / 2
es el nmero de condicionamiento de la matriz A. Dado que A 1 = mn , donde
2

min T
es el menor valor caracterstico de la matriz A A, puede escribirse:

(
K 2 (A ) = mx / mn )1/ 2
(2.25)

Por otro lado: para una perturbacin b en b:


A (x + x) = b + b (2.26)

de donde:

x = A 1b

x A 1 b

b
y dado que b = A x, lo que implica x
A

se obtiene:

x b
K (A ) (2.27)
x b

Las ecuaciones (2.23) y (2.27) indican que, si K (A ) es grande, pequeos cambios en A


o en b pueden originar cambios importantes en la solucin.

Si se tienen errores relativos de orden tanto en A como en b, (2.23) y (2.27) pueden


combinarse, para escribir:

x 2 K (A) x (2.28)

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 22


Los errores de redondeo introducidos en el proceso de solucin pueden ser
considerados como equivalentes a perturbaciones en las matrices A y b iniciales. K (A )
es tambin un buen indicador de los efectos de los errores de redondeo en la solucin.

La expresin (3) implica que si A y b estn dadas con t cifras significativas, el nmero de
cifras que puede esperarse sean correctas en la solucin, s, puede estimarse mediante:
s t log 10 [K ( A )] (2.29)

Para el ejemplo precedente: A


= 0.913 + 0.659 = 1.572

0.659 0.563
adems: A 1 = 10 6
0.913 0.780
de donde A 1 = 0.913 x 106 + 0.780 x 106 = 1.693 x 106

K (A ) = A
A 1 = 1.572 x 1.693 x 106 = 2.7 x 106

Alternativamente, trabajando con normas Euclidianas:

1.441969 1.0040807
A T A =
1.040807 0.751250

cuyos valores caractersticos son mx = 2.1932, mn = 4.56 x 10


-13

de donde K 2 (A ) = mx / mn( )
1/ 2
= 2.2 x 106
Ambos resultados indican un mal condicionamiento de la matriz A.

Note que en el ejemplo anterior la matriz A no era simtrica, por lo que fue necesario
evaluar los valores caractersticos de A T A . Si A fuera simtrica, los valores
T
caractersticos de A A seran exactamente los cuadrados de los valores caractersticos
de A.

2.6.3 Errores de redondeo en la solucin de sistemas de ecuaciones lineales


por el mtodo de Gauss (y otros mtodos de eliminacin similares)

Las relaciones tericas utilizadas en la reduccin son:

l ki = a ki(i ) / aii(i )

a kj(i +1) = a kj(i ) l ki aij(i ) (2.30)

bk(i +1) = bk(i ) l ki bi(i )

Sin embargo, como resultado de los errores de redondeo, los valores calculados (aqu
indicados en barras) satisfacen:
(i ) (i )
l ki = ( a ki / a ii )(1 + 1 )
( i +1) (i ) (i )
a kj = ( a kj l ki a ij (1 + 2 ))(1 + 3 ) (2.31)

( i +1) (i ) (i )
bk = (b k l ki b i (1 + 4 ))(1 + 5 )

donde i , siendo el mximo error relativo de redondeo. Alternativamente puede


escribirse:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 23


(i ) (i )
l ki = ( a ki + e ki( i ) ) / a ii
( i +1) (i ) (i )
a kj = a kj l ki a ij + ekj(i ) (2.32)

( i +1) (i ) (i )
bk = b k l ki b i + e k(i )

y puede probarse que:


(i )
e ki(i ) a ki

(i ) ( i +1)
ekj(i ) 3 .mx a kj , a kj
(2.33)

(i ) ( i +1)
c k(i ) 3 .mx b k , b k

Por otro lado, considerando que . a kj = a kj , l kk = 1 , pueden utilizarse las expresiones


(1)

(1)
precedentes para escribir a kj en funcin de los l ki , a ij . (es decir los elementos de las
matrices L y U). Se obtiene as:
r s

e kj(i ) = l
(i )
a kj + ki a ij (2.34a)
i =1 i =1

b k = bk , se
(1)
donde r = min (k-1,j), s = min (k, j). Por otro lado, teniendo en cuenta que
obtiene:
k 1 k

c k(i ) = l
(i )
bk + ki b i (2.34b)
i =1 i =1

Esto demuestra que las matrices calculadas:


(i )
L = (l ki ) U = ( a ij ) y = (bi(i ) )

No son factores exactos de A y b sino de A + A y b + b:

A + A = L U

b + b = L y

Los elementos de A son sumatorias de los e kj(i ) ; los elementos de b son sumatorias
(i )
de los c k . Las expresiones (4) dan una medida de estas perturbaciones. Obsrvese
que las expresiones (2.23) y (2.27) son aplicables tambin en este caso, y un valor de
K ( A ) alto indica que los errores de redondeo tendrn efectos importantes en la
solucin.
Por otro lado, las expresiones (2.33) y (2.34) indican que es conveniente limitar el
crecimiento de los a kj(i ) , bk(i ) . Este es el propsito al realizar intercambios de filas y/o
columnas.

Finalmente, debe mencionarse que en el proceso de sustitucin inversa, para obtener x


resolviendo U x = y , los errores acumulados son despreciables en trminos relativos a
los que resultan de la reduccin.

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 24


Las ecuaciones precedentes permiten una estimacin a-posteriori de la magnitud del
(1)
error. A-priori puede establecerse :

mx a ij( k )
gn =
i , j ,k
(2.35)
mx a ij(1)
i, j

teniendo que:

g n 2 n 1 para intercambio parcial (filas)


g n 1.8 n 0.25 Ln n para intercambio total.
Estos lmites son tericos. Ntese por ejemplo que para un sistema de orden 100 se
tendra g n 6.3x10 29 para intercambio parcial y g n 18 para intercambio completo, lo
que justificara el trabajo adicional necesario para la segunda alternativa. Sin embargo,
en la prctica rara vez se observa un g n mayor que 10, an con intercambio parcial.
Para matrices simtricas definidas positivas se tiene que g n 1 .

2.6.4 Algunas consideraciones relativas a unidades.


Equilibrio de las ecuaciones.

En un sistema de ecuaciones A x = b... los aij, bi, xj pueden expresarse en diversos


sistemas de unidades. Un cambio de unidades equivale a considerar b = D1 b; x = D2 x
y por lo tanto (D1 A D2) x == D1 b. En estas expresiones las matrices D1 y D2 son
diagonales. Puede demostrarse que, si se utilizan los mismos pivotes y las D1 y D2 solo
contienen potencias enteras de la base del sistema de numeracin utilizado, los
resultados son los mismos (habida cuenta de los cambios de unidades).

Sin embargo las unidades utilizadas pueden afectar la seleccin de pivotes,


especialmente si slo se hace intercambio parcial.

En tal caso, es recomendable equilibrar las ecuaciones. Para las incgnitas deben
seleccionarse escalas que reflejen su importancia relativa. Las ecuaciones deben
multiplicarse por factores D1 tales que:

mx aij = 1 i=1,2,3,...n
1 j n

2.6.5 Mtodo iterativo para mejorar la solucin

Considrese el sistema de ecuaciones Ax = b para el que se tiene la solucin


aproximada x ( 0) . Si x es la solucin exacta, se tiene que:

x = x ( 0 ) + x ( 0 )
y entonces:

A x (0) = r (0)

donde: r ( 0 ) = b Ax ( 0)

Al determinar . x ( 0) . se obtienen los factores triangulares aproximados L y U tales que


L U = A + A , siendo A pequeo. Esta descomposicin requiere aproximadamente
( )
O 1 3 n 3 operaciones.
( )
A partir de x ( 0) puede determinarse r ( 0 ) en O n 2 operaciones y resolverse:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 25


L z=r
U x = z

( )
tambin en O n 2 operaciones. Dado que L y U no son los factores exactos de A , y
adems se introducen nuevos errores de redondeo, es necesario iterar:

r (i ) = b A x (i )
L z (i ) = r ( i ) (2.36)

U x (i ) = z (i )
x ( k +1) = x ( k ) + x ( k )
Pero nada se ganara si las operaciones se hicieran siempre con el mismo nmero de
cifras significativas empleadas en los cmputos originales. Si los aij bi xi estn dados
con t dgitos, el cmputo de los residuos:
n
ri( k ) = bi a xj =1
ij
(k )
j

debe hacerse con 2 t dgitos (para minimizar errores de cancelacin). Sin embargo, el
almacenamiento de los resultados puede hacerse en precisin simple, es decir, con t
dgitos.

Los vectores x (1) y x ( 2 ) permiten tambin estimar el nmero de condicionamiento:

1 x
(1)

(A ) (2.37)
n x ( 2 )

donde n es el orden del sistema y es el mximo error relativo de redondeo (al operar
en precisin simple). Si x (1) no es mucho menor que x (1) , o lo que es lo mismo,
si (A ) n no es mucho menor que 1, el proceso iterativo no es adecuado. En tal caso,
la nica alternativa sera operar con mayor precisin en toda la solucin.

Considrese, por ejemplo, el sistema de ecuaciones:

5 7 3 x1 0.

7 11 2 x2 = 1
3 2 6 x3 0.

y supngase que la computadora opera en base 10 con 3 cifras significativas. La
factorizacin de la matriz de coeficientes, A = L U , resulta en:

5 7 3 1.00 5.00 7.00 3.00



7 11 2 = 1.40 1.00 1.20 2.20
3 2 6 0.60 1.83 1.00 0.17

De la reduccin del segundo miembro, es decir la solucin de L y = b se obtiene:

y = (0.00 1.00 1.83)


T

Finalmente por sustitucin inversa, es decir resolviendo U x = y , se determina

x (1) = (35.3 20.6 10.8)


T

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 26


Para esta solucin aproximada se tiene el residuo:

r (1) = b A x (1) = (0.100 0.100 )


T
0.100

El cmputo de los bi a ij x j deben hacerse en doble precisin, almacenndose los


resultados ri en precisin simple.

Resolviendo los dos sistemas triangulares: L z = r (1) y U x (1) = z se obtiene:

x (1) = (0.685 0.391 0.195)


T

Y entonces:

x ( 2) = x (1) + x (1) = (36.0 21.0 11.0 )


T

(redondeado a 3 cifras significativas). Este resultado es mejor que x (1) (en este caso el
resultado es exacto, aunque debera decirse que por accidente).

Puede verificarse fcilmente que la matriz A del ejemplo anterior es bien condicionada.

Por otro lado, considrese nuevamente el sistema:

0.780 0.563 x1 0.217


=
0.913 0.659 x2 0.254

para el cual se obtuvo anteriormente (A ) de orden 2 x 106. Supngase que se opera


en base 10 con 6 cifras significativas:

0.780 0.563 1.00 000 0.780 000 0.563 000


=
0.913 0.659 1.17 051 1.00 000 3 10 6

se pierden cifras significativas en el elemento a22 de esta ltima matriz al restar dos
nmeros que solo difieren en la ltima cifra almacenada). De aqu resultan:

x (1) = (0.518 803 0.333 333)


T

(
r (1) = 0.139 10 6 0.692 10 6 ) T

No obstante ser este residuo pequeo, se obtiene la correccin:

x (1) = ( 0.127 348 0.176 433)


T

x ( 2) = x (1) + x (1) = (0.391 455 0.156 900)


T

y es obvio que este resultado difiere ms de la solucin exacta x = (1 1)


T
que la
(1)
aproximacin x antes obtenida. Para resolver este sistema de ecuaciones se
requiere trabajar con un mnimo de 8 cifras significativas!

2.7.Mtodos Iterativos para la Solucin


de Sistemas de Ecuaciones Lineales
En los acpites siguientes se tratan dos tipos distintos de mtodos iterativos. Estos
procesos pueden ser muy eficientes cuando la matriz de coeficientes, A , es de baja
densidad, ms an si la evaluacin de productos de la forma Av no requiere la previa
determinacin y el almacenamiento de A en forma explcita.

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 27


2.7.1 Mtodos de Relajacin

Estos procedimientos son adecuados slo cuando la diagonal principal de la matriz de


coeficientes es dominante. En general, se considera una aproximacin inicial, tal como
x ( 0) = 0 , y sta es sucesivamente mejorada hasta obtener una solucin suficientemente
precisa.

Considrese el sistema de orden n : A x = b , con aii 0 para todo i . En el mtodo de


(1) ( 2) ( 3)
Jacobi se calculan las aproximaciones x , x , x L mediante:



1 b
xi( k +1) = aij x (jk ) (2.38)
aii i
j i
La aproximacin es arbitraria; con frecuencia x ( 0) = 0 . Si los xi( k +1) se determinan en el
orden habitual, al determinar xr( k +1) ya se han previamente obtenido las nuevas
aproximaciones x1( k +1) , x2( k +1) L xr( k1+1) . Sin embargo, en el mtodo de Jacobi no se hace
uso de estas nuevas aproximaciones hasta la iteracin siguiente, difiriendo en esto del
mtodo de Gauss - Seidel:

i 1 n

1 b
xi( k +1) = aij x (jk +1) aij x (jk ) (2.39)
aii i
j =1 j = i +1
Ntese que slo se requiere almacenar las ltimas aproximaciones a los xi .

En el ejemplo siguiente se usan las dos alternativas:

5 1 1 0 x1 1

1 5 0 1 x2 2.75
1 =
0 5 1 x3 1

0 1 1 5 x4 2.75

La solucin exacta es

x = (0.25 0.25 0.50 )


T
0.50

Con el mtodo de Jacobi se obtienen las sucesivas aproximaciones:

k x1( k ) x2( k ) x3( k ) x4( k )

0 0 0 0 0
1 0.2 0.55 -0.2 -0.55
2 0.27 0.48 -0.27 -0.48
3 0.242 0.508 -0.242 -0.508
4 0.2532 0.4968 -0.2532 -0.4968
5 0.24872 0.50128 -0.24872 -0.50128
6 0.250512 0.499488 -0.250512 -0.499488
7 0.249795 0.500205 -0.249795 -0.500205
8 0.250082 0.499918 -0.250082 -0.499918
9 0.249967 0.500033 -0.249967 -0.500033
10 0.250013 0.499987 -0.250013 -0.499987
11 0.249995 0.500005 -0.249995 -0.500005
12 0.250002 0.499998 -0.250002 -0.499998

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 28


k x1( k ) x2( k ) x3( k ) x4( k )
13 0.249999 0.500001 -0.249999 -0.500001
14 0.250000 0.500000 -0.250000 -0.500000
15 0.250000 0.500000 -0.250000 -0.500000

La convergencia es mejor con el mtodo de Gauss Seidel:

k x1( k ) x2( k ) x3( k ) x4( k )

0 0 0 0 0
1 0.2 0.59 -0.16 -0.464
2 0.286 0.5144 -0.2356 -0.49424
3 0.255760 0.502304 -0.247696 -0.499078
4 0.250922 0.500369 -0.249631 -0.499853
5 0.250147 0.500059 -0.249941 -0.499976
6 0.250024 0.500009 -0.249991 -0.499996
7 0.250004 0.500002 -0.249998 -0.499999
8 0.250001 0.500000 -0.250000 -0.500000
9 0.250000 0.500000 -0.250000 -0.500000

En algunos casos la convergencia puede acelerarse con sobrerelajacin:

xi( k +1) = xi( k ) + ri( k ) (2.40a)

i 1 n
a
1 b
ri( k ) = aij x (jk +1) x (jk ) (2.40b)
aii i ij

j =1 j =i

El valor ptimo de depende de A e incluso de la aproximacin x ( k ) . Cuanto mayores


sean los valores absolutos de los trminos de la diagonal principal, respecto a la suma
de los valores absolutos de los restantes coeficientes de la misma fila, ms se aproxima
a 1. Para el ejemplo precedente, utilizando = 1.05 se obtienen:

k x1( k ) x2( k ) x3( k ) x4( k )

0 0 0 0 0
1 0.210000 0.621600 -0.165900 -0.481803
2 0.295197 0.507233 -0.240892 -0.497478
3 0.251172 0.500414 -0.249680 -0.499972
4 0.250096 0.500005 -0.249990 -0.499998
5 0.249998 0.500000 -0.250000 -0.500000
6 0.250000 0.500000 -0.250000 -0.500000

Estos mtodos no son necesariamente ms precisos que los procesos de eliminacin. El


ejemplo al inicio de la seccin 2.6 muestra que si el sistema es mal condicionado puede
aceptarse como correcta una solucin totalmente equivocada, pero con la que se tiene
un residuo pequeo.

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 29


2.7.2 Convergencia

En esta seccin se analiza la convergencia de los mtodos de relajacin. Un paso tpico


en la solucin de A x = b puede escribirse como:

x ( k +1) = G x ( k ) + f (2.41)

Esto puede verse ms fcilmente si se considera la descomposicin:


A = D (Ti + I + Ts ) (2.42)

donde D es una matriz diagonal, con elementos a ii ; Ti y Ts son matrices triangulares,


inferior y superior respectivamente, con ceros en la diagonal principal, cuyos coeficientes
son los aij aii . Por ejemplo:

2 1 2 0 0 0 1 0 0 12
= + +
1 2 0 2 12 0 0 1 0 0

Con esta notacin, para el mtodo de Jacobi se tiene:

x ( k +1) = (Ti + Ts ) x ( k ) + D 1b (2.43a)

es decir: G = (Ti + Ts ) (2.43b)

mientras que para el mtodo de Gauss-Seidel puede escribirse:

x ( k +1) = Ti x ( k +1) Ts x ( k ) + D 1b (2.44a)

y por lo tanto: G = (I + Ti )
1
Ts (2.44b)

De modo similar, para el mtodo de sobre relajacin se tiene:

G = (I + Ti )
1
[ (1 )I Ts ] (2.45)

Por otro lado, dado, que la solucin exacta, x , debe cumplir la ecuacin (2.41), se tiene
que:
x =G x+f (2.46)

y restando (2.46) de (2.41):

(x ( k +1)
)
x = G x(k ) x( ) (2.47a)

de donde:

(x ( k +1)
) ( ) ( )
x = G x ( k ) x = G 2 x ( k 1) x = L = G k +1 x ( 0) x ( ) (2.47b)

Adems, si 1 , 2 , 3 L n son los vectores caractersticos de la matriz G , a los que


corresponden los valores caractersticos 1 , 2 , 3 L n , puede escribirse:

(x ( 0)
)
x = 1 1 + 2 2 + 3 3 + L + n n

ya que los vectores caractersticos constituyen una base completa. Es relativamente


fcil probar que:

(x (k )
) ( )
x = G k x ( 0) x = 1 k1 1 + 2 k2 2 + 3 k3 3 + L + n kn n (2.47c)

Para tener convergencia:

(
Lim x (k ) x = 0 ) (2.48a)
k

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 30


y por tanto se requiere i < 1 para todo i , o lo que es lo mismo:

(G ) = mx i 1 (2.48b)
i

(G ) se denomina el radio espectral de la matriz G .


Para k suficientemente grande el error se multiplica por (G ) en cada paso, es decir se
tiene aproximadamente log10 [(G )] cifras decimales exactas adicionales en cada
paso.

No es prctico determinar con gran precisin los valores caractersticos de G (esto


significara ms trabajo que resolver el sistema de ecuaciones), pero ciertos lmites
pueden ser fcilmente establecidos.

Para el mtodo de Jacobi: g ij = a ij a ii si i j (2.49a)

g ii = 0

y utilizando el teorema de Gerschgorin (vase el captulo relativo a la evaluacin de


valores y vectores caractersticos):

(G ) = mx i mx
i i
gj
ij o bien mx
j g
i
ji (2.49b)

con lo que la condicin de convergencia (G ) 1 puede rescribirse:


n n
a jj >
i =1
aij aii > a j =1
ij (2.49c)

i j j i

Estas son condiciones suficientes pero no necesarias. La convergencia es ms rpida


cuanto ms fuertes son las desigualdades.

Para el mtodo de Gauss Seidel (G ) = mx [ri (1 si )] (2.50a)


i
donde:
n aij i 1 aij
ri >
j =i +1
aii
si >
j =1
aii
(2.50b)

y finalmente se concluye que las condiciones para la convergencia son las mismas que
para el mtodo de Jacobi (aunque en general el mtodo de Gauss -Seidel converge ms
rpidamente).

Un anlisis similar del mtodo de sobre relajacin permite establecer la condicin


adicional: 0 < 2

2.7.3 Mtodos de Mxima Gradiente y de Gradiente Conjugada

En la primera parte de esta seccin se consideran mtodos para la solucin de sistemas


de ecuaciones A x = b con matriz A simtrica y definida positiva, es decir, v T A v > 0
para todo vector v no nulo.

Considrese la funcin:

f (x) = 12 xT A x xT b (2.51)

Si x es la solucin exacta de A x = b se tiene que:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 31


f ( x) f ( x ) = ( 1
2
xT A x xT b ) ( 1
2
xT A x x T b )
= 1
2
(x x )T A (x x )
Pero, siendo A definida positiva: 1
2
(x x )T A (x x ) 0
Y por lo tanto f ( x) f ( x ) 0 , es decir, f ( x) f ( x ) (2.52)

La igualdad solo se da si x = x . La solucin de A x = b es entonces equivalente a una


minimizacin de f ( x) .

Dada la aproximacin inicial x (0 ) , a la que corresponden el residuo r ( 0 ) = b A x ( 0 ) y el


valor f ( x) , debe determinarse una nueva aproximacin, x (1) , tal que f ( x (1) ) < f ( x (0 ) ) .
Para reducir el valor de f ( x) lo ms rpidamente posible, la correccin debe hacerse en
la direccin de mxima gradiente. Debe entonces determinarse esta direccin, z , tal
que:

d
f (x ( 0) + z )
d =0

sea mxima (en valor absoluto). Siendo f (x) = 12 x A x x b , puede escribirse:


T T

f (x ( 0) + z ) = 12 (x (0) + z )T A (x ( 0) + z ) (x ( 0) + z )T b
(2.53a)
= 12 2 z T A z z T r ( 0) + f (x (0) )
de donde:
d
f (x ( 0) + z ) = z T r (0)
d =0

Esto significa que debe tomarse la direccin z = r ( 0 ) (2.53b)

Ahora puede determinarse 0 de modo que f ( x ( 0 ) + 0 r (0 ) ) sea un mnimo.


Rescribiendo (2.53a) con z = r ( 0 ) y derivando con respecto a :
d T T
f ( x ( 0 ) + r ( 0) ) = r ( 0 ) A r ( 0 ) r ( 0 ) r ( 0 ) = 0
d
de donde:
T
r ( 0) r ( 0)
0 = T
r (0) A r ( 0)
( 0) T
(dado que A es definida positiva, nunca se presenta el caso r A r ( 0) = 0 )
Finalmente:

x (1) = x ( 0) + 0 r ( 0)

El proceso puede repetirse en sucesivos ciclos:

r (k ) = b A x(k ) (2.54a)

T
r (k ) r (k )
k = T
(2.54b)
r (k ) A r (k )

x ( k +1) = x ( k ) + k r ( k ) (2.54c)

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 32


Este mtodo es siempre convergente, pero no puede conocerse a priori en cuantos
ciclos se tendr la precisin requerida.

En los prrafos siguientes se estudia una modificacin de este proceso, el mtodo de


Gradiente Conjugada, para el que al menos en teora - puede garantizarse la
convergencia en un nmero de pasos igual o inferior al orden del sistema de ecuaciones.
Considrese el sistema de ecuaciones de orden n , A x = b . Dada una solucin
aproximada, x (0 ) , la solucin exacta, x , puede escribirse como:

x = x ( 0 ) + x
x puede expresarse como n vectores linealmente
combinacin lineal de
independientes. En particular, si se consideran vectores s 0 , s 1 , s 2 L s n 2 , s n 1 , que
satisfacen las relaciones de ortogonalidad:

s Ti A s j = ci ij

puede escribirse:

x (1) = x (0 ) + 0 s 0
x ( 2) = x (1) + 1 s1
LL
x ( k +1) = x ( k ) + k s k
LL
x = x ( n ) = x ( n 1) + n 1 s n 1

alternativamente:
n 1
x=x (0)
+
k =0
k sk (2.55)

Suponiendo que los vectores s k son conocidos, los coeficientes k pueden obtenerse
utilizando las relaciones de ortogonalidad ya mencionadas. Dado que:
n 1
r (i ) = b A x (i ) = A x x (i ) = ( ) k A sk (2.56)
k =i

T
premultiplicando por s j se obtiene:
n 1
s Tj r (i ) =
k =i
k s Tj A s k = 0 si j < i (2.57)

= j s Tj A s j si j i
de donde puede escribirse:

s Tj r ( j )
j = (2.58a)
s Tj A s j

Alternativamente, puede utilizarse


T
r ( j) r ( j)
j = T (2.58b)
s j As j

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 33


La expresin alternativa j = (s j r
T ( 0)
) (s Tj A s j ) no es conveniente, por la acumulacin
de errores de redondeo.

Dado que los s 0 , s 1 , s 2 L s n 2 , s n 1 son n vectores linealmente independientes en un


espacio n -dimensional, el error siempre puede ser expresado como una combinacin
lineal de estos vectores , es decir el proceso debera llegar a la solucin exacta (salvo
errores de redondeo) en n pasos.

El vector s k +1 se obtiene eliminando de r ( k +1) la componente segn A s k :

s k +1 = r ( k +1) k s k (2.59)

donde:
s Tk A r ( k +1)
k = (2.60)
s Tk A s k

En el proceso de determinacin de pueden tenerse errores de cancelacin importantes si


son aproximadamente paralelos.

Es relativamente fcil probar que si s 0 , s 1 , s 2 L s k son A -ortogonales, entonces s k +1


calculado con (2.59) resulta tambin A -ortogonal a todos los vectores previamente
hallados. Para empezar, con s k :

s Tk A r (+1)
( )
s Tk +1 A s k = s Tk A r ( k +1) k s k = s Tk A r ( k +1) (s T
k )
A sk = 0
s Tk A s k

Por otro lado, de (2.57) se concluye que:


T
s Tk +1 A s j = r ( k ) A s j
y

As j =
1
j
(
r ( j 1) r ( j ) )
y por lo tanto, para j < k :

1 ( k ) T ( j 1) 1 ( k ) T ( j )
s Tk +1 A s j = r r r r =0
j j

El mtodo de gradiente conjugada puede resumirse en los pasos siguientes:

Dado x ( 0 ) , determinar r ( 0) = s 0 = b A x ( 0)

Y luego para k = 0, 1, 2 L n 1 :

qk = A sk (no se requiere A en forma explcita)


( k )T
r r (k )
k =
s Tk q k
x ( k +1) = x ( k ) + k s k (2.61)

r ( k +1) = r ( k ) k q k
T
r ( k +1) q k
T
r ( k +1) r ( k +1)
k = =
s Tk q k T
r (k ) r (k )

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 34


s k +1 = r ( k +1) k s k

Como ejemplo, considrese la solucin del sistema de ecuaciones Ax = b definido por:

2 1 0 0

A = 1 2 1 b = 0
0 1 2 4

Con la aproximacin inicial x ( 0) = 0 se obtienen
:
r ( 0) = s 0 = b A x (0) (0 0 4)
T

q0 = A s0 (0 4 8)
T

T
0 = (r ( 0 ) r ( 0 ) ) (s T0 q 0 ) 1
/2

x (1) = x ( 0 ) + 0 s 0 (0 0 2)
T

r (1) = r (0 ) 0 q 0 (0 2 0)
T

T
0 = (r (1) q 0 ) (s T0 q 0 )
1
/4

s1 = r (1) 0 s 0 (0 2 1)
T

q1 = A s1 (2 3 0)
T

T 2
1 = (r (1) r (1) ) (s1T q 1 ) /3

x ( 2 ) = x (1) + 1 s 1 (0 43 8 3)
T

r ( 2 ) = r (1) 1 q 1 (4 3 0 0)
T

T
1 = (r ( 2 ) q 1 ) (s1T q 1 ) 4
/9

s 2 = r ( 2 ) 1 s 1 (4 3 89 4 9)
T

q2 = A s2 ( 16 9 0 0)
T

T
2 = (r ( 2 ) r ( 2 ) ) (s T2 q 2 ) 3
/4

x ( 3) = x ( 2 ) + 2 s 2 (1 2 3)
T

El mtodo de gradiente conjugada puede ser generalizado para resolver cualquier


sistema de ecuaciones A x = b (con A no singular):

Con x ( 0 ) arbitrario, se obtiene r ( 0) = s 0 = b A x ( 0)

Y luego para k = 0, 1, 2 L n 1 :

q k = AT sk (no se requiere A en forma explcita)


( k )T
r r (k )
k =
q Tk q k
x ( k +1) = x ( k ) + k q k (2.62)

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 35


r ( k +1) = r ( k ) k A q k
T
r ( k +1) r ( k +1)
k = T
r (k ) r (k )
s k +1 = r ( k +1) k s k

2.8 Sistemas Sobre-Determinados de Ecuaciones Lineales


El problema de determinacin de los parmetros de un modelo lineal para aproximar un
conjunto de datos es frecuente. A fin de reducir la influencia de errores de medicin, es
habitual hacer ms mediciones que las estrictamente necesarias, de donde resultan ms
ecuaciones que incgnitas.

Dada una matriz A de orden m n ( m > n ) y un vector b de orden m , se requiere


determinar x de modo tal que A x sea la mejor aproximacin posible a b .

Un proceso simple (y muy adecuado si los errores en los bi son estadsticamente


independientes) es el mtodo de mnimos cuadrados, que consiste en minimizar la
2
magnitud del residuo r = b A x (o minimizar r = r r ) con respecto a las x . Dado
T

que:
f = r T r = bT b 2xT A T b + xT A T A x (2.63)

y por lo tanto:
f
= 2 AT b + 2 AT A x = 0
x
el mtodo de mnimos cuadrados puede formularse como la solucin del sistema de
ecuaciones normales:

(A A ) x = A b
T T
(2.64)

Si A = ( a1 a2 a 3 L a n ) , la matriz simtrica C = A T A tiene elementos cij = aTi a j .


La matriz C es no singular slo si todas las columnas a k de la matriz A son
linealmente independientes.

Para formar las ecuaciones normales se requieren 1


2 mn (n + 3) operaciones. Para
resolver el sistema O ( 1
6n
3
) operaciones. La mayor parte del trabajo est en formar las
ecuaciones normales.

Considrese por ejemplo

1 0 0 1
2
0 1 0
0 1
x
0 1 3
x2 =
1 1 0 1
x3
0 1 1 2
1
0 1 1
las ecuaciones normales son en este caso:

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 36


3 1 1 x1 1

1 3 1 x2 = 1
1 1 3 x3 6

de donde:

x = ( 1.25 3)
T
1.75
Un mtodo alternativo (y numricamente mejor condicionado) se basa en al
descomposicin de la matriz de coeficientes, A , en el producto de una matriz ortogonal,
Q , y una matriz triangular superior, R (en el captulo relativo a valores y vectores
caractersticos se describen procedimientos que pueden ser empleados para esto).

Al tenerse A = Q R (2.65)
( )
las ecuaciones normales A A x = A b pueden rescribirse:
T T

A T ( b Ax ) = 0
R T QT ( b Q R x ) = 0

y dado que Q Q = I se obtiene:


T

(
R T QT b R x = 0 )
La matriz R no es singular y por tanto:

R x = QT b (2.66)

La matriz R es la misma que se obtendra al descomponer A T A en dos factores


triangulares por el mtodo de Cholesky. Para el ejemplo precedente:

1 0 0 0.5774 0.2041 0.3536



0 1 0 0 0.6124 0.3536
0 1.7321 0.5774 0.5774
0 1 0 0 0.7071
A= = QR = 0 1.6330 0.8165
1 1 0 0.5774 0.4082 0
0 0 1.4142
0 1 1 0 0.6124 0.3536
1 0.3536
0 1 0.5774 0.2041

de donde:

1.7321 0.5774 0.5774 x1 0.5774



Rx= 0 1.6330 0.8165 x 2 = Q b = 0.4082
T

0 0 1.4142 x3 4.2426

y finalmente: x = ( 1.25 3)
T
1.75

H. Scaletti - Mtodos Numricos: lgebra Lineal 2 - 37


3. Valores y Vectores Caractersticos

3.1. Introduccin

El producto de una matriz cuadrada, A, por un vector (matriz columna), x, es otro vector,
cuyas componentes son habitualmente no proporcionales a x. Sin embargo, puede
existir un vector no nulo tal que:

A= (3.1a)

Se dice entonces que es un vector caracterstico (tambin llamado vector propio,


eigenvector o modo) de la matriz A. El correspondiente escalar es un valor
caracterstico (tambin llamado valor propio, autovalor o eigenvalor). Ntese que si un
vector satisface las ecuaciones (3.1a) tambin un mltiplo arbitrario (un vector "paralelo")
es solucin. Sin embargo, se trata esencialmente de la misma solucin; los vectores
caractersticos slo se califican como distintos si sus componentes no son
proporcionales.

Por ejemplo,

2 1 1 1
= 1
1 2 1 1
2 1 1 1
= 3
1 2 1 1
1 1
en este caso 1 = y 2 = son vectores caractersticos, a los que corresponden
1 1
los valores propios 1 y 3, respectivamente. Otros vectores, no paralelos a los dos antes
mencionados, no cumplen la condicin (3.1a):

2 11 0
=
1 2 2 3

0 1
El vector no puede expresarse como un mltiplo de .
3 2
El problema clsico de valores y vectores caractersticos consiste en la determinacin de
los vectores y los correspondientes escalares para los que se cumple (3.1a). Con
frecuencia se presenta el problema general:

A=B (3.1b)

En muchas aplicaciones las matrices A y B son simtricas y definidas positivas. En


algunos casos se hacen hiptesis simplificadoras que resultan en B diagonal. El
problema clsico, definido en (3.1a), corresponde al caso particular B = I.

3.1.1 Conversin del Problema General a la Forma Clsica

Un problema de la forma general (3.1b) puede convertirse a otro equivalente de la forma


clsica (3.1a). As por ejemplo, si B es no singular puede determinarse:

B-1 A = (3.2)

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-1


Sin embargo, si A y B son simtricas (como es, por ejemplo, el caso en problemas de
vibracin, en los que esas matrices son respectivamente rigideces y masas) conviene
ms hacer la descomposicin (Cholesky):
B = RT R (3.3a)

y efectuar entonces el cambio de variables

= R-1 z (3.3b)

con lo que se obtiene:

(R ) A R z = z
-1 T -1
(3.3c)

Esto es particularmente fcil si B es diagonal.


B = B B
= B- z (3.4)

B AB z=Hz=z
- -

a ij
Donde hij = .
bi b j

Ntese que los valores caractersticos son los mismos que los del problema original; los
correspondientes vectores caractersticos se relacionan mediante (3.4b).

3.1.2 Polinomio Caracterstico y Valores Propios

Las ecuaciones A = B pueden tambin rescribirse como:

(A - B ) = 0 (3.5a)

que tiene soluciones no triviales slo si la matriz (A - B) es singular, es decir, si:

p( ) = det ( A B ) = 0 (3.5b)

p( ) se denomina polinomio caracterstico. Siendo A y B matrices cuadradas de orden


n, p( ) es un polinomio de grado n, cuyas races son 1, 2, n. En lo que sigue se
supone, sin perder generalidad, que: 1 2 3 n

3.1.3 Independencia Lineal de los Vectores Caractersticos

Asociado a cada uno de los n valores caractersticos i se tiene un vector i. Si i es


una raz de multiplicidad m, el correspondiente vector i puede obtenerse resolviendo el
sistema de ecuaciones homogneas: (A - i B) i = 0 suponiendo m componentes
arbitrarias en i.

Los vectores caractersticos correspondientes a valores caractersticos distintos son


linealmente independientes. Supngase que ste no fuera el caso, pudindose obtener
uno de los vectores como combinacin lineal de otros que s son linealmente
independientes:
j
s = c
i =1
i i (3.6a)

Y entonces:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-2


j j
s =
i =1
c i i = c
i =1
i i (3.6b)

Por otro lado, por la definicin del problema, (3.1b):


j
s = s s = c i =1
i s i (3.6c)

j
Restando (3.6b) de (3.6c) se obtiene: c (
i =1
i s i ) i = 0

Si s i debera entonces tenerse ci = 0 para todo i, lo que se opone a la hiptesis.

Excepcionalmente pueden presentarse valores caractersticos repetidos. An en este


caso es factible obtener vectores caractersticos linealmente independientes. Sin
embargo, el conjunto de vectores asociados a los valores caractersticos repetidos define
un subespacio, tal que cualquier vector del subespacio (es decir una combinacin lineal
de aquellos tomados como base) es tambin un vector caracterstico:
A i = i B i
A i = i B i (3.7)

A ( c1 1 + c2 2 + c3 3 + ) = i B ( c1 1 + c2 2 + c3 3 + )
Tenindose n vectores caractersticos linealmente independientes de dimensin n, estos
constituyen una base completa. Cualquier otro vector de tal dimensin puede
expresarse como combinacin lineal de los vectores caractersticos:
v = 1 1 + 2 2 + 3 3 + + n n (3.8)

Por ejemplo, con los vectores caractersticos antes obtenidos:

1 3 1 1 1
= 2 2
2 1 1

3.1.4 Ortogonalidad de los Vectores Caractersticos

Si las matrices A y B son Hermitianas (o simplemente simtricas) y definidas positivas,


los valores caractersticos de A = B son todos reales y positivos. Para probar
esto basta considerar:

s* r = r s* B r (3.9a)

r* s = s r* B s (3.9b)

El superndice * denota aqu conjugada traspuesta. La conjugada transpuesta de la


segunda de estas expresiones es (recurdese que s es un escalar):

*s r = *s *s B r (3.9c)

y al ser A y B Hermitianas (es decir A* = A y B* = B), restando (3.9c) de (3.9a) se


obtiene:

( r )
*s *s B r = 0 (3.9d)

Si r=s, al ser B una matriz definida positiva se tendra *r B r > 0 . Por lo tanto, siendo
r = s , se tendra r *r = 0 lo que implica que todos los son nmeros reales. Si

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-3


adems A es definida positiva, es decir r* A r > 0 , se concluye que los valores
caractersticos son todos positivos.

Por otro lado, si r s se tiene que r *s 0 y en consecuencia (3.9d) implica que:

*s B r = br rs (es decir, cero si r s ) (3.10a)

y adems, observando las expresiones precedentes:

*s A r = a r rs (3.10b)

Las propiedades de ortogonalidad expresadas en (3.10) son la base para la


descomposicin modal utilizada al resolver sistemas de ecuaciones diferenciales en
aplicaciones tales como el anlisis ssmico lineal.

Refirindose nuevamente al ejemplo inicial:

2 1 1
(1 1) =2
1 2 1

2 1 1
(1 1) =6
1 2 1

2 1 1
(1 1) =0
1 2 1

3.1.5 Normalizacin de los Vectores Caractersticos

Como se mencion anteriormente los vectores caractersticos se definen por la


proporcin de sus elementos, pudindose escalar o "normalizar" en forma arbitraria. Es
frecuente escalarlos de modo que:

*s B r = rs (3.11a)

Se dice entonces que los vectores estn normalizados respecto a la matriz B. En tal
caso se tiene tambin:

*s A r = r rs (3.11b)

3.1.6 Cociente de Rayleigh

Si se conoce un vector caracterstico i, el correspondiente valor i puede determinarse


con el cociente de Rayleigh:

Ti i
( i ) = (3.12)
Ti B i

Esta expresin puede aplicarse tambin con aproximaciones a los vectores propios. Si x
es una aproximacin a un vector caracterstico con un error de orden , el cociente de
Rayleigh, (x), aproxima el correspondiente valor caracterstico con un error de orden .
2

3.1.7 Teorema de Gershgorin

Supngase que i es un valor caracterstico de la matriz A y que i es el


correspondiente vector, con componentes v1 v 2 v3 L :

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-4


A i = i i (3.13a)

La componente de mayor valor absoluto en i es v s . Dividiendo la ecuacin s en (3.13a)


entre v s e intercambiando ambos miembros:

v v v
i = a s1 1 + a s 2 2 + L + a ss + L + a sn n (3.13b)
vs vs vs
y por lo tanto:
i a ss = a s1 + a s 2 + L + 0 + L + a sn
(3.13c)

En consecuencia, cada valor caracterstico i est dentro de por lo menos uno de los
crculos con centro en a ss y radio igual a la suma de los valores absolutos de la
correspondiente fila s.

Por ejemplo, considerando la matriz:

2 1
A =
1 4
que es definida positiva, puede asegurarse que sus valores caractersticos (que son
nmeros reales) estn dentro de los intervalos (1,3) y (3,5). Efectivamente, en este caso
=3 2 .

3.1.8 Formas polinmicas

Supngase que se conocen los valores y vectores caractersticos de una matriz, A:

A= (3.14a)
2
Cules son los valores caractersticos de la matriz A = A A?

(AA) = A (A ) = A ( ) = (A )= 2
k
Este resultado puede extenderse para la matriz A (siendo k un exponente). Los
vectores caractersticos son los mismos que los de la matriz A, mientras que los
correspondientes valores caractersticos son k:
Ak = k (3.14b)

Esto es incluso vlido para exponentes negativos. Por ejemplo, multiplicando ambos
miembros de (3.15a) por A se obtiene:
-1 -1

A-1 = -1 (3.14c)

Por otro lado, combinando linealmente expresiones de la forma (3.14b) y teniendo en


cuenta que A = I (as como = 1):
0 0

(c0 I+ c1 A+ c2 A2 + c3 A3 +...) = (c0 + c1 + c2 2 + c3 3 +...) (3.14d)

Por ejemplo, si:

2 1
A =
1 2

tiene valores caractersticos 1 y 3, la matriz:

5 4
A 2 = AA =
4 5

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-5


tiene valores caractersticos 1 y 9 (es decir, los cuadrados de 1 y 3). Los vectores
caractersticos son los mismos para ambas matrices.

3.2 Mtodos de Iteracin con Vectores

Los mtodos que se presentan en esta seccin son los ms eficientes cuando slo se
requieren un valor caracterstico y su vector asociado, o en todo caso cuando el nmero
de valores y vectores caractersticos por determinar es pequeo.

3.2.1 Iteracin Directa

En la iteracin "directa" se considera un vector inicial x 0 y se obtiene una secuencia de


vectores corregidos, x k , mediante:

B x j +1 = A x j (3.15a)

x j +1
x j +1 = (3.15b)
r j +1
donde rj+1 es un escalar que normaliza el vector utilizado en la iteracin. Lo habitual es
tomar rj+1 como el elemento de mximo valor absoluto en x j +1 , lo que significa escalar el
vector de aproximacin de modo que la mayor componente sea igual a 1..

Este proceso converge al vector caracterstico n , asociado al valor caracterstico de


mayor mdulo, n . En efecto, la aproximacin inicial x0 puede escribirse como:

x0 = 1 1 + 2 2 + 3 3 + + n-1 n-1 + n n (3.16a)

Recurdese que los n vectores caractersticos son linealmente independientes y


constituyen una base completa en el espacio de dimensin n. Entonces (suponiendo
que B no es singular):

A x0 = A = B
i i i i i (3.16b)

x1 = B 1 Ax 0 = (1 1) 1 + (2 2) 2 + + (n n) n (3.16c)

y por lo tanto:

( )
1
x1 = i i i (3.16d)
r1 n

Se observa que, si las componentes de x0 eran i, aquellas de x1 resultan proporcionales


a i i. Repitiendo pasos anlogos a los indicados en (3.18), puede comprobarse que la
aproximacin xk puede expresarse como combinacin lineal de los vectores
caractersticos con coeficientes proporcionales a i ki (en este caso k es un exponente).
En consecuencia, si n n 1 n 2 L 1 , las componentes segn n crecen
ms rpidamente que las otras y se tiene que:

Lim x k = n (3.17a)
k

Lim rk = n (3.17b)
k

Esto es vlido an cuando n = 0 puesto que, por lo menos al tratar con grandes
matrices, los errores de redondeo (debidos a la aritmtica imperfecta del computador)
introducen siempre una componente segn n. La convergencia es muy rpida si

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-6


n >> n1 o si x0 es aproximadamente paralelo a n (es decir, si la componente n
es importante en relacin a las dems). En cambio, si los ltimos valores caractersticos
son similares la convergencia es en general muy lenta. Por otro lado, no se tienen
dificultades para el caso (ms acadmico que prctico) en que n = n 1 : en tal caso el
proceso converge a un vector caracterstico que resulta ser la proyeccin de x0 en el
subespacio definido por los vectores n y n-1.

Considrese por ejemplo el problema A = B con las matrices:

5 2 0 1 0 0

A = 2 3 1 B = 0 2 0
0 1 1 0 0 3

An cuando en este caso se tienen matrices simtricas, el procedimiento descrito se
aplica a matrices cuadradas cualesquiera.

En este caso se obtienen:

k xk Ax k x k +1 r k+1 (xk+1)

0 1.00000 5.00000 5.00000 5.00000


0.00000 -2.00000 -1.00000
0.00000 0.00000 0.00000 5.481481

1 1.00000 5.40000 5.40000 5.40000


-0.20000 -2.60000 -1.30000
0.00000 0.20000 0.06667 5.502594

2 1.00000 5.48148 5.48148 5.48148


-0.24074 -2.73457 -1.36728
0.01235 0.25309 0.08436 5.503559

3 1.00000 5.49887 5.49887 5.49887


-0.24944 -2.76370 -1.38185
0.01539 0.26483 0.08828 5.503603

4 1.00000 5.50259 5.50259 5.50259


-0.25130 -2.76994 -1.38497
0.01605 0.26735 0.08912 5.503605

5 1.00000 5.50339 5.50339 5.50339


-0.25169 -2.77128 -1.38564
0.01620 0.26789 0.08930 5.503605

6 1.00000 5.50356 5.50356 5.50356


-0.25178 -2.77156 -1.38578
0.01623 0.26801 0.08934 5.503605

1.00000

El procedimiento converge al valor caracterstico: 3 = 0.25180
0.01623

que corresponde al valor caracterstico de mayor mdulo, 3 = 5.503605.

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-7


El valor de r es aproximadamente n, pero el cociente de Rayleigh, (x)" proporciona
siempre una aproximacin mejor.

3.2.2 Iteracin Inversa

El proceso de iteracin directa antes descrito converge al vector caracterstico asociado


al valor caracterstico de mayor mdulo. ste puede ser til al considerar el
condicionamiento de las matrices de coeficientes en grandes sistemas de ecuaciones, o
al analizar la estabilidad numrica de ciertos mtodos para integrar sistemas de
ecuaciones diferenciales, pero por lo general tiene poca importancia en la respuesta del
sistema estudiado. Para determinar la respuesta de un sistema se requieren ms bien
los valores caractersticos de menor mdulo y sus vectores asociados.

Para determinar el vector caracterstico asociado al valor propio de menor mdulo (el
modo fundamental) puede usarse una "iteracin inversa":

A x j +1 = B x j (3.18a)

x j +1
x j +1 = (3.18b)
r j +1

En este caso si:

x0 = 1 1 + 2 2 + 3 3 + + n-1 n-1 + n n (3.19a)

la aproximacin xk puede expresarse como combinacin lineal de los vectores


caractersticos con coeficientes proporcionales a i ki (nuevamente, k es aqu un
exponente):
1 2 3 n 1 n
xk = 1 + 2 + 3 + + n-1 + n (3.19b)
k1 k2 k3 kn 1 kn

En consecuencia, si 1 2 3 n al emplear la iteracin inversa se tiene


que:

Lim x k = 1 (3.20a)
k

1
Lim rk = (3.20b)
k 1

Los comentarios anteriores relativos a la convergencia de la iteracin directa son


tambin vlidos. En este caso la velocidad de convergencia depende de la razn 2 / 1.

Para las matrices del caso anterior y considerando, por ejemplo, el vector inicial:

0

x 0 = 1
2

se obtiene el vector asociado al valor caracterstico de menor mdulo, es decir, 1.

Ntese que r es ahora una aproximacin de 1 / 1, mientras que en la iteracin directa lo


era de n. Tambin en este caso se observa que el cociente de Rayleigh es siempre una
mejor aproximacin al valor caracterstico.

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-8


k xk Bx k x k +1 r k+1 (xk+1)

0 0.00000 0.00000 2.66667 12.66667


1.00000 2.00000 6.66667
2.00000 6.00000 12.66667 0.154734

1 0.21053 0.21053 1.42105 6.44737


0.52632 1.05263 3.44737
1.00000 3.00000 6.44737 0.154625

2 0.22041 0.22041 1.42993 6.46463


0.53469 1.06939 3.46463
1.00000 3.00000 6.46463 0.154624

3 0.22119 0.22119 1.43102 6.46696


0.53594 1.07187 3.46696
1.00000 3.00000 6.46696 0.154624

4 0.22128 0.22128 1.43116 6.46727


0.53610 1.07221 3.46727
1.00000 3.00000 6.46727 0.154624

5 0.22129 0.22129 1.43118 6.46731


0.53613 1.07225 3.46731
1.00000 3.00000 6.46731 0.154624

6 0.22129 0.22129 1.43118 6.46731


0.53613 1.07226 3.46731
1.00000 3.00000 6.46731 0.154624

En muchas aplicaciones B es diagonal y A no lo es, por lo que la iteracin directa es


ms simple. Sin embargo, un paso tpico de la iteracin inversa requiere
aproximadamente el mismo nmero de operaciones que un paso de iteracin directa.
Supngase que se tienen matrices de orden n y que A es una matriz de alta densidad
(es decir, con pocos coeficientes no significativos). El nmero de operaciones
2
requeridas para efectuar el producto Ax es de orden n . Aqu se cuenta como una
"operacin" la combinacin de una multiplicacin o divisin con una suma o resta.
2
Tambin se ha supuesto que n es grande, por lo que n es mucho mayor que n. La
divisin de Ax entre los coeficientes (de la diagonal principal) de B requiere un nmero
de operaciones de orden n, que puede despreciarse. Es interesante observar que si
previamente se realiz (una sola vez) la factorizacin A = LU, la solucin del sistema de
ecuaciones Ax = b requiere tambin un nmero de operaciones de orden n2, mientras
que el producto Bx demanda slo n operaciones. Por otro lado, si la matriz A es de baja
densidad y tiene un ancho de semibanda promedio m, tanto un producto de la forma Ax
como la solucin de las ecuaciones Ax = b requieren aproximadamente mn operaciones.

3.2.3 Traslacin

La velocidad de convergencia de la iteracin inversa depende de las razones 1 / i. Si


2 1 la convergencia es lenta; siendo en cambio muy rpida si 1 << 2 . La
convergencia puede acelerarse mediante una "traslacin" 1 :

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3-9


A=B (3.21a)

(A - B) = () B (3.21b)

Ntese que el nuevo sistema (3.21b) tiene los mismos vectores caractersticos que el
sistema original (3.21a) y valores caractersticos i - . Desde el punto de vista del
polinomio caracterstico, se ha trasladado el origen:

p( ) 150

100

50

0
0 1 2 3 4 5 6 7


-50

1 1
Si 1 puede lograrse que: 1 >> 2 y por tanto: <<
1 2 ,
con lo que la convergencia mejora en forma apreciable.

Para el ejemplo anterior, efectuando una traslacin = 0.154 se tiene:

4.846 2 0

A 0.154 B = 2 2.692 1
0 1 0.538

y por iteracin inversa:

k xk Bx k x k +1 r k+1 (xk+1)

0 0.00000 0.00000 692.29 3129.01


1.00000 2.00000 1677.41
2.00000 6.00000 3129.01 0.000624

1 0.22125 0.22125 354.79 1603.26


0.53608 1.07216 859.55
1.00000 3.00000 1603.26 0.000624

2 0.22130 0.22130 354.80 1603.29


0.53613 1.07226 859.57
1.00000 3.00000 1603.29 0.000624

0.22129

Se obtienen: 1 = 0.154 + 0.000624 = 0.154624 y 1 = 0.53613 .
1.00000

El siguiente algoritmo usa el cociente de Rayleigh para efectuar la traslacin. Iniciando


el proceso con y 0 = B x 0 y 0 = 0:
(A k B ) x k +1 = y k

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 10


y k +1 = B x k +1

x Tk +1 y k
k +1 = k + (3.22)
x Tk +1 y k +1

(
y k +1 = x Tk +1 y k +1 )1
2 y k +1

En relacin con las expresiones precedentes:

Lim y k = B 1 (3.23a)
k

Lim k = 1 (3.23b)
k

La convergencia es cbica.

3.2.4 Determinacin de Otros Vectores Caractersticos

En los prrafos precedentes se ha visto cmo mediante iteracin directa o inversa


pueden obtenerse n o 1 respectivamente. Podra determinarse un valor caracterstico
intermedio y su vector asociado por iteracin inversa con una traslacin adecuada; sin
embargo, esto requerira un procedimiento previo para definir la traslacin.

En los que sigue se describe la determinacin de sucesivos vectores caractersticos


aprovechando las condiciones de ortogonalidad para el caso en que las matrices A y B
son simtricas. La idea bsica consiste en iterar con vectores ortogonales a los
previamente obtenidos. Desafortunadamente, el proceso acumula los errores de los
vectores previos y cada nuevo vector se determina siempre con menos precisin que el
anterior. En la prctica se observa que se pierde una cifra significativa por cada nuevo
vector; por tanto, no es factible determinar por este mtodo ms de unos 10 vectores
caractersticos. En algunas aplicaciones esto puede no ser suficiente.

A partir de un vector arbitrario:

v = 1 1 + 2 2 + 3 3 + ... + n n (3.24a)

puede obtenerse un vector ortogonal a los vectores caractersticos ya conocidos


haciendo uso de las relaciones de ortogonalidad:

iT B v = 1 iT B 1 + 2 iT B 2 + ... + n iT B n
iT B v = i iT B i (3.24b)

es decir:

i = ( iT B v ) / ( iT B i ) (3.24c)

Luego es suficiente restar de v los i i para obtener un vector que (salvo por la
imprecisin en la aritmtica no tiene componentes segn los vectores caractersticos
previamente hallados.

Para el ejemplo antes tratado, suponiendo que se haya obtenido el primer vector
caracterstico:

0.221295029

1 = 0.536128843
1.000000000

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 11


0
y considerando v = 1 se obtiene 1 = 0.295889928, de donde:
0
0.06548

x0 = v - 1 1 = 0.84136
0.29589

es un vector ortogonal a 1. Si se hace una iteracin inversa con x0 se obtiene
(suponiendo que se operara con una aritmtica infinitamente precisa) el vector
caracterstico 2:

k xk Bx k x k +1 r k+1 (xk+1)

0 -0.06548 -0.06548 0.24319 0.64072


0.84136 1.68272 0.64072
-0.29589 -0.88767 -0.24696 1.20534

1 0.37956 0.37956 0.40775 0.82960


1.00000 2.00000 0.82960
-0.38544 -1.15631 -0.32671 1.17649

2 0.49150 0.49150 0.43668 0.84594


1.00000 2.00000 0.84594
-0.39382 -1.18147 -0.33553 1.17517

3 0.51620 0.51620 0.44210 0.84715


1.00000 2.00000 0.84715
-0.39663 -1.18990 -0.34275 1.17504

4 0.52187 0.52187 0.43603 0.82913


1.00000 2.00000 0.82913
-0.40460 -1.21379 -0.38466 1.17113

Es importante hacer notar que, como consecuencia de los errores de redondeo se


introducen en las aproximaciones xj componentes segn los vectores caractersticos
originalmente eliminados.. En los resultados precedentes se tienen las siguientes
componentes segn 1:

k 1

0 -1.565 x 10-6
1 -1.580 x 10-5
2 -0.000123
3 -0.000941
4 -0.007188
5 -0.056063

Como estas componentes tienden a crecer ms rpidamente que la propia solucin, es


necesario eliminarlas cada 4 5 pasos, utilizando el mismo proceso inicial:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 12


j 1
xj = v -
i =1
i i (3.25)

Para el caso del ejemplo:

0.52588 0.221295029 0.53829



x 0 = 1.00000 ( 0.056093) 0.536128843 = 1.03006
0.46393 1.000000000 0.40787

y luego de escalar este vector:

k xk Bx k x k+1 r k+1 (xk+1)

5 0.52258 0.52258 0.44489 0.85094


1.00000 2.00000 0.85094
-0.39597 -1.18790 -0.33696 1.17511

6 0.52282 0.52282 0.44496 0.85098


1.00000 2.00000 0.85098
-0.39599 -1.18796 -0.33698 1.17511

7 0.52288
1.00000
-0.39599
0.52288
1
se obtienen: 2 = = 1.17511 y 2 = 1.00000
0.85098 0.39599

3.2.5 Deflacin
~ ~
Otra alternativa es hacer una deflacin, obteniendo un nuevo sistema A = B , de
orden menor, con los mismos valores caractersticos del problema original, excepto los
previamente determinados. En lo que sigue se aplica esta idea a un problema de la
forma clsica H = .

Considrese una matriz ortogonal, P , cuya ltima columna es igual al vector


caracterstico 1 previamente determinado:

P = ( p1 p 2 L p n 1 1 ) (3.26)

Al hacer el cambio de variable = P z se obtiene H P z = P z y premultiplicando por


PT : (P T
)
HP z = z . Sin embargo, al ser la ltima columna de P igual a 1 y
suponiendo que ese vector haya sido normalizado de modo que 1T 1 = 1 se tiene:
~
H 0
T
P HP = (3.27)
0 1

Esta matriz tiene los mismos valores caractersticos que la matriz original, H . Lo mismo
~
se puede decir de H , excepto por 1 .

Hay mltiples posibilidades para formar P . En el proceso propuesto por Rutishauser se


hacen las operaciones equivalentes a trabajar con P = J1 J 2 L J n 1 , donde:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 13


1

O
ck sk fila k
Jk =
sk ck fila k + 1 (3.28a)

O
1

columna k columna k + 1

( )
Ntese que P T H P = J Tn 1 L J T2 J 1T H J 1 J 2 L J n 1 , pudindose evaluar fcilmente los
sucesivos productos, ya que en cada caso slo se alteran dos filas y dos columnas.

Los coeficientes ck y sk se determinan a partir de las componentes x1 x2 x3 L del


vector caracterstico previamente hallado, 1 . Definiendo:

qk2 = x12 + x22 + x32 + L xk2 (3.28b)

se tiene:
qk
sk =
q k +1
(3.28c)
x
c k = k +1
q k +1

Para el ejemplo considerado anteriormente, sera necesario primero convertir el


problema a la forma clsica. Al ser B diagonal:

5 1.414214 0
1 1
H= B 2 AB 2 = 1.414214 1 .5 0.408248
0 0.408248 0.333333

Y para H = pueden obtenerse (por iteracin inversa):
Para H = pueden obtenerse (por iteracin inversa):

0.11625

1 = 0.39827
0.90987

Luego:
q1 = 0.11625 s1 = 0.28019 c1 = 0.95994
q 2 = 0.41489 s 2 = 0.41489 c 2 = 0.90987
q 3 = 1.00000

Con el propsito de observar que, efectivamente, la ltima columna de P es igual a 1


se est evaluando aqu la referida matriz:

0.95994 0.28019 0 1 0 0

P = 0.28019 0.95994 0 0 0.90987 0.41489
0 0 1 0 0.414898 0.90987

es decir:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 14


0.95994 0.25494 0.11625

P = 0.28019 0.87342 0.39827
0 0.41489 0.90987

de donde:

5.48594 0.27561 0

P H P = 0.27561
T
1.19271 0
0 0 0.15462

Ntese el 1 en la esquina inferior derecha. Los valores caractersticos de
~ 5.48594 0.27561
H = son 2 = 1.1751 y 3 = 5.5036 , es decir, iguales a los
0.27561 1.19271
restantes valores caractersticos del problema original. Los correspondientes vectores
resultan:

0.0638 0.9980
z2 = y z3 =
0.9980 0.0638
de donde:

1 z k
k = B 2P

0
1
El factor B 2 se requiere para obtener los vectores del problema general en su forma
original.

3.3 Mtodos de Transformacin

Los mtodos de este grupo son eficientes slo si se requieren todos o una alta
proporcin de los valores y vectores caractersticos. La idea bsica de estos procesos
consiste en hacer un cambio de variables:

=Pz (3.29a)

para transformar A = B en:

(P AP)z=(P BP)z
-1 -1
(3.29b)

Este sistema tiene los mismos valores caractersticos que el sistema original y vectores
propios relacionados por (3.29a). Si las transformaciones son tales que las nuevas
matrices tienen valores y vectores caractersticos fciles de determinar, se ha resuelto
indirectamente el problema original.

3.3.1 Mtodo de Jacobi

El mtodo de Jacobi (1846) puede considerarse como prototipo de los mtodos de


transformacin. En este procedimiento se transforma el problema original a uno de la
forma:

a1 z1 b1 z1
a2 b2
z2 = z2 (3.30)
O M O M
a n z n bn z n

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 15


que tiene como vectores caractersticos las columnas de la matriz identidad y como
valores caractersticos los i = a i bi . Los valores caractersticos del sistema original
son los mismos. P es en este caso una matriz ortogonal:
P-1 = PT (3.31)

cuyas columnas son la propia solucin buscada. sta se determina mediante un


proceso iterativo que se describe a continuacin.

En la forma que aqu se presenta, este mtodo se aplica a problemas de la forma


clsica, A = , siendo A una matriz simtrica (real). Ms adelante se consideran las
modificaciones requeridas para problemas de la forma general.

Empezando con A(0) = A y llamando


(0)
a los vectores caractersticos del problema
original, el paso k del proceso se define como:

(k) = Pk (k+1) (3.32a)

A(k) ( Pk (k+1) ) = ( Pk (k+1) )


y si P es una matriz ortogonal, premultiplicando por PT se obtiene:

( Pk A Pk ) =
T (k) (k+1) (k+1)

Lo que equivale a considerar un problema similar al original:

A(k+1) (k+1) = (k+1) (3.32b)

Siendo:
A(k+1) = PkTA(k) Pk (3.32c)

Ntese que se mantiene la simetra de la matriz. Los valores caractersticos de esta


nueva matriz son los mismos de la matriz original; los correspondientes vectores se
relacionan por expresiones de la forma (3.32a).

En el mtodo de Jacobi las matrices Pk corresponden a una rotacin plana:


col i col j
1

O
cos k sen k
Pk = fila i (3.33)
sen k cos k fila j

O
1

El objetivo de un paso es hacer cero un coeficiente aij = aji. Puede verificarse
fcilmente que:
(
a ij(k +1 ) = a (kji +1 ) = a (k) )
jj a ii cos k sen k + a ij
(k) (k )
(
cos 2 k sen 2 k = 0) (3.34a)

y por tanto:
2 a ij( k )
tg 2 k = 0 k (3.34b)
a ii( k ) a (jjk ) 4

Slo los elementos de dos filas y de dos columnas (i, j ) se alteran en cada paso.

Adems, como se mantiene la simetra de la matriz A slo deben calcularse los

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 16


coeficientes de la submatriz triangular superior (o inferior) de A(k+1). Con la notacin
c = cos k; s = sen k:

a ii(k +1 ) = a ii(k) c 2 + 2a ij(k) cs + a (k)


jj s
2

a (kjj +1 ) = a ii( k ) s 2 -2a ij( k ) cs + a (jjk ) c 2 (3.35a)

a ij(k +1 ) = a (kji +1 ) = a (k) ( )


jj a ii cs + a ij
(k) (k )
c2 s2 = 0 ( )
a ir(k +1 ) = a ri(k +1 ) = a ir(k) c + a (jrk ) s
(3.35b)
a (kjr +1 ) = a rj(k +1 ) = a ir(k) s + a (jrk ) c

En un cierto paso se hacen cero los elementos aij y aji. Sin embargo, las sucesivas
rotaciones reintroducen valores significativos en estas posiciones, por lo que es
necesario repetir el proceso en varios "ciclos" para todos los elementos de fuera de la
diagonal principal. El proceso es convergente. Si en un ciclo dado los cocientes

ij =
[a ] (k ) 2
ij
(3.36)
a ii( k ) a (jjk )

son de orden , stos se reducen a orden en el siguiente ciclo.


2

El nmero de ciclos completos necesarios para que la matriz A sea suficientemente


aproximada a una matriz diagonal depende del orden de la matriz. Para matrices de
3
orden 50 60 pueden ser necesarios 8 a 10 ciclos. Cada ciclo demanda O(2n )
operaciones.

Desde un punto de vista terico sera ms eficiente hacer cero los elementos aij en
orden decreciente de los ij , definidos por (3.36), pero las comparaciones necesarias
son relativamente lentas. Por eso se prefiere seguir un orden fijo en la seleccin de los
elementos y efectuar las rotaciones slo si ij es mayor que una tolerancia, variable en
funcin del nmero de ciclo, m (por ejemplo 10-2m). La convergencia del proceso se
puede verificar con una medida similar.
Para determinar los vectores caractersticos es suficiente efectuar el producto de las
matrices Pk ya que:

(k) = Pk (k+1) (3.37a)


y por lo tanto:

= (0) = P1 P2 P3 ... Pm (3.37b)

Para ilustrar el mtodo de Jacobi considrese el problema A = con:

2 -3 1 0

- 3 6 -3 1
A ( 0) =
1 -3 6 3

0 3 4
1

En el primer paso se hacen cero los coeficientes a12 y a21. En las expresiones
precedentes:
(0)
a11 = 2 a 22
(0)
= 6 a12
(0)
= a 21
(0)
= 3

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 17


2 ( 3)
tg(2) = = 1.5 cos = 0.881675 sen = 0.471858
26
0.881675 -0.471858 0 0

0.471858 0.881675 0 0
P1 =
0 0 1 0

1
0 0 0

0.394449 0 -0.533899 0.471858



0 7.60555 -3.11688 0.881675
A (1) = P1 A P1 =
T (0)
-0.533899 -3.11688 6 -3

0.471858
0.881675 -3 4
Luego se hacen cero los coeficientes a31:
(1)
a11 = 0.394449 a 33
(1)
= 6 a13
(1)
= a 31
(1)
= 0.533899
cos = 0.995574 sen = 0.093978

0.995574 0 - 0.0939783 0

0 1 0 0
P2 =
0.0939783 0 0.995574 0

1
0 0 0

0.344051 -0.292919 0 0.187835



-0.292919 7.60555 -3.10309 0.881675
A (2) = P2 A P2 =
T (1)
0 -3.10309 6.0504 -3.03107

0.187835
0.881675 -3.03107 4
Ntese que se tienen nuevamente valores significativos en las posiciones 12 y 21. Por
otro lado:

0.877773 - 0.471858 - 0.0828582 0



0.469770 0.881675 - 0.0443444 0
P1 P2 =
0.0939783 0 0.995574 0

1
0 0 0

Procediendo en forma similar:


( 2)
a 22 = 7.60555 a 33
( 2)
= 6.0504 a 23
(2)
= a 32
(2)
= 3.10309
cos = 0.788374 sen = 0.615196

0.344051 - 0.23093 - 0.180203 0.187835



- 0.23093 10.027 0 2.55979
A ( 3) = P3 A P3 =
T (2)
- 0.180203 0 3.62895 - 1.84721

0.187835
2.55979 - 1.84721 4

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 18


0.877773 - 0.321026 - 0.355609 0

0.46977 0.72237 0.507443 0
P1 P2 P3 =
0.0939783 - 0.612474 0.784885 0

1
0 0 0
( 3)
a11 = 0.344051 a 44
( 3)
= 4 a14
( 3)
= a 41
( 3)
= 0.187835
cos = 0.99869 sen = 0.0511758

0.334426 -0.361627 -0.0854342 0



-0.361627 10.027 0 2.54462
A (4) = P4 A P4 =
T (3)
-0.0854342 0 3.62895 -1.85401

4.00963
0 2.54462 -1.85401

0.876622 - 0.321026 - 0.355609 0.0449207



0.469154 0.722370 0.507443 0.0240408
P1 P2 P3 P4 =
0.0938551 - 0.612474 0.784885 0.00480941

- 0.0511758 0.99869
0 0
( 4)
a 22 = 10.027 a 44
(4)
= 4.00963 a 24
(4)
= a 42
( 4)
= 2.54462
cos = 0.939025 sen = 0.343849

0.334426 -0.339576 -0.0854342 0.124345



-0.339576 10.9588 -0.6375 0
A ( 5) = P5 A P5 =
T (4)
-0.0854342 -0.6375 3.62895 -1.74096

0.124345 3.07785
0 -1.74096

0.876622 - 0.286006 - 0.355609 0.152566



0.469154 0.686590 0.507443 - 0.225811
P1 P2 P3 P4 P5 =
0.0938551 - 0.573474 0.784885 0.215115

- 0.0511758 0.937795
0.343398 0
( 5)
a 33 = 3.62895 a 44
( 5)
= 3.07785 a 34
( 5)
= a 43
( 5)
= 1.74096
cos = 0.760371 sen = 0.649489

0.334426 -0.339576 -0.145722 0.0390598



-0.339576 10.9588 -0.484737 -0.414049
A (6) = P6 A P6 =
T (5)

-0.145722 -0.484737 5.11603 0

0.0390598 1.59076
-0.414049 0

0.876622 - 0.286006 - 0.369485 - 0.114957



0.469154 0.686590 0.532507 0.157878
P1 P2 P3 P4 P5 P6 =
0.0938551 - 0.573474 0.457089 0.673341

- 0.0511758 0.713072
0.343398 - 0.609087

con lo que termina un primer ciclo. Anlogamente, al terminar el segundo ciclo:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 19


0.317649 - 0.007656 - 0.0006033 - 0.0003418

- 0.007656 11.0268 0.0015155 0.0000149
A (12 ) =
- 0.0006033 0.0015155 5.08272 0

- 0.0003418 1.57279
0.0000149 0

0.856314 - 0.275908 - 0.421440 - 0.11397



0.505117 0.619208 0.566580 0.201062
P1 P2 L P12 =
0.0771368 - 0.640155 0.399623 0.651578

- 0.0750522 0.722518
0.361467 - 0.584532

y al finalizar el tercer ciclo:

0.317644

11.0269
A (18) =
5.08272

1.57279

-6
No se muestran los coeficientes con valor absoluto menor que 10 . Los coeficientes
(18)
de la diagonal de A son (aproximaciones a) los valores caractersticos de la matriz
A. Ntese que no se obtienen en orden ascendente o descendente. Las columnas del
producto P1 P2 L P18 son los correspondientes vectores, que se obtienen normalizados:
= I. Esto se comprueba fcilmente, ya que las matrices Pk son todas
T

ortogonales.

0.856032 - 0.276628 - 0.421478 - 0.114202



0.505686 0.618991 0.566358 0.200923
P1 P2 L P18 =
0.076907 - 0.640107 0.399777 0.651558
- 0.074671 0.361373 - 0.584614 0.722537

3.3.2 Caso de Matrices Hermitianas.

El mtodo de Jacobi puede tambin emplearse para hallar los valores y vectores
caractersticos de una matriz Hermitiana, H , cuyos coeficientes (en general complejos)
tienen simetra conjugada. En este caso se hacen productos de la forma:

H ( k +1) = U *k H ( k ) U k (3.38)

en los que U k es una matriz unitaria, es decir, tal que U k 1 = U *k (el superndice *
denota en este caso la conjugada traspuesta). Para hacer cero el coeficiente hij se
utiliza:
col i col j
1

O
cos e i sen
Uk =
fila i (3.39)
i
e sen cos fila j

O
1

Suponiendo que:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 20


hii( k ) = a hij( k ) = b ic
(3.40a)
h (jik ) = b + ic h (jjk ) = d

Las partes real e imaginaria de los nuevos coeficientes (i , j ) resultan:

(d a ) cos sen cos + b cos 2 b sen 2 cos 2 c sen 2 sen 2 = 0


(a d ) cos sen sen + b cos 2 c sen 2 sen 2 c sen 2 cos 2 = 0
de donde:
c
tan =
b
2 (b cos + c sen )
(3.40b)
tan 2 =
ad

3.3.3 Mtodo de Jacobi Generalizado.

Es posible modificar el mtodo de Jacobi "clsico" antes descrito para resolver


directamente el problema general A = B .

En lo que sigue se supone que A y B son simtricas y que esta ltima es definida
positiva (y posiblemente no diagonal). Debe anotarse que si B fuera diagonal sera
ms eficiente transformar el problema a la forma clsica.

Un paso del proceso general se define por:


A(k+1) = PkTA(k) Pk (3.41)

B(k+1) = PkTB(k) Pk
donde Pk es una matriz similar a la utilizada para el proceso clsico:
col i col j
1

O
k
Pk = 1
fila i (3.42)
k 1 fila j

O
1

y se determinan de:
a ij(k +1 ) = a (kji +1 ) = k a ii(k) + (1 + k k ) a ij( k ) + k a (k)
jj = 0

bij(k +1 ) = b (kji +1 ) = k bii(k) + (1 + k k ) bij( k ) + k b (k)


jj = 0 (3.43)

Estas dos ecuaciones son independientes, excepto en el caso en que

a ii(k) a ij(k) a (k)


jj
= = (3.44a)
bii(k) bij(k) b (k)
jj

a ij(k)
en el que puede considerase, por ejemplo: k = 0 k = (3.44b)
a (k)
jj

Definiendo:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 21


c1 = a (jjk ) bij( k ) b (jjk ) a ij( k )
c 2 = a ii( k ) bij( k ) bii( k ) a ij( k ) (3.45a)

c3 = 1
2
(a (k )
ii b (jjk ) bii( k ) a (jjk ) )
d = c3 + ( signo c 3 ) c 32 + c1c 2
se obtienen:
c2 c1
k = k = (3.45b)
d d
El radical en la expresin de d es siempre positivo si B es una matriz definida positiva.
Puede observarse que si B fuera la matriz identidad se obtendran: k = k = tg .

Los comentarios precedentes relativos a la convergencia son tambin aqu aplicables.


3
El nmero de operaciones en cada ciclo es de O(3n ).

El siguiente ejemplo ilustra los aspectos nuevos introducidos en esta seccin. Se


pretende determinar los valores y vectores caractersticos del sistema: A = B ,
donde:

1 1 2 1
A =
B =

1 1 1 2
Para estas pequeas matrices con un paso es suficiente:
i=1, j=2
a11 = 1 a22 = 1 a12 = a21 = -1
b11 = 2 b22 = 2 b12 = b21 = 1
c1 = 3 c2 = 3 c3 = 0
d=3 = - k =1
1 1 1 1 1 1 4 0
A(1) = P1TA(0) P1 = =

1 1 1 1 1 1 0 0

1 1 2 1 1 1 2 0
B(1) = P1TB(0) P1 = =

1 1 1 2 1 1 0 6
de donde:

2 = 4/2 = 2
1 = 0/6 = 0

1 1 1 2 0 0.7071 0.4082
= P1 diag (bi ) =
-
=

1 1 0 1 6 0.7071 0.4082

La post multiplicacin de P1 slo es necesaria para escalar los vectores de modo que
Ti B j = ij . Al igual que en el procedimiento clsico los valores caractersticos (y los
correspondientes vectores) no quedan necesariamente ordenados.

3.3.4 El Mtodo QR

Este proceso se aplica al problema clsico A = , donde A no requiere ser


simtrica, pudiendo tener valores caractersticos cero (o incluso negativos). En el caso

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 22


ms general, para una matriz A cualquiera, el mtodo QR es poco eficiente, ya que
3 2
requiere O( 4 3 n ) operaciones por paso. Sin embargo, slo se requieren O(4n )
operaciones por paso si A es de la forma Hessemberg:

a11 a12 a13 a14 a15 K



a 21 a 22 a 23 a 24 a 25

0 a 32 a 33 a 34 a 35
A= (3.46)
0 0 a 43 a 44 a 45

0 0 0 a 54 a 55

L O

es decir si es casi triangular superior, excepto por una codiagonal inferior. Para el caso
particular en que la matriz A es adems simtrica (y por lo tanto tridiagonal):

a1 b1

b1 a2 b2

A= b2 a3 b3 (3.47)
b3 a 4 O

O O

el mtodo QR es an ms eficiente, requiriendo tan solo O(12n) por paso.

En todo caso es siempre posible efectuar la transformacin a la forma Hessemberg


3
(tridiagonal si A y B son simtricas), requirindose un total de O( 5 3 n ) operaciones
(una sola vez).

Debe anotarse adems que, a diferencia del mtodo de Jacobi, el mtodo QR mantiene
la posible configuracin banda de la matriz y permite efectuar traslaciones (anlogas a
las de una iteracin inversa), tanto para acelerar la convergencia como para mejorar la
precisin en los valores caractersticos de inters. El objetivo del proceso conocido
como QR es la determinacin de los valores caractersticos; conocidos estos, los
correspondientes vectores pueden obtenerse por iteracin inversa con traslacin.
(0)
Considerando A = A, el paso bsico del mtodo QR consiste en hacer la
descomposicin:

A (k ) = Q k R k (3.48a)

donde Q k es una matriz ortogonal (es decir, Q Tk Q k = I ) y R k es una matriz triangular


superior. Luego se efecta el producto en orden cambiado:

A ( k +1) = R k Q k (3.48b)

Obsrvese que premultiplicando (3.48a) por Q Tk se obtiene:

Q Tk A ( k ) = R k (3.48c)

y por lo tanto:

A ( k +1) = R k Q k = Q Tk A ( k ) Q k (3.48d)

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 23


Ntese que si A ( k ) es simtrica A ( k +1) tambin resulta simtrica. La expresin (3.48d)
indica adems que A ( k +1) es "similar" a A ( k ) : sus valores caractersticos son los
mismos, los correspondientes vectores se relacionan por una transformacin lineal:

A (k ) (k ) = (k ) (3.49a)
al efectuar el cambio de variables:

( k ) = Q k ( k +1) (3.49b)
se obtiene:

A ( k ) Q k ( k +1) = Q k ( k +1) (3.49c)

(Q T
kA
(k )
Qk ) ( k +1)
= ( k +1) (3.49d)

Ambas matrices tienen los mismos valores caractersticos (que en consecuencia son
los de la matriz original) y vectores caractersticos relacionados por (3.49b).

A medida que k crece A ( k ) converge a una matriz triangular superior (cuyos valores
caractersticos son los elementos de la diagonal principal); para el caso simtrico A ( k )
converge a una matriz diagonal. Los valores caractersticos se obtienen en orden
descendente; as la aproximacin al valor caracterstico de menor mdulo se obtiene en
la posicin nn de la matriz.
La convergencia del proceso es anloga a la de la iteracin inversa. Cuando en pasos
sucesivos se obtienen valores similares en el extremo inferior de la diagonal principal,
puede afirmarse que se tiene una aproximacin al primer valor caracterstico. La
convergencia puede acelerarse efectuando traslaciones:

k = a nn
(k )
(3.50a)

A ( k +1) = R k Q k k I (3.50b)

Ntese que los valores caractersticos de esta nueva matriz son iguales a los de la
(k )
matriz original menos la translacin. Cuando se logra que a nn = 0 puede hacerse una
traslacin:

k = a n( k1) ,n 1 (3.50c)

para mejorar la convergencia al segundo valor caracterstico y anlogamente se


procede para los otros valores requeridos. Por regla general se requieren slo 2 pasos
por cada valor caracterstico adicional. Al finalizar el proceso debe agregarse a los
valores obtenidos la suma de las traslaciones k efectuadas.

Los vectores caractersticos podran obtenerse con el producto:

( 0 ) = Q 1Q 2 Q 3 L (3.51)

pero este proceso es poco eficiente, siendo ms conveniente obtener estos vectores
por iteraciones inversas con traslaciones iguales a los valores caractersticos ya
determinados. Esto permite tambin mejorar la precisin en los .

La determinacin de Q y R en un paso puede hacerse en diversas formas. El proceso


ms eficiente consiste en transformar A en una matriz triangular superior utilizando
matrices de rotacin plana (como en el mtodo de Jacobi):

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 24


(PT T
n , n 1 L P31
T
P21)A=R (3.52a)

y por lo tanto:
Q = P21 P31 L Pn ,n 1 (3.52b)

La matriz P ji , que permite hacer cero el coeficiente ji:


col i col j
1

O
cos k sen k
Pk = fila i (3.53a)
sen k cos k fila j

O
1

se obtiene mediante:

a ii( k )
cos =
d
a (jik )
sen = (3.53b)
d

d= (a ) + (a )
(k ) 2
ji
(k ) 2
ii

Slo se requiere un ciclo de estas transformaciones para obtener R. No es necesario


iterar.
2 1 0

Para un ejemplo del proceso considrese la matriz: A (0)
= 1 4 1

0 1 2
Esta es una matriz simtrica (lo cual no es un requisito para emplear el mtodo QR) y,
siendo tridiagonal, tiene la forma Hessemberg.

Para transformar A en una matriz triangular superior R se hace primero cero el


coeficiente a21:
(0)
a11 =2 ( 0)
a 21 =1 d = 2.236068
cos = 0.894427 sen = 0.447214

.894427 - .447214 0

P21 = .447214 .894427 0

0 0 1

2.236068 2.683281 0.447214



T
P21 A (0) = 0 3.130494 .894427

0 1 2
Luego se hace cero a32, con lo que se obtiene una matriz triangular superior:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 25


(0)
a 22 = 3.130494 (0)
a 32 =1 d = 3.286335
cos = 0.952579 sen = 0.304290

1 0 0

P32 = 0 .952579 - .304290

0 .304290 .952579
2.236068 2.683281 0.447214

R1 = T T
P32 P21 A ( 0) = 0 3.286332 1.460532

0 0 1.632993

Y se completa el primer paso efectuando el producto:

3.200000 1.469694 0

A (1)
= R 1Q1 = R 1 P21 P32 = 1.469694 3.244444 .496904

0 .496904 1.555556

Anlogamente, en el segundo paso:

.908739 - .417365 0

P21 = .417365 .908739 0

0 0 1

1 0 0

P32 = 0 .978097 - .208150

0 .208150 .978097
3.521363 2.689686 L

R2 = T T
P32 P21 A (1) = 0 2.387242 .765454

0 0 1.427490

4.322580 .996351 0

A (2)
= R 2 Q 2 = R 2 P21 P32 = .996351 2.281193 .297132

0 .297132 1.396226

Y en el tercer paso:

.974449 - .224610 0

P21 = .224610 .974449 0

0 0 1

1 0 0

P32 = 0 .989134 - .147017

0 .147017 .989134
4.435924 1.483271 .066739

R3 = T T
P32 P21 A ( 2 ) = 0 2.021076 .491663

0 0 1.33850

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 26


4.655737 .453953 0

A (3)
= R 3 Q 3 = R 3 P21 P32 = .453953 2.020318 .196780

0 .196780 1.323944

Suponiendo que el coeficiente a 33 = 1.323944 sea una buena aproximacin al primer


( 3)

valor caracterstico, se efecta una traslacin:

3.331794 .453953 0

A (3)
1.323944 I = .453953 .696375 .196780

0 .196780 0

obtenindose en el cuarto paso:

3.405209 .088938 0

A (4)
= .088938 .678541 - .017396

0 - .017396 - .055581
Se hace entonces una nueva traslacin:

4 = -.055581 = k = 1.268362

obtenindose:

3.463559 .018800 0

A (5)
= .018800 .731767 .000010

0 .000010 - .000413
y nuevamente:

5 = -.000413 = k = 1.267949
obtenindose:

3.464096 .003973 0

A (6)
= .003973 .732056 0

0 0 0

Se observa ahora que el coeficiente a33 es menor que 10-6, lo que implica que 1 es
aproximadamente igual a la suma de las traslaciones previamente realizadas.
Conviene luego hacer una traslacin igual al resultado obtenido para a22 a fin de
mejorar la precisin para el segundo valor caracterstico:

6 = .732051 = k =2

2.732050 .003973 0

A (6)
0.732051 I = .003973 0 0

0 0 - .732051

Y puede trabajarse con la submatriz de un orden menor:

2.732050 .003973
A (6) =
.003973 0

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 27


(6)
a11 = 2.732050 (6)
a 21 = 0.003973 d = 2.732051
cos = 1 sen = 0.000307

1.000000 - .000307
P21 = Q 7 =

.000307 1.000000

2.732051 .000840
R 7 = P21
T
A ( 6) =
0 .000001

2.73205 0
A ( 7 ) =
0 0

Los coeficientes indicados como 0 son menores que 10-6. Los valores caractersticos
de esta matriz son 0 y 2.732051. Para obtener aquellos de la matriz original deben
sumarse las traslaciones:
1 = -0.732051 + 2 = 1.267949
2 = 0 + 2 = 2
3 = 2.732051 + 2 = 4.732051

3.3.5. Transformacin a la Forma Hessemberg

Si el mtodo QR se aplicara a una matriz cualquiera sera en general poco eficiente,


( )
puesto que requiere O 4 3 n 3 operaciones por paso. Para reducir el nmero de
( )
operaciones a O 4n 2 por paso debe previamente transformarse la matriz a la forma
"Hessemberg" (es decir, una matriz que es casi triangular superior, teniendo adems
coeficientes significativos en la primera codiagonal inferior):

h11 h12 h13 h14 L h1n



h21 h22 h23 h24 L h2 n

0 h32 h33 h34 L h3n
H = (3.54)
0 0 h43 h44 L h4 n

M M M M O

0 0 0 0 hn ,n 1 hnn

Si la matriz original fuera simtrica, la transformacin a la forma Hessemberg, que


puede hacerse conservando la simetra, produce una matriz tridiagonal. En tal caso el
QR requiere apenas 12 n operaciones por paso. Cabe anotar que la forma
Hessemberg (tridiagonal para el caso simtrico) no se pierde en los sucesivos pasos
del mtodo QR.

La transformacin a la forma Hessemberg slo requiere hacerse una vez. Por lo tanto
las O ( 5
3 )
n 3 que se gastan en la transformacin estn plenamente justificadas.
Entre los procedimientos que se encuentran en la literatura para efectuar la
transformacin, se propone el cambio de variables = B , con lo que el problema
original = se reescribira como B 1 B = o bien H = . En este
caso B 1 B = H o, lo que es lo mismo, B = B H . En el proceso original de
Hessemberg se usa una matriz B de la forma:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 28


1 0 0 0 L 0

0 1 0 0 L 0

0 b32 1 0 L 0
B= (3.55a)
0 b b43 1 L 0
42

M

0 bn 2 b n 3 bn 4 L 1

con coeficientes arbitrarios en la primera columna (que por simplicidad se ha escrito


como la primera columna de la matriz identidad). Los coeficientes de las sucesivas
filas de H y columnas de B pueden entonces obtenerse con las expresiones:
n r
hir = a ir +
k = r +1
a ik bkr b
k =1
ik hkr i = 1, 2, L r + 1 (3.55b)

n r

b
1 a ir +
bi ,r +1 = a ik bkr ik hkr i = r + 2, L n (3.55c)
hr +1,r
k = r +1 k =1
Este procedimiento podra fallar si en algn paso hr +1, r = 0 . El proceso podra
recomenzarse con una primera columna de B diferente, lo que en general evitara el
error, aunque esto no puede garantizarse. Por otro lado, el procedimiento antes
expuesto no mantiene la posible simetra de la matriz A .

Tambin puede hacerse la transformacin a la forma Hessemberg por rotaciones


planas (mtodo de Givens) o reflexiones (Householder). El mtodo de Householder
utiliza matrices ortogonales y simtricas, de la forma:

P = I 2 w wT (3.56)

donde w es un vector unitario: w T w = 1 . Es fcil probar que P = P T = P 1 .


La matriz P refleja al espacio en el "plano" que pasa por el orgen y es ortogonal a w .
Considrese un vector cualquiera v = 0 w + 1u donde u T w = 0 . Entonces,
(
P v = I 2 w wT )(
+ 1u ) = 0 w + 1u . Ntese que la componente segn w
0w
ha cambiado de signo, es decir, el vector v ha sido reflejado en el plano ortogonal a
w.
La transformacin de A en H mediante el mtodo de Householder requiere n 2
pasos ( n es aqu el orden del sistema) de la forma:

A ( k +1) = Pk A ( k ) Pk (3.57a)

donde:

Pk = I k w k w Tk
2
k = (3.57b)
w Tk w k
w k = v k + signo a k( k+)1,k ( )v k e k +1

siendo:

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 29


0
M

0
una matriz que contiene los coeficientes de la columna k de
v k = a k( k+)1,k
a ( k ) A (k ) que estn por debajo de la diagonal principal, y
k + 2, k
M
(k )
a nk

0

M

e k +1 = 1 la columna k + 1 de la matriz identidad (de orden n ).

M
0

Para que el proceso sea ms eficiente, debe observarse que al premultiplicar A , cuyas
columnas son a1 a 2 a 3 L , por la matriz P , cada columna se modifica en forma
independiente. Las columnas de A = PA resultan:

( ) (
a j = I k w k w Tk a j = a j k w Tk a j w k ) (3.58a)

Igualmente, al postmultiplicar A por P las filas se modifican en forma independiente.


Llamando ahora a i a la fila i de la matriz A = PA , la correspondiente fila de A = A P
resulta:

( )
ai = a i I k w k w Tk = a i k ( a i w k ) w Tk (3.58b)

Por ejemplo, considrese la matriz:

4 3 2 1

3 4 3 2
A= =A
(1)

2 3 4 3
1 2 3 4

Transformacin de la primera columna a la forma Hessemberg:

0

3
v1 = v1 = 3.74166
2
1

0 0 0

3 1 6.74166
w 1 = v 1 + v 1 e 2 = + 3.74166 = 1 = 0.03964
2 0 2
1 0 1

1 w 1T A (1) = (1.00000 1.38619 1.23786 0.93096)

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 30


4.00000 3 2 1

- 3.74166 - 5.34522 - 5.34522 - 4.27618
P1 A (1) =
0 0.22762 1.52428 1.13809
0 0.61381 1.76214 3.06904

1.00000

2.02190
1 P1 A w 1 =
(1)

0.22681
0.42543

4.00000 - 3.74166 0 0

- 3.74166 8.28571 - 1.30143 - 2.25428
A (2) = P1 A P1 =
(1)

0 - 1.30143 1.07067 0.91128
0 - 2.25428 0.91128 2.64362

Transformacin de la segunda columna a la forma Hessemberg:

0

0
v2 = v 2 = 2.60298
1.30143
2.25428

0 0 0

0 0 0
w 2 = v 2 + v 2 e3 = 2.60298 = 2 = 0.09840
1.30143 1 3.90441

2.25428 0 2.25428

2 w T2 A ( 2 ) = (0 1.00000 - 0.61346 - 0.93647 )

4.00000 - 3.74166 0 0

- 3.74166 8.28571 - 1.30143 - 2.25428
P2 A ( 2) =
0 2.60298 - 1.32452 - 2.74510
0 0 - 0.47162 0.53254

0

1
2 P2 A w 2 =
( 2)

1.11774
0.06306

4.00000 - 3.74166 0 0

- 3.74166 8.28571 2.60298 0
H = A ( 3) = P2 A ( 2) P2 =
0 2.60298 3.03959 - 0.22540
0 0 - 0.22540 0.67470

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 31


3.4 Mtodos Mixtos

Los dos procesos que se describen en lo que sigue son adecuados para sistemas de
orden grande en el caso en que se requieran muchos vectores caractersticos.

3.4.1 Iteracin con la Determinante de (A - B)

Los valores propios de A = B son los ceros del polinomio caracterstico


p ( ) = det (A B ) = 0 . Por ejemplo, si:
4 2 0 0 1 0 0 0

2 8 2 0 0 2 0 0
A= B=
0 2 8 2 0 0 2 0
0 0 2 4 0 0 0 1

Las races del polinomio:

4 2 0 0

2 8 2 2 0
p( ) = det
0 2 8 2 2

0 0 2 4

= 4 64 + 364 864 + 720 = 0
4 3 2

son los valores caractersticos. La determinacin de los coeficientes del polinomio


caracterstico es factible (utilizando, por ejemplo, el mtodo de Hessemberg). Una vez
obtenidos los coeficientes del polinomio caracterstico, se requiere determinar los
valores de para los que p ( ) = 0 . Sin embargo, ste es frecuentemente un
problema mal condicionado: pequeos errores en los coeficientes causan grandes
errores en las races. Por ello, los mtodos en los que se hace una determinacin
explcita del polinomio caracterstico slo son adecuados para pequeas matrices.

Para matrices de orden elevado, pero con un ancho de banda comparativamente


pequeo, pueden determinarse los valores caractersticos por iteracin, evaluando la
determinante de A k B para una secuencia de valores k que se corrigen con
procesos tales como el mtodo de la secante. As, dadas las aproximaciones k 1 y
k a una raz y habindose calculado p( k 1 ) = A k 1 B y p( k ) = A k B se
obtiene una mejor aproximacin, k +1 , mediante:

k k 1
k +1 = k p ( k ) 1 2 (3.59)
p ( k ) p( k 1 )
La evaluacin de p ( ) no requiere tener el polinomio p ( ) en forma explcita.

Si A B se descompone en el producto de una matriz triangular inferior, L , con


unos en la diagonal principal, por una matriz triangular superior, U , se tiene que:
p ( ) = det (A B ) = det (LU ) = det (L ) det (U ) (3.60a)

donde:
det (L ) = l11 l 22 l 33 l 44 L = 1
det (U ) = u11 u 22 u 33 u 44 L
(3.60b)

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 32


y por lo tanto: p ( ) = u11 u 22 u 33 u 44 L u nn

La descomposicin de A B en factores triangulares LU requiere pocas


operaciones si el ancho de banda es pequeo.

Particularmente importante es el caso en el que las matrices A y B son simtricas y


definidas positivas (todos los valores caractersticos son reales y positivos). En tal caso
puede aplicarse la propiedad de Sturm: el nmero de coeficientes negativos en la
diagonal principal de U al hacer la descomposicin A B = LU es igual al nmero
de valores caractersticos menores que k . Esta propiedad, combinada con la
iteracin (3.59) u otra similar, permite obtener una primera aproximacin a una raz. Sin
embargo, el proceso debe combinarse con iteraciones inversas usando el cociente de
Rayleigh para refinar los valores obtenidos.

Para las matrices A y B antes indicadas, con = 1.5 :

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

2 5 2 0 .800 1 0 0 0 3.4 2 0
A 1 .5 B = =
0 2 5 2 0 .588 1 0 0 0 3.824 2
0 0 2 2.5 0 0 .523 1 0 0 0 1.454

p (1.5) = 2.5 3.4 3.824 1.454 = 47.25

Anlogamente se obtienen:
k p ( k ) Nmero de coeficientes negativos
en la diagonal principal de U

1.5 47.25 0
1 2.0 0 0
2.5 -8.75 1
2 3.0 0 1
3.5 11.25 2
4.0 16.00 2
4.5 11.25 2
3 5.0 0 2
5.5 -8.75 3
4 6.0 0 3
6.5 47.25 4

3.4.2 Iteracin en Subespacio

El mtodo tratado en la seccin precedente es eficiente cuando las matrices tienen


ancho de banda relativamente pequeo. Cuando el ancho de banda es grande es ms
adecuado un proceso de iteracin en subespacio, como se describe en este acpite.
Este mtodo tiene por objeto determinar en forma simultnea los p vectores
caractersticos asociados a los valores caractersticos de menor mdulo. La idea
bsica es que es mucho ms fcil iterar para obtener un subespacio que contenga a
estos vectores que iterar para obtener cada uno de ellos por separado.

Se trabaja con una coleccin de q vectores linealmente independientes ( q > p ). Los


q vectores iniciales definen un subespacio que no necesariamente contiene a los p

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 33


vectores de inters. Si esos p vectores caractersticos si estuvieran contenidos en el
subespacio, sera suficiente proyectar A = B para obtener el sistema
A z = B z , de orden q << n , que sera fcil de resolver por mtodos de
transformacin. Los valores caractersticos del problema proyectado seran los mismos
del problema original, mientras que sus vectores caractersticos, z , corresponderan a
las proyecciones de los vectores en el subespacio. No siendo ste el caso, se hacen
iteraciones inversas para mejorar los q vectores con los que se trabaja, de modo que
el subespacio por ellos definido sea ms y ms paralelo a los p vectores propios de
inters.
En lo que sigue, se supone que A y B son matrices simtricas. Siendo X k los q
vectores de aproximacin, en cada ciclo del proceso se realizan los pasos siguientes:

a. Iteracin inversa:

AX k +1 = BX k
La matriz A debe factorizarse antes de iniciar las iteraciones. Los vectores X k +1
son ms paralelos a los primeros p vectores caractersticos.

b. Proyeccin de A y B en el subespacio definido por los vectores X k +1 :

A ( k +1) = X Tk +1 A X k +1

B ( k +1) = X Tk +1 B X k +1
Las matrices A ( k +1) y B ( k +1) son cuadradas, simtricas, de orden q .

c. Solucin del problema de valores y vectores caractersticos proyectado:

A ( k +1) Q k +1 = B ( k +1) Q k +1 k +1
k +1 es una matriz diagonal, cuyos coeficientes son los valores caractersticos del
problema proyectado. Si los X k +1 definen un subespacio que contiene a los p
primeros vectores propios, los p menores valores en k +1 son parte de la solucin
buscada.

d. Determinacin de nuevos vectores:

X k +1 = X k +1 Q k +1

Como consecuencia de los pasos c y d:

( )
X Tk +1 A X k +1 = Q Tk +1 X Tk +1 A X k +1 Q k +1 = Q Tk +1 A ( k +1) Q k +1 = q

X Tk +1 B X k +1 = Q Tk +1 (X T
k +1 B X k +1 )Q k +1 = Q Tk +1 B ( k +1) Q k +1 = I q

es decir, los vectores X k +1 satisfacen las condiciones de ortogonalidad, lo que asegura


que la iteracin inversa no produce q vectores todos iguales a 1 .

Si en las X 0 hay componentes segn todos los p vectores caractersticos de inters:

Lim k = diag 1 ( 2 L p L )
k

Lim X k = diag 1 ( 2 L p L )
k
( k +1)
Habindose obtenido en dos ciclos sucesivos los estimados p y p
(k )
para el mayor
de los valores caractersticos requeridos, el cociente (pk +1) (pk ) (pk +1) da una

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 34


medida adecuada del error relativo y es til para verificar la convergencia.
Adicionalmente, debe comprobarse que los valores y vectores obtenidos corresponden
a los p menores valores caractersticos. Para ello puede usarse la propiedad de
Sturm, factorizando A B en LU con valores de ligeramente mayores a los
calculados.

Si A y B son simtricas, de orden n , ancho de semibanda m , y A es definida


positiva, el nmero de operaciones iniciales requeridas es de O 12 nm 2 , ( )
esencialmente para la factorizacin de A . En cada ciclo de la iteracin, considerando
q << n , deben hacerse O ( nq ( 4 m + 2q + 3)) operaciones. Esto puede reducirse a
O ( nq ( 2 m + 2q + 3)) cuando B es diagonal. Para el procedimiento como se ha
descrito en los prrafos precedentes, se trabaja con q = min ( 2 p, p + 8 ) .
Habitualmente unos 10 ciclos de iteracin son suficientes para obtener 6 cifras
significativas correctas en los p valores y vectores caractersticos. Las operaciones
finales requieren O ( 1
2
)
nm 2 p operaciones adicionales.

Aproximacin Inicial

Para iniciar el proceso se requieren q vectores linealmente independientes, agrupados


en X 0 . Si A y B fueran diagonales, los vectores caractersticos seran las columnas
e k de la matriz identidad. An cuando A y B no sean diagonales, ste puede ser un
buen criterio para construir la aproximacin inicial X 0 . En particular, deberan
escogerse las columnas cuyo ndice k corresponde a los mximos bkk a kk . Con el
propsito de introducir componentes segn todos los vectores caractersticos, se
acostumbra adems considerar dos columnas con componentes arbitrarios (que
podran ser todos iguales a 1, o iguales a los bkk a kk ).

En algunas aplicaciones es fcil obtener una buena aproximacin al primer vector


caracterstico, por ejemplo, como solucin de un sistema de ecuaciones de la forma
A x 1 = b . Las sucesivas columnas x k para una excelente aproximacin inicial pueden
entonces obtenerse como vectores de Ritz, mediante un proceso recursivo que
combina pasos de iteracin inversa con ortogonalizacin:
A y k = B x k 1
k 1 y Tk B x j
xk = y k
T
j =1 x j B x j
x
j

Determinacin de Grupos de Vectores Caractersticos Haciendo Traslaciones

Si se requieren muchos vectores caractersticos, el procedimiento estndar de iteracin


en subespacio puede hacerse ms eficiente utilizando sucesivas traslaciones en
combinacin con procedimientos de eliminacin de las componentes segn los
vectores ya conocidos.

En este caso se trabaja con subespacios de dimensin q , con el propsito de


( )
determinar grupos de p q 2 vectores. Habitualmente q = mx 4, m , siendo m el
ancho (promedio) de semibanda. Para cada grupo de vectores, se realizan cmputos
iniciales que incluyen:

a. Determinacin de la traslacin (el proceso se inicia con = 0 )

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 35


~
= 0.1 n + 0.9 n +1
n es el ltimo valor caracterstico para el que se ha logrado convergencia;
~
n +1 es la aproximacin al siguiente valor caracterstico.
b. Factorizacin: A B = L U

c. Determinacin de q vectores de aproximacin inicial, X 0 .

La iteracin incluye los pasos siguientes:

a. Eliminacin de las componentes de X k segn los vectores caractersticos


previamente determinados (ver acpite 3.2.4).

b. Iteracin inversa:
Yk +1 = B X k
L U Z k +1 = Yk +1

c. Proyeccin de A B y B en el subespacio definido por los vectores Yk +1 :

A ( k +1) = Z Tk +1 Yk +1

B ( k +1) = Z Tk +1 B Z k +1
Las matrices A ( k +1) y B ( k +1) son cuadradas, simtricas, de orden q .

d. Solucin del problema de valores y vectores caractersticos proyectado:

(A ( k +1)
)
+ B ( k +1) Q k +1 = B ( k +1) Q k +1 k +1

e. Determinacin de nuevos vectores:

X k +1 = Z k +1 Q k +1

f. Verificacin de la convergencia

Como en el procedimiento estndar, debe verificarse que se tienen los valores


caractersticos correctos utilizando la propiedad de Sturm.

Ejemplo simple

Supngase que se requieren dos vectores caractersticos de A = B , siendo:

2 1 0 0 0

1 2 1 0 1
A= B=
0 1 2 1 0
0 0 1 2 2

En este caso particular la iteracin inversa produce en un solo paso el subespacio que
incluye a los dos primeros vectores caractersticos, ya que dos de los valores
caractersticos son infinitos. Para hacer ms eficiente el proceso debe factorizarse
primero la matriz A :

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 36


1 0 0 0 2 1 0 0

0 .5 1 0 0 0 1 .5 1 0
A= = LU
0 .6667 1 0 0 0 1.3333 1
0 0 0.75 1 0 0 0 1.25

0 0

0 1
Con la aproximacin inicial: X 0 =
0 0
1 0

Se obtiene por iteracin inversa:

0 0 0.4 0.6

0 1 0.8 1.2
B X0 = L U X1 = B X 0 X1 =
0 0 1.2 0.8
2 0 1.6 0.4

Proyectando las matrices A y B en el subespacio definido por los vectores X1 :

3 .2 0 .8 5.76 2.24
A (1) = X1T A X1 = B (1) = X1T B X1 =
0 .8 1.2 2.24 1.76

se resuelve el problema proyectado (mtodo de Jacobi generalizado):


c1 = 1.28 d = 2.56
c 2 = 2.56 = -0.50
c 3 = -0.64 = 1.00

1 1 0.5
P = =
1 1 1

6.00 0 12 0
P T A P = P T B P =
0 1.20 0 0.96

de donde:

a b 0 0.50 0
= 11 11 =
0 a 22 b2 0 1.25

0.288 675 0.510 310


Q =
0.288 675 1.020 621

y finalmente se expresan los vectores en el sistema de referencia original:

0.288 675 0.408 248



0.577 350 0.816 497
X 1 = X1 Q = = (1 2 )
0.577 350 0.204 124

0.577 350 0.408 248

H. Scaletti - Mtodos Numricos: Valores y Vectores Caractersticos 3 - 37


4. Ecuaciones No Lineales

4.1 Introduccin

En general no es posible obtener las races de una ecuacin no lineal f ( x ) = 0 en forma


explcita, debindose utilizar mtodos iterativos. Partiendo de una raz aproximada, x 0 ,
se obtiene una secuencia x1 , x 2 , x 3 K que converge a la raz deseada. Para algunos
mtodos es suficiente conocer el intervalo [a, b] en que se halla la raz; otros
procedimientos, de convergencia ms rpida, requieren una aproximacin inicial cercana
a la raz. Puede ser conveniente empezar los clculos con un mtodo del primer tipo y
cambiar a un mtodo de convergencia ms rpida en la etapa final.

La primera parte de este captulo considera el caso en que la raz, x , es una raz simple,
es decir, f ( x ) 0 . Las dificultades que se presentan en el caso de races mltiples se
discuten en la seccin 4.6. La seccin 4.7 revisa mtodos especficos para extraer
ceros" (races) de polinomios.

La parte final da algunas ideas para la solucin de sistemas de ecuaciones no lineales,


un problema que ciertamente puede demandar mucho esfuerzo de cmputo.

4.2 Aproximaciones Iniciales

Pueden obtenerse aproximaciones iniciales a las races de f (x ) = 0 graficando o


tabulando la funcin.

Si f ( a o ) f (bo ) < 0 , hay por lo menos una raz, x , en el intervalo (a o , bo ) . En el


mtodo de Biseccin se definen una serie de intervalos ( a 0 , b0 ) ( a1 , b1 ) ( a 2 , b 2 ) K .

El punto medio de un intervalo ( a i , bi ) es xi = ( a i + bi ) / 2 . Suponiendo que f (x ) 0


(si este no es el caso, se ha hallado la raz) se define el sub-intervalo ( a i +1 , bi +1 )
mediante:

( x i , bi ) si f ( x i ) f (bi ) < 0
(a i +1 , bi +1 ) =
(a i , x i ) f (a i ) f ( x i ) < 0

Introduciendo la notacin n = x n x , se tiene que n +1 = O ( 12 n ) . Como


1 3.3
10 2 , se requieren 3 4 pasos para mejorar un dgito decimal en la aproximacin.
La convergencia es prcticamente independiente de f (x ) .
f(x)
Por ejemplo, para la funcin:
1
x2
f (x ) = sen (x ) = 0
4 0.5
puede iniciarse la iteracin con
0
a 0 = 1 .5 1 1.5 2 2.5
x

b0 = 2 -0.5

obtenindose:
-1

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-1


i ai bi ci f (c i )

1 1.5 2. 1.75 <0


2 1.75 2. 1.875 <0
3 1.875 2. 1.9375 >0
4 1.875 1.9375 1.90625 <0
5 1.90625 1.9375 ...

Se han subrayado las cifras correctas. Puede observarse que la convergencia es lenta.

4.3 Mtodo de Newton Raphson

Si x 0 es suficientemente cercano a la raz x :

f ( x ) = f ( x 0 ) + ( x x 0 ) f ( x 0 ) + 12 ( x x 0 ) f ( x 0 ) + L = 0
2

Y despreciando trminos de orden superior:


f ( x0 )
x x0 .
f ( x 0 )

Puede entonces pensarse en iterar con:


x i +1 = x i + hi
donde:
f (xi )
hi =
f (x i )
expresin que define el mtodo de Newton Raphson (o simplemente de Newton). La
figura muestra una interpretacin geomtrica:

f(x)
0.5

0.25

0 x
1.75 x i +1 2 xi 2.25

-0.25

Por ejemplo, puede emplearse el mtodo de Newton para extraer la raz p de un


nmero c , lo que equivale a resolver:

f ( x) = x p c = 0

f ' ( x) = p x p 1
Con el mtodo de Newton:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-2


f (xi )
xi +1 = xi
f (x i )
y por lo tanto:
xip c 1 c
xi +1 = xi = ( p 1) xi + p 1
p x ip 1 p xi

1 2
Para obtener la raz cbica de 2 se tendra: xi +1 =
2 x i + 2
3 xi
e iniciando los clculos con x 0 = 1 :

i xi i = xi x

0 1 -0.259921
1 1.333 0.073412
2 1.2638889 0.003968
3 1.2599334934 1.244 10 5
4 1.25992105001778 1.229 10 10

Puede observarse que la convergencia es muy rpida. Sin embargo este no siempre es
el caso. Considrese, por ejemplo, la ecuacin:
f ( x ) = 2 x ctg ( x ) = 0
para la que f ( x) = 1 + cos ec 2 (x )

Los resultados obtenidos con dos distintas aproximaciones iniciales, x 0 = 0.5 y x 0 = 2 ,


son:

i xi para x 0 = 0.5 xi para x 0 = 2


0 0.5 2.0
1 0.5986 -0.18504
2 0.628703 -0.44878
3 0.6308034 -1.49817
4 0.630812760 -676.133
5 -1140.538
6 -1163.343 Diverge!

Las condiciones para la convergencia del mtodo de Newton se revisan a continuacin.

De la expansin de f en series de Taylor:

0 = f ( x ) = f ( x n ) + ( x x n ) f ( x n ) +
1
(x x n )2 f ( ) en intervalo ( x, x )
2
Dividiendo entre f ( x n ) (que se supone distinto de cero):
f (x n ) 2 f ( )
+ ( x x n ) = x x n+1 = 12 (x x n )
f ( x n ) f ( x n )

1 f ( ) 2
n +1 = n
2 f (x n )

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-3


1 f ( x ) 2
y cuando x n x se tiene que n +1 n .
2 f ( x )

Esto es vlido slo si f (x ) 0 , es decir si la raz es simple. El caso de races mltiples


se revisa ms adelante. El proceso converge cuando n +1 < n , es decir si:
0 f f < 1 . Si la raz es simple y la aproximacin inicial es adecuada, la convergencia
del mtodo de Newton es cuadrtica.

Con el mtodo de Newton pueden tambin obtenerse races complejas. Esto requiere
que la aproximacin inicial sea un nmero complejo. Por ejemplo, si:

f ( x) = x 2 + 1 = 0
se tendra:
f (xi ) 1 1
xi +1 = xi = xi .
f ( xi ) 2 xi

e iniciando los cmputos con x 0 = 1 + i :

i xi

0 1+ i
1 0.25 + 0.75 i
2 0.075 + 0.975 i
3 0.0017 + 0.9968 i
4 0.000005 + 1.000004 i

4.4 Mtodo de la Secante y Otros Procesos del Mismo Tipo

Si en x n +1 = x n
f ( xn )
la derivada f ( x n ) se aproxima por
( f n f n1 ) , donde
fn
f ( x n ) (xn x n1 )
denota f ( x n ) , se tiene el mtodo de la Secante:

x n +1 = x n + hn
(xn x n1 )
hn = f n Se supone que f n f n 1
( f n f n1 )
Para cada punto, n, solo debe evaluarse una funcin, f n , mientras que el mtodo de
Newton requiere tambin la evaluacin de f n .
Es importante hacer notar que NO es conveniente rescribir estas expresiones en la
forma:
(xn1 f n x n f n1 )
xn+1 =
( f n f n1 )
ya que con esta ltima expresin pueden introducirse fuertes errores numricos cuando
x n x n 1 y f n f n 1 > 0 .

En la tabla siguiente se resuelve f ( x) = 1


4
x 2 sen( x) para x 2 por el mtodo de la
secante:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-4


n xn f (x n ) n = xn x
0 1. -0.59147 -0.93

1 2. 0.090703 0.066

2 1.86704 -0.084980 -0.067

3 1.93135 -0.003177 -0.0024

4 1.93384 -0.000114 +0.00009

5 1.93375 -0.000005 < 12 10 5

(en la grfica adjunta casi no se aprecia


f(x) la diferencia entre la funcin y la
secante).
0.25
La convergencia de mtodo de la
secante es en general ms lenta que la
del mtodo de Newton. Sin embargo,
se justifica usar este mtodo si la
0 x evaluacin de f (x ) requiere ms del
1.75 2 44% del trabajo que se emplea en
evaluar f ( x ) , ya que el mayor nmero
de iteraciones queda ms que
compensado por el menor nmero de
-0.25 operaciones realizadas en cada caso.
A esta conclusin se llega comparando
la convergencia de ambos mtodos.

Para el mtodo de la secante:


n 1
x n+1 x n = n +1 n = f n n
f n f n 1
y siendo:
f n = f ( x n ) = f ( x ) + n f ( x ) + 12 n2 f ( x ) + K

se obtiene (despreciando trminos de orden superior):

n +1 = n +
( n )
f ( x ) + 12 n2 f ( x ) + K ( n n 1 )
=
( n n 1 ) f ( x ) + 12 ( n n 1 )2 f ( x ) + L
( )
= n + n f ( x ) + 12 n2 f ( x ) + K ( f ( x ) + 1
2
( n + n1 ) f ( x ) + K)
1
2

f ( x )
n +1 12 n n 1
f ( x )

Suponiendo entonces: n +1 = C n y por lo tanto n +1 = C n1 =


+1 2 1 f
2 f
( )
C n1 n 1 , de

donde se obtiene:
2
= +1 = 1
2
(1 + 5 ) = 1.618K Es decir, la convergencia del
mtodo de la secante es entre lineal y cuadrtica.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-5


En el mtodo de Falsa Posicin la secante se toma entre los puntos ( x n , f n ) y (x r , f r ) ,
donde r < n es el mayor ndice para el cual f n f r < 0 . Si f ( x ) es continuo, este
mtodo es siempre convergente. Sin embargo, la convergencia es de primer orden.
f (x n )
Otra alternativa es el mtodo de Steffensen: x n +1 = x n
g (x n )
f ( x n + f ( x n )) f ( x n )
donde: g (x n ) =
f (x n )
1 f ( x )
cuya convergencia es de segundo orden: n +1 (1 + f (x )) n2
2 f ( x )

4.5. Otros Mtodos Iterativos

Una ecuacin de la forma f ( x ) = 0 puede rescribirse como x = g (x) . Dada entonces


una aproximacin x 0 a una raz x de f ( x ) = 0 , la secuencia x1 , x 2 , x 3 , L definida por:
x n +1 = g ( x n ) converge a x siempre que g ( x ) < 1 en la regin de inters. El
procedimiento puede ser ms simple que otros y en algunos casos puede incluso
converger ms rpidamente.

Por ejemplo, la ecuacin:

f ( x) = (2 x) tg x 1 = 0
es equivalente a ctg x = ( 2 x) . En este caso podra iterarse con ctg x n +1 = 2 x n o, lo
que es lo mismo, x n +1 = arc ctg (2 x n ) . Sin embargo, la iteracin escrita al revs, es
decir x n +1 = 2 ctg x n , no funciona.

En efecto, tomando x 0 = 0 e iterando con ctg x n +1 = 2 x n se obtienen:

y(x)
n xn
0. 2
0
1 0.464
1.5
2 0.577
3 0.6125
1
4 0.6245
5 0.6286
2-x
0.5
6 0.6301 ctg x

...
0 x
10 0.6308017
-0.5 0 0.5 1 1.5 2 2.5
...
-0.5
20 0.630812760

Una interpretacin grfica del proceso se muestra en la figura.

En lo que sigue se analiza cmo se reducen los errores en este caso.


Si se considera xn = x + n
x n +1 = x + n +1
se tiene que ctg ( x + n +1 ) = 2 ( x + n )

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-6


Suponiendo que n +1 << x puede hacerse una expansin de la cotangente en series:

ctg x
n +1
( )
+ O 2n +1 = (2 x ) n
sen 2 x
y siendo x la solucin exacta, sta satisface idnticamente la ecuacin: ctg x = ( 2 x ) ;
de donde se concluye que:

( )
n +1 sen 2 x n 13 n

es decir n +1 < n y por lo tanto el proceso es convergente.

Si en cambio se considera la iteracin x n +1 = 2 ctg x n se tiene que n +1 3 n y el


proceso no converge, an cuando x 0 sea muy cercano a la raz x :

n xn
0 0.6
1 0.538
2 0.325
3 0.965
4 2.69
5 4.01

4.6. Condicionamiento de las Races: Races Mltiples

Si x n es una aproximacin a una raz x de f ( x) = 0 , se tiene:

f (x n ) = f (x ) + (x n x ) f (x ) + 1
2
(xn x )2 f (x ) + K
Para x n x puede escribirse:
f (x n )
xn x
f (x )
Si el error en la evaluacin de f ( x n ) es de O( ) ( depende de la precisin de la
computadora y es independiente de x ) el error en la aproximacin de la raz x n x es


de O . Entonces, si f (x ) es muy pequeo se tiene que >> y se dice
f (x ) f (x )
que la raz x est mal condicionada.

El mismo argumento puede repetirse cuando se trata de una raz de multiplicidad m ,


caso en el que::

f ( x ) = f ( x ) = K f (m 1) ( x ) = 0 .

En tal caso:
1
m! m
x n x = O (m )
f (x )
El exponente 1 m implica que las races mltiples son en general mal condicionadas.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-7


Considrese por ejemplo: f ( x ) = x 2 2 x + 1 = 0 , que tiene una raz doble x = 1 .
Supngase que se trabaja con aritmtica de punto flotante y 8 decimales en la mantisa.
Entonces = 1
2 10 8 , y siendo f (x ) = 2 se obtiene:

( )
1 2
x n x = O 12 10 8 22 2 = 10 4 = 0.7071K10 4
2
es decir, cualquier valor en el rango: 0,99992929 x 1,00007071 sera aceptado como
exacto, pudindose tener un error relativo de orden 10 5 .

p(x)

1
Raz bien
condicionada
0.5

0 x
0 1 2 3 4 5

-0.5 Raz mal


condicionada

-1

Siendo las races mltiples mal condicionadas, es de esperarse que la separacin


relativa de las races afecte el condicionamiento. Particularmente crtico es el caso en
que las races estn ms o menos uniformemente espaciadas, por ejemplo en:

(x ) = ( x 1)( x 2 )( x 3)L ( x 20 ) = x 20 210 x 19 + 20615 x 18 L + 20! = 0


Si en lugar del coeficiente 210 se tuviera un coeficiente (210 + ), se obtendran las
races:
=0 = 10 9

1 a 10 1 a 10
11 10.85
12 12.38 0.11i
13
14 14.37 0.72i
15
16 16.57 0.88i
17
18 18.67 0.35i
19
20 20
Este ejemplo es particularmente mal condicionado, pero son frecuentes las dificultades
anlogas al evaluar los ceros (es decir, las races) de polinomios. La evaluacin de las
races de un polinomio es un problema numrico que debe evitarse, a menos que los
datos iniciales hayan sido los coeficientes del polinomio en forma explcita.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-8


Aparte de un mal condicionamiento, las races mltiples reducen el orden de la
convergencia. As, por ejemplo, el mtodo de Newton, cuya convergencia es cuadrtica
cuando x n es aproximadamente una raz simple:

1 f (x ) 2
n+1 = n
2 f (x )
tiene convergencia lineal cuando la raz es mltiple. Para una raz de multiplicidad m :

n +1 = (1 1
m
) n + O ( 2n )
El mtodo de Newton modificado:

f (x n )
x n +1 = x n m
f ( x n )

tiene todava convergencia cuadrtica, pero en general no es posible conocer m a priori.


Alternativamente, puede pensarse en procesos del tipo:
f (x n )
u (x n ) =
f ( x n )

f ( x n )
u ( x n ) = 1 u (x n )
f (x n )
u (x n )
x n +1 = x n
u (x n )

Pero ntese que esto es poco efectivo cuando la raz es simple, puesto que se requiere
evaluar una funcin adicional, f ( x n ) .

4.7. Mtodos para Calcular Races de Polinomios

En esta seccin se revisan algunos de los muchos mtodos especficos para evaluar las
races (ceros) de polinomios: (x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n = 0
(x 1 )(x 2 )(x 3 )K (x n ) = 0
Es frecuente subestimar las dificultades que se presentan en problemas de este tipo.

Los mtodos mencionados en los acpites anteriores (Newton, secante y otros) son
tambin aqu aplicables, aunque pueden ser poco eficientes.

4.7.1 Mtodo de Bernoulli

Este es un proceso "clsico", que en general resulta poco apropiado, porque se obtiene
primero la raz de mayor mdulo.

Se toman n valores arbitrarios t1 , t 2 , t 3 L t n (con t n 0 ) y se calculan nuevos valores por


recursin:
n
tp = a t
i =1
i p i

Esta es una ecuacin de diferencias, cuya solucin puede escribirse como:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4-9


t p = c1 r1p + c 2 r2p + K + c n rnp

Las ri son races (distintas de cero) de:


n
rn = a r(
i =1
i
n i )

es decir, las ri son las races del polinomio: ri = i .

Por tanto:

t p = c1 1p + c 2 2p + K + c n np

y si n > n 1 K 1 se tiene que:

t
Lim = n
t 1
.

Esto es anlogo a una iteracin directa para determinar un valor propio de una matriz.
Tambin aqu la convergencia es lenta cuando n n 1 . El proceso converge a n,
an cuando c n = 0 (gracias a los errores de redondeo). El inconveniente principal de
este mtodo es que extrae primero la raz de mayor mdulo y la "deflacin" con esta raz
(que no es exacta) puede introducir errores importantes en las otras races.

Supngase, por ejemplo, que:

f ( x ) = x 4 2 x 3 + 1.25 x 2 0.25 x 0.75 .

Con t 0 = t1 = t 2 = 0 y t 3 = 1 se obtienen:
tk
k tk n
t k 1

4 2.0 2.0
5 2.75 1.375
6 3.25 1.1818
7 4.3125 1.3269
8 6.7500 1.5652
9 10.9844 1.6273
10 17.0469 1.5519
...
15 125.113 1.5104
16 188.240 1.5046
...
19 632.809 1.4986
20 949497 1.5004

Ntese que la convergencia es lenta. Esto es frecuente. Despus de pocos pasos es


mejor cambiar a otros mtodos (v.g. Newton - Rapshon).

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 10


4.7.2. Mtodo de Graeffe (mtodo de los cuadrados de las races)

Este es un proceso que puede ser empleado para mejorar el condicionamiento de las
races, pero es inadecuado para completar la extraccin de las mismas.

Dado: p1 ( x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n = 0
O bien: p1 ( x) = ( x 1 )(x 2 )(x 3 )K ( x n ) = 0 .
Puede formarse un nuevo polinomio

(x ) = ( 1)n p1 ( x ) p1 ( x ) = ( x 2 1 2 ) ( x 2 2 2 ) ( x 2 3 2 ) L ( x 2 n 2 ) .
Como (x ) solo contiene potencias pares de x , se puede definir:

p 2 (x ) = ( x )= (x 1
2
) (x 2 ) (x 3 )K( x n )
2 2 2

Es decir, p 2 ( x ) = 0 tiene races 12 L i2 L n2 , que son justamente los cuadrados de


las races de p1 (x ) = 0 . Del mismo modo pueden obtenerse p 4 (x ) p 8 (x )L p m ( x ) . Las
races de p m ( x ) = 0 , son las im donde m = 2 r .
(r ) (r ) (r )
Si se tienen coeficientes a1 , a 2 , a 3 L tales que:
(r ) (r ) (r ) (r )
p m ( x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n =0

los coeficientes a1
(r+1) ( r +1)
, a2 , a 3( r +1) L de p 2 m (x ) resultan:
min(n i ,i )
( )
a i( r +1) = (1) n i a i(r )
2
+2 ( 1) j
a i(+r )j a i(r )j
j =1
Y para m (o r ) suficientemente grande, puede escribirse:

(r ) a 2(r ) a k(r )
a1
m
m
K m

a1(r ) a k( r)1
1 2 k

Estas expresiones permiten, en teora, determinar los valores absolutos de las races.
Los signos deben obtenerse por sustitucin en el polinomio original p ( x ) = 0 .

Por ejemplo, considrese el polinomio p( x ) = x 3 6 x 2 + 11x 6 (cuyas races 1, 2, 3


estn uniformemente espaciadas y por tanto estn mal condicionadas):

r m a1 a2 a3
0 1 -6. 11. -6.
1 2 -14. 49. -36.
2 4 -98. 1393. -1296.
3 8 -6818.2 1.6864 x 106 -1.6796 x 106
4 16 -4.3112 x 107 2.8212 x 1012 -2.8212 x 1012
....

de donde 116 4.3112 10 7

2.8212 1012
216 = 6.5438 10 4
4.3112 10 7

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 11


2.8211 1012
316 = 0.99998
2.8212 1012
es decir 1 3.0003 2 1.9998 3 1.0000

Las races de p 2 ( x ) p 4 ( x ) p 8 (x )L estn mejor condicionadas en cada paso. Sin


embargo, se observa un crecimiento muy rpido de los coeficientes (posible "overflow")
por lo que no pueden realizarse muchos pasos.

4.7.3. Mtodo de Laguerre

Un muy buen mtodo para extraer races de polinomios es el de Laguerre. En este


mtodo, las sucesivas aproximaciones a una raz se calculan mediante:
n p( x k )
x k +1 = x k
p ( x k ) H ( x k )

donde n es el grado del polinomio y:

[
H ( x k ) = (n 1) (n 1)( p ( x k ) ) n p ( x k ) p ( x k )
2
]
Como en otros casos, debe considerarse el signo que evita la cancelacin, es decir,
aquel para el que x k +1 x k resulta lo ms pequeo posible.

El mtodo de Laguerre requiere evaluar p ( x k ) , p ( x k ) y p ( x k ) en cada paso, pero la


convergencia (para races simples) es cbica. Si las races son reales, este mtodo
converge siempre. Suponiendo que la aproximacin inicial x 0 est en el intervalo entre
r y r +1 , converge a una de esas dos races. Si en cambio x 0 < 1 o x 0 > n el
proceso converge a 1 o n , respectivamente.

Por ejemplo, considrese el polinomio:

p (x ) = (x 1)(x 2 )(x 3)( x 4 )( x 5)(x 6 )(x 7 )(x 8) =


= x 8 36 x 7 + 546 x 6 4536 x 5 + 22449 x 4 67284 x 3 + 118124 x 2 109584 x + 40320 = 0
Con la aproximacin inicial x 0 = 0 se obtienen:

xk p (x k ) p (x k ) p ( x k ) H (x k )
0 40320 -109584 236248 5.499492E+10
0.937418 369.916 -6836.714 31394.812 1.639940E+09
0.999940 0.302 -5041.569 26140.729 1.245010E+09
1.000000

En forma similar, con la aproximacin inicial x 0 = 2.5 :


xk p (x k ) p (x k ) p ( x k ) H (x k )

2.5 121.816 -132.750 -977.625 7.532588E+06


2.838696 42.391 -277.131 60.892 3.618725E+06
2.994301 1.374 -242.118 367.294 2.844179E+06
3.000000

Aunque este mtodo puede ser usado tambin para extraer races complejas, en ese
caso no puede garantizarse la convergencia. Si se tuvieran pares de races complejas,

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 12


pero los coeficientes del polinomio fueran todos reales, sera aconsejable extraer
factores cuadrticos con el procedimiento descrito en la seccin 4.7.4

4.7.4. Mtodo de Bairstow (factorizacin iterativa de polinomios).

Un polinomio p(x ) = x n + a1 x n 1 + a 2 x n 2 + K + a n 1 x + a n puede expresarse como:

( )
( x ) = x 2 + rx + s q(x , r , s ) + xF (r , s ) + G (r , s ) .

Se requiere determinar r , s para que x 2 + rx + s sea un factor exacto de p ( x ) , es decir,


para que se tenga F (r , s ) = G (r , s ) = 0 . Siendo ste el caso, dos de las races (o un par
de races complejas) pueden obtenerse de x 2 + rx + s = 0 ; el resto de las races son los
ceros de q (x ) . Dados valores aproximados de r , s tales como rn y s n , se obtienen
valores mejorados, rn +1 y s n +1 , considerando:

F (rn+1 , sn+1 ) F (rn , sn ) + ( rn+1 rn ) + ( sn+1 sn )


dF dF
0
dr rn , sn
ds rn ,sn

G (rn +1 , s n+1 ) G (rn , s n ) + (rn +1 rn ) + (s n +1 s n )


dG dG
0
dr rn , sn ds rn , sn

dF dG
de donde, con la notacin Fr = L Gs = , se tiene:
dr ds
G Fs F G s
rn +1 = rn
Fr G s Fs G r rn , sn

G Fr F G r
s n +1 = s n
Fr G s Fs G r rn , sn

Dado que el polinomio original p ( x ) es independiente de r y s , al derivar el polinomio


( )
p( x ) = x 2 + rx + s q + xF + G con relacin a r y s se obtienen:
( )
xq + x 2 + rx + s q r + ( xFr + G r ) = 0

( )
q + x 2 + rx + s q s + ( xFs + G s ) = 0

es decir, los Fr y G r son los coeficientes del residuo al dividir x q ( x ) entre


x 2 + rx + s mientras los Fs y G s se obtienen como coeficientes del residuo al dividir
q (x ) tambin entre x 2 + rx + s .
La convergencia de este proceso depende de una buena aproximacin inicial.

El siguiente ejemplo ilustra un paso del proceso. Supngase que se tiene el polinomio:

p( x ) = x 4 5 x 3 + 14 x 2 25 x + 25 = 0
y un factor aproximado x 2 4 x + 4 (es decir ro = 4 , s 0 = +4 ). Dividiendo p ( x ) entre
este factor (utilizando el procedimiento de Ruffini) se obtiene:

p (x ) 1 -5 14 -25 25

r0 = 4 4 -4 24
s 0 = 4 -4 4 -24
q(x) 1 -1 6 3 1

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 13


Y anlogamente:

-xq(x) -1 1 -6 0

4 -4 -12
-4 4 12
-1 -3 -14 12

-q(x) -1 1 -6
4 -4
-4 4
-1 -3 -2

y de estos resultados:

F =3 F,r = 14 F,r = 3
G =1 G,r = 12 G,r = 2

w = Fr G s Fs G r = 64

r1 = 4
(1)( 3) (3)( 2) = 4.0469
64

s1 = 4
(1)( 14) (3)(12) = 4.7813
64
es decir: x 2 + r1 x + s1 = x 2 4.0469 x + 4.7813

En el siguiente paso se obtienen:


F = 1.2547 G = 0.6350
Fr = 13.1003 G r = 14.7920

Fs = 3.0938 G s = 0.5803

de donde r2 = 4.0973 , s 2 = 4.9732 . El factor exacto es x 2 4 x + 5 .

El mtodo antes descrito es adecuado solo si la aproximacin inicial es cercana al factor


exacto (esto es anlogo a lo que ocurre con el mtodo de Newton). Pueden tambin
utilizarse las mismas ideas para separar factores de grado mayor que 2.

4.7.5. Mtodo de Jenkins y Traub

Este proceso tiene algunas similitudes con el mtodo de iteracin inversa para hallar
vectores caractersticos. Converge a la raz de menor mdulo (lo que es beneficioso
para una "deflacin" adecuada; vase la seccin 4.7.6) y permite efectuar translaciones
para acelerar la convergencia. Es probablemente el mejor de los mtodos para extraer
races de polinomios (pero en algunos casos no es el ms eficiente). El algoritmo tiene 3
etapas:
n
a. Dado el polinomio p ( x) = ax
i =0
i
n i
con a o = 1, a n 0 , se determina:

n
(0 )
h ( x) = p ( x) = (n i ) a x
i =0
i
n i 1

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 14


y por recursin:

1 (k ) h ( k ) ( 0)
h (k +1) ( x) = h ( x) p ( x) k = 0, 1, 2 L
x p ( 0)
A medida que k crece, las razones entre los coeficientes de h (k ) ( x) y aquellos de
h (k +1) ( x) tienden a hacerse constantes e iguales a la raz de menor mdulo:
h ( k ) ( 0)
1 (k +1)
h ( 0)
b. En una segunda etapa, con una translacin fija s 0 r1 , se determinan:

1 (k ) h (k ) ( s 0 )
h (k +1) ( x) = h ( x) p( x)
(x s 0 ) p(s 0 )
c. Y finalmente se refina la aproximacin con translaciones variables en cada paso:

h (k 1) (s k )
s k +1 = s k + r1
h (k ) (s k )

1 (k ) h (k ) ( s k +1 )
h (k +1) ( x) = h ( x) p ( x)
(x s k +1 ) p( s k +1 )

Cada paso de este mtodo requiere O (2n) operaciones.

En lo que sigue se analiza cmo el proceso converge. El polinomio cuyas races se


buscan puede expresarse en la forma:

p(x ) = ( x 1 ) ( x 2 )m 2 ( x 3 )m 3 K = 0
m1

donde m1 , m 2 , m3 L son las multiplicidades de las races.

El mtodo se inicia con h (0 ) ( x) = p ( x) , que es un polinomio de grado n 1 . Este


polinomio puede escribirse en la forma:

c ( ) (x )
p ( x)
h (0 ) ( x ) = i
0

donde ci(0 ) = mi . Puede probarse por induccin que los sucesivos polinomios
h (1) ( x ) h ( 2) (x ) h (3) (x )L son tambin polinomios de grado n 1 . Supngase que:

c(
p ( x)
h (k 1) ( x) = k 1)
i
(x i )
(k 1) h (k 1) ( s k )
Entonces: h (k ) ( x) =
1
h ( x) p ( x )
(x s k ) p(s k )

p( s k )
c( k 1)
c( k 1)
1 p( x) p( x)
=
(x s k ) i
(x i ) p( s k ) i
(s k i )
ci(k 1)
( c ( ) (x )
p( x) p( x)
= = k

i s k ) ( x i )
i
i

es decir, si h (k +1) ( x) es un polinomio de grado n 1 , tambin lo es h (k ) ( x) .

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 15


ci(k 1) mi
Adems: c i(k ) = =
( i s k ) ( i s1 ) ( i s 2 ) ( i s 3 ) K ( i s k )

y si se consideran translaciones s j tales que: 1 s j < 2 s j < 3 s j K


se tiene que (considerando multiplicidades mi iguales): c1( k ) > c 2( k ) > c 3( k ) K y por lo tanto:
(k 1)
( i s k ) = Lim
k
h
(k )
( x)
h ( x)

Esta expresin puede tambin usarse para determinar las translaciones ms adecuadas:

h (k 1) ( s k )
w (k ) ( s k )
s k +1 = s k + (k ) = s k (k )
h (s k ) w ( s k )
donde:
p ( x)
w (k ) ( x) = (k )
h ( x)

La ltima expresin puede probarse considerando que:

1 (k 1) h (k 1) ( s k )
h (k ) ( s k ) = h ( x ) p ( x)
(x s k ) p( s k ) x = sk

y utilizando la regla de L' Hospital.

Por otro lado, dado que p ( i ) = 0 , se tiene que w (k ) ( i ) = 0 y por lo tanto:

w (k ) ( s k )
s k +1 = s k
w ( k ) ( s k )

Esta expresin es anloga a la utilizada en el mtodo de Newton. Considerando


c k = 1 s k puede escribirse:

w (k ) ( 1 ) 2
k +1 1
k
w ( k ) ( 1 )
2

pero en este caso la funcin w (k ) es variable en cada paso:

p ( x)
w (k ) ( x) =
h ( k ) ( x)
p ( x)
h (k ) ( x) = ci(k ) + g ( x) p ( x)
(x 1 )
1
Para x 1 se tiene: >> g ( x) y por lo tanto:
( x 1 )

p ( x) (x 1 )
w (k ) ( x) = (k ) = (k )
h ( x) c1 + g ( x)( x 1 )
puede aproximarse por:

[
w ( k ) ( x) = ( x 1 ) (c1( k ) ) 1 g ( x) (x 1 ) (c1( k ) ) 2 K ]
de donde:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 16


g 1 ( 1 )
k +1 (k ) 2k
c1

c1( k 1) c ( k 1) c ( k 2)
pero c1( k ) = = 1 = 1 K
(1 s k ) k ( k k 1 )
y entonces:
k +1 = ( k k 1 L ) k2

k = ( k 1 K) 2k 1

de donde k +1 = 3k k 11 y considerando k +1 = C k se obtiene finalmente = 2.62 .
El orden de convergencia es superior al del mtodo de Newton.

Considrese, por ejemplo, el polinomio: p( x) = x 2 2 x + 1 (cuyas races son iguales


1 = 2 = 1). En este caso:

h (0 ) ( x) = p ( x) = 2 x 2

1 (0 ) h ( 0 ) ( 0)
h (1) ( x) = h ( x ) p ( x) = 2 x 2
x p ( 0)
y es evidente que, si se continuara con el proceso, h (n ) ( x ) = 2 x 2 Es decir, en un paso
se tiene convergencia. Esto se debe a que en realidad se tiene una sola raz con
multiplicidad 2.

h (k 1) ( s ) 2
1 = s + (k ) = 0+ =1
h ( s) 2

Para el siguiente ejemplo: p( x) = x 2 3 x + 2 = 0 (cuyas races son 1 = 1, 2 = 2):

x2 x1 x0 h( s k 1 ) sk h( s k ) p( s k )
1 p ( x) 1. -3. 2.
2 h (0 ) ( x) = p ( x) 2. -3. 0. -3. 2.

3 1.5 p ( x) 1.5 -4.5 3.


4 (2)+(3) 1.5 -2.5 0.
(1)
5 ( 4) / x = h ( x ) 1.5 -2.5 -2.5 1.2 -0.70 -0.16

6 -4.375 p ( x) -4.375 13.125 -8.750


7 (5)+(6) -4.375 14.625 -11.250
8 (7) / ( x 1.2) -4.375 9.375 4.125 1.0303 4.8674 -0.029385
9 165.645 p( x ) 165.645 -496.934 331.290
10 (8)+(9) 165.645 -501.309 340.664
11 (10) /( x 1.00303) 165.645 -330.644 -159.979 .999878 -165.019 0.000122
12 1352450 p ( x) 1 352 450 -4 057 350 2 704 900
13 (11)+(12) 1 352 450 -4 057 184 2 704 569
14 (13) /( x .999878) 1 352 450 -2 704 899 -1 352 614 1.000000 La primera raz

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 17


4.7.6 Deflacin

El polinomio p( x ) , de grado n 1 , puede escribirse como: p ( x ) = ( x a ) q ( x ) + r , donde


q( x ) es un polinomio de grado n 1 y r = p( a ) . Si a = 1 es una raz exacta de
p( x ) = 0 , se tiene r = 0 . Las races restantes son las races de q( x ) = 0 . Para el
cmputo de estas otras races puede entonces trabajarse con el cociente q ( x ) en lugar
de p ( x ) = 0 . Esto es una "deflacin". La deflacin puede repetirse a medida que se
obtienen otras races. Es evidente que esto ahorra operaciones.

Sin embargo, a medida que se calculan las races stas no pueden obtenerse en forma
exacta y la deflacin con una raz que es solo aproximada produce un polinomio q(x) que
est afectado por esos errores.

Considrese, por ejemplo, x 2 101x + 100 = 0 , cuyas races exactas son 1 = 1, 2 = 100.
Si se obtiene primero la raz 2 (aquella de mayor mdulo) con un 0,1% de error:
2 100.1, la deflacin produce:

p(x ) 1 -101. 100.

2 100.1 100.1 -90.09


q(x ) 1 -0.9 9.91

Es decir, se obtiene q( x ) = ( x 0.9) , y haciendo q( x ) = 0 resulta 1 0.9 . Ntese que


un error de 0,1% en 2 produce un error de 10% en 1 . Si en cambio se determina
primero la raz menor, tambin con un error de 0,1%, 1 1.001:

p(x ) 1 -101. 100.

1 1.001 1.001 -100.099

q(x ) 1 -99.999 0.099

y de q( x ) = (x 99.999 ) = 0 : se obtiene 2 99.999 :, con slo un 0,001% de error.

En conclusin, los errores introducidos por la deflacin son menores si las races se
determinan en orden ascendente de valores absolutos.

4.8. SISTEMAS DE ECUACIONES NO LINEALES

En algunos problemas acadmicos la solucin de sistemas de ecuaciones no lineales


puede ser hecha por simple eliminacin. Por ejemplo, para determinar los puntos en los
que se intersectan el crculo x 2 + y 2 = 3 y la hiprbola x 2 y 2 = 1 , basta restar y
sumar ambas expresiones (obtenindose x = 2 , y = 1 ).

Sin embargo, en la mayor parte de los casos prcticos ser necesario iterar. Muchos de
los mtodos antes descritos para resolver una ecuacin no lineal pueden generalizarse
para resolver sistemas de ecuaciones no lineales:

f i ( x1 , x2 , x3 , K xn ) = 0 i = 1,2,3, K n
f (x) = 0

Iteracin directa

Un proceso simple puede ser obtenido rescribiendo estas ecuaciones como:

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 18


xi = g i ( x1 , x 2 , x3 , K x n ) i = 1,2,3, K n
x = g ( x)
lo que permite iterar con

xi
(k +1)
( (k ) (k )
= g i x1 , x 2 , x3 , K x n
(k ) (k )
)
o bien con

xi
(k +1)
(
= g i x1
(k +1)
, x2
(k +1)
, K x i(+k1) , K x n
(k )
)
Estos son los equivalentes no lineales de los mtodos de Jacobi y Gauss Seidel.

Tambin aqu puede establecerse un criterio de convergencia similar a g ( x) < 1 .


Definiendo la matriz D, con coeficientes:
gi
d ij ( x) =
xj
se tiene que los valores caractersticos de la matriz D deben ser tales que: i < 1 . Con
frecuencia se presentan sistemas no lineales de la forma: x = a + hg(x) donde las
g i x j son finitas. Entonces, para h suficientemente pequeo, el proceso iterativo
x ( k +1) = a + h g (x (k ) ) satisface las condiciones de convergencia.
Por ejemplo, sea el sistema de ecuaciones (no lineales):

x = 12 sen ( x + y )
y = 12 cos ( x y )
Puede iterarse con:

x ( k +1) = 12 sen ( x ( k ) + y ( k ) )
y ( k +1) = 12 cos ( x ( k +1) y ( k ) )
Obtenindose (con la aproximacin inicial x ( 0 ) = y ( 0 ) = 0 ):

k x (k ) y (k )
1 0 0.5
2 0.239 712 729 0.483 158 048
3 0.330 770 125 0.494 205 706
4 0.367 265 691 0.495 976 965
5 0.379 977 102 0.496 639 778
...
10 0.386 424 387 0.496 949 307
...
20 0.386 450 795 0.496 950 555

Mtodo de Newton

Tambin el mtodo de Newton - Raphson puede ser generalizado para sistemas de


ecuaciones no lineales:

(
f (x (k +1) ) f (x (k ) ) + D (x (k ) ) x (k +1) x (k ) = 0 )
En la seccin 4.7.4 se present una aplicacin de estas ideas. El proceso converge si
x (k ) es suficientemente cercano a la solucin exacta x , lo que es relativamente fcil

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 19


cuando las no linealidades no son muy fuertes y se combina el mtodo de Newton -
Raphson con un proceso incremental.

Para el caso particular de dos ecuaciones no lineales:

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

puede escribirse:
f 1 f 1
f 1 x y
x ( k +1) x ( k ) 0

+ f f 2 ( k +1) =
f 2 2 y 0
(k )
y
x y
expresin en la que f 1 , f 2 y sus derivadas se calculan con la aproximacin x ( k ) , y ( k ) .
Luego se obtienen:
f 2 f
x ( k +1) x ( k ) 1 f 1 f2 1
y y
( k +1) = ( k )
y y d f f f 1
2
+ f
1 x 2
x
f 1 f 2 f1 f 2
siendo d = det ( D) = .
x y y x
Considrese, por ejemplo:

f 1 ( x, y ) = x 2 + y 1 = 0
f 2 ( x, y ) = ( x 1) 2 + ( y 0.5) 2 1 = 0
Estas ecuaciones tienen dos soluciones:
r1 = (0.125 122 549 762, 0.984 344 347 550)
r2 = (1.215 146 790 092, 0.476 581 721 472)

Con la aproximacin inicial (0,0) se obtienen:

k x (k ) y (k ) f1 f2
0 0.000000 0.000000 -1.000000 0.250000
1 -0.375000 1.000000 0.140625 1.140625
2 0.125000 1.234375 0.250000 0.304932
3 0.095595 0.991726 0.000865 0.059743
4 0.125088 0.985223 0.000870 0.000912
5 0.125122 0.984344 0.000000 0.000001
6 0.125123 0.984344 0.000000 0.000000

Con otras aproximaciones iniciales, como por ejemplo (1,0) (1,1) , se obtiene r2

Mtodo de Mxima Gradiente

El mtodo de Newton tiene convergencia cuadrtica, pero requiere una buena


aproximacin inicial. Con tal fin, puede emplearse el mtodo de mxima gradiente, cuya
convergencia es lenta pero est garantizada (siempre que D sea no singular).

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 20


La solucin del sistema de ecuaciones no lineales f ( x) = 0 es aquella que hace mnima
la funcin:
n
F (x) = [f (x)] f (x) = f (x , x
T
i 1 2 ,L xn )
i =1

Partiendo de una aproximacin x ( 0) se hacen correcciones de la forma:

x ( k +1) = x ( k ) k F = x ( k ) 2 k D T f

k debe ser tal que F (x ( k +1) ) < F (x ( k ) ) .

Aproximaciones
La evaluacin de los n 2 coeficientes de la matriz D ( x (k ) ) , es decir:
d ij = f i x j
puede requerir demasiadas operaciones, por lo que es comn volver a evaluar D solo
cada cierto nmero, m , de pasos (y no en cada paso). Se tiene as el mtodo de
Newton - Raphson modificado:

( )
f (x (k ) ) + D (x ( p ) ) x (k +1) x (k ) = 0 k = p, p + 1, K p + m .

Esto tambin ahorra muchas operaciones al resolver el sistema de ecuaciones lineales


(k+1)
para determinar las x , puesto que la matriz D solo debe reducirse cada m pasos.

Tambin pueden utilizarse mtodos anlogos al mtodo de la secante. Una


aproximacin frecuente es:

fi f i ( x + h j e j ) f i ( x)
d ij = ( x)
xj hj
donde e j es la columna j de la matriz identidad de orden n , y los h j 0 son
(k 1) x (k ) (esto es el mtodo de la secante, que da un
arbitrarios, por ejemplo: h j = x j j
orden de convergencia de aproximadamente 1.6). Si en cambio se toma h j = f j ( x (k ) )
se obtiene una generalizacin del mtodo de Steffensen.

Otra posibilidad consiste en derivar f ( x ) = 0 con respecto a un parmetro, :


f x f
+ =0
x

lo que permite utilizar muchos de los procesos para resolver sistemas de ecuaciones
diferenciales ordinarias descritos en el captulo 6. Por ejemplo, pueden considerarse
f x f
=D = x = f
x
y entonces:

D( x ( k ) ) x ( k ) = f ( k )

x (k +1) = x (k ) + x (k )
Este es el mtodo de Euler, un proceso simple pero no siempre adecuado.

H. Scaletti - Mtodos Numricos: Ecuaciones No Lineales 4 - 21


5. Interpolacin, Diferenciacin e Integracin Numrica

5.1. Diferencias Finitas


Dadas las abscisas x k , uniformemente espaciadas: x k +1 = x k + h , a las que
corresponden valores f k f ( x k ) , se definen las primeras diferencias finitas hacia
adelante como:
f k = f k +1 f k .

Anlogamente pueden definirse las segundas diferencias:

2 f k = f k +1 f k = f k + 2 2 f k +1 + f k

y en general las diferencias finitas hacia adelante de orden n :

n f k = n 1 f k +1 n 1 f k
n
i n
n f k = ( 1) i f
i =0
k + n i

n n!
donde: =
i i!(n i )!
Una tabla de diferencias es un arreglo de la forma:
k fk f k 2 f k 3 f k 4 f k 5 f k 6 f k 7 f k

0 0 0 0 0 1 -5 15 -35
1 0 0 0 1 -4 10 -20 35
2 0 0 1 -3 6 -10 15
3 0 1 -2 3 -4 5
4 1 -1 1 -1 1
5 0 0 0 0
6 0 0 0
7 0 0
8 0

Puede apreciarse como un pequeo error en las f k puede amplificarse en las


diferencias finitas altas, lo que puede ser til para identificar posibles errores en una
tabla de f ( x ) .

Las diferencias finitas tienen ciertas propiedades anlogas a las derivadas. As por
ejemplo:
(c1u k + c 2 v k ) = c1 u k + c 2 v k

(u k v k ) = u k v k + v k +1 u k

u v k u k u k v k
k =
vk v k v k +1
n 1 n 1

u i v i = ( u n v n u 0 v 0 ) (u v i i +1 )
i =0 i =0

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-1


En forma similar, pueden definirse diferencias finitas hacia atrs:
f k = f k f k 1

n f k = n 1 f k n 1 f k 1

y diferencias centrales:
f k = f k+ 1 f k 1
2 2

f k = f k + 1 f k 1 = f k +1 2 f k + f k 1
2

2 2

.....

n f k = n 1 f k + 1 n 1 f k 1
2 2

Estas diferencias estn relacionadas:


f k = f k +1 = f k + 1
2

Y en general:

n f k = n f k + n = n f k + n
2

Para puntos con espaciamiento no uniforme pueden calcularse diferencias divididas:


f ( x 0 ) f ( x1 )
[ x 0 , x1 ] = = [ x1 , x 0 ]
x 0 x1

[ x0 , x1 ] [ x1 , x 2 ]
[ x 0 , x1 , x 2 ] =
x0 x 2
...
[ x 0 , x1 , L x n 1 ] [ x1 , x 2 , L x n ]
[ x 0 , x1 , x 2 , L x n ] =
x0 x n

Por ejemplo:
k xk fk [x k , x k +1 ] L

0 0 -5 6 2 1 0 0
1 1 1 12 6 1 0
2 3 25 30 11 1
3 4 55 63 15
4 6 181 108
5 7 289

Para el caso de puntos con espaciamiento uniforme, h , las diferencias divididas pueden
relacionarse con diferencias finitas hacia delante:

n f i
[ x i , xi +1 , x i + 2 , L x i + n ] =
n! h n

y en forma similar con diferencias finitas centrales o hacia atrs.

Si f (x) es un polinomio de grado n , las diferencias finitas (de cualquier tipo) de orden
n + 1 o superior obtenidas con los f k = f ( x k ) son cero. En el ejemplo anterior f ( x) es
un polinomio de tercer grado.

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-2


5.2. Interpolacin
Supngase que se tiene una tabla de valores tales como:

xn f ( xk )
0 1.000 000
0.1 0.995 004
0.2 0.980 067
0.3 0.955 336
0.4 0.921 061
0.5 0.877 582

Y se requiere calcular f (0.25) . Para ello, f ( x) puede aproximarse localmente por una
funcin ms simple, g ( x) , tal que g ( x k ) = f ( x k ) . El caso ms comn es aquel en que
g ( x) es un polinomio, pero tambin son frecuentes las aproximaciones con funciones
trigonomtricas, por ejemplo:

g ( x) = a 0 + a1 cos x + a 2 cos 2 x + L + b1 sen x + b2 sen 2 x + L


En lo que sigue se hace nfasis en interpolaciones polinmicas. Dados n + 1 puntos
x k , f ( x k ) , slo un polinomio de grado n , p n (x ) , satisface las condiciones
p n ( x k ) = f ( x k ) para todo k . Sus coeficientes, ai , podran obtenerse resolviendo:
1 x0 x 02 x0 K a 0 f ( x 0 )

1 x1 x12 x13 K a1 f ( x1 )

1 x2 x 22 x 23 K a 2 = f ( x 2 )
1 x3 x32 x33 K a 3 f ( x3 )

K M M
pero esto no es prctico. Otros mtodos ms eficientes se revisan a continuacin.

5.2.1 Frmulas de Interpolacin de Newton y Otras Expresiones Anlogas.

Para puntos uniformemente espaciados:



( 1) ( 2) L ( j + 1)
f ( x 0 + h ) = f 0 + j =1
j!
j f0

Esta expresin es fcil de obtener considerando un operador E tal que E f k = f k +1 , es


f ( x 0 + h) = E f 0 = (1 + ) f 0 .
decir E = 1 + . Como E n f k = f k + n , puede escribirse:
Generalmente se consideran solo algunos trminos de esta serie.

Por ejemplo, despreciando las diferencias de orden 3 o superior:

f ( x k + h) f k + f k + 12 ( 1) 2 f k =

( 1) ( 2) ( 1)
= f k + (2 ) f k +1 + f k +2
2 2

Considerando los valores numricos:


k xk f ( xk )
2 0.2 0.980 067
3 0.3 0.955 336
4 0.4 0.921 061

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-3


(para los que h = 0.1 ), el valor de f (0.25) podra obtenerse con = 0.5 :
(0.5) (1.5) (0.5) (0.5)
f (x 2 + 0.5h ) = (0.980067) + (0.5) (1.5) (0.955336) + (0.921061)
2 2

de donde f (0.25) 0.968 895 (el valor exacto es 0.968 912 )

La expresin anterior es la frmula de interpolacin de Newton con diferencias finitas


hacia adelante. Similarmente puede escribirse la frmula de Newton con diferencias
hacia atrs:

( + 1) ( + 2) L ( + j 1)
f ( x n + h) = f n +
j =1
j!
j fn

o la frmula de Newton con diferencias divididas:

f ( x) = f 0 + [x 0 , x1 ]( x x 0 ) + [x 0 , x1 , x 2 ]( x x 0 ) ( x x1 ) +
+ [x 0 , x1 , x 2 , x3 ] ( x x 0 ) ( x x1 ) ( x x 2 ) + L

Esta ltima expresin es vlida tambin para puntos con espaciamiento no uniforme.

Considrese por ejemplo la tabla de diferencias divididas:


i xi fi [xi , xi +1 ] [xi , L xi + 2 ] [xi , L xi +3 ] [xi , L xi + 4 ]
-1 0. 1.000 000 -0.099 667 -0.492 113 0.037 106 0.039 670
0 0.2 0.980 067 -0.247 301 -0.477 270 0.060 908 0.037 594
1 0.3 0.955 336 -0.342 755 -0.452 907 0.079 705
2 0.4 0.921 061 -0.478 627 -0.421 025
3 0.6 0.825 335 -0.604 934
4 0.7 0.764 842

f (0.25) = 0.980067 + (0.247301) (0.25 0.2) + (0.477270) (0.25 0.2) (0.25 0.3) +
+ (0.060908) (0.25 0.2) (0.25 0.3) (0.25 0.4) + L = 0.968914

(Este es el resultado con 5 trminos, con 3 trminos se obtiene 0.968 895)

Otra alternativa es interpolar con diferencias centrales:

f ( x k + h) = f k + f k + 1 + 12 ( 1) 2 f k + 16 ( 1) ( + 1) 3 f k + 1 + L
2 2

f ( x k + h) = f k + f k 1 + 12 ( + 1) 2 f k + 16 ( 1) ( + 1) 3 f k 1 + L
2 2

Estas son las frmulas de Gauss. Promediando las dos expresiones se obtiene la
frmula de Stirling:

+ 2 f + ( 1) 3 f
2 2
f ( x k + h ) = f k +
k+1
f + f k1 k k+1
+ 3 f k 1 + L
2 2 2 2 12 2 2

5.2.2. Frmula de Interpolacin de Lagrange

Esta frmula es ms adecuada para anlisis tericos que para el cmputo prctico. El
polinomio de interpolacin se obtiene como:
m
p( x) = g ( x) f
i =0
i i

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-4


m
(x x ) .
Los polinomios g i (x) se obtienen multiplicando n binomios: g i ( x ) = (x
j

j =0 i x ) j
j i

Ntese que g i ( x j ) = ij .

El siguiente ejemplo es ilustrativo:


k xk fk
0 0. -5.
1 1. 1.
2 3. 25.
( x 1) ( x 3) 1 2
g 0 ( x) = = ( x 4 x + 3)
(0 1) (0 3) 3

( x 0) ( x 3) 1
g 1 ( x) = = 2 ( x 2 + 3 x)
(1 0) (1 3)

( x 0) ( x 1) 1 2
g 2 ( x) = = ( x x)
(3 0) (3 1) 6
2
p( x) = g ( x) f
i =0
i i = 2x 2 + 4x 5

5.2.3. Interpolacin de Hermite.

En algunos casos es conveniente trabajar con los valores de la funcin, f (x ) y un cierto


nmero de sus derivadas f ( x), f ( x), f ( x),K f (m ) ( x) . Dados los valores
en n puntos de abscisas x k , es posible determinar un polinomio p(x )
(m )
f k , f k , f k, K f k
de grado (m + 1) n 1 que satisfaga:

p (i ) ( x j ) = f (i ) ( x j ) i = 0,1, K m
j = 0,1, K n 1

La interpolacin de una funcin cuando una o ms de sus derivadas son conocidas en


cada punto se llama interpolacin de Hermite. p(x ) puede obtenerse utilizando la frmula
de Newton con diferencias divididas y considerando que:
f ( x1 ) f ( x 0 )
[x0 , x 0 ] = xLim = f ( x 0 )
x
1 0 (x1 x0 )
f ( x 0 ) [x 0 , x1 ]
[x0 , x0 , x1 ] =
(x0 x1 )
Tambin podran usarse las expresiones de Lagrange, considerando primero puntos a
una distancia pequea, , y luego identificando a las derivadas con los lmites de
diversas expresiones para 0 .

El siguiente ejemplo es ilustrativo. Se trata de determinar un polinomio p( x ) de grado 3,


tal que:
p(0) = v A
p (L ) = v B
p (0) = A
p (L ) = B

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-5


k xk fk [x k , x k +1 ] [x k , x k +1 , x k + 2 ] [xk , xk +1 , x k + 2 , x k +3 ]
vB vA A 2 (v B v A ) A +B
0 0 vA A +
L2 L L 3
L2
vB v A B vB v A
1 0 vA
L L L2
2 L vB B
3 L vB

Se han tomado datos de esta tabla siguiendo una trayectoria horizontal.

v v 2(v A v B ) A + B
p (x ) = v A + A (x 0 ) + B 2 A A ( x 0 ) + + (x 0 ) (x L )
2 2
3 2
L L L L

( ) ( )
p( x) = 1 3 2 + 2 3 v A + 3 2 2 3 v B + (1 ) A L 2 (1 ) B L donde =
2 x
L
.

5.2.4. Interpolacin Inversa.

En la solucin de f ( x) = 0 pueden obtenerse aproximaciones a una raz, x , por


interpolacin de una funcin inversa con ordenadas xk para abscisas de espaciamiento
no uniforme, f ( x k ) . Considrese, por ejemplo:
xk f (xk )

1. 1.76
2. 0.41
3. -0.16
4. -0.32

Usando la frmula de Lagrange con 4 puntos:


(0 0.41) (0 + 0.16) (0 + 0.32) (1) (0 1.76) (0 + 0.16) (0 + 0.32) (2)
x + +
(1.76 0.41) (1.76 + 0.16) (1.76 + 0.32) (0.41 1.76) (0.41 + 0.16) (0.41 + 0.32)
(0 1.76) (0 0.41) (0 + 0.32) (3) (0 1.76) (0 0.41) (0 + 0.16) (4)
+ +
(0.16 1.76) (0.16 0.41) (0.16 + 0.32) (0.32 1.76) (0.32 0.41) (0.32 + 0.16)

x 2.37

5.2.5. Generalizacin a Varias Dimensiones.

Las expresiones anteriores pueden fcilmente generalizarse para "mallas" de ms


dimensiones. As, si se tienen puntos con coordenadas xi , y j , z k
( i = 0 L n; j = 0 L m; k = 0 L l ) las frmulas de Lagrange resultan:
n m l
p ( x, y , z ) = g
i =0 j =0 k = 0
xi ( x) g y j ( y ) g z k ( z ) f ijk

n
(x x r )
donde g xi ( x) = (x
r =0 i xr )
y expresiones similares en las direcciones y, z .
r i

Frecuentemente los puntos estn uniformemente espaciados: xi +1 = xi + x


y i +1 = y i + y
z i +1 = z i + z

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-6


La figura muestra una zona de una malla bidimensional con espaciamiento uniforme.
Las coordenadas de un punto en la proximidad de A pueden definirse por dos
parmetros , (coordenadas relativas medidas en unidades x, y ).

D C B
P
y
E O A

x
y
F G H

Usando la frmula de Stirling, e incluyendo diferencias centrales hasta de 2 orden


inclusive, se obtiene:
+1 +1
f (x 0 + x, y 0 + y ) = a b i j f ij
i = 1 j = 1

donde:
a1 = 12 ( 1) b1 = 12 ( 1)

a2 = 1 2 b2 = 1 2
a 3 = 12 ( + 1) b3 = 12 ( + 1)

y es igualmente fcil desarrollar expresiones anlogas considerando un nmero mayor o


menor de puntos en cada direccin. La presencia de bordes curvos introduce algunas
dificultades (no es posible seguir teniendo un espaciamiento uniforme).

Sin embargo, en muchos casos es necesario trabajar con mallas no regulares, como la
mostrada en la figura siguiente. Las diferencias finitas no son entonces la herramienta
ms adecuada. El concepto de elementos finitos es til y permite un tratamiento ms
simple. La regin en estudio se divide en subregiones o elementos, conectados en un
nmero finito de nudos con los elementos adyacentes.

El valor de una funcin, f , en un punto en el interior de un elemento se obtiene


interpolando los valores de la funcin en los nudos del elemento:
N
f ( x, y , z ) = N ( x, y , z ) f
i =1
i i

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-7


Las funciones de interpolacin deben satisfacer:
N i ( x j , y j , z j ) = ij ( x j , y j , z j son las coordenadas del nudo j )
N

N ( x, y , z ) = 1
i =0
i

Esto ltimo es evidente si se supone f i = c para todo j y entonces f ( x, y, z ) = c .

Adicionalmente, las N i deben ser tales que se mantenga la continuidad de f (y en


algunos casos la continuidad de una o ms derivadas) en los bordes entre elementos.

Es relativamente fcil construir estas funciones para elementos bidimensionales


rectangulares.

Por ejemplo, para un elemento con 4 nudos (con referencia al centroide):

1 x x y y
N i ( x, y ) = 1 + i 1 + i
i = 1,2,3,4
4 a a b b

Y Y

4 3 4 7 3

b b
8 6
X X
b b
1 2 1 5 2

a a a a

Y para un elemento con 8 nudos (con referencia al centroide):

1 x x y y x x y y
Ni = 1 + i 1 + i i + i 1 i = 1,2,3,4
4 a a b b a a b b

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-8


1 x
2

Ni = 1 1 + y i y i = 5,7
2 a b b

xi x y
2
1
Ni = 1 + 1 i = 6,8
2 a a b

Estos son los dos elementos ms simples de la familia de Serendip.

Las funciones de interpolacin para los correspondientes elementos tridimensionales son


similares.

En subregiones triangulares las funciones de interpolacin resultan ms simples si se


escriben en coordenadas de rea, L1, L2, L3.. Un punto en el interior de un tringulo
permite definir tres tringulos parciales, cuyas reas divididas entre el rea total del
tringulo son justamente las Li:
Ai
Li =
A
En consecuencia:

L1 + L2 + L3 = 1 .

Las coordenadas x, y se relacionan con las


coordenadas de rea mediante:
3 3

i =1
Li x i = x L y
i =1
j j =y

Por otro lado si el origen de coordenadas x, y est en el centroide del tringulo:

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5-9


1 bi c
Li = + x+ i y
3 2A 2A
donde:
bi = y j y k
ci = x k x j i, j , k son permutaciones cclicas de 1,2,3 .

Para un elemento con 3 nudos, el valor de una funcin, f ( x, y ) , puede obtenerse por
interpolacin lineal de los tres valores nodales f 1 , f 2 , f 3 :
3
f ( x, y ) = L f
i =1
i i 3

es decir, N i ( x, y ) = Li ( x, y ) .
En forma similar, para un elemento con 6 nudos 2
(nudos adicionales al centro de cada lado), f ( x, y )
puede obtenerse por interpolacin cuadrtica de
los valores nodales. 1

N i = Li (2 Li 1) i = 1,2,3

N 4 = 4 L1 L2 3
N 5 = 4 L2 L3
5
N 6 = 4 L3 L1
6
(Los elementos triangulares de mayor orden son en 2
general poco tiles). Pueden escribirse fcilmente
expresiones anlogas para los correspondientes 4
elementos tridimensionales. 1

Para elementos ms complejos, la construccin de funciones de interpolacin puede


simplificarse si se efecta previamente un "mapeo" adecuado.

Por ejemplo, para el hexaedro de Serendip con 20 nudos:

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 10


20
f ( , , ) = N ( , , ) f
i =1
i i

Ni = 1
8
( 1 + i )( 1 + i )( 1 + i )( i + i + i 2 ) i = 1, L8

N i = g ( , i ) g ( , i ) g ( , i ) i = 9, L 20

donde: g( ,i ) = 1
2
(1 + i ) si i = 1
g( ,i ) = 1 ( 2
) si i = 0 .

Las coordenadas x, y, z pueden asociarse con las , , usando las mismas funciones
de interpolacin:
20
x= N ( , , ) x
i =1
i i

20
y= N ( , , ) y
i =1
i i

20
z= N ( , , ) z
i =1
i i

en tal caso se dice que el elemento es isoparamtrico. Tambin puede hablarse de


elementos sub-paramtricos o hiper-paramtricos, segn las funciones utilizadas en el
mapeo sean de grado menor o mayor que aquellas con que se interpola la funcin, f .

Ntese que tambin es posible hacer mapeos con las coordenadas de rea.

5.3. Derivacin
Dados f 1 f ( x1 ), f 2 f ( x 2 ) K f n f ( x n ) puede obtenerse una aproximacin, g (x) , a la
funcin f (x) , tal que g ( x i ) = f ( x i ) para i = 1,2, K n . Este es el problema de interpolacin
considerado en la seccin 5.2. Entonces, las derivadas de f (x) podran aproximarse,
localmente, por aquellas de g (x) . Sin embargo, debe tenerse presente que pequeos
errores en los valores de la funcin pueden amplificarse enormemente al calcular las
derivadas. A mayor orden de la derivada, mayores son las probabilidades de errores de
cancelacin.

En lo que sigue se considera el caso de abscisas x1 , x 2, K x n con espaciamiento


uniforme, h . Para h suficientemente pequeo:

f ( x i h) = f ( x i ) h f ( x i ) + 12 h 2 f ( x i ) 16 h 3 f ( x i ) + K

hf ( x i ) = f ( x i + h) f ( x i ) 12 h 2 f ( x i ) K

de donde, con la notacin f i ( m ) = f (m)


( xi ) :
f i +1 f i f
f i = + O( h ) = i + O( h )
h h

y en forma similar se tienen:


f i f i 1
f i = + O ( h)
h

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 11


f i+ 1 f i 1
f i = 2 2
+ O(h 2 )
h

Incluyendo puntos ms alejados pueden obtenerse expresiones del tipo:


13 f i 1 12 f i + f i +1 16 f i + 2
f i = + O( h 3 )
h

Pero las expresiones ms simples son las ms frecuentemente utilizadas.

Considrese por ejemplo los valores ( cos x ):


f k f k +1 f k 1
xk f ( xk ) f ( x k )
h 2h
0. 1.000 000 0. 0.049 958
0.1 0.995 004 0.099 833 0.149 376 0.099 667
0.2 0.980 067 0.198 669 0.247 301 0.198 338
0.3 0.955 336 0.295 520 0.342 755 0.295 028
0.4 0.921 061 0.389 418 0.434 784 0.388 770
0.5 0.877 582 0.479 426

Igualmente, f (x ) puede ser aproximada por diferencias finitas de segundo orden:

f ( x i ) = f i=
f i +1 2 f i + f i 1
h2
( )
+ O h2 = 2 fi + O h2 ( )
Por ejemplo, para la funcin de la tabla precedente:
0.995004 2 (0.980067) + 0.955336
f (0.2) 0.97925
(0.1) 2

El valor exacto es sen (0.2) = 0.980067

y las derivadas de orden superior pueden ser aproximadas por las correspondientes
diferencias finitas.
m f i

(m)
Por ejemplo: fi
hm
mf
mi
(m)
fi
h

Cuando se tienen 2 o ms variables independientes, x, y, t L y mallas ortogonales de


puntos uniformemente espaciados, las derivadas parciales pueden aproximarse por
diferencias finitas trabajando separadamente con cada variable. As por ejemplo, para
x = y = h , el Laplaciano:

2u 2u
2u = +
x2 y2
en un punto de coordenadas xi , y j puede aproximarse por:
ui +1, j 2ui , j + ui 1, j ui , j +1 2u , j + ui , j +1
52uij = +
h2 h2

con un error de O h 2 ( )
Ntese que en 2 u y 52 u ij el smbolo no es el operador para
diferencias hacia atrs.

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 12


Al utilizar elementos finitos, las derivadas se obtienen operando exactamente con las
n
f n
Ni
funciones de interpolacin. As, si: f =
i =1

N i ( x, y, z ) f i se tiene: =
x i =1 x
fi .
Algunos comentarios adicionales relativos al uso de elementos isoparamtricos son aqu
necesarios. Para elementos isoparamtricos las funciones de interpolacin N i estn
expresadas como funcin de , , L :
n
f = N ( , , ) f
i =1
i i

y las coordenadas , , L estn relacionadas con las x, y, z L mediante las mismas


funciones de interpolacin, v.g.:
n
x= N ( , , ) x
i =1
i i

Excepto para casos particulares de geometra muy simple, es prcticamente imposible


obtener expresiones explcitas para las , , L en funcin de las x, y, z L y lo mismo
puede decirse de las funciones de interpolacin, N i ( , , ) . Como consecuencia, en
general es fcil obtener derivadas con relacin a las , , L , pero comparativamente
f f f
difcil obtener expresiones explcitas para las , , , L . Su evaluacin numrica
x y z
es, sin embargo, muy simple. Teniendo en cuenta que:

f x y z f


x
f x y z f
= y

f x y z f
z

f f f
O en notacin ms compacta: =J . Los elementos de la matriz J y de se
x r r
obtienen con expresiones e la forma:

x
n
Ni

=
i =1

xi

M
z n
Ni

=
i =1

zi

Por otro lado, al obtenerse la matriz J puede hacerse el cambio de variables:

dx dy dz = det( J ) d d d

lo que facilita enormemente las integrales, ya que los lmites de integracin son en cada
caso 1 y +1 .

5.4. Ecuaciones de Diferencias


Una frmula de recursin del tipo: y n + k = f ( y n , y n +1 , y n + 2 , K , y n + k 1 , n ) se denomina
ecuacin de diferencias de orden k . La solucin de ecuaciones de diferencias tiene
cierta analoga con la solucin de ecuaciones diferenciales ordinarias.

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 13


La ecuacin

y n + k + a1 y n + k 1 + K + a j y n + k j + K + a k y n = 0

es una ecuacin de diferencias lineal, homognea, de orden k , con coeficientes


constantes. Esta ecuacin queda satisfecha por y j = cr . Los posibles valores de r
j

corresponden a las races de la ecuacin caracterstica:

p(r ) = r k + a1 r k 1 + a 2 r k 2 + K + a k 1 r + a k = 0 .

Si la ecuacin caracterstica tiene k races distintas r1 , r2 , K rk la solucin general de la


ecuacin de diferencias (lineal, homognea, con coeficientes constantes) puede
escribirse:

y j = c1 r1 j + c 2 r2 j + c3 r3 j + K c k rk j

Lo cual puede probarse por simple sustitucin. Si en cambio se tiene una raz de
j
multiplicidad m , deben considerarse trminos q ( j ) r , donde q ( j ) es un polinomio de
orden m 1 . En cualquier caso la solucin tiene k constantes independientes.

Considrese por ejemplo: y n + 2 5 y n +1 + 6 y n = 0 , con condiciones iniciales y 0 = 0 ,


y1 = 1 . Por recursin con y n + 2 = 5 y n +1 6 y n se obtienen:
y 2 = (5)(1) (6)(0) = 5
y 3 = (5)(5) (6)(1) = 19
y 4 = (5)(19) (6)(5) = 65
y 5 = (5)(65) (6)(19) = 211

Por otro lado, la ecuacin caracterstica es en este caso r 2 5r + 6 = 0 , cuyas races


son r1 = 2 , r2 = 3 . La solucin general es: y n = c1 2 n + c 2 3 n y dadas las condiciones
iniciales:
n=0 c1 + c 2 = 0
n =1 2c1 + 3c 2 = 1
se obtienen: c1 = 1 y c 2 = 1 , es decir y n = 3 n 2 n .

Por ejemplo, y 4 = (3) 4 ( 2) 4 = 81 16 = 65 .

En cambio, y n +3 3 y n + 2 + 4 y n = 0 tiene la ecuacin caracterstica r 3 3r 2 + 4 = 0


cuyas races son r1 = 1 , r2 = r3 = 2 , y su solucin general es entonces:
y n = c1 (1) n + (c 2 + c3 n)(2) n .
La frmula de recursin para los polinomios de Tchebicheff:
Tn +1 ( x ) 2 xT n ( x ) + T n 1 ( x ) = 0
es tambin una ecuacin de diferencias lineal, homognea, de orden 2, con coeficientes
constantes (porque 1, -2x, 1 no son funcin de n). Su ecuacin caracterstica es:
r 2 2 x r + 1 = 0 , con races r = x i 1 x 2 . Haciendo el cambio de variable x = cos
se tiene: r = cos i sen = e i . La solucin general de la ecuacin de diferencias es

( )
Tn = c1 e +i
n
( )
+ c 2 e i
n
= c1 e in + c 2 e in . Con las condiciones iniciales T0 ( x ) = 1 ,
T1 ( x ) = x = cos se obtienen c1 = c 2 = 1
2
y finalmente Tn ( x) = 12 e in + 12 e in = cos n ,
donde = arc cos x .

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 14


La solucin de una ecuacin de diferencias lineal no homognea puede obtenerse
sumando a la solucin de la correspondiente ecuacin homognea una solucin
particular. Los ejemplos siguientes son ilustrativos:

Considrese: y n +1 2 y n = a n , con la condicin inicial y 0 = 1 . La correspondiente


ecuacin homognea, y n +1 2 y n = 0 , tiene la ecuacin caracterstica r 2 = 0 y su
solucin es entonces y n = c( 2) n . Para la solucin particular puede tantearse una
solucin de la forma y n = a n , de donde a n +1 2a n = a n y por lo tanto = (a 2 )
1

(esto es, suponiendo que a 2 ). La solucin general es: y n = a n (a 2 ) + c( 2) n . Con


la condicin inicial se halla c = 1 (a 2 ) y finalmente y n = 2 n + a n 2 n (a 2 )
1
( )
(para a 2 ). Para a = 2 la regla de L' Hospital da: y n = 2 n + n 2 n 1 .

Para la ecuacin de diferencias y n + 2 5 y n +1 + 6 y n = 2n + 3( 1) n puede considerarse la


solucin particular: y = an + b + c(1) . Sustituyendo esta expresin en la ecuacin e
n

identificando coeficientes se obtienen: a = 1 , b = 3 2 , c = 1 4 . Por otro lado, la ecuacin


caracterstica es: r 2 5r + 6 = 0 con races r1 = 2 , r2 = 3 . La solucin general resulta
entonces y n = n + 3
2 + 1
4 ( 1)
n
+ c1 ( 2) n + c 2 (3) n .

5.5. Integracin Numrica (Cuadratura)


La evaluacin de una integral definida:
b

a
f ( x) dx

en forma explcita es a veces muy difcil o prcticamente imposible. En tales casos


puede hacerse una aproximacin numrica tal como las que se mencionan en esta
seccin.

5.5.1 Regla de los Trapecios, Regla de Simpson y otras frmulas interpolatorias.

Una posible forma de resolver el problema es aproximando, localmente, la funcin, f (x ) ,


por otra, g ( x ) , ms simple de integrar.

En la Regla de los Trapecios se aproxima f (x ) con segmentos de recta y entonces:

(x1 x0 ) [ f ( x0 ) + f ( x1 )]
x1

x0
f ( x) dx 1
2

Esta expresin puede generalizarse para un intervalo [x 0 , x n ] . Considerando abscisas


con espaciamiento uniforme x i = x i 1 + h , para los que se tiene valores de la funcin
f i = f ( x i ) puede hacerse interpolaciones lineales en cada subintervalo [xi , xi +1 ] para
obtener:
f ( x) dx T (h ) = ( f 0 + 2 f1 + 2 f 2 + K + 2 f n1 + f n )
xn h
x0 2

El error de truncacin puede estimarse ms fcilmente considerando primero el sub-


intervalo [ h 2 , + h 2] para el cual (siendo h pequeo):

f ( x ) = f (0) + xf (0) + 12 x 2 f (0) + 16 x 3 f (0) + 1


24
x4 f IV
(0 ) + K
e integrando:
+h2 h3 h5
f ( x) dx = h f (0) + f (0) + (0 ) + L
IV
f
h2 24 1920

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 15


Por otro lado:
h2 h3 h4
f ( h 2 ) = f 0
h
f (0) + f (0) f (0) + f IV
(0 ) L
2 8 48 384
+h2 h h h h
3
h5
f ( x) dx = + IV
f f f ( 0 ) f (0 ) K
h2 2 2 2 12 480

Si h es pequeo el error local de truncacin es de O h 3 . Sin embargo, para integrar ( )


entre lmites a y b se requieren (b a ) h subintervalos (este nmero es inversamente
proporcional a h ) y el error global es entonces de O h 2 . ( )
En la Regla de Simpson la aproximacin local se hace interpolando con parbolas de 2
grado. Considerando puntos con abscisas uniformemente espaciadas:
5
h
( f 0 + 4 f1 + f 2 ) h f
x2

f ( x) dx = ( x1 ) + K
IV
x0 3 90

y en general, considerando un nmero par de subintervalos:


h
( )
( f 0 + 4 f1 + 2 f 2 + 4 f 3 + 2 f 4 + K + 2 f n 2 + 4 f n1 + f n ) + O h 4
xn

x0
f ( x) dx =
3

Esta frmula es exacta cuando f ( x) es un polinomio de hasta tercer grado.


5 dx 1
Considrese por ejemplo: 1 x
= Ln 5 = 1.609 437 912 Para la funcin f ( x) =
x
se

obtienen los valores siguientes:


x f ( x) x f ( x)

1.00 1. 3.25 0.3076 9231


1.25 0.8 3.50 0.2857 1429
1.50 0.6666 6667 3.75 0.2666 6667
1.75 0.5714 2857 4.00 0.25
2.00 0.5 4.25 0.2352 9412
2.25 0.4444 4444 4.50 0.2222 2222
2.50 0.4 4.75 0.2105 2632
2.75 0.3636 3636 5.00 0.2
3.00 0.3333 3333
5 dx
y utilizando la regla trapezoidal se obtienen aproximaciones a 1 x
.

Por ejemplo con h = 1 :


dx
(1) [1. + 2(0.5 + 0.333K + 0.25) + 0.2] = 1.6833K
5

1 x
1
2

y en forma similar
h T (h )

1.0 1.683 333


0.5 1.628 968
0.25 1.614 406
....

Con la regla de Simpson se obtienen:

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 16


h S (h )

0.5 1.610846
0.25 1.609552
0.125 1.609446

Las frmulas de los trapecios y de Simpson corresponden al grupo de frmulas de


Newton - Cotes de intervalo cerrado. Algunas otras frmulas de este grupo son la regla
de Simpson de los 3
8 :

( f 0 + 3 f1 + 3 f 2 + f 3 ) + O h 7( )
x3 3h
x0
f ( x) dx =
8

y la regla de Bode:

(7 f 0 + 32 f1 + 12 f 2 + 32 f 3 + 7 f 4 ) + O h 9 ( )
x4 2h
x0
f ( x) dx =
45

Tambin pueden obtenerse frmulas que utilizan puntos uniformemente espaciados pero
no incluyen los valores de la funcin en uno o en los dos lmites de la integral. Estas son
las frmulas de Newton - Cotes de intervalo abierto. Por ejemplo:
3h
( f1 + f 2 ) + O h 3 ( )
x3

x0
f ( x) dx =
2
4h
(2 f1 f 2 + 2 f 3 ) + O h 5 ( )
x4

x0
f ( x) dx =
3

5.5.2. Extrapolacin de Richardson y el Mtodo de Romberg

Si T (h ) es la aproximacin de
b

a
f ( x) dx obtenida de la aplicacin de la regla de los

trapecios con intervalo h , puede escribirse:


b
T ( h) = a
f ( x) dx + a1 h 2 + a 2 h 4 + a 3 h 6 + K

f ( x) dx + a1 (2h ) + a 2 (2h ) + a 3 (2h ) + K


b
T ( 2h ) =
2 4 6
a

y entonces:
4T (h) T (2h) b

3
= a
f ( x) dx + a 2 h 4 + a 3 h 6 + K

(4 T (h) T (2h)) es una aproximacin a


b
es decir 1
3 a
f ( x) dx con un error de truncacin de

( )
O h 4 , menor que el de T (h ) o T (2h ) . En forma similar, para la regla de Simpson:
b
S ( h) = a
f ( x) dx + a 2 h 4 + a 3 h 6 + a 4 h 8 + K

b
S ( 2h) = a
f ( x) dx + a 2 (2h) 4 + a 3 (2h) 6 + a 4 (2h) 8 + K

y entonces:

(2)4 S (h) S (2h) = b f ( x) dx + a h 6 + a h 8 + K


(2)4 1 a 3 4

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 17


es una aproximacin mejor a la integral, con un error global de O h 6 . Estos son dos ( )
ejemplos de la extrapolacin de Richardson.
5 dx
Para la integral 1 x
considerada anteriormente:

T (1,0 ) = 1.683 333


T (0,5) = 1.628 968 1
3
(4 T (0.5) T (1.0)) = 1.610 846 = S (0.5)
T (0,25 ) = 1.614 406 1
3
(4 T (.25) T (0.5)) = 1.609 552 = S (0.25)

Obsrvese que estos resultados coinciden con los obtenidos de la regla de Simpson.

El mtodo de Romberg considera inicialmente los resultados T1. j , de aplicar la regla de


los trapecios con distintos grados de subdivisin, h j = (b a ) 2 j . Estas aproximaciones
( )
tienen errores de truncacin de O h 2j . No es necesario rehacer todos los clculos para
cada nueva subdivisin, pudindose emplear la expresin:
2 j 1
T1, j = T1, j 1 + h j
1
2 f (a + h i )
i =1
j

i = 2

Usando la extrapolacin de Richardson se obtienen nuevas aproximaciones con errores


(
2i + 2
de O h j : )
(2)2i Ti, j +1 Ti, j
Ti +1, j =
(2)2i 1
5 dx
Considrese nuevamente la integral:
1 x
. Con la regla de los trapecios se obtienen:

2 j 1

j
2
4
hj = j f (a + i h )
i =1
j T1, j
i = 2

0 4. 2.4
1 2. 0.333 333 1.866 667
2 1. 0.75 1.683 333
3 0.5 1.574 603 1.628 968
4 0.25 3.199 689 1.614 406
5 0.125 6.427 862 1.610 686

Y de las sucesivas extrapolaciones:

j T2, j T3, j T4, j T5, j T6, j


0
1 1.688 889
2 1.622 222 1.617 777
3 1.610 847 1.610 088 1.609 966
4 1.609 552 1.609 466 1.609 456 1.609 454
5 1.609 446 1.609 439 1.609 438 1.609 438 1.609 438

Las cifras subrayadas coinciden con las de la solucin exacta.

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 18


5.5.3. Integracin con puntos no equidistantes

Las frmulas de integracin con puntos equidistantes consideradas en la seccin 5.5.1:

f (x )dx c f (x ) + c f (x 2 ) + c 3 f (x 3 ) + L + c m f (x m )
b
1 1 2
a

con m puntos de integracin y m parmetros c1 , c 2 L c m permiten integrar exactamente


polinomios de grado m 1 (y excepcionalmente de grado m , como en la regla de
Simpson). Si en cambio se toman puntos no equidistantes, para m puntos de
integracin se tienen 2m parmetros: w1 , w2 L wm y x1 , x 2 L x m lo que permite integrar
exactamente polinomios hasta de grado 2m 1 . Esta forma de integracin numrica se
denomina de Gauss.

Con propsitos ilustrativos, considrese la frmula de integracin de Gauss con 3


puntos:

f (x ) dx w1 f (x1 ) + w2 f (x 2 ) + w3 f (x 3 )
b

Esta expresin ser exacta si f ( x) es un polinomio de grado igual o menor que 5 (es
decir, 2(3)-1) Cules deben ser las abscisas x1 , x 2 , x 3 ? Esto se considera brevemente
en lo que sigue. g ( x ) = (x x1 )(x x 2 )( x x3 ) , cuyas races son
El polinomio
precisamente las abscisas de integracin, es de tercer grado. En consecuencia la
integracin:
b

a
g ( x) dx = w1 g ( x1 ) + w2 g ( x 2 ) + w3 g ( x3 ) = 0

es exacta. Lo mismo puede decirse de las integrales de los polinomios x g ( x ) y x 2 g ( x)


(que son de grado 4 y 5, respectivamente):
b

a
x g ( x) d x = w1 x1 g ( x1 ) + w2 x 2 g ( x 2 ) + w3 x 3 g ( x 3 ) = 0

a
x 2 g ( x) d x = w1 x12 g ( x1 ) + w2 x 22 g ( x 2 ) + w3 x32 g ( x3 ) = 0

Es decir, x1 , x 2 , x 3 son los 3 ceros del polinomio g ( x ) que satisface las condiciones de
ortogonalidad:
b

g ( x) dx = 0
a
b

x g ( x) dx = 0
a
b

x g ( x) dx = 0
2
a

Con el cambio de variable x = 1


2
(b a ) z + 12 (b + a ) se tiene que:
+1
f (x ) dx = F (z ) dz = w1 F ( z1 ) + w2 F ( z 2 ) + w3 F (z 3 )
b

a 1

y en tal caso las abscisas z i son los ceros del polinomio que satisface las condiciones:

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 19


+1

1
P3 ( z ) dz = 0
+1

1
z P3 ( z ) dz = 0
+1

1
z 2 P3 ( z ) dz = 0

P3 ( z ) es el polinomio de Legendre de grado 3. En general, cuando se consideran m


puntos de integracin las z i son los ceros del polinomio de Legendre de grado m ,
Pm (z ) . En la tabla siguiente se indican algunos de estos polinomios y sus ceros:
m Pm (z ) zi

1 z 0.
2 1
2
(3z 1)
2 0.57735 K
3 1
2
(5z 3z )
3 0., 0.77459 K

4 1
8
(35z 30 z
4 2
+3 ) 0.33998 K , 0.86113K
5 1
8
(63z 70 z
5 3
+ 15 z ) 0., 0.53846 K , 0.90617 K

para estos polinomios: (n + 1) Pn +1 ( z ) (2n + 1) zPn ( z ) + n Pn 1 ( z ) = 0 .

Para determinar los "pesos" correspondientes w1 , w2 L wm puede considerarse que:


+1

F ( z)dz = w F ( z ) + w F ( z ) + K + w
1
1 1 2 2 m F (zm ) = 0

debe ser exacta para F ( z ) = 1 , F ( z ) = z ,... F ( z ) = z m 1 . En general:


2
wi = .
(1 z ) Pm ( z i )
2
i

Las races, z i , de Pm (z ) y los correspondientes pesos, wi , pueden hallarse en tablas de


1
Abramovitz y Segn u otras similares. Por ejemplo, para m=5:

zi wi
0. 0.56888 88888 88889
0.53846 93101 05683K 0.47862 86704 99366
0.90617 98459 38664 K 0.23692 68850 56189

Siendo conocidas estas abscisas y pesos:

[ ]
b

f ( x) dx =
a
1
2 (b a) w1 f ( x1 ) + w2 f ( x 2 ) + K + wm f ( x m )

donde:
xi = 12 (b a) z i + 12 (b + a)

Estas son las frmulas de integracin de Gauss - Legendre.


2 dx
Considrese por ejemplo 1 x
= Ln 2 = 0.6931 4718 . En este caso a = 1, b = 2 ,

x i = ( z i + 3) / 2 y se tiene:

1
Vase: "Handbook of Mathematical Functions".- M. Abramowitz e I.A. Segun, editores. Dover Publications
Inc., N.Y. 1965

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 20


i zi xi f ( xi ) wi
1 0. 1.5 0.666667 0.568889
2 -0.538469 1.230766 0.812502 0.478629
3 0.538469 1.769235 0.565216 0.478629
4 -0.906180 1.046910 0.955192 0.236927
5 0.906180 1.953090 0.512009 0.236927
5

w f ( x ) = 0.6931474 .
2
y finalmente 1
1
x
dx 12 (2 1)
i =1
i i

Algunas de las mltiples variantes de integracin Gaussiana se mencionan a


continuacin (las correspondientes abscisas, xi , y pesos, wi , tambin pueden hallarse
en tablas):

Frmula de Radau:
n 1
+1
2
1
f ( x)dx 2 f (1) +
n
w f (x )
i =1
i i

(Pn1 ( x) + Pn ( x)) (1 xi )
Las abscisas son los ceros de y los pesos: wi =
(1 + x ) (nPn 1 ( xi )) 2

Frmula de Lobatto:
+1 n 1

f ( x)dx
2
[ f (1) + f ( 1)] + w f (x )
n(n 1)
i i
1
i =1

1 ( x) y los pesos wi = 2[n(n 1)] [Pn 1 ( xi )] .


La abscisa x i es el (i 1) cero de Pn
0 1 2

Integracin de Gauss - Laguerre:


n

0
e x f ( x)dx w f (x )
i =1
i i

Las abscisas son los ceros de los polinomios de Laguerre, Ln (x)


Los pesos resultan: wi = (n!) x i [(n + 1) Ln +1 ( xi )] .
2 2

Integracin de Gauss - Tchebicheff:


+1 n

f (x )
f ( x)
1
1 x2
dx
n i =1
i

En este caso se tienen abscisas x i = cos (i 1


2
) .
n

5.5.4. Generalizacin a dos o ms dimensiones.

Hasta el momento solo se ha considerado la integracin en una dimensin. El proceso


para evaluar numricamente integrales mltiples es anlogo al proceso analtico, es
decir, se integra en una variable a la vez y en cada una de estas etapas las otras
variables se consideran como constantes. Por ejemplo:
n n m

f ( x, y ) dx dy
i =1
wi f ( x i , y ) dy w w
i =1 j =1
i j f ( xi , y j )

H. Scaletti - Mtodos Numricos: Interpolacin, Diferenciacin e Integracin 5 - 21


6. Mtodos de Diferencias Finitas para la
Solucin de Ecuaciones Diferenciales Ordinarias

6.1. Introduccin
En muchos problemas de ciencia e ingeniera se plantean ecuaciones diferenciales
ordinarias (EDO). Por ejemplo, y = f ( x, y ) con la condicin inicial y (a ) = c . No
siempre es factible hallar una solucin analtica de tales ecuaciones. En este captulo se
revisan procedimientos numricos de solucin de EDO basados en la aproximacin de
los operadores de derivacin por diferencias finitas. Tales procedimientos son tambin
aplicables cuando se tienen sistemas de ecuaciones diferenciales de primer orden, como
por ejemplo:
y& = f (t , y ) (6.1a)

con condiciones iniciales:


y (t 0 ) = c (6.1b)

e incluso ecuaciones de orden superior: y = f ( x, y , y , y ) , que con algunos cambios


de variables pueden siempre convertirse en un sistema de ecuaciones diferenciales de
primer orden. As:

y = x 2 y z 2 y (0 ) = 0 y (0) = 1
con condiciones iniciales y
z = x + z + y 3 z (0 ) = 1 z (0 ) = 0
es equivalente a:

u = x 2 u z 2 y (0 ) = 0
v = x + v + y 3 z (0 ) = 1
con condiciones iniciales
y = u u (0 ) = 1
z = v v(0 ) = 0

Aunque la primera parte de este captulo se refiere directamente al caso de las


ecuaciones diferenciales ordinarias de primer orden, la seccin 6.3 trata de
procedimientos especficos para el importante caso de sistemas de ecuaciones
diferenciales de segundo orden. La seccin 6.5 se refiere a problemas de valor frontera,
un tema que con otros mtodos se trata tambin en captulos siguientes.

6.2. Ecuaciones Diferenciales de Primer Orden

6.2.1 Mtodo de Euler

Este es el mtodo ms simple para resolver EDO de primer orden y = f ( x, y ) con


y (a) = c . El intervalo entre a y b se divide en subintervalos habitualmente iguales, de
longitud h , de modo que x n = a + n h . Haciendo y 0 = c se determinan sucesivamente
y1 y 2 y 3 y 4 L que son aproximaciones a los valores exactos
y ( x1 ) y ( x 2 ) y ( x 3 ) y ( x 4 ) L Para ello y ( x i ) se aproxima por y i h = ( y i +1 y i ) h , de
donde resulta la frmula de recursin:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-1


y i +1 = y i + h f ( x i , y i ) (6.2)

Este mtodo es aplicable en situaciones en las que f podra ser una funcin bastante
complicada, o podra ser el resultado de operaciones y decisiones no expresables por
una simple frmula, pero se presenta aqu un caso muy simple, con propsitos
didcticos.

Supngase que: y = y con condicin inicial y (0) = 1 . La solucin exacta es en este


caso conocida: y = e x . Empleando el mtodo de Euler: y i +1 = y i + h y i = (1 + h ) y i .
Con dos distintos intervalos h = 0.2 y h = 0.1 se obtienen:

Solucin exacta Solucin con h = 0.2 Solucin con h = 0.1

i xi y (xi ) = e xi yi h fi Error yi h fi Error

0 0 1.000 1.000 0.200 0 1.000 0.100 0


1 0.1 1.105 1.100 0.110 -0.005
2 0.2 1.221 1.200 0.240 -0.021 1.210 0.121 -0.011
3 0.3 1.350 1.331 0.133 -0.019
4 0.4 1.492 1.440 0.244 -0.052 1.464 0.146 -0.023
5 0.5 1.649 1.610 0.161 -0.039
6 0.6 1.822 1.728 -0.094 1.771 -0.051

Se observa que el error es aproximadamente proporcional a h y que en este caso crece


con x .

El error de truncacin local, es decir el error introducido en cada paso, es de O h 2 . Sin ( )


embargo, como el nmero de pasos que se realizan para integrar la EDO en un intervalo
dado es inversamente proporcional a h , el error global o total es de O ( h ) . Tambin
aqu podra emplearse la extrapolacin de Richardson:

y ( x) [2 y ( x, h) y ( x,2h)] + O h 2 ( )
Esta expresin sera correcta para una extrapolacin pasiva, es decir la que se hace
para mejorar algunos resultados y tpicamente no en cada paso. En cambio, una
extrapolacin activa, sera aquella que se realiza en cada paso, utilizndose los valores
as mejorados en los sucesivos pasos del proceso. En ciertos casos la extrapolacin
pasiva puede ser ms conveniente, por ser numricamente ms estable. Para el
ejemplo anterior, con extrapolacin pasiva se obtiene:

xi y (xi ) = e xi y ( x,0.2) y ( x,0.1) 2 y ( x,0.1) y ( x,0.2) Error

0.2 1.221 1.200 1.210 1.220 -0.001


0.4 1.492 1.440 1.464 1.488 -0.004
0.6 1.822 1.728 1.771 1.814 -0.008

La solucin de la ecuacin y = f ( x, y ) depende de la condicin inicial y ( a) = c . Se


tiene as como solucin una familia de curvas o trayectorias y ( x, c ) , que en el intervalo
de inters pueden ser convergentes o divergentes. Esta es una caracterstica de la
ecuacin diferencial, no del procedimiento numrico empleado en su solucin. Los

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-2


errores de redondeo o de truncacin producen un cambio de trayectoria (y pueden
entonces verse como equivalentes a resolver un problema con condiciones iniciales algo
distintas). Las figuras bosquejan soluciones numricas obtenidas para el caso en que
las trayectorias divergen, en el que los errores tienden a acumularse; lo contrario ocurre
cuando las trayectorias son convergentes.

Para x = x n el error acumulado en la solucin numrica est dado por: n = y n y ( x n )


n +1 n = ( y n +1 y n ) ( y ( x n +1 ) y ( x n ))

Para el mtodo de Euler: y n +1 y n = h f ( x n , y n )

Por otro lado, de la expansin en series de Taylor:

y ( x n +1 ) = y ( x n ) + h y ( x n ) + 12 h 2 y ( x n ) + L

Se tiene que:

y ( x n +1 ) y ( x n ) = h f ( x n , y ( x n )) + O h 2 ( )
Remplazando en la primera expresin:

n +1 n = h [ f ( x n , y n ) f ( x n , y ( x n ))] + O h 2 ( )
f
Pero: f ( x n , y n ) = f ( x n , y ( x n )) + ( y n y ( x n )) +L
y x = xn
y = y ( xn )

Y por el teorema del valor medio:


f f
f ( x n , y n ) f ( x n , y ( x n )) = ( y n y ( x n )) = n
y x = xn y x = xn
y = y =

De donde:

f
n+1 n 1 + h
y x = xn
y =

f
Si h es suficientemente pequeo y es negativa el mtodo de Euler es adecuado.
y x = xn
y =

Si en cambio si f y > 0 el error crece y el proceso slo podra funcionar si el intervalo


fuera suficientemente pequeo. Tal es el caso del ejemplo precedente, pero no el del
ejemplo siguiente. Considrese la ecuacin y = 1000 ( x 2 y ) + 2 x con y (0) = 0 . Es
fcil verificar que la solucin exacta es y = x 2 , pero con el mtodo de Euler se obtienen:

k xk y( xk ) yk k

0 0 0 0 0
1 0.01 0.0001 0 -0.0001
2 0.02 0.0004 0.0012 0.0008
3 0.03 0.0009 -0.0064 -0.0073
4 0.04 0.0016 0.0672 0.0656
5 0.05 0.0025 -0.5880 -0.5905

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-3


Los resultados muestran oscilaciones tpicas de una inestabilidad numrica. Reduciendo
h no se elimina la inestabilidad; se requiere ms bien cambiar de mtodo.
Algunas alternativas, no siempre mejores, se presentan en las secciones siguientes.

6.2.2 Mtodos de Runge Kutta

Estos mtodos son, como el mtodo de Euler, de paso simple. Es decir, slo se requiere
conocer y n para determinar y n +1 . Las frmulas de Runge Kutta requieren evaluar
f ( x, y ) en diversos puntos apropiadamente ubicados en el intervalo [xn , xn +1 = xn + h ] ,
ponderndose los resultados de modo de obtener un error de truncacin del mayor orden
posible.

Considrese el caso en que f ( x, y ) se calcula en dos puntos en el intervalo [x n , x n +1 ] :

y = y n + h f ( x n , y n )
y n +1 = y n + h f ( x n , y n ) + h f ( x n + h, y )
Siendo

f ( x n + h, y ) = f ( x n , y n ) + h
f
x x = xn
+ ( y y n )
f
y x = xn
+ O h2( )
y = yn y = yn

Pero y y n = h f ( x n , y n ) , por lo que se obtiene:



y n +1 = y n + ( + ) h f ( x n , y n ) + h
f
x
2
x = xn
+ f ( xn , yn )
f
y x = xn
( )
+ O h3
y = yn y = yn

Por otro lado, expandiendo y ( x n + h) en series de Taylor:


y ( x n + h) = y ( x n ) + h y ( x n ) + 12 h 2 y ( x n ) + O h 3 ( )
Pero: y ( x n + h) y n +1
y( x n ) y n
y ( x n ) f ( x n , y ( x n )) f ( x n , y n )
y f y f f f
y = = + y ( x n ) + f ( xn , y n )
x x x y x x = xn y x = xn
y = yn y = yn

Sustituyendo estas expresiones e identificando coeficientes se obtienen:


+ =1
= 12
( )
Con un error de truncacin local de O h 3 y global de O h 2 . ( )
De las infinitas alternativas de seleccin para tres son las ms comunes:

La frmula del punto medio:


h
y = y n + f ( xn , y n )
2
y n+1 = y n + h f ( x n + 12 h, y )

El mtodo de Heun, tambin conocido como Euler modificado:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-4


y = y n + h f ( x n , y n )

y n +1 = y n +
h
[ f ( x n , y n ) + f ( x n + h, y )]
2
Puede anotarse que si f no fuera funcin de y este mtodo equivale a evaluar la
integral:
xn +1
y n +1 = y n + xn
y ( x) dx

por el mtodo de los trapecios.

El mtodo de Ralston:

k1 = f ( x n , y n )
k 2 = f (x n + 34 h, y n + 34 k1 h )
y n +1 = y n + h ( 13 k1 + 23 k 2 )

Anlogamente, pueden obtenerse frmulas con un error de truncacin local de O h 4 y ( )


( )
global de O h 3 :
k1 = f (x n , y n )
k 2 = f (x n + 12 h, y n + 12 k1 h )
k 3 = f ( x n + h, y n k 1 h + 2 k 2 h )
y n +1 = y n + 16 h (k1 + 4k 2 + k 3 )
o bien:
k1 = f ( x n , y n )
k 2 = f (x n + 13 h, y n + 13 k1 h )
k 3 = f (x n + 23 h, y n + 23 k 2 h )
y n +1 = y n + 14 h (k1 + 3 k 3 )

Si f fuera independiente de y las expresiones precedentes equivalen al mtodo de


Simpson.

El mtodo comnmente denominado de Runge Kutta es un proceso con error global de


( )
O h4 :
k1 = f ( x n , y n )
k 2 = f (x n + 12 h, y n + 12 k1 h )
k 3 = f (x n + 12 h, y n + 12 k 2 h )
k 4 = f ( x n + h, y n + k 3 h )
y n +1 = y n + 16 h (k1 + 2k 2 + 2k 3 + k 4 )

Que tambin coincide con la regla de Simpson en el caso en que f no es funcin de y :

[ f ( xn ) + 4 f ( xn + 12 h) + f ( xn + h)]
xn +1 h
y n +1 y n = xn
y ( x) dx
6
Como ejemplo de aplicacin de este mtodo, considrese la ecuacin diferencial:
1
y = ( x + y) 2

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-5


con condicin inicial y (0.4) = 0.41 . Trabajando con h = 0.4 , las operaciones en un paso
seran:
k1 = f ( x n , y n ) = ( x n + y n ) 2 = (0.4 + 0.41) 2 = 0.9
1 1

k 2 = f (x n + 12 h, y n + 12 k1 h ) = ((0.4 + 0.2) + (0.41 + 0.18)) 2 = 1.09087


1

k 3 = f (x n + 12 h, y n + 12 k 2 h ) = ((0.4 + 0.2) + (0.41 + 0.218174)) 2 = 1.10823


1

k 4 = f ( x n + h, y n + k 3 h ) = ((0.4 + 0.4) + (0.41 + 0.443 292)) 2 = 1.285805


1

y n +1 = y n + 16 h (k1 + 2k 2 + 2k 3 + k 4 ) = 0.41 + 0.438 934 = 0.848 934

Otro mtodo de Runge Kutta de cuarto orden (global) es el mtodo de Gill:


k1 = f ( x n , y n )
k 2 = f (x n + 12 h, y n + 12 k1 h )
(
k 3 = f x n + 12 h, y n + 12 ( 2 1) k1 h + 12 (2 2 ) k 2 h )
k4 = f (x n + h, y n 1
2
2 k 2 h + (2 + 2 ) k 3 h
1
2
)
(
y n +1 = y n + 16 h k1 + (2 2 ) k 2 + (2 + 2 ) k 3 + k 4 )
Y muchas otras alternativas son posibles.

6.2.3 Estimacin del Error y Control del Paso

Al utilizar los procedimientos de paso simple descritos en las secciones precedentes, el


intervalo h puede ajustarse en forma automtica. Esto puede ser necesario al integrar
ecuaciones cuya solucin vara lentamente en algunas regiones y muy rpidamente en
otras. Lo primero es poder estimar el error al integrar las ecuaciones con un cierto
intervalo.

Supngase que se resuelve una ecuacin diferencial con un procedimiento de Runge


Kutta de cuarto orden (global) empleando un intervalo 2 h . La solucin, que en lo que
sigue se denomina y 2 h , tendra un error de orden (2h) 4 . Si paralelamente se obtuviera
la solucin con intervalo h , en lo que sigue y h , sta tendra un error de orden ( h) 4 .
Podra entonces eliminarse el trmino dominante del error haciendo una extrapolacin
(pasiva). Para cada abscisa:
16 y h y 2 h y y 2h
y corregido = = yh + h
15 15
5
Los resultados as obtenidos tendran un error de orden (h) . Ntese que si se hiciera
una extrapolacin activa habra que considerar el orden del error local.

Una alternativa ms conveniente sera aprovechar los resultados parciales al usar un


proceso de orden m para determinar otra con un proceso de orden m + 1 . Por ejemplo,
en el procedimiento de Runge - Kutta Cash Karp se emplean las frmulas de cuarto
orden (global):

y n +1 = y n + h ( 378
37
k1 + 250
621
k3 + 125
594
k 4 + 1771
512
k6 )

Y de quinto orden (global):

y n +1 = y n + h ( 272825 k +
648 1
18 575
48 384
k3 + 13525
55 296
k 4 + 14277 k + 14 k 6 )
336 5

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-6


Que solamente requieren seis evaluaciones de la funcin:
k1 = f ( x n , y n )
k 2 = f (x n + 15 h, y n + 15 k1 h )
k 3 = f (x n + 103 h, y n + 3
40
k1 h + 9
40
k 2 h)
k 4 = f (x n + 53 h, y n + 103 k1 h 109 k 2 h + 65 k 3 h )
k 5 = f (x n + h, y n 11 k h + 52 k 2 h
54 1
70
27
k3 h + 35
27
k 4 h)
k 6 = f (x n + h, y n +
7
8
1631
55296
k1 h + 175
512
k2h + 575
13824
k 3 h + 110592
44275
k4h + 253
4096
k5 h)

6.2.4 Mtodos de Paso Mltiple

Los mtodos tratados anteriormente permiten determinar y n +1 conociendo nicamente el


valor de la funcin en el punto inmediatamente precedente. Como alternativa a estos
mtodos de paso simple pueden plantearse mtodos de paso mltiple en los que el
clculo de y n +1 requiere utilizar y n y n 1 y n 2 L .

Un mtodo de este tipo resulta al aproximar y en la ecuacin y = f ( x, y ) por una


diferencia central, con lo que se tiene:
y n +1 = y n 1 + 2h f ( x n , y n )

Este es el mtodo explcito del punto medio (en ingls conocido como leapfrog), un
mtodo de doble paso, puesto que la expresin para obtener y n +1 requiere y n 1 e y n .

Algunas ventajas y desventajas de los mtodos de pasos mltiples con relacin a los
mtodos de un solo paso pueden citarse:

Para el mismo nmero de evaluaciones de la funcin f ( x, y ) se tiene un mayor


orden en el error de truncacin. As por ejemplo, el mtodo explcito del punto medio
( )
tiene un error local de O h 3 , contra O h 2 ( ) en el mtodo de Euler, an cuando
ambos requieren una sola nueva evaluacin de la funcin f ( x, y ) en cada paso.

Se presentan dificultades para arrancar el proceso, no siendo suficiente conocer y 0


sino adems uno o ms valores adicionales y1 y 2 L . Estos valores deben
obtenerse con un procedimiento distinto, de orden igual o mayor que el mtodo de
paso mltiple a emplearse.

Es en general difcil (aunque no imposible) cambiar el intervalo de integracin, h (lo


cual, en cambio, no es ningn problema en los mtodos de paso simple). Esto
podra reducir la relativa eficiencia de los mtodos de pasos mltiples.

La inestabilidad numrica es un problema ms frecuente en los mtodos de paso


mltiple que en los mtodos de paso simple. ste y otros temas relacionados se
revisan en la seccin 6.2.5.

Entre los mtodos de paso mltiple que se encuentran en la literatura estn los mtodos
explcitos de Adams Bashfort:
y n +1 = y n + h (1 f n + 2 f n 1 + 3 f n 2 + L + k +1 f n k )

Y los correspondientes mtodos implcitos de Adams Moulton:


y n +1 = y n + h ( 0 f n +1 + 1 f n + 2 f n 1 + 3 f n 2 + L + k f n k +1 )

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-7


En estas expresiones f n denota f ( x n , y n ) . Los coeficientes pueden obtenerse
considerando que:
xn + h y xn + h
y ( x n +1 ) y ( x n ) = xn x
dx =
xn
f ( x, y ( x)) dx

Y aproximando f ( x, y ) por un polinomio de interpolacin escrito en trminos de


diferencias finitas hacia atrs:

y n +1 y n = h ( f n + 12 f n + 125 2 f n + 83 3 f n + L) (A-B)

y n +1 y n = h ( f n +1 12 f n +1 121 2 f n +1 1
24
3 f n +1 + L) (A-M)

Por otro lado, pueden escribirse expansiones en series de Taylor, obtenindose las
por identificacin de coeficientes. As, para la expresin explcita con k = 1 :
y n +1 = y n + h (1 f n + 2 f n 1 )

y ( x n + h) y ( x n ) + h (1 y ( x n ) + 2 y ( x n h))
y ( x n + h) y ( x n ) + h 1 y ( x n ) +
(
+ h 2 y ( x n ) h y ( x n ) + 12 h 2 y ( x n ) L )
y ( x n + h) y ( x n ) + h (1 + 2 ) y ( x n ) + h 2 ( 2 ) y ( x n ) + O h 3 ( )
Comparando con:

y ( x n + h) = y ( x n ) + h y ( x n ) + 12 h 2 y ( x n ) + O h 3 ( )
Se tiene que: 1 + 2 = 1 y 2 = 12 , de donde: 1 = 3
2
y 2 = 12 , es decir:
h
y n +1 = y n + ( 3 f n f n 1 )
2
Algunos resultados similares se listan a continuacin. El error de truncacin local es de
( )
O h k + 2 y el global de O h k +1 : ( )
Mtodos de Adams Bashfort (explcitos):

k y n +1 = y n + h (1 f n + 2 f n 1 + 3 f n 2 + L + k +1 f n k )

0 y n +1 = y n + h f n Euler
y n +1 = y n + h ( 3 f n f n 1 )
1
2
1

3 y n +1 = y n + 1
24
h ( 55 f n 59 f n 1 + 37 f n 2 9 f n 3 )

Mtodos de Adams Moulton (implcitos):

k y n +1 = y n + h ( 0 f n +1 + 1 f n + 2 f n 1 + 3 f n 2 + L + k f n k +1 )

0 y n +1 = y n + h f n +1 Euler inverso

1 y n+1 = y n + 12 h ( f n +1 + f n ) Crank Nicholson


(regla trapezoidal)
3 y n +1 = y n + 1
24
h ( 9 f n +1 + 19 f n 5 f n1 + f n 2 )

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-8


6.2.5 Procedimientos Predictor Corrector

El error de truncacin de una frmula implcita de este tipo es siempre menor que el error
del correspondiente proceso explcito del mismo orden. Excepto en el caso trivial en que
la funcin f ( x, y ) es lineal, la solucin de la(s) ecuacin(es) que definen el proceso
implcito requiere iterar. Con tal fin, se utiliza como primera aproximacin el resultado
obtenido con la frmula explcita (predictor). Esta aproximacin se refina utilizando
repetidamente la correspondiente frmula implcita (que en este contexto se denomina
corrector). Por ejemplo:

y n(0+)1 = y n + h f ( x n , y n )

y n(i++11) = y n + h f ( x n +1 , y n(i+)1 )

El superndice se refiere en este caso a la iteracin. Pueden, por supuesto, plantearse


mtodos Predictor Corrector en los que las expresiones empleadas no sean las de
Adams Bashfort Moulton. Tal es el caso del mtodo de Milne (un procedimiento
dbilmente estable, que no se recomienda):
Error local

Predictor: y n(0+)1 = y n 3 + 43 h ( 2 f n f n 1 + 2 f n 2 ) O ( h y ( ) )
14
45
5 v

Corrector: y n(i++11) = y n 1 + 13 h ( f n(+i )1 + 4 f n + f n 1 ) O ( h y () )


1
90
5 v

Supngase, por ejemplo, la ecuacin: y = xy 2 con condicin inicial y (0) = y 0 = 2 . Se


ha obtenido (con algn otro mtodo) y (0.1) y1 = 1.980 198 .

Con el predictor y n( 0+)1 = y n + 1


2
h ( 3 f n f n 1 ) se tiene:

[
y 2( 0 ) = y1 + 0.05 3 x1 ( y1 ) 2 + x 0 ( y 0 ) 2 = ]
[
= 1.980 198 + 0.05 0.3 (1.980 198) 2 0 = 1.921 380 ]
y luego con el corrector (en este caso la regla trapezoidal, tambin conocida como
mtodo de Crank Nicholson):

y n+1 = y n + 12 h ( f n +1 + f n )
se tiene:
[
y 2(1) = y1 + 0.05 x 2 ( y 2( 0 ) ) 2 + x1 ( y1 ) 2 = ]
[
= 1.980 198 + 0.05 0.2 (1.921 380) 2 0.1 (1.980198) 2 = 1.923 675 ]
Y en forma similar:
y 2( 2 ) = 1.923 587
y 2(3) = 1.923 590
y 2( 4 ) = 1.923 590

El proceso es en este caso convergente. La solucin exacta es en este caso


y = 2 (1 + x ) , de donde y (0.2) = 1.923 077
2

Si el intervalo de integracin, h , es demasiado grande, se observan importantes


(0)
diferencias entre la aproximacin inicial obtenida con el predictor, y n +1 , y el valor
(k )
corregido, y n +1 . En tal caso la convergencia es lenta, e incluso podra no producirse.
Por otro lado, diferencias insignificantes implican que h es innecesariamente pequeo.

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6-9


6.2.6 Consistencia, Estabilidad y Convergencia

Al emplear una ecuacin de diferencias en lugar de la ecuacin diferencial, se introducen


errores de truncacin en cada paso.

Por ejemplo, en el mtodo de Euler, la expresin:

h2
y ( x + h) = y ( x) + h y ( x) + y ( x) + L
2
se remplaza por:
y n +1 = y n + h f ( x n , y n )

tenindose un error de orden h 2 . A esto deben agregarse los errores debidos a la


aritmtica imperfecta del ordenador.

Evidentemente no es posible determinar estos errores, pero si pueden hacerse algunas


estimaciones.

Al emplear un mtodo numrico para resolver EDO, se espera que ste sea
convergente, lo que significa que al trabajar con intervalos, h , cada vez ms pequeos,
las soluciones deben aproximar cada vez ms a la solucin exacta. Para que el
procedimiento numrico sea convergente debe ser consistente y estable.

Consistencia significa que en el lmite h 0 la ecuacin de diferencias que define el


mtodo numrico resulta formalmente la ecuacin diferencial. Refirindose nuevamente
al mtodo de Euler, que puede escribirse:
y n +1 y n
f ( xn , yn ) =
h
se observa que:
y ( x n + h) y ( x n )
Lim = y ( x n )
h 0 h
Si en cambio se escribiera, por ejemplo, y n +1 = 2 y n + h f ( x n , y n ) no habra
consistencia.

Para que el procedimiento numrico sea convergente no es suficiente que sea


consistente. Se requiere adems que sea estable. Un mtodo es estable cuando los
errores de truncacin y de redondeo, al propagarse durante el proceso, son siempre
pequeos en comparacin con la solucin exacta.
CONSISTENCIA + ESTABILIDAD CONVERGENCIA

Alternativamente, podra decirse que un mtodo es estable si, para condiciones iniciales
tpicas y siempre que los errores de truncacin y de redondeo sean pequeos, se tiene
convergencia.

Un ejemplo de inestabilidad numrica

Para una observacin inicial sobre el tema de estabilidad, considrese la ecuacin


diferencial y = y , con condicin inicial y (0) = 1 , cuya solucin exacta es y = e x . El
mtodo de Euler podra ser apropiado en este caso. Sin embargo, supngase que se
emplea la regla explcita del punto medio:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 10


y n +1 = y n 1 + 2 h f ( x n , y n )

con intervalo h = 0.1 , es decir:


y n +1 = y n 1 0.2 y n

Para iniciar el proceso no es suficiente conocer y 0 = y (0) = 1 . Se requiere adems y1 .


Supngase que se calcula y1 = e h = e 0.1 = 0.904 837 418 035 96 , con 13 cifras
significativas correctas. Trabajando con aritmtica de doble precisin se obtienen:

i xi y (xi ) yi ei = y i y (x i )

0 0.0 1.000000 1.000000 0.000000


1 0.1 0.904837 0.904837 0.000000
2 0.2 0.818731 0.819033 0.000302
3 0.3 0.740818 0.741031 0.000213
...
97 9.7 0.000061 -1.199394 -1.199455
98 9.8 0.000055 1.325440 1.325385
99 9.9 0.000050 -1.464482 -1.464532
100 10 0.000045 1.618337 1.618291

La solucin exacta es exponencialmente decreciente, como se indica en lnea gruesa en


la figura siguiente. Sin embargo, el procedimiento produce los resultados que se
presentan en lnea ms delgada. Despus de aproximadamente x = 5 se obtienen
valores con signos alternados, con amplitud cada vez mayor (que podra llegar a rebasar
el nmero mximo que puede almacenarse). Esto es una inestabilidad numrica.

2.0

1.5

1.0

0.5
y(x)

0.0
0 2 4 6 8 10 12
x
-0.5

-1.0

-1.5

-2.0

Si se reduce h o se aumenta el nmero de cifras en los cmputos el problema puede


posponerse, pero no evitarse. A qu se debe esta inestabilidad?

Considrese la ecuacin diferencial:


y = y
para la cual el mtodo explcito del punto medio resulta:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 11


y n +1 = y n 1 + 2 h y n
Esta es una ecuacin de diferencias lineal de orden 2. Definiendo = h , la ecuacin
caracterstica es:

r 2 = 1+ 2 r

con las races:

( ) ( )
1
r1 = + 1 + 2 2 = 1 + + 12 2 + O 4

1
r2 =
r1

Al comparar la primera de estas expresiones con la expansin en series:

e = 1 + + 12 2 + 16 3 + O 4 ( )
se concluye que:

r1 = e 16 3 + O 4 ( )
r1n e n = e n h = e xn

r2n = ( 1) r1 n ( 1) e xn
n n

y en consecuencia:

y n = C1 r1n + C 2 r2n C1e xn + ( 1) C 2 e xn


n

La solucin de la ecuacin de diferencias tiene dos modos componentes, el primero de


los cuales corresponde a la solucin correcta, mientras que el segundo no debera
x
existir. En teora se debera tener C1 = 1 y C 2 = 0 , de modo que y n e n , pero no es
as, ni siquiera al iniciarse el proceso. Efectivamente, para el caso = h = 0.1 , los
valores iniciales hacen que:
y 0 = C1 + C 2 = 1
y1 = C1 r1 + C 2 r2 = e 0.1

de donde, trabajando en doble precisin:

(
C 2 = e 0.1 r1 ) (r 2 r1 ) 7.469 947 10 5

y suponiendo que las operaciones siguientes se efectuaran con una aritmtica


infinitamente precisa:

C 2 r2100 7.469 947 10 5 e100 (0.1) = 1.645 365


Ntese que este resultado es similar al error observado para x = 10 . Por otro lado, an
cuando inicialmente se tuviera C 2 = 0 , los errores numricos introduciran la
componente extraa. El factor ( 1) explica la alternancia de signos del error.
n

El procedimiento no funciona para negativo, porque en ese caso el modo extrao


( 1)n C 2 e x
tiende a crecer, mientras que la solucin C1e x es decreciente. Sin
embargo, si sirve para el caso (poco prctico) en que es positivo y la solucin es
exponencialmente creciente.

Regin de estabilidad absoluta

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 12


Puede obtenerse valiosa informacin con relacin al comportamiento de un mtodo
numrico de solucin de EDO al observarse cmo funciona con una ecuacin de la
forma y = y , donde es una variable compleja, con condicin inicial y (0) = 1 . Con
referencia a esta ecuacin, se define la regin de estabilidad absoluta de un mtodo
numrico como el lugar geomtrico de los h para los que la solucin es finita cuando
n. Esto es equivalente a decir que las races de la ecuacin caracterstica
satisfacen ri 1 .

Para h 0 se requiere que una de las races sea igual a 1 (esto es un requisito para
que el mtodo sea consistente). Sin embargo, si dos o ms races tienen mdulo igual a
1 el mtodo es dbilmente estable y con frecuencia tiene problemas numricos. Este es
el caso del mtodo explcito del punto medio, del que se trat en el acpite anterior.

Considrese, por ejemplo, el mtodo de Euler:


y n +1 = y n + h f ( x n , y n )

que aplicado a la ecuacin y = y resulta:


y n +1 = y n + h y n = (1 + h ) y n

La solucin de esta ecuacin de diferencias es de la forma y n = r n . Al sustituir esta


solucin en la ecuacin de diferencias se obtiene la ecuacin caracterstica:
r =1+ h

La regin de estabilidad absoluta queda definida por: 1 + h 1 . Esta es el rea


dentro de una circunferencia de radio 1 y con centro en (-1,0):

Im h
2

0 Re h
-3 -2 -1 0 1 2
-1

-2
Regin de estabilidad absoluta - Euler

Puede concluirse que el mtodo de Euler es apropiado para integrar ecuaciones cuya
solucin es exponencialmente decreciente ( < 0 ), pero no para el caso en que la
solucin es oscilatoria y no amortiguada ( imaginaria pura).

Anlogamente para el mtodo de Euler inverso:


y n +1 = y n + h f ( x n +1 , y n +1 ) = y n + h y n +1
se obtiene:
1
r=
1 h

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 13


La regin de estabilidad absoluta, en la que r 1 , es en este caso la regin externa al
crculo de radio 1 y con centro en (1,0).
Im h
2

Re h
0
-2 -1 0 1 2 3

-1

-2

Regin de estabilidad absoluta


Euler Inverso

El mtodo de Euler inverso sera apropiado para el caso en que la solucin es


oscilatoria, amortiguada o no. No debera emplearse para integrar ecuaciones cuya
solucin es exponencialmente creciente, ya que por consideraciones de estabilidad
requerira un paso grande, lo que estara en conflicto con los objetivos de precisin.

Todos los procesos de Runge Kutta del mismo orden tienen la misma regin de
estabilidad absoluta. Por ejemplo, considrese un proceso de segundo orden, mtodo
de Heun, tambin llamado Euler modificado:

y = y n + h f ( x n , y n )

y n +1 = y n +
h
[ f (x n , y n ) + f (x n +1 , y )]
2
que aplicado a la ecuacin y = y resulta:

y = y n + h y n = (1 + h ) y n

y n +1 = y n +
h
2
[ y n + ( y n + h y n )] = 1 + h + [ 1
2
( h )2 ] y n
y por lo tanto : r = 1 + h + 1
2
( h )2 . La condicin r 1 es satisfecha por todos los
puntos dentro del elipsoide que se muestra en la figura siguiente:

2 Im h

Re h
0
-3 -2 -1 0 1

-1

-2
Regin de estabilidad absoluta
Runge Kutta - Segundo Orden

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 14


Otros mtodos de Runge Kutta de segundo orden, como el mtodo del punto medio o el
mtodo de Ralston, tienen exactamente la misma ecuacin caracterstica y por lo tanto la
misma regin de estabilidad absoluta.

Para el clsico mtodo de Runge Kutta:


k1 = h f ( x n , y n )
k 2 = h f (x n + 12 h, y n + 12 k1 )
k 3 = h f (x n + 12 h, y n + 12 k 2 )
k 4 = h f ( x n + h, y n + k 3 )
y n +1 = y n + 1
6
(k1 + 2k 2 + 2k 3 + k 4 )
se obtienen en este caso:

k1 = h y n
k 2 = h (1 + 12 h ) y n
(
k 3 = h 1 + 12 h + (h ) ) y1
4
2
n

= h (1 + h + (h ) + (h ) ) y
1 2 1 3
k4 2 4 n

= (1 + h + (h ) + (h ) + (h ) ) y
1 2 1 3 1 4
y n +1 2 6 24 n

Y resulta:

r = 1 + h + 1
2
(h )2 + 16 (h )3 + 241 (h )4
La expresin es la misma para cualquier otro mtodo de Runge Kutta de cuarto orden
(global): La regin de estabilidad absoluta es aquella dentro del lmite indicado en la
figura siguiente:
4 Im ( h)

1
Re ( h)
0
-3 -2 -1 0 1
-1

-2

-3

-4
Regin de estabilidad absoluta
Runge - Kutta 4o Orden

Las mismas ideas pueden tambin aplicarse a mtodos de pasos mltiples. Por
ejemplo, para la regla explcita del punto medio, a la que se hizo referencia al inicio de
esta seccin:
y n +1 = y n 1 + 2 h f (x n , y n ) = y n 1 + 2 h y n

se obtienen las races de la ecuacin caracterstica:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 15


( )
1
r = h 1 + ( h )
2 2

y para tener ri 1 se requiere que h sea imaginaria pura, en el rango entre i y


+ i . Debe observarse que este mtodo es dbilmente estable, porque para h 0 se
tiene r1 = r2 = 1 .

Un mejor mtodo de pasos mltiples es la regla trapezoidal o mtodo de Crank


Nicholson:

y n +1 = y n + 12 h [ f ( x n , y n ) + f ( x n +1 , y n +1 )]

que para el caso y = y resulta:

y n +1 = y n + 12 h ( y n + y n +1 )

de donde:

(1 12 h) r = (1 + 12 h )
1 + 12 h
y por lo tanto se requiere que: r = 1 , es decir Re( h ) 0 .
1 12 h

6.3. Mtodos para EDO de Segundo Orden


Las ecuaciones diferenciales de segundo orden siempre pueden rescribirse como un
sistema de ecuaciones de primer orden. Sin embargo, es ms eficiente emplear
mtodos ms especficos, como los que se describen a continuacin.

6.3.1 Runge Kutta

Para resolver EDO de la forma y = f ( x, y , y ) , con condiciones iniciales y ( a ) = y 0 e


y ( a ) = y 0 se encuentran en la literatura modificaciones de los mtodos de Runge Kutta
como, por ejemplo, el proceso de cuarto orden (global):
k1 = h f ( x n , y n , y n )
k 2 = h f (x n + 12 h, y n + 12 h y n + 18 h k1 , y + 12 k1 )
k 3 = h f (x n + 12 h, y n + 12 h y n + 18 h k1 , y + 12 k 2 )
k 4 = h f (x n + h, y n + h y n + 12 h k 3 , y + k 3 )
y n +1 = y n + (k1 + 2k 2 + 2k 3 + k 4 )
1
6

y n +1 = y n + h [y n + 16 (k1 + k 2 + k 3 )]

6.3.2 Mtodo de Diferencia Central

Este procedimiento se basa en sustituir las derivadas por sus aproximaciones con
diferencias centrales. As al resolver:
mu&& + ku = f (t )
u 2 u n + u n +1
se puede aproximar la segunda derivada con: u&&n = n 1
(t ) 2
(t ) 2
de donde resulta: u n +1 = 2 u n u n 1 + ( f (t ) k u n ) .
m

Este mtodo puede tambin escribirse en la forma sumada:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 16


mu&&n = f (t n ) ku n

u& n + 1 = u& n 1 + u&&n t


2 2

u n +1 = u n + u& n + 1 t
2

cuya interpretacin fsica es simple.


Cuando la ecuacin es de la forma: mu&& + cu& + ku = f (t ) conviene aproximar la primera
derivada mediante:
u u n 1
u& n = n +1
2 t
Y no con una diferencia hacia atrs, que a primera vista podra parecer una mejor
eleccin. Esta consideracin se relaciona con el tema de estabilidad, que se trata ms
adelante. Con la aproximacin antes mencionada se obtiene:

m c m c
(t ) 2 + 2 t u n +1 = f (t n ) k (t ) 2
2m
un
(t ) 2 2 t u n 1


6.3.3 Mtodo de Newmark

La familia de mtodos de Newmark se basa en aproximaciones de la forma:


u& n +1 = u& n + t [ u&&n + (1 ) u&&n +1 ]

[
u n +1 = u n + t u& n + (t ) u&&n + ( 12 )u&&n +1
2
]
El caso con = 12 y = 16 corresponde a suponer que u&& (la aceleracin) vara
linealmente en el intervalo. Aparentemente esa eleccin sera mejor que = 12 y = 14
(lo que fsicamente se interpretara como suponer una aceleracin constante promedio).
Sin embargo, esta ltima eleccin es ms apropiada, tambin por consideraciones de
estabilidad, a las que se hace referencia ms adelante.
Al remplazar las aproximaciones en:
m u&&n +1 + c u& n +1 + k u n +1 = f (t n +1 )

se obtiene: k u n +1 = f n +1

donde:
k = k + a 0 m + a1 c
f n +1 = f n +1 + m (a 0 u n + a 2 u& n + a 3 u&& n ) + c (a1u n + a 4 u& n + a 5 u&& n )

y los coeficientes a 0 L a 7 son:


1 1
a0 = a1 = a2 =
(t ) 2 t t

1 t
a3 = 1 a4 = 1 a5 = 2
2 2
a 6 = t (1 ) a 7 = t

Finalmente se pueden determinar los nuevos valores de u& y u


&& mediante:
u&& n +1 = a 0 (u n +1 u n ) a 2 u& n a 3 u&&n
u& n +1 = u& n + a 6 u&& n + a 7 u&& n +1

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 17


6.3.4 Estabilidad y Precisin

Todos los mtodos para resolver EDO de segundo orden pueden ser escritos en la
forma:
u n +1 = A u n + b f n
donde u n representa ahora el conjunto de resultados que describen la respuesta en el
paso n . Por ejemplo, para el mtodo de diferencia central:

u n +1 2 ( t ) 1 t u n ( t ) 2
2


= 1 + t 1 + t + 1 + t f n
u n u
1 0 n 1 0
Los errores se comportan en forma anloga, pudiendo demostrarse que:
n +1 = A n

y por lo tanto, para que los errores se reduzcan (es decir, para que el mtodo sea
estable) se requiere que:
( A) = mx i 1

En esta expresin ( A) es el radio espectral y los i son los valores caractersticos de


A . Para el caso en que = 0 y se utiliza el mtodo de diferencia central, la condicin
( A) 1 se cumple cuando:
2 T
t =

Se dice entonces que el mtodo de diferencia central es condicionalmente estable. Si
t excede el lmite antes indicado se produce una inestabilidad numrica. El lmite
corresponde a algo ms que tres puntos por perodo, lo que sin embargo resulta
insuficiente para tener buena precisin. Con t = T / 10 se introducen errores del orden
de 3% en cada paso, mientras que con t = T / 20 los errores son del orden de 1%.

Para la familia de mtodos de Newmark pueden tambin obtenerse las condiciones de


estabilidad:
0.50
0.25 (0.5 + ) 2

Con una apropiada seleccin de los parmetros (lo habitual es = 12 y = 1


6 ) se tiene
un procedimiento incondicionalmente estable, es decir estable para cualquier seleccin
de t . Nuevamente, el intervalo de integracin est limitado por la precisin.

Dos procesos a los que tambin se hace referencia en la literatura son los mtodos de
Houbolt y de Wilson. Ambos mtodos son tambin (para una seleccin apropiada de sus
parmetros) incondicionalmente estables, pero acumulan mucho ms errores que el de
Newmark de aceleracin constante y por tanto no son tan convenientes.

6.4. Sistemas de Ecuaciones Diferenciales Ordinarias

6.4.1 Integracin Directa

Cuando las EDO son no lineales, y en consecuencia no es factible la descomposicin


modal a la que se hace referencia en la seccin siguiente, cabe la posibilidad de integrar
directamente las ecuaciones en su forma original. Las expresiones son prcticamente

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 18


las mismas usadas para el caso de una sola ecuacin diferencial, excepto que todas las
operaciones son realizadas con matrices. As, por ejemplo, para resolver el sistema de
EDO de primer orden:
y = f ( x, y )

Podra emplearse el mtodo de Runge Kutta de cuarto orden:


k 1 = f (x n , y n )
k 2 = f (x n + 12 h, y n + 12 k 1 h )
k 3 = f (x n + 12 h, y n + 12 k 2 h )
k 4 = f ( x n + h, y n + k 3 h )
y n +1 = y n + 16 h (k 1 + 2k 2 + 2k 3 + k 4 )
(como es habitual, las minsculas en letras negritas denotan matrices columna).
Anlogamente, para resolver el sistema de ecuaciones diferenciales de segundo orden:
&& + K u = f (t )
Mu

podra emplearse el mtodo de diferencia central:


&& n = f (t n ) K u n
Mu
u& n + 1 = u& n 1 + u
&& n t
2 2

u n +1 = u n + u& n + 1 t
2

El mtodo de diferencia central es particularmente eficiente para el caso de EDO no


lineales si la matriz M es diagonal (una aproximacin frecuente en ingeniera). Puede
anotarse que en el caso de ecuaciones no lineales no requiere obtenerse K
explcitamente, sino ms bien el producto K u (lo que puede ser notoriamente ms fcil).
&& n +1 + C u& n +1 + K u n +1 = f n +1 sera
Otra posibilidad para resolver ecuaciones de la forma M u
el mtodo de Newmark, en el que u n+1 se obtiene de:
u
K n +1 = f n +1

K =K + a M + a C =LU
0 1

f
n +1 = f n +1 + M (a 0 u n + a 2 u n + a 3 u n ) + C (a1u n + a 4 u n + a 5 u n )
& && & &&

y luego:
&& t + t = a 0 (u t + t u t ) a 2 u& t a 3 u
u && t
u& t + t = u& t + a 6 u
&& t + a 7 u
&& t + t

Los coeficientes a 0 L a 7 son los mismos de la seccin 6.3.3.

Al resolver EDO no lineales el mtodo de Newmark, en la forma antes descrita, requerira


una nueva factorizacin K = L U en cada paso. El proceso podra mejorarse
descomponiendo K en dos partes y pasando los trminos no lineales al segundo
miembro, como parte de f n +1 .

6.4.2 Descomposicin Modal

Cuando el sistema de ecuaciones diferenciales es lineal, y particularmente si las


matrices que definen el sistema de ecuaciones diferenciales son simtricas, el
procedimiento ms eficiente se basa en la descomposicin modal. Para mostrar en que

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 19


consiste la descomposicin modal, supngase que se tiene el sistema de ecuaciones
diferenciales:
Bx& + Ax = f (t )

Las matrices A y B son simtricas (y muy frecuentemente definidas positivas). La


descomposicin modal emplea los vectores caractersticos obtenidos de:
A i = i B i

Estos vectores constituyen una base completa, y por lo tanto la solucin x(t ) puede
siempre expresarse como una combinacin lineal de los referidos vectores:

x (t ) = a j j

Ntese que, siendo las matrices A y B constantes, los vectores caractersticos no


son funcin de tiempo. Sin embargo, las componentes no pueden en general ser
constantes, puesto que la solucin no los es. Por lo tanto:

x& (t ) = a& j (t ) j

Al sustituir las expresiones anteriores en el sistema de ecuaciones diferenciales se tiene:

a& j Bj + a j A j = f (t )

Conviene ahora recordar las condiciones de ortogonalidad:

*s B r = rs
*s A r = r rs

Para simplificar la presentacin, se ha supuesto que los vectores caractersticos estn


normalizados respecto a la matriz B .

Al pre multiplicar las ecuaciones por :

a& j B j + a j A j = f (t )

Se observa que la mayor parte de los productos que se tienen en cada suma son cero.
Slo son distintos de cero aquellos en los que los dos ndices i,j son iguales. En
consecuencia se obtienen ecuaciones desacopladas, independientes para cada
componente a j (t ) :

a& i + i ai = f (t )

Por otro lado, si las condiciones iniciales son x(0) = x 0 , entonces:

x 0 = x ( 0) = a (0) j j

y por lo tanto, al premultiplicar por B :

a i (0) = B x 0

Resolver n de estas ecuaciones desacopladas es mucho ms fcil que resolver un solo


sistema de ecuaciones diferenciales de orden n (puede aqu hacerse un paralelismo con
el caso de ecuaciones algebraicas). Adems, en muchas situaciones prcticas se
observa que las componentes a (t ) asociadas a los mayores valores caractersticos son

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 20


poco importantes, y pueden despreciarse. Por ello, se justifica plenamente el trabajo de
determinar previamente los valores caractersticos.

Las ecuaciones desacopladas puede resolverse con algunos de los procedimientos


numricos tratados en la seccin 6.2. Por ejemplo, si los valores caractersticos fueran
negativos podra emplearse el mtodo de Euler. En el caso en que las funciones f (t )
son simples podra tambin pensarse en una solucin analtica. Obtenidas cada una de
las componentes como funcin de tiempo, puede regresarse a la expresin:

x (t ) = a j j

para hallar la solucin x(t ) .

Un caso frecuente es aquel en el que f (t ) = f 0 g (t ) y la funcin g (t ) est definida por


una coleccin de valores numricos correspondientes a valores t uniformemente
espaciados. En un intervalo cualquiera puede hacerse la aproximacin: g (t ) = a t + b ,
de donde, para cada una de las ecuaciones desacopladas se tiene:

a& i + i a i = f 0 (a t + b)

Cuya solucin puede obtenerse fcilmente (sumando la solucin homognea C e t y la


particular, de la forma A t + B ):

Conociendo a i al inicio del intervalo, puede obtenerse la constante C y calcularse


entonces el valor de a i al finalizar el intervalo. El proceso se repite anlogamente para
los sucesivos intervalos.

Cabe anotar que este procedimiento es incondicionalmente estable. En realidad, sera


exacto si la funcin fuera efectivamente lineal por intervalos. La aproximacin est en
haber descrito la funcin g (t ) con un nmero finito de valores numricos, a partir de los
cuales se est interpolando linealmente.

Las mismas ideas pueden aplicarse a sistemas lineales de ecuaciones diferenciales de


&& + C u& + K u = f . En este caso podran primero determinarse los
segundo orden: M u
valores y vectores caractersticos del problema: K = 2 M . Aqu se ha supuesto que
K y M son no slo simtricas, sino tambin definidas positivas, por lo que los = 2
son positivos.

Nuevamente, la solucin puede escribirse como una combinacin lineal de los vectores
caractersticos (que en lo que sigue se han supuesto normalizados respecto a M ):

u(t ) = a j (t ) j

Los vectores caractersticos satisfacen las condiciones de ortogonalidad:

*s M r = rs
*s K r = 2r rs

Pero, salvo en algunos casos particulares, no podra afirmarse algo similar con la matriz
C . Sin embargo, hay aplicaciones en que la inclusin del trmino C u& es slo un
artificio para introducir disipacin en las ecuaciones lineales, que realmente podra
haberse considerado con una K variable, dependiente de u . En este contexto, podra
introducirse directamente la disipacin en las ecuaciones desacopladas, no siendo
necesario determinar la matriz C :

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 21


a&&i + 2 i a& i + i2 a i = f (t )

Estas ecuaciones pueden tambin ser resueltas numricamente, por procedimientos


tales como el mtodo de diferencia central o el mtodo de Newmark de aceleracin
constante.

En el caso frecuente en el que f (t ) = f 0 g (t ) , estando g (t ) definida por una coleccin de


valores numricos a intervalos constantes, puede seguirse un procedimiento similar al
descrito antes para ecuaciones diferenciales de primer orden.

6.4.3 Consideraciones Adicionales

En el acpite 6.3.4 se mencion que al resolver una ecuacin diferencial de segundo


orden el intervalo est controlado por precisin y no por estabilidad. La situacin es
diferente cuando se resuelven grandes sistemas de EDO. Los comentarios siguientes
parecieran referirse a sistemas de EDO lineales, pero realmente son tambin aplicables
a ecuaciones no lineales, que pueden ser linearizadas localmente.

Al integrar directamente un sistema de EDO se estn haciendo operaciones equivalentes


a integrar las ecuaciones desacopladas; simplemente el sistema de referencia es
distinto. El procedimiento ser estable cuando el intervalo de integracin cumpla las
condiciones de estabilidad con todos y cada uno de los modos componentes. Por lo
tanto, para un mtodo como el de la diferencia central:

2 Tmn
t =
mx

Cuando se tiene un comportamiento no lineal los perodos T tienden a crecer (y los


tienden a reducirse), por lo que la estimacin del t sobre la base de las condiciones
iniciales es en general suficiente.

Por otro lado:

1 2 L << mx
T1 T2 L >> Tmn

y habitualmente al cumplir la condicin de estabilidad se tendrn cientos y tal vez miles


de puntos por perodo para los modos asociados a las menores frecuencias, que son los
importantes en la respuesta. En resumen, al resolver grandes sistemas de EDO con un
procedimiento condicionalmente estable, satisfacer la condicin de estabilidad implica
que se tiene tambin precisin.

En cambio, al emplear un mtodo incondicionalmente estable es la precisin la que


siempre controla el intervalo de integracin. ste debe escogerse de modo que se
integren con suficiente precisin todos aquellos modos cuya participacin en la
respuesta es significativa.

&& + Au = 0 en la que la matriz A es:


Considere el sistema de ecuaciones diferenciales u

200.5 199.5
A =
199.5 200.5
Los valores caractersticos de la matriz A son 1 = 12 = 1 y 2 = 22 = 400 .
Supngase que las condiciones iniciales son:

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 22


1.01 0
u ( 0) = u& (0) =
0.99 0
En este caso es fcil obtener la solucin exacta:

1 1
u = cos t + 0.01 cos 20 t
1 1
El primer modo, con 1 = 1 y T1 = 2 es el importante en la solucin. La contribucin
del segundo modo, con 2 = 20 y T2 = / 10 es comparativamente pequea.

Supngase ahora que se usa el proceso de diferencia central:


&& n = Au n
u
u& n + 12 = u& n 12 + t u
&& n
u n +1 = u n + t u& n + 12

1.01 0
con condiciones iniciales u 0 = y u& 12 = u& (0) + 2 t u
1 && 0 =
0.99 0
Para integrar apropiadamente el primer modo sera suficiente considerar un t del
orden de T1 / 20 0.3 . Sin embargo, es el segundo modo, poco importante en la
respuesta, el que en este caso controla la estabilidad. Se requiere reducir el intervalo,
de modo que: t < 2 / 2 = T2 / = 0.1 lo que indirectamente hace que se obtenga
precisin en la integracin de la componente significativa. En las figuras siguientes se
muestran resultados obtenidos con t = 0.1001 (el procedimiento es inestable) y con
t = 0.09 (procedimiento estable). Los resultados seran an ms precisos si T1 >> Tn ,
como ocurre tpicamente al resolver grandes sistemas de ecuaciones diferenciales.

1000

500

0
u

0 2 4 6 8 10
-500

-1000
t
Resultados obtenidos con t = 0.1001

2
1
1
0
u

-1 0 2 4 6 8 10
-1
-2
t
Resultados obtenidos con t = 0.09

H. Scaletti - Mtodos Numricos: Ecuaciones Diferenciales Ordinarias 6 - 23


8. Transformadas de Fourier Discretas

8.1 Introduccin

En numerosos problemas de ingeniera, como por ejemplo al estudiar vibraciones


mecnicas, se tienen funciones peridicas. Una funcin f (t ) es peridica, con perodo
T , si f (t + T ) = f (t ) para todo t . En tal caso f (t ) puede ser expresada en series de
1
Fourier :

(a ) c i jt
f (t ) = 12 a 0 + j cos ( j t ) + b j sen( j t ) = j e (8.1)
j =1 j =

donde j = j (2 / T ) y T es el perodo. Puede demostrarse que:

c0 = a0 , c k = 12 (a k ibk ), c k = 12 (a k + ibk ) (8.2)

siendo i = 1 .

Por ejemplo, para la onda rectangular con perodo 2 :


1 < t < 0
f (t ) =
1 0<t <
Se obtiene:
4 sen 3 x sen 5 x
f (t ) = sen x + + + L
3 5
En la figura se muestra la aproximacin obtenida considerando 10 trminos de la serie:

1.5

0.5

0
-6 -4 -2 0 2 4 6
-0.5

-1

-1.5

Si f y su primera derivada son continuas, la serie es convergente para todo t . Cuanto


ms regular sea la funcin, mayor es la velocidad de convergencia. Si f y f tienen un
nmero finito de discontinuidades finitas en cada perodo, la serie produce el valor medio
en cada uno de tales puntos.

En los procedimientos numricos las funciones se expresan por colecciones de valores


f n = f (t n ) que habitualmente corresponden a abscisas uniformemente espaciadas:
t n = n t . Si la funcin es peridica podra definirse por una coleccin de N valores

1
Jean Baptiste Joseph Fourier (1768-1830), ingeniero francs. En 1807 present a la Academia Francesa su
teorema relativo a las series de F., que public posteriormente como parte de su Teora Analtica del Calor.

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-1


numricos f 0 , f 1 , f 2 , K f N 1 siendo el perodo T = N t . En lo que sigue, se denomina
a esto el caso discreto. Anlogamente a la (8.1):

c
i j tn
f n = f (t n ) = j e (8.3)
j =
j+ N j

( )e
2i n t 2i n t
i j + N tn N t 2i n N t i j tn
Ntese que e =e = e =e , por lo que factorizando
se puede escribir:
N 1

c
i jtn
fn = j e (8.4)
j =0

En la seccin siguiente se revisan expresiones que permiten determinar los coeficientes


de tales series. Para simplificar la presentacin se ha escrito c j en lugar de c j .

8.2 Ortogonalidad de las Funciones Armnicas

Caso continuo

Supngase que se tienen dos funciones peridicas f (t ) = f (t + T ) y g (t ) = g (t + T ) .


En lo que sigue se hace referencia al producto interno de tales funciones peridicas:
T
( f , g) = 0
f (t ) g (t ) dt (8.5)

donde g (t ) indica la conjugada de g (t ) .


i jt
Considrense ahora las funciones peridicas: j (t ) = e para j = 0, 1, 2, K ,
2 i t
siendo j = j e i = 1 . Ntese que (t + T ) = (t ) . Adems: j (t ) = e j
T
Puede observarse que:

T si j = k (8.6)
( j , k ) =
0 si j k

como se demuestra a continuacin. Para j = k :


T i jt i j t T
( j , j ) = 0
e e dt = 0
dt = T

Para j k :

T i jt T e 2i ( j k ) e 0
( j , k ) = e e i k t dt = e 2i ( j k ) t / T dt = =0
0 0 2i ( j k ) / T

Caso discreto

En este caso el producto interno de dos funciones con igual perodo, T , cada una
expresada por una coleccin de N valores numricos, se define como:
N 1
( f , g) = f
n =0
n gn

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-2


2i
i jt i j tn jn
Considerando nuevamente las funciones j (t ) = e se tiene: j (t n ) = e =e N y
entonces:
N 1 2i
jn
2i
kn N 1 2i j k n
( j , k ) =
n=0
e N e N = e
n =0
N

jk
Si j k es un mltiplo de N se tiene que es un entero y por lo tanto:
N
N 1
( j , k ) = 1 = N
m =0

Por otro lado, si j k no es un mltiplo de N puede escribirse:


N 1
( j , k ) = q
n =0
n

j k
2i
donde q = e N
. Esta es la suma de N trminos de una progresin geomtrica, con
valor inicial 1 y razn q , que resulta:

qN 1 11
( j , k ) = = =0
q 1 q 1
Excepto para el caso antes mencionado, en que j k es un mltiplo de N , para el que
se tiene q = 1 . Resumiendo, para el caso discreto:

N si j k es mltiplo de N (8.7)
( j , k ) =
0 en otros casos

8.3 Coeficientes de Fourier


Si f (t ) es peridica:

2 i +
jt
f (t ) = c
j =
j e T
= c
j =
j j (t )

N 1 2i N 1
jn
O en el caso discreto f n = j =0
c j e N
= c
j =0
j j (t n )

Los coeficientes c j se denominan coeficientes de Fourier. Estos pueden determinarse


con el producto interno:

( f ,k ) = c
j
j ( j , k )

Siendo ( j , k ) = 0 para j k se obtiene ( f , k ) = c k ( k , k ) y por lo tanto (despus


de cambiar k por j ):
2i
1 T jt
cj =
T 0
f (t ) e T
dt en el caso continuo (8.8)

N 1 2i
1 jn
cj =
N

n =0
fn e N
en el caso discreto (8.9)

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-3


Cuando la funcin f (t ) es real, los coeficientes a j , b j de la expresin (8.1) son tambin
reales. Los c j son en general nmeros complejos, pero si f (t ) es real tienen simetra
conjugada, es decir: c k = c k , lo que puede observarse fcilmente en (8.2).

Las funciones de varias variables se tratan en forma anloga, considerando una variable
a la vez. Supngase que se conocen los valores de la funcin peridica (en ambas
direcciones) f ( x p , y q ) que corresponden a abscisas x p = p x y ordenadas y q = q y
siendo p = 0, 1, 2, K M 1 y q = 0, 1, 2, K N 1 :

M 1 N 1 2i
kq
2i
jp
c e N e M
f pq = f ( x p , y q ) =
j =0
jk
(8.10)
k =0
M 1 1 N 1 kq
2i 2i jp
1 e M
c jk =
M
p=0
N f
q =0
pq e N

(8.11)

8.3 Transformadas de Fourier

Supngase una funcin f (t ) no peridica, definida para < t < y tal que tiende a
cero cuando t tiende a ms infinito o a menos infinito. En tal caso, puede obtenerse el
lmite de (8.8) para T :

F ( ) =
f (t ) e i t dt (8.12)

La funcin F () es la transformada de Fourier de f (t ) . Anlogamente, el lmite de


(8.9) para T resulta:

1
f (t ) =
2
F ( ) e i t d (8.13)

que se denomina transformada inversa. El factor 1 /(2 ) podra indistintamente tenerse


en (8.12) o en (8.13).

La tabla siguiente indica algunas propiedades de simetra de las transformadas de


Fourier:
Funcin Transformada de Fourier

f (t ) real F ( ) = F ( )
f (t ) imaginaria F ( ) = F ( )
f (t ) simtrica F ( ) = F ( )
f (t ) antisimtrica F ( ) = F ( )

Si f (t ) es simultneamente real y simtrica F () es tambin real y simtrica; si f (t )


es imaginaria y antisimtrica F () es tambin antisimtrica pero real.

Puede tambin demostrarse que:




2 2
f (t ) dt = F ( ) d

Esto se conoce como el teorema de Parseval, que es de utilidad en diversas


aplicaciones.

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-4


Si F () es la transformada de Fourier de f (t ) , entonces la transformada de Fourier de
f& (t ) resulta i F () . Esto se verifica fcilmente haciendo una integracin por partes.
En consecuencia, se concluye que la transformada de la derivada m-sima es
(i ) m F () .
Si se tiene la ecuacin diferencial lineal:

m u&& + c u& + ku = f (t ) u&& + 2 u& + 2 u = f (t ) / m


en la que m, c, k son constantes, se puede multiplicar por e i t e integrar entre y
+ , para obtener:

m
u&&(t ) e i t dt + c
u& (t ) e i t dt + k

u (t ) e i t dt =

f (t ) e i t dt


Llamando F () a la transformada de f (t ) , es decir: F ( ) =
f (t ) e i t dt

y U () a la transformada de Fourier de u (t ) : U ( ) = u (t ) e i t dt

se obtiene:

( m + i c + k ) U () = F ()
2

o bien:
U ( ) = H ( ) F ( )

(
donde H () = 2 m + i c + k )
1
es una funcin de transferencia. Luego se obtiene
la funcin u (t ) con la transformada inversa:
1
u (t ) =
2
U ( ) e i t d

Las mismas ideas pueden aplicarse a la solucin de sistemas de ecuaciones


diferenciales lineales. Por ejemplo:

Au + Bu = c f ( x) (A + i B ) U() = c F ()
En este caso U () denota una matriz columna que agrupa las transformadas de las
funciones agrupadas en u(t ) . Luego:

1
u (t ) =
2
U ( ) e i t d

8.4 Algoritmo de Cooley y Tukey2

Las operaciones requeridas para obtener los coeficientes de Fourier:


N 1 2i
1 jn
cj =
N
f
n =0
n e N
(8.14)

son similares a las del proceso inverso:


N 1 2i
jn
fn = c j =0
j e N
(8.15)

2
Cooley, J.W. y Tukey, J.W. An algorithm for machine calculation of complex Fourier series. Math.Comp.,
19:297-201, 1965.

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-5


Al realizar las operaciones como se indican en (8.14) y (8.15) se requeriran en cada
caso N 2 multiplicaciones y sumas de nmeros complejos. Con el algoritmo de
Transformada de Fourier Rpida (FFT por sus iniciales en ingls) se requieren slo
N log 2 N multiplicaciones y sumas. Esto es suponiendo que N es una potencia de 2 y
que el algoritmo se escribe en su forma ms simple. Si, por ejemplo, N = 216 = 65 536 ,
el algoritmo FFT resulta aproximadamente 4000 veces ms rpido que el procedimiento
convencional antes indicado.

Para empezar, puede observarse que, dejando de lado el factor 1 / N , las expresiones
(8.14) y (8.15) son ambas de la forma:
N 1 2i

cj = f
n =0
n u jn
u=e N
(8.16)

Ntese que u N
= 1 . Los prrafos siguientes se refieren a (8.16), y son igualmente
aplicables a la determinacin de los c j (anlisis de Fourier) o a la de los f n (sntesis de
Fourier). Se presenta el algoritmo FFT en su forma ms simple, suponiendo que N es
una potencia exacta de 2 , es decir, N = 2 m . Sin embargo, pueden aplicarse ideas
similares cuando N es arbitrario.

Los valores f n pueden separarse en dos grupos, aquellos que ocupan las posiciones
pares: n = 2 p y aquellos que ocupan las posiciones impares: n = 2 p + 1 . Luego:
N N
1 1
2 2
cj = f
p=0
2p (u 2 ) jp + u j f
p=0
2 p +1 (u 2 ) jp

Por otro lado, expresando j como N / 2 + q , donde = 0, 1 y 0 < q < (N / 2 1) , se


tiene que:
N
p
(u 2 ) jp = (u 2 ) 2 (u 2 ) pq = (u N ) p (u 2 ) pq = (u 2 ) pq
N N
+q
u2 = u 2 u q = e i u q = u q

Dividiendo los c j en dos grupos (para = 0, 1 ) se obtienen:

cq = q + u q q (8.17a)

cN = q + u q q (8.17b)
+q
2

N N
1 1
2 2
siendo q = f
p =0
2p (u 2 ) pq y q = f
p =0
2 p +1 (u 2 ) pq transformadas con N / 2 puntos.

2i

Ntese que u 2 = e N /2 , expresin anloga a la de u pero con N / 2 puntos.

Las q y q se pueden a su vez obtener dividiendo cada sumatoria en dos partes. Si


N = 2 m , el mismo procedimiento puede sucesivamente repetirse hasta tener sumatorias
con un solo punto.

En la tabla siguiente se muestran los sucesivos reagrupamientos de los valores f n que


se haran para el caso particular N = 16 :

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-6


1 FFT 2 FFT 4 FFT 8 FFT 16 FFT
N = 16 N =8 N =4 N =2 N =1

0000 0 0 0 0 0 0000
0001 1 2 4 8 8 1000
0010 2 4 8 4 4 0100
0011 3 6 12 12 12 1100
0100 4 8 2 2 2 0010
0101 5 10 6 10 10 1010
0110 6 12 10 6 6 0110
0111 7 14 14 14 14 1110
1000 8 1 1 1 1 0001
1001 9 3 5 9 9 1001
1010 10 5 9 5 5 0101
1011 11 7 13 13 13 1101
1100 12 9 3 3 3 0011
1101 13 11 7 11 11 1011
1110 14 13 11 7 7 0111
1111 15 15 15 15 15 1111

Se indica adems, a la izquierda, el nmero de orden original en un sistema de base 2.


A la derecha se observa que, al reagrupar los valores de la funcin, cada uno de estos
intercambia posicin con aquel que corresponde a los bits en orden inverso.

La sucesiva subdivisin de los grupos en dos de la mitad de tamao termina cuando


N = 1 y se tiene e 2i = 1 ; entonces los valores q y q resultan iguales a los de las
correspondientes f n . Luego se usan expresiones como la (8.17) para obtener N / 2
FFT con dos puntos:

u = e 2i / 2 = 1 c0 = 0 + 0
c1 = 0 0

Y luego N / 4 FFT con cuatro puntos:

u = e 2i / 4 = i c0 = 0 + 0
c2 = 0 0
c1 = 1 i 1
c3 = 1 m i 1

Y as sucesivamente hasta combinar los resultados de 2 FFT con N / 2 puntos para


producir la FFT con N puntos.

8.5 Algunas consideraciones prcticas

Para una funcin no peridica, como podra ser el registro de una componente de
aceleracin ssmica, estrictamente no podra emplearse el algoritmo FFT, puesto que se
obtienen los coeficientes de una serie de Fourier y no propiamente la transformada. Sin
embargo, puede considerarse a la funcin como si fuera peridica agregndole
suficientes ceros como para asegurar que, dada la disipacin existente en todos los
sistemas reales, no haya influencia significativa de un perodo sobre el siguiente.

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-7


En la figura se ilustra esta idea:

200 f (t)

100

0 t
0 20 40 60 80 100 120 140 160
-100

-200

Un aspecto importante es definir a que frecuencia j corresponde cada uno de los


coeficientes c j . Siendo el perodo T = N t se tiene 1 = = 2 / T y por lo tanto
j = 2 j /( N t ) .
La mxima frecuencia que se representa correctamente (denominada de Nyquist)
depende del intervalo t al que se registra la funcin f y resulta mx = (2 / t ) / 2 .
Las componentes a frecuencias ms altas se interpretan como si correspondieran a
frecuencias incorrectas (alias).

4.0E-05 |F( )|

3.0E-05

2.0E-05

1.0E-05

0.0E+00
0 20 40 60 80

H. Scaletti - Mtodos Numricos: Transformadas de Fourier Discretas 8-8

También podría gustarte