Post on 05-Oct-2018
H. Scaletti - Métodos Numéricos: Introducción 1 - 1
1. Algunas Ideas Generales sobre Métodos Numéricos
1.1 Introducción
En ciencia y tecnología son comunes los problemas para los que no es posible hallar una
solución analítica. 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 numéricas. La
magnitud del trabajo es función de la precisión que se requiere. En los últimos 50 años,
gracias a las computadoras digitales, las posibilidades para utilizar eficientemente los
métodos numéricos han aumentado enormemente; y los puntos de vista con relación a
ellos han ciertamente cambiado.
En la mayor parte de los métodos numéricos se aplican ideas relativamente simples.
Una idea frecuente es la de iteración, es decir, la repetición de un proceso en forma tal
que se obtienen cada vez mejores aproximaciones a la solución. Para ilustrar el uso de
iteraciones considérese la solución de cx =3 . En este caso x es la raíz cúbica de c .
Esta ecuación puede reescribirse como:
+=2
23
1
x
cxx
Empezando con la aproximación inicial 00 ≠≈ xx , se puede iterar con:
+=+ 21 2
3
1
n
nnx
cxx
Esta es una aplicación del conocido método de Newton para hallar raíces de una
ecuación no lineal. Por ejemplo, para el caso 2=c (es decir 23 =x ) y con 10 =x se
obtienen:
333.1)1(
212
3
121 =
+⋅=x
889263.1)333.1(
2333.12
3
122 =
+⋅=x
y así sucesivamente:
4504939331.2593 =x
1805009211.2594 =x
8950499211.2595 =x
Una interpretación geométrica de la
iteración se muestra en la figura.
0
0.5
1
1.5
2
2.5
3
0 0.5 1 1.5 2 2.5 3 x
y
Puede en este caso probarse que el proceso converge siempre, para cualquier selección
de x0. Si xn tiene t dígitos correctos, xn+1 tendrá por lo menos 2t –1 dígitos correctos.
Sin embargo, no todos los procesos iterativos funcionan. Por ejemplo, podría escribirse 2
1 2 nn xx =+ , lo que produce resultados alternados y obviamente no converge.
xy =
)/22( 231 xxy +=
H. Scaletti - Métodos Numéricos: Introducción 1 - 2
Otra idea frecuente es la de aproximar localmente una función complicada por una
función lineal (o quizás parabólica u otra relativamente simple). Esto es lo que se hace
al interpolar entre dos líneas de una tabla, o en procesos tales como el método de
Newton – Raphson para mejorar la aproximación a una raíz de una función 0)( =xf , la
integración de una función por el método de los trapecios, la solución de una ecuación
diferencial ),( yxfy =′ por el método de Euler, por citar sólo algunos de los métodos más
conocidos.
En muchos casos se obtiene un conjunto de resultados en una sucesión de etapas, para
cada una de las cuales se consideran como datos los resultados de la etapa anterior.
Tales procesos se denominan de recursión. Son muy poderosos, pero deben ser
utilizados con propiedad. La “Regla de Horner” para evaluar un polinomio tal como
nnnn axaxaxaxp ++++= −
−1
110)( K proporciona un ejemplo simple de recursión. El
polinomio p(x) puede evaluarse realizando las operaciones:
00 =p
001 axpp +=
M
112 axpp +=
)(1 xpaxpp nnn =+= −
La acumulación de errores en un proceso de este tipo puede ser importante.
El ejemplo siguiente ilustra también el uso de una recursión y el fenómeno conocido
como “inestabilidad numérica”. Supóngase que se requiere calcular, para n = 0, 1, 2, ...
∫ +=
1
0 5dx
x
xy
n
n
Puede observarse que los valores de yn decrecen con n. Además:
ndxxdx
x
xxdx
x
xdx
x
xyy n
nnn
nn
1
5
)5(
5
5
55
1
0
11
0
11
0
11
01 ==
++=
++
+=+ ∫∫∫∫
−−−
−
y por lo tanto: yn = 1/n – 5yn-1. Esta expresión podría permitir determinar los sucesivos
yn a partir de un valor inicial, como y0. Sabiendo que:
( )[ ] 182.05
65
510
1
00 ≈
=+=+
= ∫ LnxLndxx
xy
n
Se obtienen (en todos los cálculos de este ejemplo se han considerado sólo tres cifras
significativas):
18200 .y ≈
090051 01 .yy ≈−=
050.05 121
2 ≈−= yy
083.05 231
3 ≈−= yy ¡Sorprendente que se obtenga y3 > y2 !
165.05 341
4 −≈−= yy ¡Absurdo!
L03.15 451
5 ≈−= yy
Los malos resultados se deben a que las aproximaciones y el uso de un número finito de
dígitos introducen errores, que se “propagan” a etapas posteriores del cálculo. La forma
H. Scaletti - Métodos Numéricos: Introducción 1 - 3
en que estos errores se propagan (o disipan) es decisiva en la utilidad de un método
numérico dado.
En el proceso utilizado, un pequeño error ε en yo se multiplica por –5 en el cálculo de
y1. Sin tener en consideración 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
multiplicado por (-5)k. A esto deben agregarse los efectos de los errores introducidos en
todos los pasos intermedios. Si se hubieran utilizado más cifras decimales en los
cálculos, los resultados absurdos habrían también aparecido, aunque un tanto más
adelante en el proceso. La inestabilidad numérica puede evitarse seleccionando un
algoritmo más adecuado. Así, utilizando la fórmula “en la otra dirección”:
−= nyn
y1
5
1 1-n
el error queda dividido por 5 en cada paso. Sabiendo que yn decrece cuando n crece,
pueden iniciarse los cálculos con algo tan pobre como 010 =y , obteniéndose:
( ) 020.00101
51
9 =−=y
( ) 019.0991
51
8 ≈−= yy
( ) 021.0881
51
7 ≈−= yy
( ) 025.0771
51
6 ≈−= yy
y así sucesivamente:
y5 ≈ 0.028
y4 ≈ 0.034
y3 ≈ 0.043
y2 ≈ 0.058
y1 ≈ 0.088
y0 ≈ 0.182 ¡Correcto! (a pesar de la errada información inicial)
Sin embargo, no debe creerse que el utilizar fórmulas “al revés” es el remedio para todos
los problemas numéricos. Cualquier proceso que se plantee no será siempre aplicable,
ni en todos los casos el más efectivo.
1.2 Fuentes de Error
Los resultados numéricos están 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 solución es muy sensible a pequeños
errores en los datos. Dificultades de este tipo pueden también no ser debidas a la
formulación del problema, sino a un mal condicionamiento del método numérico utilizado.
Un segundo grupo de errores es debido a simplificaciones en el modelo matemático del
problema y a la truncación de expresiones (series por ejemplo), cuyo objetivo es evitar
que la formulación se complique más allá de lo que razonablemente puede manejarse.
-1
-0.5
0
0.5
1
1.5
0 1 2 3 4 5
n
Y
n creciente
n decreciente
H. Scaletti - Métodos Numéricos: Introducción 1 - 4
Más importantes desde el punto de vista de los métodos numéricos son los errores de
truncación y redondeo. Éstos son función del procedimiento empleado y de las
características de operación de la computadora. La mayor parte de las computadoras
trabajan internamente con sistemas de numeración binarios, octales o hexadecimales y
tienen dos “tipos” de aritmética: de punto fijo (o “enteros”) y de punto flotante (o “reales”).
La aritmética de punto fijo es exacta, pero está limitada a números enteros y a un rango
pequeño. En consecuencia, la mayor parte de las operaciones se efectúan con la
aritmética de punto flotante. En la aritmética de punto flotante la representación interna
de un número es de la forma: qma 10⋅= , donde mes la mantisa y q el exponente.
Sólo se almacenan t cifras (en base b ) de la mantisa, y por lo tanto cualquier número
puede ser representado con un error relativo que no excede 121 −tb (habitualmente entre
10-6 y 10-15). Para q se usa un número finito de posiciones de memoria y en
consecuencia existe un “rango” aceptable (en general muy grande) para los números con
punto flotante.
Las operaciones aritméticas en punto flotante tienen propiedades algo diferentes de
aquellas correspondientes en la aritmética “exacta”. Así por ejemplo, la suma (o resta)
no es estrictamente asociativa.
0101234567.0 ⋅=a 410123567.0 ⋅=b
bc −=
El esquema siguiente indica como se efectúa la suma en “punto flotante”: 4101234567.0 ⋅→b 4100000123.0 ⋅→a (las cuatro cifras finales se recortan)
4101234690.0 ⋅→+ ba 4101234567.0 ⋅−→c
( ) 1230000.0100000123.0 4 =⋅→++ cba
mientras que 0101234567.0)( ⋅=++ acb . El orden de las operaciones sí afecta los
resultados.
Esto es válido también para operaciones de otro tipo. Por ejemplo, las raíces de
022 =++ cbxx podrían obtenerse de: cbbx −±−= 2 . Sin embargo el proceso
alternativo (y teóricamente equivalente):
cbbsignobx −−−= 21 )(
12 x
cx =
tiene mucho menos acumulación de error, especialmente cuando c es pequeño, porque
evita la resta de dos números del mismo orden de magnitud. Considérese, por ejemplo,
la ecuación: 01642 =+− xx . Trabajando con 5 cifras significativas:
321
1 10984.63984.3132102332 −⋅±=+≈+=x
321
2 10016.0984.3132102332 −⋅±=−≈−=x
H. Scaletti - Métodos Numéricos: Introducción 1 - 5
El error relativo en 2x es muy grande. La resta se ha hecho en forma exacta; la causa
del error está más bien en el redondeo previo de la raíz cuadrada. Si en cambio se toma
12 1 xx = se obtiene:
0000005.0015629.010
2
1984.63
1
32 ±=
⋅±=
−x
con un error relativo del mismo orden que el de 1x .
Finalmente, deben mencionarse errores humanos y errores de la computadora. Estos
últimos son prácticamente inexistentes, los primeros son en cambio la causa de muchos
resultados inesperados.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 1
2. ÁLGEBRA LINEAL
2.1 Definiciones
Una matriz ΑΑΑΑ = (aij), de orden n x m, es un conjunto de números dispuestos en n filas y m
columnas.
=
nmnnn
m
m
m
a....aaa
.....
a....aaa
a....aaa
a....aaa
321
3333231
2232221
1131211
A
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
dimensión n:
=
3
2
1
b
b
b
Mb
Si en cambio n = 1, se tiene una matriz fila: [ ]mccc K21=c . Si n = m se dice que
la matriz es cuadrada (de orden n). Por ejemplo:
=
25681161
642781
16941
4321
A
=
4
3
2
1
000
000
000
000
d
d
d
d
D
=
1000
0100
0010
0001
nI
A, D e In son matrices cuadradas. La matriz [ ]nddddiag K21=D 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 [ ] ( )ijdiag δ== 111 KnI , 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 común.
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 simetría conjugada: ∗= jiij aa (donde *
indica conjugada compleja) se denominan Hermitianas. Por ejemplo:
+−−+++−−
−+
=
43210
323123
1152
02321
ii
iii
iii
ii
H 1−=i
es una matriz Hermitiana. Si todos los elementos de una matriz Hermitiana son reales,
es decir jiij aa = , se tiene una matriz simétrica.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 2
Una matriz cuadrada en la que la mayor parte de los elementos son ceros y los
elementos con valor significativo están agrupados alrededor de la diagonal principal se
denomina matriz banda. Por ejemplo:
−−−
−−−−
−
=
11
121
121
121
11
B
Las líneas paralelas a la diagonal principal se llaman codiagonales. El número total de
diagonal y codiagonales con elementos significativos en el ancho de banda (3 en este
ejemplo). Para matrices simétricas puede también 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 razón entre el número de
elementos con valor significativo y el número 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):
=
nmnnn lLlll
K
Llll
Lll
Ll
321
333231
2221
11
0
00
000
L
=
nm
n
n
n
u
uu
uuu
uuuu
L
K
L
L
L
000
00
0
333
22322
1131211
U
En lo que sigue se usan letras negritas para denotar matrices. Para las matrices
columna y para las matrices filas se usan minúsculas, mientras que para las matrices
rectangulares (incluyendo las matrices cuadradas) se usan mayúsculas. En todos los
casos, los elementos de una matriz se indican en minúsculas.
2.2 Operaciones Básicas con Matrices
Subdivisión o partición . El conjunto de elementos de una matriz A puede ser dividido
en otros más pequeños mediante líneas 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 según 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 ijij ba = 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:
CBA =± ijijij cba =±
La suma (resta) de matrices es asociativa y conmutativa:
( ) ( )CBACBA ++=++ ABBA +=+
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 3
Derivada e integral . Análogamente, puede definirse la derivada de una matriz:
ijij
ba
=∂∂
⇒=∂∂
ααB
A
y la integral de una matriz en forma similar.
Multiplicación 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:
ijij ba =⇒= αα BA
Multiplicación de dos matrices . Dos matrices, A (m x p) y B (p x n) pueden ser
multiplicadas en el orden A B sólo si son conformables para el producto, es decir, si el
número de columnas de A es igual al número de filas de B. El producto C (m x n) es
una matriz cuyos elementos se obtienen de:
njmibacp
kkjikij ,1,1
1
==⋅=∑=
Por ejemplo, si:
=4310
264
135
A
=23
42
51
B
BAC ⋅=
702443510
22322614
14312315
32
21
11
=⋅+⋅+⋅=
=⋅+⋅+⋅==⋅+⋅+⋅=
c
c
c
K
=⇒
7028
4822
3914
C
La multiplicación de matrices es asociativa y distributiva, pero en general no es
conmutativa:
CBACBA )()( ⋅=⋅ ACABCBA +=+ )( BAAB ≠
Siendo el orden de multiplicación 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 BAAB = ; se dice entonces que A y B son conmutables.
Es fácil verificar que el producto de dos matrices triangulares inferiores (superiores) es
otra matriz triangular inferior (superior).
Transposición . La transpuesta AT de una matriz A es aquella cuyas filas son las
columnas de A (y viceversa). Si )( ijT b== BA , entonces jiij ab = :
=63
52
41
A
=
654
321TA
La transpuesta de una matriz simétrica es obviamente la matriz original. Productos del
tipo AAT resultan siempre en matrices simétricas. Lo mismo puede decirse de
productos SAAT si S es simétrica.
Cuando se transpone un producto matricial la secuencia de los factores debe invertirse:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 4
( ) TTTT ABCCAB KK =
Determinante de una matriz cuadrada . Es un número que resulta de:
∑±==!
321detn
nrkji aaaa KAA
Donde cada término 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 término de la suma pueden ser obtenidos como
permutación del orden normal. Según el número de cambios requeridos para esta
permutación sea par o impar se asigna al producto correspondiente el signo + o -. La
suma incluye las n! permutaciones posibles.
Las siguientes propiedades facilitan el cómputo 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):
bcada
bcd
ba
dc
ba−=
−=
0detdet
• En consecuencia, la determinante de una matriz con dos filas (o columnas) iguales (o
proporcionales) es cero. Más aún,si dos o más 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. Considérese por
ejemplo el caso:
=110
121
011
A
A es singular puesto que: ( ) ( ) ( )
=
+
−+
0
0
0
1
1
0
1
1
2
1
1
0
1
1
1
• 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()det()det(det CBACBA KK ⋅=⋅
Así, por ejemplo, si:
=
=
24000
24600
12620
4321
1671
0131
0011
0001
25681161
642781
16941
4321
A
entonces: ( ) ( ) 288246211)det( =⋅⋅⋅⋅=A
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 5
Inversa de una matriz . Si una matriz A es no singular, es posible obtener su “inversa”,
A-1, que satisface:
nIAAAA == −− 11 ( ) AA =−− 11
Obviamente nn II =−1 . 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 inversión de matrices permite efectuar la operación equivalente a la división del
álgebra común.
CABCAB 1−=⇒= (véanse los comentarios del ítem 2.5.5)
Para la inversa de un producto matricial se cumple:
( ) 1111 −−−− = ABCCAB KK
Una matriz Q se denomina ortogonal si: nT IQQ = . Particularmente, si Q es una matriz
cuadrada se tiene entonces que TQQ =−1 . Por ejemplo:
−=
θθθθ
cossen
sencosR
es ortogonal, puesto que:
TRR =
−=−
θθθθ
cossen
sencos1
.
Refiriéndose a una matriz con coeficientes complejos, U, se dice que ésta es unitaria si
IUU =*
2.3 Espacios y Subespacios Vectoriales
Una matriz columna de orden n es un conjunto números que pueden ser interpretados
como componentes de un vector en un espacio de dimensión n.
Se dice que un conjunto de vectores v1 v2 v3 .... v5 son linealmente dependientes si
existen números α1 α2 α3 .... α5, no todos cero, tales que:
055332211 =++++ vvvv αααα K
Alternativamente, puede decirse que los vectores son linealmente dependientes si uno
cualquiera de ellos puede expresarse como combinación lineal de los otros:
∑≠
=ri
iir c vv (y linealmente independientes si esto no es posible).
p vectores linealmente independientes de orden n ( pn ≥ ) conforman una base de un
espacio vectorial de dimensión p. Por otro lado, q vectores, de los que p ( qp ≤ ) son
linealmente independientes, están contenidos en un espacio de dimensión p.
Si los vectores linealmente independientes x1 x2 .... xp constituyen una base de un
espacio vectorial de dimensión p, un sub – conjunto de estos puede considerarse como
base de un sub – espacio contenido en el espacio vectorial original.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 6
Las columnas (o filas) de una matriz rectangular A pueden tratarse como vectores. El
número 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 más
columnas (filas) pueden obtenerse como combinación 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 ingeniería se presenta, en alguna
etapa del trabajo, la solución de un sistema de ecuaciones lineales:
nnnnnnn
nn
nn
nn
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
=++++⋅⋅⋅
=++++=++++
=++++
K
K
K
K
332211
33333232131
22323222121
11313212111
(2.1a)
o bien: bAx =
=
nnnnnnn
n
n
n
b
b
b
b
x
x
x
x
aaaa
aaaa
aaaa
aaaa
MM
K
L
K
K
K
3
2
1
3
2
1
321
3333231
2232221
1131211
(2.1b)
En las secciones siguientes se supone que el sistema de ecuaciones tiene solución
única, es decir, que 0)det( ≠A .
La solución de sistemas de ecuaciones es un buen ejemplo de las diferencias entre las
matemáticas “clásicas” y los métodos numéricos modernos. Así, la Regla de Cramer:
=
nnnjnn
nj
nj
nj
nnnnn
n
n
n
j
aaaa
aaaa
aaaa
aaaa
abaa
abaa
abaa
abaa
x
KK
L
KK
KK
KK
KK
L
KK
KK
KK
21
333231
222221
111211
21
333231
222221
111211
det
det
(2.2)
si bien proporciona fórmulas explícitas es tremendamente ineficiente cuando se trata de
resolver sistemas con más de 3 incógnitas (excepto para casos muy especiales de la
matriz de coeficientes).
Muchos métodos frecuentemente utilizados en ingeniería, como por ejemplo los métodos
de elementos finitos para la solución de ecuaciones en derivadas parciales, resultan en
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 7
el planteamiento de grandes sistemas de ecuaciones lineales. El costo de análisis 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 solución.
2.5 Métodos Directos para la Solución de Sistemas de Ecuaciones Lineales
Este acápite considera métodos que, de no haber errores de redondeo, producen la
solución exacta en un número finito de pasos. Para sistemas Ax = b, en los que A es de
alta densidad, los métodos directos son en general los más eficientes (para las
computadoras actualmente utilizadas). Sin embargo, cuando un gran número de
elementos de A son cero, y en especial cuando A es definida positiva ( 0>AxxT para
cualquier 0≠x ), puede ser más conveniente utilizar un método iterativo en que se
obtiene una secuencia de soluciones aproximadas que convergen a la solución exacta.
2.5.1. Sistemas Triangulares
La solución de sistemas de ecuaciones lineales es particularmente simple cuando la
matriz de coeficientes es triangular. Por ejemplo, considérese un sistema Ux = b en el
que U es triangular superior:
nnnn
nnnnnnn
nn
nn
nn
bxu
bxuxu
bxuxu
bxuxuxu
bxuxuxuxu
==+
=++=+++=++++
−−− 11,1
33333
22323222
11313212111
KK
K
K
K
(2.3)
Si U es no singular ( 0≠iiu para todo i), las incógnitas pueden evaluarse en el orden: n,
n-1, n-2, n-3, ... 2, 1:
nn
nn u
bx = (2.4a)
−= ∑
+=
n
ik
kikiii
i xubu
x1
1 (2.4b)
Este proceso se denomina “sustitución inversa”. Análogamente, para un sistema Lx = b,
en el que L es una matriz triangular inferior no singular ( 0≠iil para todo i), puede
utilizarse una sustitución directa o “reducción”:
11
11 l
bx = (2.5a)
−= ∑
−
=
1
1
1 i
k
kikiii
i xlbl
x (2.5b)
En ambos casos, la solución del sistema requiere n divisiones y ( )121 −nn operaciones
de multiplicación y suma (casi lo mismo que para multiplicar una matriz triangular por un
vector).
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 8
2.5.2 Método de Gauss
Éste es el más importante de los métodos directos para la solución de sistemas de
ecuaciones lineales. La idea básica está en combinar las distintas ecuaciones para ir
eliminando incógnitas en forma sistemática y obtener finalmente un sistema triangular,
fácil de resolver. Considérese el sistema de orden n:
)1()1(3
)1(32
)1(21
)1(1
)1(3
)1(33
)1(332
)1(321
)1(31
)1(2
)1(23
)1(232
)1(221
)1(21
)1(1
)1(13
)1(132
)1(121
)1(11
nnnnnnn
nn
nn
nn
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
bxaxaxaxa
=++++
=++++
=++++
=++++
K
KK
K
K
K
(2.6)
o en forma compacta: Ax = b. En lo que sigue se supone que A es no singular.
Supóngase también que 011 ≠a . Puede entonces eliminarse x1 de la ecuación i si de
ésta se resta la ecuación 1 multiplicada por:
)1(11
)1(1
1a
al ii = (2.7a)
Con ello se obtiene:
)2()2(3
)2(32
)2(2
)2(3
)2(33
)2(332
)2(32
)2(2
)2(23
)2(232
)2(22
)1(1
)1(13
)1(132
)1(121
)1(11
nnnnnn
nn
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
bxaxaxaxa
=+++
=+++
=+++
=++++
K
KK
K
K
K
(2.7b)
donde
)1(11
)1()2(
)1(11
)1()2(
blbb
alaa
iii
jiijij
−=
−= (2.7c)
En forma similar, puede eliminarse x2 de las ecuaciones i = 3,4,..n restando de la
ecuación i la ecuación 2 multiplicada por:
)2(22
)2(2
2a
al ii =
y así sucesivamente hasta obtener el sistema triangular:
)()(
)3(3
)3(33
)3(33
)2(2
)2(23
)2(232
)2(22
)1(1
)1(13
)1(132
)1(121
)1(11
nnn
nnn
nn
nn
nn
bxa
bxaxa
bxaxaxa
bxaxaxaxa
=
=++
=+++
=++++
KK
K
K
K
(2.8)
o en notación matricial: Ux = b.
Los elementos )1(1,1
)3(33
)2(22
)1(11 ,, −
−−n
nnaaaa K que se usan como divisores en esta reducción
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 - Métodos Numéricos: Álgebra Lineal 2 - 9
dominante (es decir, si ∑≠
>ij
ijii aa ) o si A es simétrica (AT = A) y definida positiva
(vTAv > 0 para v arbitrario).
El siguiente ejemplo ilustra el proceso:
=
190
44
10
2
25681161
642781
16941
4321
)1(
)1(
)1(
4
3
2
1
x
x
x
x
Los números indicados a la izquierda (entre paréntesis) son los factores l i1 por los que es
necesario multiplicar la ecuación 1 antes de restarla de la ecuación i, para lograr el
objetivo de eliminar x1 de la segunda y las siguientes ecuaciones.
=
188
42
8
2
25278140
602460
12620
4321
)7(
)3(
4
3
2
1
x
x
x
x
Análogamente:
=
132
18
8
2
1683600
24600
12620
4321
)6( 4
3
2
1
x
x
x
x
=
24
18
8
2
24000
24600
12620
4321
4
3
2
1
x
x
x
x
finalmente:
2432
81262
18246
2424
4321
432
43
4
=+++=++
=+=
xxxx
xxx
xx
x
1
1
1
1
1
2
3
4
−==
−==
x
x
x
x
Para estimar el esfuerzo de cómputo es habitual referirse al número de "operaciones"
requeridas. La costumbre es contar como una operación a la combinación de una suma
(o resta, o simplemente una copia) con una multiplicación (o división). Esta práctica
proviene de las épocas en que el tiempo requerido para efectuar una multiplicación o una
división era un orden de magnitud mayor que el necesario para una suma o una resta,
pudiendo despreciarse estas últimas. La reducción de la matriz de coeficientes requiere
de un número de operaciones de orden 33
1 n . La reducción del segundo miembro y la
sustitución inversa requieren aproximadamente n2 operaciones. Si se tuvieran varios
sistemas de ecuaciones con la misma matriz de coeficientes: Ax = b1, Ay = b2, ... sólo
se requeriría efectuar la reducción de A una vez, por lo que el número de operaciones
sería siempre aproximadamente 33
1 n . Más precisamente, se hacen nnn 3223
31 2 ++
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 10
operaciones para resolver un sistema de n ecuaciones lineales, pero si n es grande sólo
el primer término es importante.
El proceso antes descrito falla cuando se presenta un pivote, )(iiia , igual a cero. Un
ejemplo simple de tal situación es el siguiente:
=
1
2
1
221
211
111
3
2
1
x
x
x
La matriz de coeficientes no es singular y el sistema tiene una solución única
( )T111 −=x . Sin embargo, después del primer paso (efectuado en el orden indicado
anteriormente), se obtiene:
=
0
1
1
110
100
111
3
2
1
x
x
x
y siendo 0)2(22 =a , no es posible proseguir como habitualmente. La solución es en este
caso obvia: intercambiar las ecuaciones (filas) 2 y 3. En general, si 0)( =iiia , algún otro
elemento de la misma columna, )(ijia , debe ser distinto de cero (lo contrario implicaría
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 reducción. Dados los
elementos )(ijia de la columna i, es conveniente escoger como pivote aquel de máximo
valor absoluto, puesto que el uso de pivotes pequeños introduce fuertes errores en la
solución. El ejemplo siguiente es ilustrativo:
=
× −
9
7
11
1103
2
111
x
x
Trabajando con 10 cifras significativas se obtiene:
( )
×−=
×−× −
102
1
10
11
10333333333.37
7
10333333333.30
110000000000.3
x
x
de donde: 72 =x
01 =x
La solución correcta es, sin embargo, 21 =x . Es fácil comprobar que no se presenta
este problema si se evita el pivote pequeño intercambiando previamente las ecuaciones:
=
× − 7
9
1103
11
2
111 x
x
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 máximo valor absoluto entre todos los elementos
de la sub matriz por reducirse. Se intercambian entonces filas (ecuaciones) y columnas
(incógnitas) para continuar el proceso como se ha descrito.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 11
El intercambio parcial es generalmente satisfactorio, desde el punto de vista de la
estabilidad numérica, y requiere bastante menos trabajo que el proceso con intercambio
total.
2.5.3 Descomposición A = LU
Supóngase que A es tal que el proceso de reducción del método de Gauss puede
efectuarse sin necesidad de intercambiar filas o columnas. En tal caso, la
descomposición A = LU donde L es una matriz triangular inferior con 1=iil y U es una
matriz triangular superior, es única. Esto puede probarse fácilmente por inducción. Para
el caso del primer ejemplo:
=
24000
24600
12620
4321
1671
0131
0011
0001
25681161
642781
16941
4321
Los elementos de L son justamente los coeficientes ijl usados durante la reducción; 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 simultáneamente. 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. Aún 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
, Ux = y. Siendo L y U conocidos, estos dos sistemas pueden resolverse en O(n2)
operaciones. L y U pueden almacenarse en las mismas posiciones de memoria que en
la matriz A: Como )()( iii
ikiki aal = se determina con el objeto de hacer 0)1( =+i
kia ,
kil puede almacenarse en las posición de kia . 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 reducción o descomposición en
la distribución de memoria es de la forma:
⇒
nnnnn
n
n
n
nnnnn
n
n
n
ulll
uull
uuul
uuuu
aaaa
aaaa
aaaa
aaaa
K
L
K
K
K
K
L
K
K
K
321
3333231
2232221
1131211
321
3333231
2232221
1131211
Para el ejemplo precedente:
⇒
24671
24631
12621
4321
25681161
642781
16941
4321
En los casos en los que se efectúan 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 - Métodos Numéricos: Álgebra Lineal 2 - 12
donde A’ es la matriz que resulta de efectuar los intercambios mencionados en la matriz
original A.
2.5.4 Otros Métodos Directos
Todos los métodos tratados en esta sección pueden considerarse como variantes del
método de Gauss.
Una posible alternativa es la de calcular los elementos de L y U mediante las fórmulas:
nkkjulauk
pjppkjkjk ⋅⋅⋅+=−= ∑
−
=
,1,1
1
(2.9a)
nkiulau
lk
pkppiki
kkki ⋅⋅⋅+=
−= ∑
−
=
,11 1
1
(2.9b)
en lugar de efectuar “reducciones” como anteriormente. Esta modificación (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 precisión mayor que aquella con la que se almacenan los resultados.
El método de Crout efectúa la factorización 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 están
relacionados con la U de Gauss.
ijd
ur
ud
ii
ijij
iiii
>=
= (2.10)
En particular, para A simétrica: R = LT. Este método no posee ventajas ni desventajas
con relación al de Gauss, bien sea en cuanto a estabilidad numérica y precisión, como
en el número de operaciones necesarias.
Si durante el proceso de reducción se usa la ecuación i para eliminar xi, no sólo de las
ecuaciones que siguen a la i sino también de la ecuaciones precedentes, se tiene el
método de Gauss – Jordan. Para el ejemplo antes considerado:
=
190
44
10
2
25681161
642781
16941
4321
4
3
2
1
x
x
x
x
=
188
42
8
2
25278140
602460
12620
4321
4
3
2
1
x
x
x
x
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 13
−
=
−−
132
18
8
6
1683600
24600
12620
8301
4
3
2
1
x
x
x
x
Nótese que se utilizó la segunda ecuación para reducir no solamente las ecuaciones 3 y
4, sino también la ecuación 1. Análogamente:
−=
−
24
18
10
3
24000
24600
12020
4001
4
3
2
1
x
x
x
x
−
−
=
24
6
2
1
24000
0600
0020
0001
4
3
2
1
x
x
x
x
de donde se obtiene fácilmente la solución.
El método de Gauss- Jordan es más simple de programar, pero requiere casi 1.5 veces
el número de operaciones del método de Gauss tradicional.
Finalmente, para concluir esta sección, debe mencionarse que el método de Gauss es
aplicable también a sistemas de ecuaciones con coeficientes complejos. Por ejemplo:
−+−
=
−++
−
i
i
i
x
x
x
i
ii
i
211
48
24
310
121
012
3
2
1
−+−
=
−+
−
i
i
i
x
x
x
i
i
i
211
35
24
310
110
012
3
2
1
+−
=
+−
3
35
24
100
110
012
3
2
1
i
i
x
x
x
i
i
de donde:
[ ] 1)1(2)24(
2)1(3)35(
3
21
1
2
3
=−−−==+−+=
=
iix
iix
x
2.5.5 Inversión de Matrices
Si la inversa, A-1, de una matriz A se conoce, la solución de un sistema Ax = b puede
escribirse x = A-1b. Podría entonces parecer conveniente determinar A-1, en especial si
se tienen varios sistemas de ecuaciones con la misma matriz de coeficientes. Sin
embargo, la solución puede ser obtenida con mucho menos operaciones – y en general
con mucha más precisión – utilizando la descomposición A = LU. La solución de los dos
sistemas triangulares Ly = b y Ux = y requiere sólo O(n2) operaciones (por cada
columna de b ó x). Por otro lado, la multiplicación A-1b también demanda O(n2)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 14
operaciones. Sin embargo, la determinación de A-1 requiere aproximadamente el triple
de trabajo que para obtener L y U. El número de operaciones necesarias para obtener
la inversa de una matriz cuadrada (no simétrica) de orden n es 12 23 +−+ nnn .
No obstante esto, en algunos casos se necesita la inversa en forma explícita. 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 método de Gauss
con este objeto:
=413
312
111
A
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:
413
312
111
100
010
001
−−
120
110
111
−−
103
012
001
−−
100
110
201
−−
−
121
012
011
100
010
001
1
121
111
231−=
−−−
−A
Alternativamente, si la descomposición A = LU de una matriz A se conoce, la inversa
puede obtenerse de A-1 = U-1L-1, también en O(n2) operaciones. Si en los cómputos
para L y U se hacen intercambios de filas, el producto U-1L-1 resulta la inversa de una
cierta matriz A’. La matriz A-1 puede obtenerse a partir de (A’)-1 intercambiando
columnas en secuencia inversa a los cambios de fila durante el proceso.
Para la matriz antes considerada:
LUA =
−−
=
100
110
111
123
012
001
413
312
111
La inversa de una matriz triangular es otra matriz del mismo tipo, fácil de determinar.
Para una matriz triangular inferior, L, cada columna de la matriz inversa L-1 puede ser
obtenida por sustitución directa o “reducción”: LY = In.
0=ijy ji < (2.11a)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 15
−= ∑
−
=
11 i
jkkjikij
iiij yl
ly δ ji ≥ (2.11b)
En forma análoga, la inversa, U-1, de una matriz triangular superior, U, es también una
matriz triangular superior. Cada fila i, puede determinarse mediante UZ = In:
−= ∑
−
=
11 j
ikkjikij
jjij uz
uz δ ji ≤ (2.12a)
0=ijz ji > (2.12b)
Para las matrices L y U del ejemplo considerado:
−−−=
−−= −−
100
110
211
121
012
00111 UL
−−−
−== −−−
121
111
231111 LUA
2.5.6 Casos Especiales
Matrices Simétricas Definidas Positivas.
Para una matriz simétrica: )1()1(kjjk aa = . Si se efectúa la reducción de Gauss sin
intercambio de filas y/o columnas se tiene también que: )()( ikj
ijk aa = para ji < , nk ≤ .
En otras palabras, la sub – matriz que debe aún reducirse en un paso dado es también
simétrica. Esto puede probarse por inducción, teniendo en cuenta las condiciones
iniciales de simetría y además que:
)()(
)()()()()1( i
ijiii
ikii
kji
ijkii
kji
kj aa
aaalaa −=−=+ (2.13a)
)()(
)()()()()1( i
ikiii
ijii
jki
ikjiijk
ijk a
a
aaalaa −=−=+ (2.13b)
Puede observarse que, si los coeficientes en la etapa i son simétricos, aquellos en la
etapa 1+i también lo son, puesto que se obtienen operando del mismo modo con
números iguales.
Considérese, por ejemplo, el sistema de ecuaciones con coeficientes simétricos:
=
−−−
−−−
0
0
1
0
5410
4641
1464
0145
4
3
2
1
x
x
x
x
En las sucesivas etapas del proceso de eliminación, las sub matrices que quedan por
reducir siguen siendo simétricas:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 16
=
−−−
−−
0
0
1
0
5410
40
10
0145
4
3
2
1
529
516
516
514
x
x
x
x
−
=
−−
−−
145
78
4
3
2
1
1465
720
720
715
516
514 1
0
00
00
10
0145
x
x
x
x
=
−−
−
6778
4
3
2
1
65
720
715
516
514 1
0
000
00
10
0145
x
x
x
x
de donde
=
7
12
13
8
5
1
4
3
2
1
x
x
x
x
La simetría de la matriz por reducirse permite hacer: )()( iii
iikki aal = (utilizando )(i
ika en
lugar de )(ikia ) y restringir los cálculos de: )()()1( i
ijkii
kji
kj alaa −=+ a las columnas njk ≤≤ ,
en lugar de nji ≤≤ . El número de operaciones para la reducción es entonces
)( 26
1 nO , aproximadamente la mitad que para el caso general.
También los requerimientos de memoria pueden reducirse, almacenando los coeficientes
de la matriz en un arreglo monodimensional. Para el caso de una matriz simétrica de
alta densidad el siguiente esquema de numeración de los coeficientes es apropiado:
+ )1(
15
1410
1396
12853
117421
21 nn
MM
MM
MM
MM
MM
MM
Es evidente que intercambios de filas y columnas destruyen la simetría, 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:
0)( >kiia nki ≤≥ ,1
)()(2)( kjj
kii
kij aaa ≤ njik ≤≤ , (2.14)
)()1( 2 kii
kii aa ≤+ nik ≤<
Estas condiciones garantizan que no se presentan pivotes pequeños.
Para el caso de matrices simétricas definidas positivas puede también utilizarse el
método de Cholesky. Éste método efectúa la descomposición A = RTR, donde R es una
matriz triangular superior cuyos elementos pueden obtenerse (por filas) de:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 17
21
1
1
2
−= ∑
−
=
i
ppiiiii rar (2.15a)
L,2,11 1
1
++=
−= ∑
−
=
iijrrar
ri
ppjpiij
iiij (2.15b)
Para el ejemplo anterior se obtiene:
( ) == 21
1111 ar 2.2360
== 111212 rar -1.7888
== 111313 rar 0.44721
== 111414 rar 0
( ) =−= 21
2122222 rar 1.6733
( ) =−= 2213122323 rrrar -1.9123
( ) =−= 2214122424 rrrar 0.5976
( ) =−−= 21
223
2133333 rrar 1.4639
( ) =−−= 33242314133434 rrrrrar -1.9518
( ) =−−−= 21
234
224
2144444 rrrar 0.9129
es decir:
−−
−
=
9129.0000
9518.14639.100
5976.09123.16733.10
04472.07888.12360.2
R
El sistema Ax = b puede entonces rescribirse como RTRx = b o bien RTy = b; Rx = y
Resolviendo el primer sistema triangular:
=
2781.1
7808.0
5976.0
0
y
y finalmente:
=
7
12
13
8
5
1x
Puede anotarse que R está relacionada con las L y U de Gauss mediante RT= LD;
R = D –1U; donde D = diag ( )nnuuu L2211 .
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 18
Matrices Banda.
Los sistemas de ecuaciones en que los coeficientes forman matrices banda son
frecuentes. Tales sistemas se resuelven eficientemente por el método de Gauss y otros
similares, ya que éstos conservan la estructura de banda de las matrices: A = LU:
−−
−−
−−
−−
=
−−−
−−−−
−
10000
11000
01100
00110
00011
11000
01100
00110
00011
00001
21000
12100
01210
00121
00011
Nótese que A–1 = U–1L–1 no es una matriz banda:
=−
11111
12222
12333
12344
12345
1A
y por lo tanto no conviene hallar 1−A en forma explícita.
Particularmente simples de tratar son los sistemas con matrices banda simétricas 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:
)21()14(
)20(
7
136
19125
18114
17103
1692
1581
⋅⋅⋅⋅
⋅⋅⋅⋅
⋅⋅⋅
=A
Las posiciones tales como 14, 20 y 21 no se usan, pero se requieren para tener un
número fijo de coeficientes en cada codiagonal, lo que facilita la programación. Siendo
el ancho de la semibanda, m, mucho menor que el número 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:
⋅⋅⋅⋅⋅⋅
⋅⋅⋅⋅
⋅⋅⋅
=
20
1917
181612
15119
141086
13753
421
A
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 19
Esta forma de almacenamiento es más 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 más referidos durante el proceso de solución). Nótese
que al aplicar el método 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
más memoria que aquella en la situación inicial.
Se necesitan nm posiciones de memoria (donde n es el orden de la matriz y m << n el
ancho de semibanda), mucho menos que las n2 posiciones para la matriz completa o las
( )121 +nn para una matriz simétrica de alta densidad. Por otro lado, la reducción de la
matriz de coeficientes demanda sólo ( )22
1 nmO operaciones, ya que:
0=ijl excepto para mjij +<≤
0=iju excepto para miji +<≤
Esto debe compararse con ( )36
1 nO operaciones para reducir una matriz simétrica de
alta densidad. La reducción del segundo miembro y la sustitución inversa requieren
( )nmO 2 , en lugar de ( )2nO operaciones. En la práctica, rara vez se tiene un ancho de
banda constante, pero aún así estos estimadores son útiles, si se considera m como la
media cuadrática de los anchos de semibanda en las ecuaciones.
Un caso especial es aquel en que la matriz de coeficientes es “tridiagonal”:
=
−−
−
−−−
n
n
n
n
nn
nnn
c
c
c
c
c
x
x
x
x
x
ab
bab
bab
bab
ba
1
3
2
1
1
3
2
1
1
112
332
221
11
MMO (2.16)
Los únicos coeficientes significativos son aquellos de la diagonal principal y de dos
codiagonales, es decir, dos líneas 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:
=
−
−
−
−
−−−
n
n
n
n
nn
nnn
r
b
r
br
br
br
q
q
q
q
ab
bab
bab
bab
ba
1
4
33
22
11
1
2
2
1
1
112
332
221
11
1
1
1
1
1
O
OOOO
La determinación de los iq y ir es muy simple:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 20
iiii
iii
bqar
n,,ia/bq
ar
−=−==
=
++ 11
11
121 L (2.17a)
y, considerando L y = c:
12111
11
−=−==
++ n,,iyqcy
cy
iiii L (2.17b)
de donde se obtiene x resolviendo U x = y:
1211 ,,nir/)xby(x
r/yx
iiiii
nnn
L−=−==
+
Para resolver un sistema de n ecuaciones lineales con matriz de coeficientes tridiagonal
se requieren sólo 45 −n operaciones. Como se indicó anteriormente, se cuenta como
una operación la combinación de una multiplicación o división con una suma, resta o
almacenamiento del resultado.
Grandes sistemas de ecuaciones lineales
(con matrices de coeficientes banda, simétricas 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 términos relativos) muy lento y en lo posible debe tratar de minimizarse su uso.
Es frecuente subdividir la información de sistemas de ecuaciones excesivamente
grandes en “bloques” de una o más ecuaciones (o columnas).
Los datos de cada bloque se almacenan en disco. Éstos son leídos a la memoria
principal conforme van siendo utilizados y regrabados en la memoria auxiliar una vez
operados. La solución del sistema de ecuaciones por el método de Gauss (u otro similar)
requiere mantener en memoria principal la información de por lo menos dos bloques en
forma simultánea. Así por ejemplo, durante el proceso de reducción, 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 pequeña), lo que implica que, estando el
bloque k en memoria, los bloques sucesivos deben ser leídos, parcialmente reducidos, y
regrabados en secuencia. Algo similar ocurre con el proceso de sustitución inversa.
2.6. Errores en la Solución de Sistemas de Ecuaciones Lineales
En la solución práctica de grandes sistemas de ecuaciones lineales se realizan millones
de operaciones y en cada una ocurren errores de redondeo, ¿Cómo afectan estos
errores a los resultados? ¿Cómo puede estimarse la magnitud del error en la solución?
Podría 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! Considérese por ejemplo:
A =
659.0913.0
563.0780.0 b =
254.0
217.0
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 21
Y supóngase que se ha resuelto A x = b obteniendo x1 = (0.341 -0.087)T ¿Qué tan
buena es esta solución?
r1 = b – A x1 = (10-6 0)T
Por otro lado si se afirma que la solución es x2 = (0.999 -1.001)T se obtiene el residuo.
r2 = b – A x2 = (1.343x10-3 1.572x10-3)T
¿Es x1 mejor solución que x2? No. La solución exacta es x = (1 -1)T.
Aunque la magnitud del vector residuo r = b – A x no da una indicación directa del error
en x, es posible utilizar residuos para estimar el error e incluso para corregir la solución.
Esto se discute más adelante.
2.6.1 Normas de Vectores y Matrices
Con el propósito de discutir los errores al resolver sistemas de ecuaciones lineales, se
define como norma (o medida) de un vector:
∞≤≤++= pxx pppp
1)( /121 Kx (2.18a)
Dos casos particulares son de interés:
2/122
212
)( K++= xxx (norma Euclidiana) (2.18b)
ixmáx=∞x (máximo valor absoluto) (2.18c)
Es relativamente fácil probar que:
0≥x sólo hay igualdad si x = 0
xx aa = (2.19)
yxyx +≤+
Estas propiedades son familiares en relación a la norma Euclidiana o “longitud” de un
vector.
La norma de una matriz cuadrada, A , puede ser definida en forma consistente con la
definición de norma de un vector:
p
p
pmáx
x
xAA = ( )0x ≠ (2.20a)
La norma 2
A es 2/1
máxλ , donde máxλ es el máximo valor característico de ATA (ver
capítulo 3). Por otro lado:
∑=
∞=
n
1j
iji
amáxA (2.20b)
Estas normas satisfacen condiciones similares a las normas de vectores. Además:
BABA ≤ (2.21)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 22
2.6.2 Condicionamiento de una matriz:
En esta ecuación se analizan los efectos de una pequeña perturbación Aδ en la matriz
A, o de una perturbación bδ en b.
Si x es la solución exacta de A x = b, cuando se considera la matriz de coeficientes
AA δ+ la solución resulta xx δ+ :
bxxAA =δ+δ+ )()( (2.22)
de donde:
)(1 xxAAx δ+δ−=δ −
tomando normas:
xxAAx δ+δ≤δ −1
y dividiendo entre xx δ+ :
( )A
AA
xx
x δΚ≤
δ+δ
(2.23)
donde ( ) 1−= AAAK (2.24)
es el número de condicionamiento de la matriz A. Dado que 2/1
2
1−− λ= mínA , donde
minλ es el menor valor característico de la matriz ATA, puede escribirse:
( ) ( ) 2/1
2 / mínmáxK λλ=A (2.25)
Por otro lado: para una perturbación bδ en b:
bbxxA δ+=δ+ )( (2.26)
de donde:
bAx δ=δ −1
bAx δ≤δ −1
y dado que b = A x, lo que implica A
bx ≥
se obtiene:
( )b
bA
x
x δ≤
δK (2.27)
Las ecuaciones (2.23) y (2.27) indican que, si ( )AK es grande, pequeños cambios en A
o en b pueden originar cambios importantes en la solución.
Si se tienen errores relativos de orden ∈ tanto en A como en b, (2.23) y (2.27) pueden
combinarse, para escribir:
xAx )(2 K∈≤δ (2.28)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 23
Los errores de redondeo introducidos en el proceso de solución pueden ser
considerados como equivalentes a perturbaciones en las matrices A y b iniciales. ( )AK
es también un buen indicador de los efectos de los errores de redondeo en la solución.
La expresión (3) implica que si A y b están dadas con t cifras significativas, el número de
cifras que puede esperarse sean correctas en la solución, s, puede estimarse mediante:
[ ])(log10 AKts −≥ (2.29)
Para el ejemplo precedente: ∞A = 0.913 + 0.659 = 1.572
además:
−−
=−
780.0913.0563.0659.0
1061A
de donde ∞
−1A = 0.913 x 106 + 0.780 x 106 = 1.693 x 106
( )∞
−∞∞ = 1AAAK = 1.572 x 1.693 x 106 = 2.7 x 106
Alternativamente, trabajando con normas Euclidianas:
=
751250.0040807.1
0040807.1441969.1AAT
cuyos valores característicos son máxλ = 2.1932, mínλ = 4.56 x 10-13
de donde ( ) ( ) 2/1mínmáx2 / λλ=AK = 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 simétrica, por lo que fue necesario
evaluar los valores característicos de AAT . Si A fuera simétrica, los valores
característicos de AAT serían exactamente los cuadrados de los valores característicos
de A.
2.6.3 Errores de redondeo en la solución de sistema s de ecuaciones lineales por el método de Gauss (y otros métodos de elimina ción similares)
Las relaciones teóricas utilizadas en la reducción son:
)()( / iii
ikiki aal =
)()()1( iijki
ikj
ikj alaa −=+
(2.30)
)()()1( iiki
ik
ik blbb −=+
Sin embargo, como resultado de los errores de redondeo, los valores calculados (aquí
indicados en barras) satisfacen:
)1)(/( 1
)()(δ+=
i
ii
i
kiki aal
)1))(1(( 32
)()()1(δ+δ+−=
+ iijki
ikj
ikj alaa (2.31)
)1))(1(( 54
)()()1(δ+δ+−=
+ i
iki
i
k
i
k blbb
donde ∈≤δ i , siendo ∈ el máximo error relativo de redondeo. Alternativamente puede
escribirse:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 24
)()()(/)(
iii
iki
ikiki aeal +=
)()()()1( ikj
iijki
ikj
ikj ealaa +−=
+ (2.32)
)()()()1(
ik
i
iki
i
k
i
k eblbb +−=+
y puede probarse que:
)()(
i
kii
ki ae ∈≤
∈≤+ )1()(
)( ,.3i
kj
i
kji
kj aamáxe (2.33)
∈≤+ )1()(
)( ,.3i
k
i
ki
k bbmáxc
Por otro lado, considerando que . kjkj aa =)1(, 1=kkl , pueden utilizarse las expresiones
precedentes para escribir kja en función de los )1(
, ijki al . (es decir los elementos de las
matrices L y U). Se obtiene así:
( ) ∑∑==
=+s
i
iijki
r
i
ikjkj alea
1
)(
1
(2.34a)
donde r = min (k-1,j), s = min (k, j). Por otro lado, teniendo en cuenta que kk bb =)1(, se
obtiene:
( ) ∑∑=
−
=
=+k
i
i
iki
k
i
ikk blcb
1
)(1
1
(2.34b)
Esto demuestra que las matrices calculadas:
)( kil=L
)()(i
ija=U
)( )(iib=y
No son factores exactos de A y b sino de A + ∆A y b + ∆b:
ULAA =∆+
yLbb =∆+
Los elementos de ∆A son sumatorias de los ( )ikje ; los elementos de ∆b son sumatorias
de los ( )ikc . Las expresiones (4) dan una medida de estas perturbaciones. Obsérvese
que las expresiones (2.23) y (2.27) son aplicables también en este caso, y un valor de
)(AK alto indica que los errores de redondeo tendrán efectos importantes en la
solución.
Por otro lado, las expresiones (2.33) y (2.34) indican que es conveniente limitar el
crecimiento de los )(ikja , )(i
kb . Este es el propósito al realizar intercambios de filas y/o
columnas.
Finalmente, debe mencionarse que en el proceso de sustitución inversa, para obtener x
resolviendo yxU = , los errores acumulados son despreciables en términos relativos a
los que resultan de la reducción.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 25
Las ecuaciones precedentes permiten una estimación a-posteriori de la magnitud del
error. A-priori puede establecerse (1):
)1(
,
)(
,,
ijji
kij
kjin
amáx
amáxg = (2.35)
teniendo que:
12 −≤ nng para intercambio parcial (filas)
n 25.08.1 Lnn ng ≤ para intercambio total.
Estos límites son teóricos. Nótese por ejemplo que para un sistema de orden 100 se
tendría 29103.6 xgn ≤ para intercambio parcial y 18≤ng para intercambio completo, lo
que justificaría el trabajo adicional necesario para la segunda alternativa. Sin embargo,
en la práctica rara vez se observa un ng mayor que 10, aún con intercambio parcial.
Para matrices simétricas definidas positivas se tiene que 1≤ng .
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 numeración utilizado, los
resultados son los mismos (habida cuenta de los cambios de unidades).
Sin embargo las unidades utilizadas pueden afectar la selección de pivotes,
especialmente si sólo se hace intercambio parcial.
En tal caso, es recomendable equilibrar las ecuaciones. Para las incógnitas deben
seleccionarse escalas que reflejen su importancia relativa. Las ecuaciones deben
multiplicarse por factores D1 tales que:
11
=≤≤ ij
njamáx i=1,2,3,...n
2.6.5 Método iterativo para mejorar la solución
Considérese el sistema de ecuaciones bAx = para el que se tiene la solución
aproximada )0(x . Si x es la solución exacta, se tiene que:
)0()0( xxx ∆+=
y entonces:
)0()0( rxA =∆
donde: )0()0( Axbr −=
Al determinar . )0(x . se obtienen los factores triangulares aproximados L y U tales que
AAUL ∆+= , siendo A∆ pequeño. Esta descomposición requiere aproximadamente
( )33
1 nO operaciones.
A partir de )0(x puede determinarse )0(r en ( )2nO operaciones y resolverse:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 26
rzL =
zxU =∆
también en ( )2nO operaciones. Dado que L y U no son los factores exactos de A , y
además se introducen nuevos errores de redondeo, es necesario iterar:
)()( ii xAbr −= )()( ii rzL = (2.36)
)()( ii zxU =∆ )()()1( kkk xxx ∆+=+
Pero nada se ganaría si las operaciones se hicieran siempre con el mismo número de cifras significativas empleadas en los cómputos originales. Si los ija ib ix están dados con t dígitos, el cómputo de los residuos:
∑=
−=n
j
kjiji
ki xabr
1
)()(
debe hacerse con t2 dígitos (para minimizar errores de cancelación). Sin embargo, el
almacenamiento de los resultados puede hacerse en precisión simple, es decir, con t
dígitos.
Los vectores )1(x∆ y )2(x permiten también estimar el número de condicionamiento:
( ))2(
)1(1
x
xA
∆
ε≤κ
n (2.37)
donde n es el orden del sistema y ∈ es el máximo error relativo de redondeo (al operar
en precisión simple). Si )1(x∆ no es mucho menor que )1(x , o lo que es lo mismo,
si ( ) εκ nA no es mucho menor que 1, el proceso iterativo no es adecuado. En tal caso,
la única alternativa sería operar con mayor precisión en toda la solución.
Considérese, por ejemplo, el sistema de ecuaciones:
−=
.0
1
.0
623
2117
375
3
2
1
x
x
x
y supóngase que la computadora opera en base 10 con 3 cifras significativas. La
factorización de la matriz de coeficientes, ULA = , resulta en:
−
−=
17.0
20.220.1
00.300.700.5
00.183.160.0
00.140.1
00.1
623
2117
375
De la reducción del segundo miembro, es decir la solución de byL = se obtiene:
( )T83.100.100.0 −−=y
Finalmente por sustitución inversa, es decir resolviendo yxU = , se determina
( )Tx 8.106.203.35)1( −−=
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 27
Para esta solución aproximada se tiene el residuo:
( )T100.0100.0100.0)1()1( =−= xAbr
El cómputo de los ∑− jiji xab deben hacerse en doble precisión, almacenándose los
resultados ir en precisión simple.
Resolviendo los dos sistemas triangulares: )1(rzL = y zxU =∆ )1( se obtiene:
( ) T195.0391.0685.0)1( −−=∆x
Y entonces:
( ) T0.110.210.36)1()1()2( −−=∆+= xxx
(redondeado a 3 cifras significativas). Este resultado es mejor que )1(x (en este caso el
resultado es exacto, aunque debería decirse que por accidente).
Puede verificarse fácilmente que la matriz A del ejemplo anterior es bien condicionada.
Por otro lado, considérese nuevamente el sistema:
=
254.0
217.0
659.0913.0
563.0780.0
2
1
x
x
para el cual se obtuvo anteriormente ( )Aκ de orden 2 x 106. Supóngase que se opera
en base 10 con 6 cifras significativas:
⋅
=
−6103
000563.0000780.0
00000.105117.1
00000.1
659.0913.0
563.0780.0
se pierden cifras significativas en el elemento 22a de esta última matriz al restar dos
números que solo difieren en la última cifra almacenada). De aquí resultan:
( ) T333333.0803518.0)1( −=x
( )T66)1( 10692.010139.0 −− ⋅⋅=r
No obstante ser este residuo “pequeño”, se obtiene la corrección:
( ) T433176.0348127.0)1( −=∆x
( ) T900156.0455391.0)1()1()2( −=∆+= xxx
y es obvio que este resultado difiere más de la solución exacta ( ) T11 −=x que la
aproximación )1(x antes obtenida. ¡Para resolver este sistema de ecuaciones se
requiere trabajar con un mínimo de 8 cifras significativas!
2.7.Métodos Iterativos para la Solución de Sistemas de Ecuaciones Lineales
En los acápites siguientes se tratan dos tipos distintos de métodos iterativos. Estos
procesos pueden ser muy eficientes cuando la matriz de coeficientes, A , es de baja
densidad, más aún si la evaluación de productos de la forma Av no requiere la previa
determinación y el almacenamiento de A en forma explícita.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 28
2.7.1 Métodos de Relajación
Estos procedimientos son adecuados sólo cuando la diagonal principal de la matriz de
coeficientes es dominante. En general, se considera una aproximación inicial, tal como
0x =)0( , y ésta es sucesivamente mejorada hasta obtener una solución suficientemente
precisa.
Considérese el sistema de orden n : bxA = , con 0≠iia para todo i . En el método de
Jacobi se calculan las aproximaciones L)3()2()1( ,, xxx mediante:
−= ∑
≠
+
ij
kjiji
ii
ki xab
ax )()1( 1
(2.38)
La aproximación es arbitraria; con frecuencia 0x =)0( . Si los )1( +kix se determinan en el
orden habitual, al determinar )1( +krx ya se han previamente obtenido las nuevas
aproximaciones )1(1
)1(2
)1(1 , +
−++ k
rkk xxx L . Sin embargo, en el método de Jacobi no se hace
uso de estas nuevas aproximaciones hasta la iteración siguiente, difiriendo en esto del
método de Gauss - Seidel:
−−= ∑∑
+=
−
=
++n
ij
kjij
i
j
kjiji
ii
ki xaxab
ax
1
)(1
1
)1()1( 1 (2.39)
Nótese que sólo se requiere almacenar las últimas aproximaciones a los ix .
En el ejemplo siguiente se usan las dos alternativas:
−−
=
−−−−−−
−−
75.2
1
75.2
1
5110
1501
1051
0115
4
3
2
1
x
x
x
x
La solución exacta es
( )T50.025.050.025.0 −−=x
Con el método de Jacobi se obtienen las sucesivas aproximaciones:
k )(1
kx )(2kx )(
3kx )(
4kx
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 - Métodos Numéricos: Álgebra Lineal 2 - 29
k )(1
kx )(2kx )(
3kx )(
4kx
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 método de Gauss – Seidel:
k )(1
kx )(2kx )(
3kx )(
4kx
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 sobrerelajación:
)()()1( ki
ki
ki rxx β+=+ (2.40a)
−−= ∑∑
=
−
=
+n
ij
kjij
i
j
kjiji
ii
ki xaxab
ar )(
1
1
)1()( 1 (2.40b)
El valor óptimo de β depende de A e incluso de la aproximación )(kx . Cuanto mayores sean los valores absolutos de los términos de la diagonal principal, respecto a la suma de los valores absolutos de los restantes coeficientes de la misma fila, más se aproxima β a 1. Para el ejemplo precedente, utilizando 05.1=β se obtienen:
k )(1
kx )(2kx )(
3kx )(
4kx
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 métodos no son necesariamente más precisos que los procesos de eliminación. El
ejemplo al inicio de la sección 2.6 muestra que si el sistema es mal condicionado puede
aceptarse como correcta una solución totalmente equivocada, pero con la que se tiene
un residuo “pequeño”.
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 30
2.7.2 Convergencia
En esta sección se analiza la convergencia de los métodos de relajación. Un paso típico
en la solución de bxA = puede escribirse como:
fxGx +=+ )()1( kk (2.41)
Esto puede verse más fácilmente si se considera la descomposición:
( )si TITDA ++= (2.42)
donde D es una matriz diagonal, con elementos iia ; iT y sT son matrices triangulares,
inferior y superior respectivamente, con ceros en la diagonal principal, cuyos coeficientes
son los iiij aa . Por ejemplo:
−+
+
−
=
−−
00
0
10
01
0
00
20
02
21
1221
21
Con esta notación, para el método de Jacobi se tiene:
( ) bDxTTx 1)()1( −+ ++−= ksi
k (2.43a)
es decir: ( )si TTG +−= (2.43b)
mientras que para el método de Gauss-Seidel puede escribirse:
bDxTxTx 1)()1()1( −++ +−−= ks
ki
k (2.44a)
y por lo tanto: ( ) si TTIG 1−+−= (2.44b)
De modo similar, para el método de sobre relajación se tiene:
( ) ( )[ ]si TITIG β−β−β+= − 11 (2.45)
Por otro lado, dado, que la solución exacta, x , debe cumplir la ecuación (2.41), se tiene
que:
fxGx += (2.46)
y restando (2.46) de (2.41):
( ) ( )xxGxx −=−+ )()1( kk (2.47a)
de donde:
( ) ( ) ( ) ( )xxGxxGxxGxx −==−=−=− +−+ )0(1)1(2)()1( kkkkL (2.47b)
Además, si nφφφφ L321 ,, son los vectores característicos de la matriz G , a los que
corresponden los valores característicos nλλλλ L321 ,, , puede escribirse:
( ) nn φα++φα+φα+φα=− L332211)0( xx
ya que los vectores característicos constituyen una base completa. Es relativamente
fácil probar que:
( ) ( ) nknn
kkkkk φλα++φλα+φλα+φλα=−=− L333222111)0()( xxGxx (2.47c)
Para tener convergencia:
( ) 0xx =−∞→
)(k
kLim (2.48a)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 31
y por tanto se requiere 1<λ i para todo i , o lo que es lo mismo:
( ) 1≤λ=ρ ii
máxG (2.48b)
( )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 ( )[ ]Gρ− 10log cifras decimales exactas adicionales en cada
paso.
No es práctico determinar con gran precisión los valores característicos de G (esto
significaría más trabajo que resolver el sistema de ecuaciones), pero ciertos límites
pueden ser fácilmente establecidos.
Para el método de Jacobi: iiijij aag −= si ji ≠ (2.49a)
0=iig
y utilizando el teorema de Gerschgorin (véase el capítulo relativo a la evaluación de
valores y vectores característicos):
( ) ∑≤λ=ρj
iji
ii
gmáxmáxG o bien ∑i
jij
gmáx (2.49b)
con lo que la condición de convergencia ( ) 1≤ρ G puede rescribirse:
∑≠=
>n
jii
ijjj aa1
∑≠=
>n
ijj
ijii aa1
(2.49c)
Estas son condiciones suficientes pero no necesarias. La convergencia es más rápida
cuanto más fuertes son las desigualdades.
Para el método de Gauss – Seidel ( ) ( )[ ]iii
srmáx −=ρ 1G (2.50a)
donde:
∑+=
>n
ij ii
ij
i a
ar
1
∑−
=
>1
1
i
j ii
iji a
as (2.50b)
y finalmente se concluye que las condiciones para la convergencia son las mismas que
para el método de Jacobi (aunque en general el método de Gauss -Seidel converge más
rápidamente).
Un análisis similar del método de sobre relajación permite establecer la condición
adicional: 20 ≤β<
2.7.3 Métodos de Máxima Gradiente y de Gradiente Co njugada
En la primera parte de esta sección se consideran métodos para la solución de sistemas
de ecuaciones bxA = con matriz A simétrica y definida positiva, es decir, 0>vAvT
para todo vector v no nulo.
Considérese la función:
bxxAxx TTf −=21)( (2.51)
Si x es la solución exacta de bxA = se tiene que:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 32
( ) ( )( ) ( )xxAxx
bxxAxbxxAxxx
−−=
−−−=−T
TTTTff
21
21
21)()(
Pero, siendo A definida positiva: ( ) ( ) 021 ≥−− xxAxx T
Y por lo tanto 0)()( ≥− xx ff , es decir, )()( xx ff ≥ (2.52)
La igualdad solo se da si xx = . La solución de bxA = es entonces equivalente a una
minimización de )(xf .
Dada la aproximación inicial )0(x , a la que corresponden el residuo )0()0( xAbr −= y el
valor )(xf , debe determinarse una nueva aproximación, )1(x , tal que )()( )0()1( xx ff < .
Para reducir el valor de )(xf lo más rápidamente posible, la corrección debe hacerse en
la dirección de máxima gradiente. Debe entonces determinarse esta dirección, z , tal
que:
0
)0( )(=α
α+α
zxfd
d
sea máxima (en valor absoluto). Siendo bxxAxx TTf −=21)( , puede escribirse:
)(
)()()()()0()0(2
21
)0()0()0(21)0(
xrzzAz
bzxzxAzxzx
f
fTT
TT
+α−α=
α+−α+α+=α+ (2.53a)
de donde:
)0(
0
)0( )( rzzx Tfd
d −=α+α =α
Esto significa que debe tomarse la dirección )0(rz = (2.53b)
Ahora puede determinarse 0α de modo que )( )0(0
)0( rx α+f sea un mínimo.
Rescribiendo (2.53a) con )0(rz = y derivando con respecto a α :
0)( )0()0()0()0()0()0( =−α=α+α
rrrArrxTT
fd
d
de donde:
)0()0(
)0()0(
0rAr
rrT
T
=α
(dado que A es definida positiva, nunca se presenta el caso 0)0()0( =rArT
)
Finalmente:
)0(0
)0()1( rxx α+=
El proceso puede repetirse en sucesivos ciclos:
)()( kk xAbr −= (2.54a)
)()(
)()(
kTk
kTk
krAr
rr=α (2.54b)
)()()1( kk
kk rxx α+=+ (2.54c)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 33
Este método es siempre convergente, pero no puede conocerse a priori en cuantos
ciclos se tendrá la precisión requerida.
En los párrafos siguientes se estudia una modificación de este proceso, el método de
Gradiente Conjugada, para el que – al menos en teoría - puede garantizarse la
convergencia en un número de pasos igual o inferior al orden del sistema de ecuaciones.
Considérese el sistema de ecuaciones de orden n , bxA = . Dada una solución
aproximada, )0(x , la solución exacta, x , puede escribirse como:
xxx ∆+= )0(
x∆ puede expresarse como combinación lineal de n vectores linealmente
independientes. En particular, si se consideran vectores 12210 ,,, −− nn sssss L , que
satisfacen las relaciones de ortogonalidad:
ijijTi c δ=sAs
puede escribirse:
11)1()(
)()1(
11)1()2(
00)0()1(
−−−
+
α+==
α+=
α+=
α+=
nnnn
kkkk
sxxx
sxx
sxx
sxx
LL
LL
alternativamente:
∑−
=
α+=1
0
)0(n
k
kk sxx (2.55)
Suponiendo que los vectores ks son conocidos, los coeficientes kα pueden obtenerse
utilizando las relaciones de ortogonalidad ya mencionadas. Dado que:
( ) ∑−
=
α=−=−=1
)()()(n
ik
kkiii sAxxAxAbr (2.56)
premultiplicando por Tjs se obtiene:
01
)( =α=∑−
=
n
ik
kTjk
iTj sAsrs si ij < (2.57)
jTjj sAsα= si ij ≥
de donde puede escribirse:
jTj
jTj
jsAs
rs )(
=α (2.58a)
Alternativamente, puede utilizarse
jTj
jTj
jsAs
rr )()(
=α (2.58b)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 34
La expresión alternativa )()( )0(j
Tj
Tjj sAsrs=α no es conveniente, por la acumulación
de errores de redondeo.
Dado que los 12210 ,,, −− nn sssss L son n vectores linealmente independientes en un
espacio n -dimensional, el error siempre puede ser expresado como una combinación
lineal de estos vectores , es decir el proceso debería llegar a la solución exacta (salvo
errores de redondeo) en n pasos.
El vector 1+ks se obtiene eliminando de )1( +kr la componente según ksA :
kkk
k srs β−= ++
)1(1 (2.59)
donde:
kTk
kTk
ksAs
rAs )1( +
=β (2.60)
En el proceso de determinación de pueden tenerse errores de cancelación importantes si
son aproximadamente paralelos.
Es relativamente fácil probar que si kssss L210 ,, son A -ortogonales, entonces 1+ks
calculado con (2.59) resulta también A -ortogonal a todos los vectores previamente
hallados. Para empezar, con ks :
( ) ( ) 0)1(´
)1()1(1 =−=β−=
+++
+ kTk
kTk
TkkT
kkkkT
kkTk sAs
sAs
rAsrAssrAssAs
Por otro lado, de (2.57) se concluye que:
j
Tkj
Tk sArsAs )(
1 =+
y
( ))()1(1 jj
jj rrsA −
α= −
y por lo tanto, para kj < :
011 )()()1()(
1 =
α−
α= −
+jTk
j
jTk
jj
Tk rrrrsAs
El método de gradiente conjugada puede resumirse en los pasos siguientes:
Dado )0(x , determinar )0(0
)0( xAbsr −==
Y luego para 12,1,0 −= nk L :
kk sAq = (no se requiere A en forma explícita)
kTk
kTk
kqs
rr )()(
=α
kkkk sxx α+=+ )()1( (2.61)
kk
kk qrr α−=+ )()1(
)()(
)1()1()1(
kTk
kTk
kTk
k
Tk
krr
rr
qs
qr +++
−==β
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 35
kkk
k srs β−= ++
)1(1
Como ejemplo, considérese la solución del sistema de ecuaciones bAx= definido por:
−−−
−=
210
121
012
A
=4
0
0
b
Con la aproximación inicial 0)0( =x se obtienen:
)0(0
)0( xAbsr −== ( )T400
00 sAq = ( )T840 −
)()( 00)0()0(
0 qsrr TT=α
1/2
00)0()1( sxx α+= ( )T200
00)0()1( qrr α−= ( )T020
)()( 000)1(
0 qsqr TT=β
1/4
00)1(
1 srs β−= ( )T120
11 sAq = ( )T032−
)()( 11)1()1(
1 qsrr TT=α
2/3
11)1()2( sxx α+= ( )T38340
11)1()2( qrr α−= ( )T0034
)()( 111)2(
1 qsqr TT=β
4/9
11)2(
2 srs β−= ( )T949834
22 sAq = ( )T00916
)()( 22)2()2(
2 qsrr TT=α
3/4
22)2()3( sxx α+= ( )T321
El método de gradiente conjugada puede ser generalizado para resolver cualquier
sistema de ecuaciones bxA = (con A no singular):
Con )0(x arbitrario, se obtiene )0(0
)0( xAbsr −==
Y luego para 12,1,0 −= nk L :
kT
k sAq = (no se requiere A en forma explícita)
kTk
kTk
kqq
rr )()(
=α
kkkk qxx α+=+ )()1( (2.62)
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 36
kkkk qArr α−=+ )()1(
)()(
)1()1(
kTk
kTk
krr
rr ++
−=β
kkk
k srs β−= ++
)1(1
2.8 Sistemas Sobre-Determinados de Ecuaciones Linea les
El problema de determinación de los parámetros de un modelo lineal para aproximar un
conjunto de datos es frecuente. A fin de reducir la influencia de errores de medición, es
habitual hacer más mediciones que las estrictamente necesarias, de donde resultan más
ecuaciones que incógnitas.
Dada una matriz A de orden nm× ( nm> ) y un vector b de orden m , se requiere
determinar x de modo tal que xA sea la mejor aproximación posible a b .
Un proceso simple (y muy adecuado si los errores en los ib son estadísticamente
independientes) es el método de mínimos cuadrados, que consiste en minimizar la
magnitud del residuo xAbr −= (o minimizar rrr T=2) con respecto a las x . Dado
que:
xAAxbAxbbrr TTTTTTf +−== 2 (2.63)
y por lo tanto:
0xAAbAx
=+−=∂∂ TTf
22
el método de mínimos cuadrados puede formularse como la solución del sistema de
ecuaciones normales:
( ) bAxAA TT = (2.64)
Si ( )naaaaA L321= , la matriz simétrica AAC T= tiene elementos jTiijc aa= .
La matriz C es no singular sólo si todas las columnas ka de la matriz A son linealmente independientes.
Para formar las ecuaciones normales se requieren ( )321 +nmn operaciones. Para
resolver el sistema ( )36
1 nO operaciones. La mayor parte del trabajo está en formar las
ecuaciones normales.
Considérese por ejemplo
=
−−
1
2
1
3
2
1
101
110
011
100
010
001
3
2
1
x
x
x
las ecuaciones normales son en este caso:
H. Scaletti - Métodos Numéricos: Álgebra Lineal 2 - 37
−=
−−−−−−
6
1
1
311
131
113
3
2
1
x
x
x
de donde:
( )T375.125.1=x
Un método alternativo (y numéricamente mejor condicionado) se basa en al descomposición de la matriz de coeficientes, A , en el producto de una matriz ortogonal, Q , y una matriz triangular superior, R (en el capítulo relativo a valores y vectores característicos se describen procedimientos que pueden ser empleados para esto).
Al tenerse RQA = (2.65)
las ecuaciones normales ( ) bAxAA TT = pueden rescribirse:
( ) 0=− AxbAT
( ) 0=− xRQbQR TT
y dado que IQQ =T se obtiene:
( ) 0=− xRbQR TT
La matriz R no es singular y por tanto:
bQxR T= (2.66)
La matriz R es la misma que se obtendría al descomponer AAT en dos factores
triangulares por el método de Cholesky. Para el ejemplo precedente:
−−−
−−−
−==
−−
=4142.100
8165.06330.10
5774.05774.07321.1
3536.02041.05774.0
3536.06124.00
04082.05774.0
7071.000
3536.06124.00
3536.02041.05774.0
101
110
011
100
010
001
QRA
de donde:
−==
−−−
=2426.4
4082.0
5774.0
4142.100
8165.06330.10
5774.05774.07321.1
3
2
1
bQxR T
x
x
x
y finalmente: ( )T375.125.1=x
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 1
3. Valores y Vectores Característicos
3.1. Introducción
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 característico (también llamado vector propio,
eigenvector o modo) de la matriz A. El correspondiente escalar λ es un valor
característico (también llamado valor propio, autovalor o eigenvalor). Nótese que si un
vector satisface las ecuaciones (3.1a) también un múltiplo arbitrario (un vector "paralelo")
es solución. Sin embargo, se trata esencialmente de la misma solución; los vectores
característicos sólo se califican como distintos si sus componentes no son
proporcionales.
Por ejemplo,
=
−−
1
11
1
1
21
12
−=
−
−−
1
13
1
1
21
12
en este caso
=1
11φφφφ y
−=
1
12φφφφ son vectores característicos, a los que corresponden
los valores propios 1 y 3, respectivamente. Otros vectores, no paralelos a los dos antes
mencionados, no cumplen la condición (3.1a):
=
−−
3
0
2
1
21
12
El vector
3
0 no puede expresarse como un múltiplo de
2
1.
El problema clásico de valores y vectores característicos consiste en la determinación 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 simétricas y definidas positivas. En
algunos casos se hacen hipótesis simplificadoras que resultan en B diagonal. El
problema clásico, definido en (3.1a), corresponde al caso particular B = I.
3.1.1 Conversión del Problema General a la Forma C lásica
Un problema de la forma general (3.1b) puede convertirse a otro equivalente de la forma
clásica (3.1a). Así por ejemplo, si B es no singular puede determinarse:
B-1 A φ φ φ φ = λ φ φ φ φ (3.2)
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 2
Sin embargo, si A y B son simétricas (como es, por ejemplo, el caso en problemas de
vibración, en los que esas matrices son respectivamente rigideces y masas) conviene
más hacer la descomposición (Cholesky):
B = RT R (3.3a)
y efectuar entonces el cambio de variables
φ φ φ φ = R-1 z (3.3b)
con lo que se obtiene:
(R-1)T A R-1 z = λ z (3.3c)
Esto es particularmente fácil si B es diagonal.
B = B½ B½
φ φ φ φ = B-½ z (3.4)
B-½ A B-½ z = H z = λ z
Donde ji
ijij
bb
ah = .
Nótese que los valores característicos son los mismos que los del problema original; los
correspondientes vectores característicos se relacionan mediante (3.4b).
3.1.2 Polinomio Característico y Valores Propios
Las ecuaciones A φ φ φ φ = λ B φφφφ pueden también rescribirse como:
(A - λ B) φφφφ = 0 (3.5a)
que tiene soluciones no triviales sólo si la matriz (A - λ B) es singular, es decir, si:
( ) ( ) 0det =λ−=λ BAp (3.5b)
( )λp se denomina polinomio característico. Siendo A y B matrices cuadradas de orden
n, ( )λp es un polinomio de grado n, cuyas raíces son λ1, λ2, ٠٠٠ λn. En lo que sigue se
supone, sin perder generalidad, que: nλ≤⋅⋅⋅≤λ≤λ≤λ 321
3.1.3 Independencia Lineal de los Vectores Caracte rísticos
Asociado a cada uno de los n valores característicos λ i se tiene un vector φφφφi. Si λ i es
una raíz de multiplicidad m, el correspondiente vector φφφφi puede obtenerse resolviendo el
sistema de ecuaciones homogéneas: (A - λ i B) φφφφi = 0 suponiendo m componentes
arbitrarias en φφφφi.
Los vectores característicos correspondientes a valores característicos distintos son
linealmente independientes. Supóngase que éste no fuera el caso, pudiéndose obtener
uno de los vectores como combinación lineal de otros que sí son linealmente
independientes:
∑=
=j
i
iis c1
φφφφφφφφ (3.6a)
Y entonces:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 3
∑∑==
==j
i
iιi
j
i
iis λcc11
φφφφφφφφΑφΑφΑφΑφ ΒΒΒΒΑΑΑΑ (3.6b)
Por otro lado, por la definición del problema, (3.1b):
∑=
==j
i
isisss λcλ
1
φφφφφφφφΑφΑφΑφΑφ ΒΒΒΒΒΒΒΒ (3.6c)
Restando (3.6b) de (3.6c) se obtiene: ( ) 0=λ−∑=
j
i
iisi λc1
ΒφΒφΒφΒφ
Si isλ λ≠ debería entonces tenerse ci = 0 para todo i, lo que se opone a la hipótesis.
Excepcionalmente pueden presentarse valores característicos repetidos. Aún en este
caso es factible obtener vectores característicos linealmente independientes. Sin
embargo, el conjunto de vectores asociados a los valores característicos repetidos define
un subespacio, tal que cualquier vector del subespacio (es decir una combinación lineal
de aquellos tomados como base) es también un vector característico:
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 + … )
Teniéndose n vectores característicos linealmente independientes de dimensión n, estos
constituyen una base completa. Cualquier otro vector de tal dimensión puede
expresarse como combinación lineal de los vectores característicos:
v = α1 φφφφ1 + α2 φφφφ2 + α3 φφφφ3 + … + αn φφφφn (3.8)
Por ejemplo, con los vectores característicos antes obtenidos:
−−
=
1
1
1
1
2
121
23
3.1.4 Ortogonalidad de los Vectores Característico s
Si las matrices A y B son Hermitianas (o simplemente simétricas) y definidas positivas,
los valores característicos de A φφφφ = λ B φ φ φ φ son todos reales y positivos. Para probar
esto basta considerar:
rsrrs φφφφφφφφφφφφφφφφ BΑ** λ= (3.9a)
srssr φφφφφφφφφφφφφφφφ BΑ** λ= (3.9b)
El superíndice * denota aquí conjugada traspuesta. La conjugada transpuesta de la
segunda de estas expresiones es (recuérdese que sλ es un escalar):
rssrs φφφφφφφφφφφφφφφφ BΑ*** λ= (3.9c)
y al ser A y B Hermitianas (es decir A* = A y B* = B), restando (3.9c) de (3.9a) se
obtiene:
( ) 0** =λ−λ rssr φφφφφφφφ B (3.9d)
Si r=s, al ser B una matriz definida positiva se tendría 0>rr φφφφφφφφ B* . Por lo tanto, siendo
sr λ=λ , se tendría 0=λ−λ *rr lo que implica que todos los λ son números reales. Si
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 4
además A es definida positiva, es decir 0>rr φφφφφφφφ A* , se concluye que los valores
característicos son todos positivos.
Por otro lado, si sr λ≠λ se tiene que 0≠λ−λ *sr y en consecuencia (3.9d) implica que:
rsrrs b δ=φφφφφφφφ B* (es decir, cero si sr ≠ ) (3.10a)
y además, observando las expresiones precedentes:
rsrrs a δ=φφφφφφφφ A* (3.10b)
Las propiedades de ortogonalidad expresadas en (3.10) son la base para la
descomposición modal utilizada al resolver sistemas de ecuaciones diferenciales en
aplicaciones tales como el análisis sísmico lineal.
Refiriéndose nuevamente al ejemplo inicial:
( ) 21
1
21
1211 =
−−
( ) 61
1
21
1211 =
−
−−
−
( ) 01
1
21
1211 =
−
−−
3.1.5 Normalización de los Vectores Característic os
Como se mencionó anteriormente los vectores característicos se definen por la
proporción de sus elementos, pudiéndose escalar o "normalizar" en forma arbitraria. Es
frecuente escalarlos de modo que:
rsrs δ=φφφφφφφφ B* (3.11a)
Se dice entonces que los vectores están normalizados respecto a la matriz B. En tal
caso se tiene también:
rsrrs δλ=φφφφφφφφ A* (3.11b)
3.1.6 Cociente de Rayleigh
Si se conoce un vector característico φφφφi, el correspondiente valor λ i puede determinarse
con el cociente de Rayleigh:
( )i
Ti
iTi
i φφφφφφφφφφφφφφφφφφφφ
B
Α=ρ (3.12)
Esta expresión puede aplicarse también con aproximaciones a los vectores propios. Si x
es una aproximación a un vector característico con un error de orden ε, el cociente de
Rayleigh, ρ(x), aproxima el correspondiente valor característico con un error de orden ε 2.
3.1.7 Teorema de Gershgorin
Supóngase que iλ es un valor característico de la matriz A y que iφφφφ es el
correspondiente vector, con componentes L321 vvv :
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 5
iii φφφφφφφφ λ=A (3.13a)
La componente de mayor valor absoluto en iφφφφ es sv . Dividiendo la ecuación s en (3.13a)
entre sv e intercambiando ambos miembros:
++++
+
=λ
s
nsnss
ss
ssi v
vaa
v
va
v
va LL
22
11 (3.13b)
y por lo tanto:
snssssi aaaa +++++=−λ LL 021 (3.13c)
En consecuencia, cada valor característico iλ está dentro de por lo menos uno de los
círculos con centro en ssa y radio igual a la suma de los valores absolutos de la
correspondiente fila s.
Por ejemplo, considerando la matriz:
−−
=41
12A
que es definida positiva, puede asegurarse que sus valores característicos (que son
números reales) están dentro de los intervalos (1,3) y (3,5). Efectivamente, en este caso
23±=λ .
3.1.8 Formas polinómicas
Supóngase que se conocen los valores y vectores característicos de una matriz, A:
A φφφφ = λ φφφφ (3.14a)
¿Cuáles son los valores característicos de la matriz A2 = A A?
(AA) φφφφ = A (A φφφφ) = A (λ φφφφ) = λ (A φφφφ)= λ2 φφφφ
Este resultado puede extenderse para la matriz Ak (siendo k un exponente). Los
vectores característicos son los mismos que los de la matriz A, mientras que los
correspondientes valores característicos son λk:
Ak φφφφ = λk φφφφ (3.14b)
Esto es incluso válido para exponentes negativos. Por ejemplo, multiplicando ambos
miembros de (3.15a) por λ-1A-1 se obtiene:
A-1 φφφφ = λ-1 φφφφ (3.14c)
Por otro lado, combinando linealmente expresiones de la forma (3.14b) y teniendo en
cuenta que A0 = I (así como λ0 = 1):
(c0 I+ c1 A+ c2 A2 + c3 A
3 +...) φφφφ = (c0 + c1 λ+ c2 λ2 + c3 λ3 +...) φφφφ (3.14d)
Por ejemplo, si:
−−
=21
12A
tiene valores característicos 1 y 3, la matriz:
−−
==54
452 AAA
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 6
tiene valores característicos 1 y 9 (es decir, los cuadrados de 1 y 3). Los vectores
característicos son los mismos para ambas matrices.
3.2 Métodos de Iteración con Vectores
Los métodos que se presentan en esta sección son los más eficientes cuando sólo se
requieren un valor característico y su vector asociado, o en todo caso cuando el número
de valores y vectores característicos por determinar es pequeño.
3.2.1 Iteración Directa
En la iteración "directa" se considera un vector inicial 0x y se obtiene una secuencia de
vectores corregidos, kx , mediante:
jj xAxB =+1 (3.15a)
1
11
+
++ =
j
jj r
xx (3.15b)
donde rj+1 es un escalar que normaliza el vector utilizado en la iteración. Lo habitual es
tomar rj+1 como el elemento de máximo valor absoluto en 1+jx , lo que significa escalar el
vector de aproximación de modo que la mayor componente sea igual a 1..
Este proceso converge al vector característico nφφφφ , asociado al valor característico de
mayor módulo, nλ . En efecto, la aproximación inicial x0 puede escribirse como:
x0 = α1 φφφφ1 + α2 φφφφ2 + α3 φφφφ3 + … + αn-1 φφφφn-1 + αn φφφφn (3.16a)
Recuérdese que los n vectores característicos son linealmente independientes y
constituyen una base completa en el espacio de dimensión n. Entonces (suponiendo
que B no es singular):
∑∑ λα=α= iiiii φφφφφφφφ BAxA 0 (3.16b)
01
1 AxBx −= = (α1 λ1) φφφφ1 + (α2 λ2) φφφφ2 + …+ (αn λn) φφφφn (3.16c)
y por lo tanto:
( )∑ λα=n
iir11
1x φφφφi (3.16d)
Se observa que, si las componentes de x0 eran αi, aquellas de x1 resultan proporcionales
a αi λi. Repitiendo pasos análogos a los indicados en (3.18), puede comprobarse que la
aproximación xk puede expresarse como combinación lineal de los vectores
característicos con coeficientes proporcionales a kiiλα (en este caso k es un exponente).
En consecuencia, si 121 λ≥≥λ≥λ≥λ −− Lnnn , las componentes según φφφφn crecen
más rápidamente que las otras y se tiene que:
=∞→ k
kLim x φφφφn (3.17a)
nkk
rLim λ=∞→
(3.17b)
Esto es válido aún cuando αn = 0 puesto que, por lo menos al tratar con grandes
matrices, los errores de redondeo (debidos a la aritmética imperfecta del computador)
introducen siempre una componente según φφφφn. La convergencia es muy rápida si
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 7
1−λ>>λ nn o si x0 es aproximadamente paralelo a φφφφn (es decir, si la componente αn
es importante en relación a las demás). En cambio, si los últimos valores característicos
son similares la convergencia es en general muy lenta. Por otro lado, no se tienen
dificultades para el caso (más académico que práctico) en que 1−λ=λ nn : en tal caso el
proceso converge a un vector característico que resulta ser la proyección de x0 en el
subespacio definido por los vectores φφφφn y φφφφn-1.
Considérese por ejemplo el problema A φ φ φ φ = λ B φφφφ con las matrices:
−−−
−=
110
132
025
A
=300
020
001
B
Aún cuando en este caso se tienen matrices simétricas, el procedimiento descrito se
aplica a matrices cuadradas cualesquiera.
En este caso se obtienen:
k x k Ax k 1+kx 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
El procedimiento converge al valor característico: φφφφ3 =
−01623.0
25180.0
00000.1
que corresponde al valor característico de mayor módulo, λ3 = 5.503605.
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 8
El valor de r es aproximadamente λn, pero el cociente de Rayleigh, ρ(x)" proporciona
siempre una aproximación mejor.
3.2.2 Iteración Inversa
El proceso de iteración directa antes descrito converge al vector característico asociado
al valor característico de mayor módulo. Éste puede ser útil al considerar el
condicionamiento de las matrices de coeficientes en grandes sistemas de ecuaciones, o
al analizar la estabilidad numérica de ciertos métodos 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 más bien
los valores característicos de menor módulo y sus vectores asociados.
Para determinar el vector característico asociado al valor propio de menor módulo (el
modo fundamental) puede usarse una "iteración inversa":
jj xBxA =+1 (3.18a)
1
11
+
++ =
j
jj r
xx (3.18b)
En este caso si:
x0 = α1 φφφφ1 + α2 φφφφ2 + α3 φφφφ3 + … + αn-1 φφφφn-1 + αn φφφφn (3.19a)
la aproximación xk puede expresarse como combinación lineal de los vectores
característicos con coeficientes proporcionales a kii λα (nuevamente, k es aquí un
exponente):
xk = k1
1
λα
φφφφ1 + k2
2
λα
φφφφ2 + k3
3
λα
φφφφ3 + … + kn
n
1
1
−
−
λα
φφφφn-1 + kn
n
λα
φφφφn (3.19b)
En consecuencia, si nλ≤⋅⋅⋅≤λ≤λ≤λ 321 al emplear la iteración inversa se tiene
que:
=∞→ k
kLim x φφφφ1 (3.20a)
1
1
λ=
∞→ kk
rLim (3.20b)
Los comentarios anteriores relativos a la convergencia de la iteración directa son
también válidos. En este caso la velocidad de convergencia depende de la razón λ2 / λ1.
Para las matrices del caso anterior y considerando, por ejemplo, el vector inicial:
=2
1
0
0x
se obtiene el vector asociado al valor característico de menor módulo, es decir, λ1.
Nótese que r es ahora una aproximación de 1 / λ1, mientras que en la iteración directa lo
era de λn. También en este caso se observa que el cociente de Rayleigh es siempre una
mejor aproximación al valor característico.
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 9
k x k Bx k 1+kx 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 iteración directa es
más simple. Sin embargo, un paso típico de la iteración inversa requiere
aproximadamente el mismo número de operaciones que un paso de iteración directa.
Supóngase que se tienen matrices de orden n y que A es una matriz de alta densidad
(es decir, con pocos coeficientes no significativos). El número de operaciones
requeridas para efectuar el producto Ax es de orden n2. Aquí se cuenta como una
"operación" la combinación de una multiplicación o división con una suma o resta.
También se ha supuesto que n es grande, por lo que n2 es mucho mayor que n. La
división de Ax entre los coeficientes (de la diagonal principal) de B requiere un número
de operaciones de orden n, que puede despreciarse. Es interesante observar que si
previamente se realizó (una sola vez) la factorización A = LU, la solución del sistema de
ecuaciones Ax = b requiere también un número de operaciones de orden n2, mientras
que el producto Bx demanda sólo 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 solución de las ecuaciones Ax = b requieren aproximadamente mn operaciones.
3.2.3 Traslación
La velocidad de convergencia de la iteración inversa depende de las razones 1 / λi. Si
12 λ≈λ la convergencia es lenta; siendo en cambio muy rápida si 21 λ<<λ . La
convergencia puede acelerarse mediante una "traslación" 1λ≈µ :
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 10
A φ φ φ φ = λ B φφφφ (3.21a)
(A - µB) φ φ φ φ = (λ−µ) B φφφφ (3.21b)
Nótese que el nuevo sistema (3.21b) tiene los mismos vectores característicos que el
sistema original (3.21a) y valores característicos λ i - µ. Desde el punto de vista del
polinomio característico, se ha trasladado el origen:
-50
0
50
100
150
0 1 2 3 4 5 6 7
µµµµ
p( µµ µµ
)
Si 1λ≈µ puede lograrse que:
µ−λ>>µ−λ 21
y por tanto:
µ−λ<<
µ−λ 21
11
,
con lo que la convergencia mejora en forma apreciable.
Para el ejemplo anterior, efectuando una traslación µ = 0.154 se tiene:
−−−
−=−
538.010
1692.22
02846.4
154.0 BA
y por iteración inversa:
k x k Bx k 1+kx 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
Se obtienen: λ1 = 0.154 + 0.000624 = 0.154624 y φφφφ1 =
00000.153613.022129.0
.
El siguiente algoritmo usa el cociente de Rayleigh para efectuar la traslación. Iniciando
el proceso con 00 xBy = y µ0 = 0:
( ) kkk yxBA =µ− +1
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 11
11 ++ = kk xBy
11
11
++
++ +µ=µ
kTk
kTk
kkyx
yx (3.22)
( ) 121
111 +−
+++ = kkTkk yyxy
En relación con las expresiones precedentes:
By =∞→ k
kLim φφφφ1 (3.23a)
1λ=µ∞→ k
kLim (3.23b)
La convergencia es cúbica.
3.2.4 Determinación de Otros Vectores Característi cos
En los párrafos precedentes se ha visto cómo mediante iteración directa o inversa
pueden obtenerse φφφφn o φφφφ1 respectivamente. Podría determinarse un valor característico
intermedio y su vector asociado por iteración inversa con una traslación adecuada; sin
embargo, esto requeriría un procedimiento previo para definir la traslación.
En los que sigue se describe la determinación de sucesivos vectores característicos
aprovechando las condiciones de ortogonalidad para el caso en que las matrices A y B
son simétricas. La idea básica 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 precisión que el
anterior. En la práctica se observa que se pierde una cifra significativa por cada nuevo
vector; por tanto, no es factible determinar por este método más de unos 10 vectores
característicos. 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 característicos ya conocidos
haciendo uso de las relaciones de ortogonalidad:
φφφφiT B v = α1 φφφφi
T B φφφφ1 + α2 φφφφiT B φφφφ2 + ... + αn φφφφi
T B φφφφn
φφφφiT B v = αi φφφφi
T B φφφφi (3.24b)
es decir:
αi = ( φφφφiT B v ) / ( φφφφi
T B φφφφi ) (3.24c)
Luego es suficiente restar de v los αi φφφφi para obtener un vector que (salvo por la
imprecisión en la aritmética no tiene componentes según los vectores característicos
previamente hallados.
Para el ejemplo antes tratado, suponiendo que se haya obtenido el primer vector
característico:
φφφφ1 =
000000000.1
536128843.0
221295029.0
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 12
y considerando v =
010
se obtiene α1 = 0.295889928, de donde:
x0 = v - α1 φφφφ1 =
−
−
29589.0
84136.0
06548.0
es un vector ortogonal a φφφφ1. Si se hace una iteración inversa con x0 se obtiene
(suponiendo que se operara con una aritmética infinitamente precisa) el vector
característico φφφφ2:
k x k Bx k 1+kx 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 según los vectores característicos
originalmente eliminados.. En los resultados precedentes se tienen las siguientes
componentes según φφφφ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 más rápidamente que la propia solución, es
necesario eliminarlas cada 4 ó 5 pasos, utilizando el mismo proceso inicial:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 13
xj = v - ∑−
=
α1
1
j
i
i φφφφi (3.25)
Para el caso del ejemplo:
( )
−=
−−
−=
40787.0
03006.1
53829.0
000000000.1
536128843.0
221295029.0
056093.0
46393.0
00000.1
52588.0
0x
y luego de escalar este vector:
k x k 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
se obtienen: 17511.185098.0
12 ==λ y φφφφ2 =
− 39599.000000.152288.0
3.2.5 Deflación
Otra alternativa es hacer una deflación, obteniendo un nuevo sistema φλ=φ BA~~
, de
orden menor, con los mismos valores característicos del problema original, excepto los
previamente determinados. En lo que sigue se aplica esta idea a un problema de la
forma clásica φφφφφφφφ λ=H .
Considérese una matriz ortogonal, P , cuya última columna es igual al vector
característico 1φ previamente determinado:
( )1121 φ= −npppP L (3.26)
Al hacer el cambio de variable zP=φ se obtiene zPzPH λ= y premultiplicando por TP : ( ) zzPHP λ=T . Sin embargo, al ser la última columna de P igual a 1φ y
suponiendo que ese vector haya sido normalizado de modo que 111 =φφT se tiene:
λ=
1
~
0
0HPHPT (3.27)
Esta matriz tiene los mismos valores característicos que la matriz original, H . Lo mismo
se puede decir de H~
, excepto por 1λ .
Hay múltiples posibilidades para formar P . En el proceso propuesto por Rutishauser se
hacen las operaciones equivalentes a trabajar con 121 −= nJJJP L , donde:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 14
1
1
1
1
+
+
−=
k
k
k
k
kk
kkk cs
sc
columnacolumna
fila
fila
O
O
J (3.28a)
Nótese que ( ) 121121 −−= nTTT
nT JJJHJJJPHP LL , pudiéndose evaluar fácilmente los
sucesivos productos, ya que en cada caso sólo se alteran dos filas y dos columnas.
Los coeficientes kc y ks se determinan a partir de las componentes L321 xxx del
vector característico previamente hallado, 1φφφφ . Definiendo:
223
22
21
2kk xxxxq L+++= (3.28b)
se tiene:
1
1
1
+
+
+
=
=
k
kk
k
kk
q
xc
q
qs
(3.28c)
Para el ejemplo considerado anteriormente, sería necesario primero convertir el
problema a la forma clásica. Al ser B diagonal:
−−−
−==
−−
333333.0408248.00
408248.05.1414214.1
0414214.1521
21
BABH
Y para φφφφφφφφ λ=H pueden obtenerse (por iteración inversa):
Para φφφφφφφφ λ=H pueden obtenerse (por iteración inversa):
=90987.0
39827.0
11625.0
1φφφφ
Luego:
00000.1
90987.041489.041489.0
95994.028019.011625.0
3
222
111
====
===
q
csq
csq
Con el propósito de observar que, efectivamente, la última columna de P es igual a 1φ se está evaluando aquí la referida matriz:
−
−=90987.0414898.00
41489.090987.00
001
100
095994.028019.0
028019.095994.0
P
es decir:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 15
−−=
90987.041489.00
39827.087342.028019.0
11625.025494.095994.0
P
de donde:
−−
=15462.000
019271.127561.0
027561.048594.5
PHPT
Nótese el 1λ en la esquina inferior derecha. Los valores característicos de
−−
=19271.127561.0
27561.048594.5~H son 1751.12 =λ y 5036.53 =λ , es decir, iguales a los
restantes valores característicos del problema original. Los correspondientes vectores resultan:
=9980.0
0638.02z y
−=
0638.0
9980.03z
de donde:
=−
021
kk
zPBφφφφ
El factor 21−
B se requiere para obtener los vectores del problema general en su forma
original.
3.3 Métodos de Transformación
Los métodos de este grupo son eficientes sólo si se requieren todos o una alta
proporción de los valores y vectores característicos. La idea básica de estos procesos
consiste en hacer un cambio de variables:
φ φ φ φ = P z (3.29a)
para transformar A φ φ φ φ = λ B φφφφ en:
( P-1A P ) z = λ ( P-1B P ) z (3.29b)
Este sistema tiene los mismos valores característicos que el sistema original y vectores
propios relacionados por (3.29a). Si las transformaciones son tales que las nuevas
matrices tienen valores y vectores característicos fáciles de determinar, se ha resuelto
indirectamente el problema original.
3.3.1 Método de Jacobi
El método de Jacobi (1846) puede considerarse como prototipo de los métodos de
transformación. En este procedimiento se transforma el problema original a uno de la
forma:
λ=
nnnn z
zz
b
bb
z
zz
a
aa
MOMO2
1
2
1
2
1
2
1
(3.30)
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 16
que tiene como vectores característicos las columnas de la matriz identidad y como
valores característicos los iii ba=λ . Los valores característicos del sistema original
son los mismos. P es en este caso una matriz ortogonal:
P-1 = PT (3.31)
cuyas columnas son la propia solución buscada. Ésta se determina mediante un
proceso iterativo que se describe a continuación.
En la forma que aquí se presenta, este método se aplica a problemas de la forma
clásica, A φ φ φ φ = λ φ φ φ φ, siendo A una matriz simétrica (real). Más adelante se consideran las
modificaciones requeridas para problemas de la forma general.
Empezando con A(0) = A y llamando φφφφ(0) a los vectores característicos 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:
( PkTA(k) Pk ) φφφφ(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)
Nótese que se mantiene la simetría de la matriz. Los valores característicos 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 método de Jacobi las matrices Pk corresponden a una rotación plana:
jfila
ifila
jcolicol
kk
kkk
θθθ−θ=
1
cossen
sencos
1
O
O
P (3.33)
El objetivo de un paso es hacer cero un coeficiente aij = aji. Puede verificarse
fácilmente que:
( ) ( ) 0sencossencos 22)(11 =θ−θ+θθ−== ++kk
kijkk
(k)ii
(k)jj
)(kji
)(kij aaaaa
(3.34a)
y por tanto:
40
22tg
)()(
)( π≤θ≤
−=θ kk
jjk
ii
kij
kaa
a (3.34b)
Sólo los elementos de dos filas y de dos columnas ( )ji, se alteran en cada paso.
Además, como se mantiene la simetría de la matriz A sólo deben calcularse los
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 17
coeficientes de la submatriz triangular superior (o inferior) de A(k+1). Con la notación
c = cos θ k; s = sen θ k:
( ) ( ) 0c
2
2
22)(11
2)()(2)(1
221
=−+−==
+=
++=
++
+
+
sacsaaaa
cacsa-sa a
sacsac aa
kij
(k)ii
(k)jj
)(kji
)(kij
kjj
kij
kii
)(kjj
(k)jj
(k)ij
(k)ii
)(kii
(3.35a)
casaaa
sacaaa
kjr
(k)ir
)(krj
)(kjr
kjr
(k)ir
)(kri
)(kir
)(11
)(11
+−==
+==++
++
(3.35b)
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
[ ])()(
2)(
kjj
kii
kij
ijaa
a=γ (3.36)
son de orden ε, éstos se reducen a orden ε2 en el siguiente ciclo.
El número 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
orden 50 ó 60 pueden ser necesarios 8 a 10 ciclos. Cada ciclo demanda O(2n3)
operaciones.
Desde un punto de vista teórico sería más 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 selección de los
elementos y efectuar las rotaciones sólo si ijγ es mayor que una tolerancia, variable en
función del número de ciclo, m (por ejemplo 10-2m). La convergencia del proceso se
puede verificar con una medida similar.
Para determinar los vectores característicos 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 método de Jacobi considérese el problema A φ φ φ φ = λ φ φ φ φ con:
−−
=
4310
363-1
13-63-
013-2
)0(A
En el primer paso se hacen cero los coeficientes a12 y a21. En las expresiones
precedentes:
362 )0(21
)0(12
)0(22
)0(11 −==== aaaa
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 18
( ) ( )471858.0sen881675.0cos5.1
62
322tg =θ=θ⇒=
−−
=θ
=
1000
0100
0088167504718580
0047185808816750
1
..
.-.
P
==
4388167504718580
361168835338990
88167501168836055570
4718580533899003944490
1(0)T
1)1(
-..
-.-.-
..-.
..-.
PAPA
Luego se hacen cero los coeficientes a31:
533899.06394449.0 )1(31
)1(13
)1(33
)1(11 −==== aaaa
093978.0sen995574.0cos =θ=θ
=
1000
00.99557400.0939783
0010
00.0939783-00.995574
2P
==
403107388167501878350
031073050461030930
88167501030936055572929190
1878350029291903440510
2(1)T
2)2(
.-..
.-..-
..-..-
..-.
PAPA
Nótese que se tienen nuevamente valores significativos en las posiciones 12 y 21. Por
otro lado:
=
1000
00.99557400.0939783
00.0443444-0.8816750.469770
00.0828582-0.471858-0.877773
21PP
Procediendo en forma similar:
10309.30504.660555.7 )2(32
)2(23
)2(33
)2(22 −==== aaaa
615196.0sen788374.0cos =θ=θ
==
41.84721-2.559790.187835
1.84721-3.6289500.180203-
2.55979010.0270.23093-
0.1878350.180203-0.23093-0.344051
3(2)T
3)3( PAPA
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 19
=
1000
00.7848850.612474-0.0939783
00.5074430.722370.46977
00.355609-0.321026-0.877773
321 PPP
187835.04344051.0 )3(41
)3(14
)3(44
)3(11 ==== aaaa
0511758.0sen99869.0cos =θ=θ
==
0096348540115446220
854011628953008543420
5446220027103616270
00854342036162703344260
4(3)T
4)4(
..-.
.-..-
...-
.-.-.
PAPA
=
0.99869000.0511758-
0.004809410.7848850.612474-0.0938551
0.02404080.5074430.7223700.469154
0.04492070.355609-0.321026-0.876622
4321 PPPP
54462.200963.4027.10 )4(42
)4(24
)4(44
)4(22 ==== aaaa
343849.0sen939025.0cos −=θ=θ
==
07785374096101243450
7409616289536375008543420
0637509588103395760
12434500854342033957603344260
5(4)T
5)5(
..-.
.-..-.-
.-..-
..-.-.
PAPA
=
0.93779500.3433980.0511758-
0.2151150.7848850.573474-0.0938551
0.225811-0.5074430.6865900.469154
0.1525660.355609-0.286006-0.876622
54321 PPPPP
74096.107785.362895.3 )5(43
)5(34
)5(44
)5(33 −==== aaaa
649489.0sen760371.0cos =θ=θ
==
5907610414049003905980
011603548473701457220
414049048473709588103395760
03905980145722033957603344260
6(5)T
6)6(
..-.
..-.-
.-.-..-
..-.-.
PAPA
=≈
0.7130720.609087-0.3433980.0511758-
0.6733410.4570890.573474-0.0938551
0.1578780.5325070.6865900.469154
0.114957-0.369485-0.286006-0.876622
654321 PPPPPPΦ
con lo que termina un primer “ciclo”. Análogamente, al terminar el segundo ciclo:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 20
=
1.5727900.00001490.0003418-
05.082720.00151550.0006033-
0.00001490.001515511.02680.007656-
0.0003418-0.0006033-0.007656-0.317649
)12(A
=≈
0.7225180.584532-0.3614670.0750522-
0.6515780.3996230.640155-0.0771368
0.2010620.5665800.6192080.505117
0.11397-0.421440-0.275908-0.856314
1221 PPPΦ L
y al finalizar el tercer ciclo:
=
1.57279
5.08272
11.0269
0.317644
)18(A
No se muestran los coeficientes con valor absoluto menor que 10-6. Los coeficientes
de la diagonal de A(18) son (aproximaciones a) los valores característicos de la matriz
A. Nótese que no se obtienen en orden ascendente o descendente. Las columnas del
producto 1821 PPP L son los correspondientes vectores, que se obtienen normalizados:
ΦΦΦΦT ΦΦΦΦ = I. Esto se comprueba fácilmente, ya que las matrices kP son todas
ortogonales.
=≈
0.7225370.584614-0.3613730.074671-
0.6515580.3997770.640107-0.076907
0.2009230.5663580.6189910.505686
0.114202-0.421478-0.276628-0.856032
1821 PPPΦ L
3.3.2 Caso de Matrices Hermitianas.
El método de Jacobi puede también emplearse para hallar los valores y vectores
característicos de una matriz Hermitiana, H , cuyos coeficientes (en general complejos)
tienen simetría conjugada. En este caso se hacen productos de la forma:
kk
kk UHUH )(*)1( =+ (3.38)
en los que kU es una matriz unitaria, es decir, tal que *1kk UU =− (el superíndice *
denota en este caso la conjugada traspuesta). Para hacer cero el coeficiente ijh se
utiliza:
jfila
ifila
jcolicol
i
ik
e
e
φφφ−φ=
θ
θ
1
cossen
sencos
1
O
O
U (3.39)
Suponiendo que:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 21
icbh
ahk
ji
kii
+=
=)(
)(
dh
icbh
kjj
kij
=
−=)(
)(
(3.40a)
Las partes real e imaginaria de los nuevos coeficientes ( )ji, resultan:
( )( ) 02cossen2sensencossensencos
02sensen2cossencoscossencos222
222
=θφ−θφ−φ+θφφ−
=θφ−θφ−φ+θφφ−
ccbda
cbbad
de donde:
( )da
cbb
c
−θ+θ
=φ
=θ
sencos22tan
tan (3.40b)
3.3.3 Método de Jacobi Generalizado.
Es posible modificar el método de Jacobi "clásico" antes descrito para resolver
directamente el problema general A φ φ φ φ = λ B φφφφ.
En lo que sigue se supone que A y B son simétricas y que esta última es definida
positiva (y posiblemente no diagonal). Debe anotarse que si B fuera diagonal sería
más eficiente transformar el problema a la forma clásica.
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 clásico:
jfila
ifila
jcolicol
k
kk
γα=
1
1
1
1
O
O
P (3.42)
α y γ se determinan de:
( ) 01 )(11 =γ+γα++α== ++ (k)jjk
kijkk
(k)iik
)(kji
)(kij aaaaa
( ) 01 )(11 =γ+γα++α== ++ (k)jjk
kijkk
(k)iik
)(kji
)(kij bbbbb (3.43)
Estas dos ecuaciones son independientes, excepto en el caso en que
(k)jj
(k)jj
(k)ij
(k)ij
(k)ii
(k)ii
b
a
b
a
b
a== (3.44a)
en el que puede considerase, por ejemplo:
(k)jj
(k)ij
kka
a=γ=α 0 (3.44b)
Definiendo:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 22
( ))()()()(21
3
)()()()(2
)()()()(1
kjj
kii
kjj
kii
kij
kii
kij
kii
kij
kjj
kij
kjj
abbac
abbac
abbac
−=
−=
−=
(3.45a)
212333 )( ccccsignocd ++=
se obtienen:
d
c
d
ckk
12 =α−=γ (3.45b)
El radical en la expresión de d es siempre positivo si B es una matriz definida positiva.
Puede observarse que si B fuera la matriz identidad se obtendrían: θ−=γ−=α tgkk .
Los comentarios precedentes relativos a la convergencia son también aquí aplicables.
El número de operaciones en cada ciclo es de O(3n3).
El siguiente ejemplo ilustra los aspectos nuevos introducidos en esta sección. Se
pretende determinar los valores y vectores característicos del sistema: A φ φ φ φ = λ B φφφφ,
donde:
−−
=11
11A
=
21
12B
Para estas pequeñas 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
A(1) = P1TA(0) P1 =
=
−
−−
−00
04
11
11
11
11
11
11
B(1) = P1TB(0) P1 =
=
−
−60
02
11
11
21
12
11
11
de donde:
λ2 = 4/2 = 2
λ1 = 0/6 = 0
ΦΦΦΦ = P1 diag (bi-½) =
−=
− 4082.07071.0
4082.07071.0
610
021
11
11
La post multiplicación de P1 sólo es necesaria para escalar los vectores de modo que
ijjTi δ=φφφφφφφφ B . Al igual que en el procedimiento clásico los valores característicos (y los
correspondientes vectores) no quedan necesariamente ordenados.
3.3.4 El Método QR
Este proceso se aplica al problema clásico A φφφφ = λ φφφφ, donde A no requiere ser
simétrica, pudiendo tener valores característicos cero (o incluso negativos). En el caso
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 23
más general, para una matriz A cualquiera, el método QR es poco eficiente, ya que
requiere O( 34 n3) operaciones por paso. Sin embargo, sólo se requieren O(4n2)
operaciones por paso si A es de la forma Hessemberg:
=
OL
K
5554
454443
35343332
2524232221
1514131211
000
00
0
aa
aaa
aaaa
aaaaa
aaaaa
A (3.46)
es decir si es casi triangular superior, excepto por una codiagonal inferior. Para el caso
particular en que la matriz A es además simétrica (y por lo tanto tridiagonal):
=
OO
O43
332
221
11
ab
bab
bab
ba
A (3.47)
el método QR es aún más eficiente, requiriendo tan solo O(12n) por paso.
En todo caso es siempre posible efectuar la transformación a la forma Hessemberg
(tridiagonal si A y B son simétricas), requiriéndose un total de O( 35 n3) operaciones
(una sola vez).
Debe anotarse además que, a diferencia del método de Jacobi, el método QR mantiene
la posible configuración banda de la matriz y permite efectuar traslaciones (análogas a
las de una iteración inversa), tanto para acelerar la convergencia como para mejorar la
precisión en los valores característicos de interés. El objetivo del proceso conocido
como QR es la determinación de los valores característicos; conocidos estos, los
correspondientes vectores pueden obtenerse por iteración inversa con traslación.
Considerando A(0) = A, el paso básico del método QR consiste en hacer la
descomposición:
kkk RQA =)( (3.48a)
donde kQ es una matriz ortogonal (es decir, IQQ =kTk ) y kR es una matriz triangular
superior. Luego se efectúa el producto en orden cambiado:
kkk QRA =+ )1( (3.48b)
Obsérvese que premultiplicando (3.48a) por TkQ se obtiene:
kkT
k RAQ =)( (3.48c)
y por lo tanto:
kkT
kkkk QAQQRA )()1( ==+ (3.48d)
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 24
Nótese que si )(kA es simétrica )1( +kA también resulta simétrica. La expresión (3.48d)
indica además que )1( +kA es "similar" a )(kA : sus valores característicos son los
mismos, los correspondientes vectores se relacionan por una transformación lineal:
)()()( kkk φφφφφφφφ λ=A (3.49a)
al efectuar el cambio de variables:
)1()( += kk
k φφφφφφφφ Q (3.49b)
se obtiene:
)1()1()( ++ λ= kk
kk
k φφφφφφφφ QQA (3.49c)
( ) )1()1()( ++ λ= kkk
kTk φφφφφφφφQAQ (3.49d)
Ambas matrices tienen los mismos valores característicos (que en consecuencia son
los de la matriz original) y vectores característicos relacionados por (3.49b).
A medida que k crece )(kA converge a una matriz triangular superior (cuyos valores
característicos son los elementos de la diagonal principal); para el caso simétrico )(kA
converge a una matriz diagonal. Los valores característicos se obtienen en orden
descendente; así la aproximación al valor característico de menor módulo se obtiene en
la posición nn de la matriz.
La convergencia del proceso es análoga a la de la iteración inversa. Cuando en pasos
sucesivos se obtienen valores similares en el extremo inferior de la diagonal principal,
puede afirmarse que se tiene una aproximación al primer valor característico. La
convergencia puede acelerarse efectuando traslaciones:
)(knnk a=µ (3.50a)
IQRA kkkk µ−=+ )1( (3.50b)
Nótese que los valores característicos de esta nueva matriz son iguales a los de la
matriz original menos la translación. Cuando se logra que 0)( =knna puede hacerse una
traslación:
)(1,1
knnk a −−=µ (3.50c)
para mejorar la convergencia al segundo valor característico y análogamente se
procede para los otros valores requeridos. Por regla general se requieren sólo 2 pasos
por cada valor característico adicional. Al finalizar el proceso debe agregarse a los
valores λ obtenidos la suma de las traslaciones kµ efectuadas.
Los vectores característicos podrían obtenerse con el producto:
L321)0( QQQ=φφφφ (3.51)
pero este proceso es poco eficiente, siendo más conveniente obtener estos vectores
por iteraciones inversas con traslaciones iguales a los valores característicos ya
determinados. Esto permite también mejorar la precisión en los λ .
La determinación de Q y R en un paso puede hacerse en diversas formas. El proceso
más eficiente consiste en transformar A en una matriz triangular superior utilizando
matrices de rotación plana (como en el método de Jacobi):
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 25
( ) RAPPP =−TTT
nn 21311, L (3.52a)
y por lo tanto:
1,3121 −= nnPPPQ L (3.52b)
La matriz jiP , que permite hacer cero el coeficiente ji:
jfila
ifila
jcolicol
kk
kkk
θθθ−θ=
1
cossen
sencos
1
O
O
P (3.53a)
se obtiene mediante:
d
a kii
)(
cos =θ
d
a kji
)(
sen =θ (3.53b)
( ) ( )2)(2)( kii
kji aad +=
Sólo se requiere un ciclo de estas transformaciones para obtener R. No es necesario
iterar.
Para un ejemplo del proceso considérese la matriz:
=210
141
012)0(A
Esta es una matriz simétrica (lo cual no es un requisito para emplear el método 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.447214 sen0.894427cos
2.23606812 )0(21
011
=θ=θ=== daa )(
100
0.894427.447214
0.447214-.894427
21
=P
=210
.8944273.1304940
0.4472142.6832812.236068
)0(T21AP
Luego se hace cero a32, con lo que se obtiene una matriz triangular superior:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 26
3042900sen9525790cos
286335311304943 )0(32
022
..
.da.a )(
=θ=θ===
.952579.3042900
.304290-.9525790
001
32
=P
==1.63299300
1.4605323.2863320
0.4472142.6832812.236068
)0(T21
T321 APPR
Y se completa el primer paso efectuando el producto:
===1.555556.4969040
.4969043.2444441.469694
01.4696943.200000
3221111(1) PPRQRA
Análogamente, en el segundo paso:
=100
0.908739.417365
0.417365-.908739
21P
=.978097.2081500
.208150-.9780970
001
32P
==1.42749000
.7654542.3872420
2.6896863.521363
)1(T21
T322
L
APPR
===1.396226.2971320
.2971322.281193.996351
0.9963514.322580
3221222(2) PPRQRA
Y en el tercer paso:
=100
0.974449.224610
0.224610-.974449
21P
=.989134.1470170
.147017-.9891340
001
32P
==1.3385000
.4916632.0210760
.0667391.4832714.435924
)2(T21
T323 APPR
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 27
===1.323944.1967800
.1967802.020318.453953
0.4539534.655737
3221333(3) PPRQRA
Suponiendo que el coeficiente 323944.1)3(33 =a sea una buena aproximación al primer
valor característico, se efectúa una traslación:
=−0.1967800
.196780.696375.453953
0.4539533.331794
323944.1(3) IA
obteniéndose en el cuarto paso:
=.055581-.017396-0
.017396-.678541.088938
0.0889383.405209(4)A
Se hace entonces una nueva traslación:
1.268362-.055581 k4 =µ=µ⇒=µ ∑
obteniéndose:
=.000413-.0000100
.000010.731767.018800
0.0188003.463559(5)A
y nuevamente:
1.267949-.000413 k5 =µ=µ⇒=µ ∑
obteniéndose:
=000
0.732056.003973
0.0039733.464096(6)A
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 traslación igual al resultado obtenido para a22 a fin de
mejorar la precisión para el segundo valor característico:
2.732051 k6 =µ=µ⇒=µ ∑
=−.732051-00
00.003973
0.0039732.732050
732051.0(6) IA
Y puede trabajarse con la submatriz de un orden menor:
=
0.003973
.0039732.732050(6)A
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 28
0.000307sen1cos
2.7320510.0039732.732050 )6(21
611
=θ=θ=== daa )(
==
1.000000.000307
.000307-1.000000721 QP
−==
000001.0
.0008402.732051)6(217 APR T
=
00
073205.2)7(A
Los coeficientes indicados como 0 son menores que 10-6. Los valores característicos
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. Transformación a la Forma Hessemberg
Si el método QR se aplicara a una matriz cualquiera sería en general poco eficiente,
puesto que requiere ( )33
4 nO operaciones por paso. Para reducir el número de
operaciones a ( )24nO por paso debe previamente transformarse la matriz a la forma
"Hessemberg" (es decir, una matriz que es casi triangular superior, teniendo además
coeficientes significativos en la primera codiagonal inferior):
=
− nnnn
n
n
n
n
hh
hhh
hhhh
hhhhh
hhhhh
1,
44443
3343332
224232221
114131211
0000
00
0
OMMMM
L
L
L
L
H (3.54)
Si la matriz original fuera simétrica, la transformación a la forma Hessemberg, que
puede hacerse conservando la simetría, produce una matriz tridiagonal. En tal caso el
QR requiere apenas n12 operaciones por paso. Cabe anotar que la forma
Hessemberg (tridiagonal para el caso simétrico) no se pierde en los sucesivos pasos
del método QR.
La transformación a la forma Hessemberg sólo requiere hacerse una vez. Por lo tanto
las ( )33
5 nO que se gastan en la transformación están plenamente justificadas.
Entre los procedimientos que se encuentran en la literatura para efectuar la
transformación, se propone el cambio de variables φφφφφφφφ B= , con lo que el problema
original φφφφφφφφ λ=Α se reescribiría como φφφφφφφφ λ=− BΑB 1 o bien φφφφφφφφ λ=H . En este
caso HBΑB =−1 o, lo que es lo mismo, HBBΑ = . En el proceso original de
Hessemberg se usa una matriz B de la forma:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 29
=
10
010
0010
00010
00001
432
4342
32
L
M
L
L
L
L
nnn bbb
bb
bB (3.55a)
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
rk
r
k
krikkrikirir hbbaah1 1
1,2,1 += ri L (3.55b)
−+= ∑ ∑
+= =++
n
rk
r
k
krikkrikirrr
ri hbbaah
b1 1,1
1,
1 nri L,2+= (3.55c)
Este procedimiento podría fallar si en algún paso 0,1 =+ rrh . El proceso podría
recomenzarse con una primera columna de B diferente, lo que en general evitaría el
error, aunque esto no puede garantizarse. Por otro lado, el procedimiento antes
expuesto no mantiene la posible simetría de la matriz A .
También puede hacerse la transformación a la forma Hessemberg por rotaciones
planas (método de Givens) o reflexiones (Householder). El método de Householder
utiliza matrices ortogonales y simétricas, de la forma:
TwwIP 2−= (3.56)
donde w es un vector unitario: 1=wwT . Es fácil probar que 1−== PPP T .
La matriz P refleja al espacio en el "plano" que pasa por el orígen y es ortogonal a w .
Considérese un vector cualquiera uwv 10 α+α= donde 0=wuT . Entonces,
( )( ) uwuwwwIvP 10102 α+α−=α+α−= T . Nótese que la componente según w
ha cambiado de signo, es decir, el vector v ha sido reflejado en el plano ortogonal a
w .
La transformación de A en H mediante el método de Householder requiere 2−n
pasos ( n es aquí el orden del sistema) de la forma:
kk
kk PAPA )()1( =+ (3.57a)
donde:
( ) 1)(,1signo
2
+++=
=θ
θ−=
kkk
kkkk
kTk
k
Tkkkk
a evvw
ww
wwIP
(3.57b)
siendo:
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 30
=
+
+
)(
)(,2
)(,1
0
0
knk
kkk
kkkk
a
a
a
M
M
v una matriz que contiene los coeficientes de la columna k de
)(kA que están por debajo de la diagonal principal, y
=+
0
1
0
1
M
M
ke
la columna 1+k de la matriz identidad (de orden n).
Para que el proceso sea más eficiente, debe observarse que al premultiplicar A , cuyas
columnas son L321 aaa , por la matriz P , cada columna se modifica en forma
independiente. Las columnas de PAA = resultan:
( ) ( ) kjTkkjj
Tkkkj wawaawwIa θ−=θ−= (3.58a)
Igualmente, al postmultiplicar A por P las filas se modifican en forma independiente.
Llamando ahora ia a la fila i de la matriz PAA = , la correspondiente fila de PAA =
resulta:
( ) ( ) Tkkiki
Tkkkii wwaawwIaa θ−=θ−= (3.58b)
Por ejemplo, considérese la matriz:
)1(
4321
3432
2343
1234
AA =
=
Transformación de la primera columna a la forma Hessemberg:
=
1
2
3
0
1v 74166.31 =v
=
+
=+=
1
2
74166.6
0
0
0
1
0
74166.3
1
2
3
0
2111 evvw 03964.01 =θ
( )93096.023786.138619.100000.1)1(11 =θ AwT
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 31
=
3.069041.762140.613810
1.138091.524280.227620
4.27618-5.34522-5.34522-3.74166-
12300000.4
)1(1AP
−=θ
42543.0
22681.0
02190.2
00000.1
1)1(
11 wAP
==
2.643620.911282.25428-0
0.911281.070671.30143-0
2.25428-1.30143-8.285713.74166-
003.74166-00000.4
1)1(
1)2( PAPA
Transformación de la segunda columna a la forma Hessemberg:
−−
=
25428.2
30143.1
0
0
2v 60298.22 =v
−
−=
−
−
−=+=
25428.2
90441.3
0
0
0
1
0
0
60298.2
25428.2
30143.1
0
0
3222 evvw 09840.02 =θ
( )0.93647-0.61346-00000.10)2(22 =θ AwT
=
0.532540.47162-00
2.74510-1.32452-2.602980
2.25428-1.30143-8.285713.74166-
003.74166-00000.4
)2(2AP
=θ
0.06306
1.11774
1
0
2)2(
22 wAP
===
0.674700.22540-00
0.22540-3.039592.602980
02.602988.285713.74166-
003.74166-00000.4
2)2(
2)3( PAPAH
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 32
3.4 Métodos 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 característicos.
3.4.1 Iteración con la Determinante de (A - µ B)
Los valores propios de φφφφφφφφ BA λ= son los ceros del polinomio característico
( ) ( ) 0det =λ−=λ BAp . Por ejemplo, si:
=
4200
2820
0282
0024
A
=
1000
0200
0020
0001
B
Las raíces del polinomio:
( )
0720864364644
4200
22820
02282
0024
det
234 =+λ−λ+λ−λ=
λ−λ−
λ−λ−
=λp
son los valores característicos. La determinación de los coeficientes del polinomio
característico es factible (utilizando, por ejemplo, el método de Hessemberg). Una vez
obtenidos los coeficientes del polinomio característico, se requiere determinar los
valores de λ para los que ( ) 0=λp . Sin embargo, éste es frecuentemente un
problema mal condicionado: pequeños errores en los coeficientes causan grandes
errores en las raíces. Por ello, los métodos en los que se hace una determinación
explícita del polinomio característico sólo son adecuados para pequeñas matrices.
Para matrices de orden elevado, pero con un ancho de banda comparativamente
pequeño, pueden determinarse los valores característicos por iteración, evaluando la
determinante de BA kµ− para una secuencia de valores kµ que se corrigen con
procesos tales como el método de la secante. Así, dadas las aproximaciones 1−µ k y
kµ a una raíz y habiéndose calculado ( ) BA 11 −− µ−=µ kkp y ( ) BA kkp µ−=µ se
obtiene una mejor aproximación, 1+µ k , mediante:
21)()()( 1
11 ≤η≤µ
µ−µµ−µ
η−µ=µ−
−+ k
kk
kkkk p
pp (3.59)
La evaluación de ( )µp no requiere tener el polinomio ( )λp en forma explícita.
Si BA µ− 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:
( ) ( ) ( ) ( ) ( )ULLUBA detdetdetdet ==µ−=µp (3.60a)
donde:
( )( ) L
L
44332211
44332211
det
1det
uuuu
llll
===
U
L (3.60b)
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 33
y por lo tanto: ( ) nnuuuuup L44332211=µ
La descomposición de BA µ− en factores triangulares LU requiere pocas
operaciones si el ancho de banda es pequeño.
Particularmente importante es el caso en el que las matrices A y B son simétricas y
definidas positivas (todos los valores característicos son reales y positivos). En tal caso
puede aplicarse la propiedad de Sturm: el número de coeficientes negativos en la
diagonal principal de U al hacer la descomposición LUBA =µ− es igual al número
de valores característicos menores que kµ . Esta propiedad, combinada con la
iteración (3.59) u otra similar, permite obtener una primera aproximación a una raíz. 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 5.1=µ :
=
=−
454.1000
2824.300
024.30
0025.2
1523.00
01588.0
001800.
0001
5.2200
2520
0252
0025.2
5.1 BA
( ) 25.47454.1824.34.35.25.1 =⋅⋅⋅=p
Análogamente se obtienen:
kµ )( kp µ Número 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 Iteración en Subespacio
El método tratado en la sección precedente es eficiente cuando las matrices tienen
ancho de banda relativamente pequeño. Cuando el ancho de banda es grande es más
adecuado un proceso de iteración en subespacio, como se describe en este acápite.
Este método tiene por objeto determinar en forma simultánea los p vectores
característicos asociados a los valores característicos de menor módulo. La idea
básica es que es mucho más fácil iterar para obtener un subespacio que contenga a
estos vectores que iterar para obtener cada uno de ellos por separado.
Se trabaja con una colección de q vectores linealmente independientes ( pq > ). Los
q vectores iniciales definen un subespacio que no necesariamente contiene a los p
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 34
vectores de interés. Si esos p vectores característicos si estuvieran contenidos en el
subespacio, sería suficiente proyectar φφφφφφφφ BA λ= para obtener el sistema
zBzA λ= , de orden nq << , que sería fácil de resolver por métodos de
transformación. Los valores característicos del problema proyectado serían los mismos
del problema original, mientras que sus vectores característicos, z , corresponderían 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 más y más “paralelo” a los p vectores propios de
interés.
En lo que sigue, se supone que A y B son matrices simétricas. Siendo kX los q
vectores de aproximación, en cada ciclo del proceso se realizan los pasos siguientes:
a. Iteración inversa:
kk BXXA =+1
La matriz A debe factorizarse antes de iniciar las iteraciones. Los vectores 1+kX
son más “paralelos” a los primeros p vectores característicos.
b. Proyección de A y B en el subespacio definido por los vectores 1+kX :
11)1(
+++ = k
Tk
k XAXA
11)1(
+++ = k
Tk
k XBXB
Las matrices )1( +kA y )1( +kB son cuadradas, simétricas, de orden q .
c. Solución del problema de valores y vectores característicos proyectado:
11)1(
1)1(
+++
++ = kk
kk
k ΛΛΛΛQBQA
1+kΛΛΛΛ es una matriz diagonal, cuyos coeficientes son los valores característicos del
problema proyectado. Si los 1+kX definen un subespacio que contiene a los p
primeros vectores propios, los p menores valores en 1+kΛΛΛΛ son parte de la solución
buscada.
d. Determinación de nuevos vectores:
111 +++ = kkk QXX
Como consecuencia de los pasos c y d:
( ) qkkT
kkkTk
Tkk
Tk ΛΛΛΛ=== +
++++++++ 1
)1(1111111 QAQQXAXQXAX
( ) qkkT
kkkTk
Tkk
Tk IQBQQXBXQXBX === +
++++++++ 1
)1(1111111
es decir, los vectores 1+kX satisfacen las condiciones de ortogonalidad, lo que asegura
que la iteración inversa no produce q vectores todos iguales a 1φφφφ .
Si en las 0X hay componentes según todos los p vectores característicos de interés:
( )LL pk
k λλλ=∞→
21diagLim ΛΛΛΛ
( )LL pk
k φφφφφφφφφφφφ 21diagLim =∞→X
Habiéndose obtenido en dos ciclos sucesivos los estimados )(kpλ y )1( +λ k
p para el mayor
de los valores característicos requeridos, el cociente )1()()1( ++ λλ−λ kp
kp
kp da una
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 35
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 característicos. Para ello puede usarse la propiedad de
Sturm, factorizando BA µ− en LU con valores de µ ligeramente mayores a los λ
calculados.
Si A y B son simétricas, de orden n , ancho de semibanda m , y A es definida
positiva, el número de operaciones iniciales requeridas es de ( )221 nmO ,
esencialmente para la factorización de A . En cada ciclo de la iteración, considerando
nq << , deben hacerse ( )( )324 ++ qmnqO operaciones. Esto puede reducirse a
( )( )322 ++ qmnqO cuando B es diagonal. Para el procedimiento como se ha
descrito en los párrafos precedentes, se trabaja con ( )8,2min += ppq .
Habitualmente unos 10 ciclos de iteración son suficientes para obtener 6 cifras
significativas correctas en los p valores y vectores característicos. Las operaciones
finales requieren ( )pnmO 221 operaciones adicionales.
Aproximación Inicial
Para iniciar el proceso se requieren q vectores linealmente independientes, agrupados
en 0X . Si A y B fueran diagonales, los vectores característicos serían las columnas
ke de la matriz identidad. Aún cuando A y B no sean diagonales, éste puede ser un
buen criterio para construir la aproximación inicial 0X . En particular, deberían
escogerse las columnas cuyo índice k corresponde a los máximos kkkk ab . Con el
propósito de introducir componentes según todos los vectores característicos, se
acostumbra además considerar dos columnas con componentes arbitrarios (que
podrían ser todos iguales a 1, o iguales a los kkkk ab ).
En algunas aplicaciones es fácil obtener una buena aproximación al primer vector
característico, por ejemplo, como solución de un sistema de ecuaciones de la forma
bxA =1 . Las sucesivas columnas kx para una excelente aproximación inicial pueden
entonces obtenerse como vectores de Ritz, mediante un proceso recursivo que
combina pasos de iteración inversa con ortogonalización:
1−= kk xByA
j
k
j jTj
jTk
kk xxBx
xByyx ∑
−
=
−=
1
1
Determinación de Grupos de Vectores Característicos Haciendo Traslaciones
Si se requieren muchos vectores característicos, el procedimiento estándar de iteración
en subespacio puede hacerse más eficiente utilizando sucesivas traslaciones en
combinación con procedimientos de eliminación de las componentes según los
vectores ya conocidos.
En este caso se trabaja con subespacios de dimensión q , con el propósito de
determinar grupos de 2qp ≈ vectores. Habitualmente ( )mq ,4máx= , siendo m el
ancho (promedio) de semibanda. Para cada grupo de vectores, se realizan cómputos
iniciales que incluyen:
a. Determinación de la traslación (el proceso se inicia con 0=µ )
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 36
1
~9.01.0 +λ+λ=µ nn
nλ es el último valor característico para el que se ha logrado convergencia;
1
~+λn es la aproximación al siguiente valor característico.
b. Factorización: ULBA =µ−
c. Determinación de q vectores de aproximación inicial, 0X .
La iteración incluye los pasos siguientes:
a. Eliminación de las componentes de kX según los vectores característicos
previamente determinados (ver acápite 3.2.4).
b. Iteración inversa:
11
1
++
+
==
kk
kk
YZUL
XBY
c. Proyección de BA µ− y B en el subespacio definido por los vectores 1+kY :
11)1(
+++ = k
Tk
k YZA
11)1(
+++ = k
Tk
k ZBZB
Las matrices )1( +kA y )1( +kB son cuadradas, simétricas, de orden q .
d. Solución del problema de valores y vectores característicos proyectado:
( ) 11)1(
1)1()1(
+++
+++ =µ+ kk
kk
kk ΛΛΛΛQBQBA
e. Determinación de nuevos vectores:
111 +++ = kkk QZX
f. Verificación de la convergencia
Como en el procedimiento estándar, debe verificarse que se tienen los valores
característicos correctos utilizando la propiedad de Sturm.
Ejemplo simple
Supóngase que se requieren dos vectores característicos de φφφφφφφφ BA λ= , siendo:
−−−
−−−
=
2100
1210
0121
0012
A
=
2
0
1
0
B
En este caso particular la iteración inversa produce en un solo paso el subespacio que
incluye a los dos primeros vectores característicos, ya que dos de los valores
característicos son infinitos. Para hacer más eficiente el proceso debe factorizarse
primero la matriz A :
H. Scaletti - Métodos Numéricos: Valores y Vectores Característicos 3 - 37
LUA =
−−
−
−−
−=
25.1000
13333.100
015.10
0012
175.000
016667.0
0015.0
0001
Con la aproximación inicial:
=
01
00
10
00
0X
Se obtiene por iteración inversa:
=
02
00
10
00
0XB 01 XBXUL =
=
0.41.6
0.81.2
1.20.8
0.60.4
1X
Proyectando las matrices A y B en el subespacio definido por los vectores 1X :
==
2.18.0
8.02.311
)1( XAXA T
==
76.124.2
24.276.511
)1( XBXB T
se resuelve el problema proyectado (método de Jacobi generalizado):
1.00
50.0-
56.2 d
-0.64 c
56.2 c
28.1 c
3
2
1
=γ=α
−=⇒
===
−=
γα
=11
5.01
1
1P
=
20.10
000.6PAPT
=
96.00
012PBPT
de donde:
=
=
25.10
050.0
0
0
222
1111
ba
baΛΛΛΛ
−=
621020.1675288.0
310510.0675288.0Q
y finalmente se expresan los vectores en el sistema de referencia original:
( )2111
248408.0350577.0
124204.0350577.0
497816.0350577.0
248408.0675288.0
φφφφφφφφ=
−
== QXX
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 1
4. Ecuaciones No Lineales
4.1 Introducción
En general no es posible obtener las raíces de una ecuación no lineal ( ) 0=xf en forma
explícita, debiéndose utilizar métodos iterativos. Partiendo de una raíz aproximada, 0x ,
se obtiene una secuencia K321 ,, xxx que converge a la raíz deseada. Para algunos
métodos es suficiente conocer el intervalo [ ]ba, en que se halla la raíz; otros
procedimientos, de convergencia más rápida, requieren una aproximación inicial cercana
a la raíz. Puede ser conveniente empezar los cálculos con un método del primer tipo y
cambiar a un método de convergencia más rápida en la etapa final.
La primera parte de este capítulo considera el caso en que la raíz, x , es una raíz simple,
es decir, 0)( ≠′ xf . Las dificultades que se presentan en el caso de raíces múltiples se
discuten en la sección 4.6. La sección 4.7 revisa métodos específicos para extraer
“ceros" (raíces) de polinomios.
La parte final da algunas ideas para la solución de sistemas de ecuaciones no lineales,
un problema que ciertamente puede demandar mucho esfuerzo de cómputo.
4.2 Aproximaciones Iniciales
Pueden obtenerse aproximaciones iniciales a las raíces de ( ) 0=xf graficando o
tabulando la función.
Si 0)()( <⋅ oo bfaf , hay por lo menos una raíz, x , en el intervalo ( )oo ba , . En el
método de Bisección se definen una serie de intervalos K),(),(),( 221100 bababa ⊃⊃ .
El punto medio de un intervalo ),( ii ba es 2/)( iii bax += . Suponiendo que ( ) 0≠xf
(si este no es el caso, se ha hallado la raíz) se define el sub-intervalo ),( 11 ++ ii ba
mediante:
<⋅
<⋅=++
0)()(),(
0)()(),(),( 11
iiii
iiii
iixfafxa
bfxfsibxba
Introduciendo la notación xxnn −=ε , se tiene que ( )nn O εε 21
1 =+ . Como 3.31 210 −− ≈ , se requieren 3 ó 4 pasos para mejorar un dígito decimal en la aproximación.
La convergencia es prácticamente independiente de ( )xf . Por ejemplo, para la función:
( ) ( ) 0sen4
2
=−= xx
xf
puede iniciarse la iteración con
2
5.1
0
0
==
b
a
obteniéndose:
-1
-0.5
0
0.5
1
1 1.5 2 2.5x
f(x)
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 2
i ia ib ic ( )icf
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 Método de Newton – Raphson
Si 0x es suficientemente cercano a la raíz x :
( ) ( ) ( ) ( ) ( ) 0)( 02
021
000 =+′′−+′−+= Lxfxxxfxxxfxf
Y despreciando términos de orden superior:
)(
)(
0
00 xf
xfxx
′−≈ .
Puede entonces pensarse en iterar con:
iii hxx +=+1 donde:
( )( )i
ii xf
xfh
′−=
expresión que define el método de Newton – Raphson (o simplemente de Newton). La
figura muestra una interpretación geométrica:
-0.25
0
0.25
0.5
1.75 2 2.25
x
f(x)
Por ejemplo, puede emplearse el método de Newton para extraer la raíz p de un
número c , lo que equivale a resolver:
0)( =−= cxxf p
1)(' −= pxpxf
Con el método de Newton:
ix1+ix
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 3
( )( )i
iii xf
xfxx
′−=+1
y por lo tanto:
+−=
−−= −−+ 111 )1(
1pi
ipi
pi
iix
cxp
pxp
cxxx
Para obtener la raíz cúbica de 2 se tendría:
+=+ 21
22
3
1
iii
xxx
e iniciando los cálculos con 10 =x :
i ix xxii −=ε
0 1 -0.259921
1 1.333 0.073412
2 1.2638889 0.003968
3 1.2599334934 1.244 510−⋅
4 1.25992105001778 1.229 1010−⋅
Puede observarse que la convergencia es muy rápida. Sin embargo este no siempre es
el caso. Considérese, por ejemplo, la ecuación:
( ) ( ) 02 =−−= xctgxxf
para la que ( )xecxf 2cos1)( +−=′
Los resultados obtenidos con dos distintas aproximaciones iniciales, 5.00 =x y 20 =x ,
son:
i ix para 5.00 =x ix para 20 =x
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 método de Newton se revisan a continuación.
De la expansión de f en series de Taylor:
( ) ( )ηfxxxfxxxfxf nnnn ′′⋅−+′⋅−+== 2
2
1)()()()(0 η en intervalo ( )xx,
Dividiendo entre )( nxf ′ (que se supone distinto de cero):
( )( ) ( ) ( ) ( )
( )nnnn
n
n
xf
fxxxxxx
xf
xf
′′′
−−=−=−+′ +
η221
1
( )( )
21 2
1n
nn xf
f εηε′′′
=∴ +
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 4
y cuando xxn → se tiene que 21 )(
)(
2
1nn xf
xf εε′′′
→+ .
Esto es válido sólo si ( ) 0≠′ xf , es decir si la raíz es simple. El caso de raíces múltiples
se revisa más adelante. El proceso converge cuando nn εε <+1 , es decir si:
10 <′′′ ffε . Si la raíz es simple y la aproximación inicial es adecuada, la convergencia
del método de Newton es cuadrática.
Con el método de Newton pueden también obtenerse raíces complejas. Esto requiere
que la aproximación inicial sea un número complejo. Por ejemplo, si:
01)( 2 =+= xxf se tendría:
( )( )
−=
′−=+
ii
i
iii x
xxf
xfxx
1.
2
11
e iniciando los cómputos con ix +=10 :
i ix
0 i+1
1 i75.025.0 +
2 i975.0075.0 +−
3 i9968.00017.0 +
4 i000004.1000005.0 +−
4.4 Método de la Secante y Otros Procesos del Mismo Tipo
Si en )(
)(1
n
nnn xf
xfxx
′−=+ la derivada )( nxf ′ se aproxima por
( )( )1
1
−
−
−−
nn
nn
xx
ff, donde nf
denota )( nxf , se tiene el método de la Secante:
nnn hxx +=+1
( ))( 1
1
−
−
−−
−=nn
nnnn ff
xxfh Se supone que 1−≠ nn ff
Para cada punto, n, solo debe evaluarse una función, nf , mientras que el método de
Newton requiere también la evaluación de nf ′ .
Es importante hacer notar que NO es conveniente rescribir estas expresiones en la
forma: ( )
( )1
111
−
−−+ −
⋅−⋅=
nn
nnnnn ff
fxfxx
ya que con esta última expresión pueden introducirse fuertes errores numéricos cuando
1−≈ nn xx y 01 >⋅ −nn ff .
En la tabla siguiente se resuelve )sen()( 241 xxxf −= para 2≈x por el método de la
secante:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 5
n nx ( )nxf xxnn −=ε
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 52
1 10−⋅<
(en la gráfica adjunta casi no se aprecia
la diferencia entre la función y la
secante).
La convergencia de método de la
secante es en general más lenta que la
del método de Newton. Sin embargo,
se justifica usar este método si la
evaluación de ( )xf ′ requiere más del
44% del trabajo que se emplea en
evaluar ( )xf , ya que el mayor número
de iteraciones queda más que
compensado por el menor número de
operaciones realizadas en cada caso.
A esta conclusión se llega comparando
la convergencia de ambos métodos.
Para el método de la secante:
−−
−=−=−−
−++
1
111
nn
nnnnnnn ff
fxxεεεε
y siendo:
( ) ( ) ( ) ( ) K+′′+′+== xfxfxfxff nnnn2
21 εε
se obtiene (despreciando términos de orden superior):
( )( )( ) ( )
=+′′−+′−
−+′′+′+=
−−
−+
L
K
)()(
)()(2
121
1
12
21
1xfxf
xfxf
nnnn
nnnnnn εεεε
εεεεεε
( ) ( )( )21
)()()()( 1212
21
KK +′′++′+′′+′+= − xfxfxfxf nnnnn εεεεε
121
1 )(
)(−+ ′
′′≈∴ nnn xf
xf εεε
Suponiendo entonces: βεε nn C=+1 y por lo tanto ( ) 1111
1 2
12
−−−+
+ ′′′
== nnnn Cf
fC εεεε βββ , de
donde se obtiene: ( ) K618.1511 212 =+=→+= βββ Es decir, la convergencia del
método de la secante es entre lineal y cuadrática.
-0.25
0
0.25
1.75 2x
f(x)
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 6
En el método de Falsa Posición la secante se toma entre los puntos ( )nn fx , y ( )rr fx , ,
donde nr < es el mayor índice para el cual 0<rn ff . Si ( )xf es continuo, este
método es siempre convergente. Sin embargo, la convergencia es de primer orden.
Otra alternativa es el método de Steffensen: ( )( )n
nnn xg
xfxx −=+1
donde: ( ) ( )( ) ( )( )n
nnnn xf
xfxfxfxg
−+=
cuya convergencia es de segundo orden: ( ) ( )( ) 2
1 1)(2
1nn xf
xf
xf εε ′+′′′
≈+
4.5. Otros Métodos Iterativos
Una ecuación de la forma ( ) 0=xf puede rescribirse como )(xgx = . Dada entonces
una aproximación 0x a una raíz x de ( ) 0=xf , la secuencia L,,, 321 xxx definida por:
( )nn xgx =+1 converge a x siempre que ( ) 1<′ xg en la región de interés. El
procedimiento puede ser más simple que otros y en algunos casos puede incluso
converger más rápidamente.
Por ejemplo, la ecuación:
01tg)2()( =−−= xxxf
es equivalente a )2(ctg xx −= . En este caso podría iterarse con nn xx −=+ 2ctg 1 o, lo
que es lo mismo, ( )nn xarcx −=+ 2ctg1 . Sin embargo, la iteración escrita al revés, es
decir nn xx ctg21 −=+ , no funciona.
En efecto, tomando 00 =x e iterando con nn xx −=+ 2ctg 1 se obtienen:
n xn
0 0.
1 0.464
2 0.577
3 0.6125
4 0.6245
5 0.6286
6 0.6301
...
10 0.6308017
...
20 0.630812760
Una interpretación gráfica del proceso se muestra en la figura.
En lo que sigue se analiza cómo se reducen los errores en este caso.
Si se considera nn xx ε+=
11 ++ ε+= nn xx
se tiene que ( ) ( )nn xx ε+−=ε+ + 2ctg 1
-0.5
0
0.5
1
1.5
2
-0.5 0 0.5 1 1.5 2 2.5
x
y(x)
ctg x 2-x
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 7
Suponiendo que xn <<ε +1 puede hacerse una expansión de la cotangente en series:
( ) ( ) nnn xO
xx ε−−=ε+
ε− +
+ 2sen
ctg 212
1
y siendo x la solución exacta, ésta satisface idénticamente la ecuación: )2(ctg xx −= ;
de donde se concluye que:
( ) nnn x ε≈ε≈ε + 312
1 sen
es decir nn ε<ε +1 y por lo tanto el proceso es convergente.
Si en cambio se considera la iteración nn xx ctg21 −=+ se tiene que nn ε≈ε + 31 y el
proceso no converge, aún cuando 0x sea muy cercano a la raíz 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 Raíces: Raíces Múltip les
Si nx es una aproximación a una raíz x de 0)( =xf , se tiene:
( ) ( ) ( ) ( ) ( ) ( ) K+′′−+′−+= xfxxxfxxxfxf nnn2
21
Para xxn ≈ puede escribirse:
( )( )xf
xfxx n
n ′≈−
Si el error en la evaluación de )( nxf es de ( )δO ( δ depende de la precisión de la
computadora y es independiente de x ) el error en la aproximación de la raíz xxn − es
de ( )
′δ
xfO . Entonces, si ( )xf ′ es muy pequeño se tiene que ( ) δ>>
′δ
xf y se dice
que la raíz x está mal condicionada.
El mismo argumento puede repetirse cuando se trata de una raíz de multiplicidad m ,
caso en el que::
( ) 0)()()( 1 ==′′=′ − xfxfxf mK .
En tal caso:
( ) ( )m
mnxf
mxx O
1
!
⋅δ=−
El exponente m1 implica que las raíces múltiples son en general mal condicionadas.
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 8
Considérese por ejemplo: ( ) 0122 =+−= xxxf , que tiene una raíz doble 1=x .
Supóngase que se trabaja con aritmética de punto flotante y 8 decimales en la mantisa.
Entonces 82
1 10−⋅=δ , y siendo ( ) 2=′′ xf se obtiene:
( ) 4421
228
21 107071.010
2
210 −−− =⋅=⋅⋅=− KOxxn
es decir, cualquier valor en el rango: 0,99992929 ≤≤ x 1,00007071 sería aceptado como
exacto, pudiéndose tener un error relativo de orden 510− .
-1
-0.5
0
0.5
1
0 1 2 3 4 5
x
p(x)
Siendo las raíces múltiples mal condicionadas, es de esperarse que la separación
relativa de las raíces afecte el condicionamiento. Particularmente crítico es el caso en
que las raíces están más o menos uniformemente espaciadas, por ejemplo en:
( ) ( )( )( ) ( ) 0!202061521020321 181920 =+−+−=−−−−=ρ LL xxxxxxxx
Si en lugar del coeficiente 210 se tuviera un coeficiente (210 + ε), se obtendrían las
raíces:
0=ε 910−=ε
1 a 10 1 a 10
11 85.10
12
13
i11.038.12 ±
14
15
i72.037.14 ±
16
17
i88.057.16 ±
18
19
i35.067.18 ±
20 20
Este ejemplo es particularmente mal condicionado, pero son frecuentes las dificultades
análogas al evaluar los ceros (es decir, las raíces) de polinomios. La evaluación de las
raíces de un polinomio es un problema numérico que debe evitarse, a menos que los
datos iniciales hayan sido los coeficientes del polinomio en forma explícita.
Raíz bien condicionada
Raíz mal condicionada
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 9
Aparte de un mal condicionamiento, las raíces múltiples reducen el orden de la
convergencia. Así, por ejemplo, el método de Newton, cuya convergencia es cuadrática
cuando nx es aproximadamente una raíz simple:
( )( )
ε
′′′
=ε +2
1 2
1nn xf
xf
tiene convergencia lineal cuando la raíz es múltiple. Para una raíz de multiplicidad m :
( ) ( )211 1 nnmn O ε+ε−=ε +
El método de Newton modificado:
( )( )n
nnn xf
xfmxx
′−=+1
tiene todavía convergencia cuadrática, pero en general no es posible conocer m a priori.
Alternativamente, puede pensarse en procesos del tipo:
( ) ( )( )n
nn xf
xfxu
′=
( ) ( )( ) ( )n
n
nn xu
xf
xfxu
′′′
−=′ 1
( )( )n
nnn xu
xuxx
′−=+1
Pero nótese que esto es poco efectivo cuando la raíz es simple, puesto que se requiere
evaluar una función adicional, ( )nxf ′′ .
4.7. Métodos para Calcular Raíces de Polinomios
En esta sección se revisan algunos de los muchos métodos específicos para evaluar las
raíces (ceros) de polinomios: ( ) 012
21
1 =+++++=ρ −−−
nnnnn axaxaxaxx K
( )( )( ) ( ) 0321 =α−α−α−α− nxxxx K
Es frecuente subestimar las dificultades que se presentan en problemas de este tipo.
Los métodos mencionados en los acápites anteriores (Newton, secante y otros) son
también aquí aplicables, aunque pueden ser poco eficientes.
4.7.1 Método de Bernoulli
Este es un proceso "clásico", que en general resulta poco apropiado, porque se obtiene
primero la raíz de mayor módulo.
Se toman n valores arbitrarios ntttt L321 ,, (con 0≠nt ) y se calculan nuevos valores por
recursión:
∑=
−−=n
i
ipip tat1
Esta es una ecuación de diferencias, cuya solución puede escribirse como:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 10
pnn
ppp rcrcrct +++= K2211
Las ri son raíces (distintas de cero) de:
( )∑=
−−=n
i
ini
n rar1
es decir, las ri son las raíces del polinomio: iir α= .
Por tanto:
pnn
ppp ccct α++α+α= K2211
y si 11 α≥≥α>α − Knn se tiene que:
nt
tLim α=
−ρ
ρ
∞→ρ1 .
Esto es análogo a una iteración directa para determinar un valor propio de una matriz.
También aquí la convergencia es lenta cuando 1−α≈α nn . El proceso converge a αn,
aún cuando 0=nc (gracias a los errores de redondeo). El inconveniente principal de
este método es que extrae primero la raíz de mayor módulo y la "deflación" con esta raíz
(que no es exacta) puede introducir errores importantes en las otras raíces.
Supóngase, por ejemplo, que:
( ) 75.025.025.12 234 −−+−= xxxxxf .
Con 0210 === ttt y 13 =t se obtienen:
k tk nk
k
t
tα≈
−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
Nótese que la convergencia es lenta. Esto es frecuente. Después de pocos pasos es
mejor cambiar a otros métodos (v.g. Newton - Rapshon).
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 11
4.7.2. Método de Graeffe (método de los cuadrados de las raíces)
Este es un proceso que puede ser empleado para mejorar el condicionamiento de las
raíces, pero es inadecuado para completar la extracción de las mismas.
Dado: ( ) 012
21
11 =+++++= −−−
nnnnn axaxaxaxxp K
O bien: ( )( )( ) ( ) 0)( 3211 =−−−−= nxxxxxp αααα K .
Puede formarse un nuevo polinomio
( ) ( ) ( ) ( ) )()()()(1 2223
222
221
211 n
n xxxxxpxpx ααααφ −−−−=−−= L .
Como ( )xφ solo contiene potencias pares de x , se puede definir:
( ) ( ) )()()()( 223
22
212 nxxxxxxp ααααφ −−−−== K
Es decir, ( ) 02 =xp tiene raíces 2221 ni ααα LL , que son justamente los cuadrados de
las raíces de ( ) 01 =xp . Del mismo modo pueden obtenerse ( ) ( ) ( )xpxpxp mL84 . Las
raíces de ( ) 0=xpm , son las miα donde rm 2= .
Si se tienen coeficientes L)(
3)(
2)(
1 ,, rrr aaa tales que:
( ) ( ) ( ) ( ) ( ) 012
21
1 =+++++= −−− r
nr
nnrnrn
m axaxaxaxxp K
los coeficientes a1(r+1), L
)1(3
)1(2 , ++ rr aa de ( )xp m2 resultan:
( ) ( )( ) ( ) ( ) ( )
−+−= ∑
−
=−+
−+),min(
1
21 12)1(iin
j
rji
rji
jri
inri aaaa
Y para m (o r ) suficientemente grande, puede escribirse:
( )rm a11 ≈α ( )
( ) Kr
rm
a
a
1
22 ≈α
( )
( )rk
rkm
ka
a
1−
≈α
Estas expresiones permiten, en teoría, determinar los valores absolutos de las raíces.
Los signos deben obtenerse por sustitución en el polinomio original ( ) 0=xp .
Por ejemplo, considérese el polinomio ( ) 6116 23 −+−= xxxxp (cuyas raíces 1, 2, 3
están uniformemente espaciadas y por tanto están 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 7161 103112.4 ⋅≈α
47
12162 105438.6
104.3112
102.8212 ⋅=⋅⋅≈α
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 12
99998.0102.8212
102.821112
12163 =
⋅⋅≈α
es decir 0003.31 ≈α 9998.12 ≈α 0000.13 ≈α
Las raíces de ( ) ( ) ( )Lxpxpxp 842 están mejor condicionadas en cada paso. Sin
embargo, se observa un crecimiento muy rápido de los coeficientes (posible "overflow")
por lo que no pueden realizarse muchos pasos.
4.7.3. Método de Laguerre
Un muy buen método para extraer raíces de polinomios es el de Laguerre. En este
método, las sucesivas aproximaciones a una raíz se calculan mediante:
)()(
)(1
kk
kkk
xHxp
xpnxx
±′−=+
donde n es el grado del polinomio y:
( ) ( )( )[ ])()()(11)( 2kkkk xpxpnxpnnxH ′′−′−−=
Como en otros casos, debe considerarse el signo que evita la cancelación, es decir,
aquel para el que kk xx −+1 resulta lo más pequeño posible.
El método de Laguerre requiere evaluar ( )kxp , ( )kxp′ y ( )kxp ′′ en cada paso, pero la
convergencia (para raíces simples) es cúbica. Si las raíces son reales, este método
converge siempre. Suponiendo que la aproximación inicial 0x esté en el intervalo entre
rα y 1+α r , converge a una de esas dos raíces. Si en cambio 10 α<x o nx α>0 el
proceso converge a 1α o nα , respectivamente.
Por ejemplo, considérese el polinomio:
( ) ( )( )( )( )( )( )( )( )0403201095841181246728422449453654636
876543212345678 =+−+−+−+−=
=−−−−−−−−=
xxxxxxxx
xxxxxxxxxp
Con la aproximación inicial 00 =x se obtienen:
kx ( )kxp ( )kxp′ ( )kxp ′′ ( )kxH
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 aproximación inicial 5.20 =x :
kx ( )kxp ( )kxp′ ( )kxp ′′ ( )kxH
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 método puede ser usado también para extraer raíces complejas, en ese
caso no puede garantizarse la convergencia. Si se tuvieran pares de raíces complejas,
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 13
pero los coeficientes del polinomio fueran todos reales, sería aconsejable extraer
factores cuadráticos con el procedimiento descrito en la sección 4.7.4
4.7.4. Método de Bairstow (factorización iterativa de polinomios).
Un polinomio ( ) nnnnn axaxaxaxxp +++++= −
−−1
22
11 K puede expresarse como:
( ) ( ) ( ) ( ) ( )s,rGs,rxFs,r,xqsrxxx ++⋅++= 2ρ .
Se requiere determinar sr, para que srxx ++2 sea un factor exacto de ( )xp , es decir,
para que se tenga ( ) ( ) 0,, == srGsrF . Siendo éste el caso, dos de las raíces (o un par
de raíces complejas) pueden obtenerse de 02 =++ srxx ; el resto de las raíces son los
ceros de ( )xq . Dados valores aproximados de sr, tales como nr y ns , se obtienen
valores mejorados, 1+nr y 1+ns , considerando:
( ) ( ) ( ) ( ) 0,,,
1
,
111 ≈−+−+≈ ++++
nsnr
nn
nsnr
nnnnnn ds
dFss
dr
dFrrsrFsrF
( ) ( ) ( ) ( ) 0,,,
1,
111 ≈−+−+≈ ++++nsnr
nn
nsnrnnnnnn ds
dGss
dr
dGrrsrGsrG
de donde, con la notación ds
dGG
dr
dFF sr == L , se tiene:
nsnrrssr
ssnn GFGF
GFFGrr
,
1
−⋅−⋅
−=+
nsnrrssr
rrnn GFGF
GFFGss
,
1
−⋅−⋅
−=+
Dado que el polinomio original ( )xp es independiente de r y s , al derivar el polinomio
( ) ( ) GxFqsrxxxp ++⋅++= 2 con relación a r y s se obtienen:
( ) 0)(2 =++⋅+++ rrr GxFqsrxxxq
( ) 0)(2 =++⋅+++ sss GxFqsrxxq
es decir, los rF y rG son los coeficientes del residuo al dividir ( )xqx− entre
srxx ++2 mientras los sF y sG se obtienen como coeficientes del residuo al dividir
( )xq− también entre srxx ++2 .
La convergencia de este proceso depende de una buena aproximación inicial.
El siguiente ejemplo ilustra un paso del proceso. Supóngase que se tiene el polinomio:
( ) 02525145 234 =+−+−= xxxxxp y un factor aproximado 442 +− xx (es decir 4−=or , 40 +=s ). Dividiendo ( )xp entre
este factor (utilizando el procedimiento de Ruffini) se obtiene:
( )xp 1 -5 14 -25 25
40 =− r 4 -4 24
40 −=− s -4 4 -24
q(x) 1 -1 6 3 1
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 14
Y análogamente:
-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:
1
3
==
G
F
12
14
,
,
=−=
r
r
G
F
2
3
,
,
−=−=
r
r
G
F
64=⋅−⋅= rssr GFGFw
( )( ) ( )( )4.0469
64
233141 −=−−−−−=r
( )( ) ( )( )4.7813
64
12314141 =−−−=s
es decir: 4.78134.0469211
2 +−=++ xxsxrx
En el siguiente paso se obtienen:
2547.1=F 6350.0−=G
1003.13−=rF 7920.14=rG
0938.3−=sF 5803.0−=sG
de donde 0973.42 −=r , 9732.42 =s . El factor exacto es 542 +− xx .
El método antes descrito es adecuado solo si la aproximación inicial es cercana al factor
exacto (esto es análogo a lo que ocurre con el método de Newton). Pueden también
utilizarse las mismas ideas para separar factores de grado mayor que 2.
4.7.5. Método de Jenkins y Traub
Este proceso tiene algunas similitudes con el método de iteración inversa para hallar
vectores característicos. Converge a la raíz de menor módulo (lo que es beneficioso
para una "deflación" adecuada; véase la sección 4.7.6) y permite efectuar translaciones
para acelerar la convergencia. Es probablemente el mejor de los métodos para extraer
raíces de polinomios (pero en algunos casos no es el más eficiente). El algoritmo tiene 3
etapas:
a. Dado el polinomio ini
n
i
xaxp −
=∑=
0
)( con 0,1 ≠= no aa , se determina:
( ) ( ) 1
0
0 )()( −−
=∑ −=′= in
i
n
i
xainxpxh
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 15
y por recursión:
( ) ( )( )
−=+ )(
)0(
)0()(
1)(1 xp
p
hxh
xxh
kkk L2,1,0=k
A medida que k crece, las razones entre los coeficientes de ( ) )(xh k y aquellos de ( ) )(1 xh k + tienden a hacerse constantes e iguales a la raíz de menor módulo:
( )
( ) )0(
)0(11 +≈α
k
k
h
h
b. En una segunda etapa, con una “translación” fija 10 rs ≈ , se determinan:
( )( )
( )( )
−
−=+ )(
)(
)()(
1)(
0
0
0
1 xpsp
shxh
sxxh
kkk
c. Y finalmente se refina la aproximación con translaciones variables en cada paso:
( ) ( )( ) ( ) 1
1
1 rsh
shss
kk
kk
kk ≈+=−
+
( )( )
( )( )
−
−=
+
+
+
+ )()(
)()(
1)(
1
1
1
1 xpsp
shxh
sxxh
k
kk
k
k
k
Cada paso de este método requiere )2( nO operaciones.
En lo que sigue se analiza cómo el proceso converge. El polinomio cuyas raíces se
buscan puede expresarse en la forma:
( ) ( ) ( ) ( ) 033
22
11 =α−α−α−= K
mmm xxxxp
donde L321 ,, mmm son las multiplicidades de las raíces.
El método se inicia con ( ) )()(0 xpxh ′= , que es un polinomio de grado 1−n . Este
polinomio puede escribirse en la forma:
( ) ( )( )∑ α−
=i
i x
xpcxh
)()( 00
donde ( )ii mc =0 . Puede probarse por inducción que los sucesivos polinomios
( ) ( ) ( )Lxhxhxh )3()2()1( son también polinomios de grado 1−n . Supóngase que:
( ) ( )( )∑ α−
= −−
i
ki
k
x
xpcxh
)()( 11
Entonces: ( )( )
( )( )
−
−=
−− )(
)(
)()(
1)(
11 xp
sp
shxh
sxxh
k
kk
k
k
k
( )( )
( )( )
( )
−−
−−= ∑∑ −−
ik
kki
ki
ki
k s
spc
sp
xp
x
xpc
sx αα)(
)(
)()(1 11
( )
( ) ( )( )
( )∑∑ −=
−−=
−
i
ki
iki
ki
x
xpc
x
xp
s
c
ααα)()(1
es decir, si ( ) )(1 xh k + es un polinomio de grado 1−n , también lo es ( ) )(xh k .
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 16
Además: ( )( )
)()()()()( 321
1
kiiii
i
ki
kik
i ssss
m
s
cc
−α−α−α−α=
−α=
−
K
y si se consideran translaciones js tales que: Kjjj sss −α<−α<−α 321
se tiene que (considerando multiplicidades mi iguales): K)(
3)(
2)(
1kkk ccc >> y por lo tanto:
( )( )
( ) )(
)(1
xh
xhLims
k
k
kki
−
∞→=−α
Esta expresión puede también usarse para determinar las translaciones más adecuadas:
( )
( )
( )
( ) )(
)(
)(
)(1
1k
kk
k
kk
kk
k
kksw
sws
sh
shss
′−=+=
−
+
donde:
( )( ) )(
)()(
xh
xpxw
kk =
La última expresión puede probarse considerando que:
( )( )
( )( )
ksxk
kk
k
kk
k xpsp
shxh
sxsh
=
−−
−
−= )(
)(
)()(
1)(
11
y utilizando la regla de L' Hospital.
Por otro lado, dado que 0)( =α ip , se tiene que ( ) 0)( =α ikw y por lo tanto:
( )
( ) )(
)(1
kk
kk
kksw
swss
′−=+
Esta expresión es análoga a la utilizada en el método de Newton. Considerando
kk sc −= 1α puede escribirse:
( )
( )2
1
121
1)(
)(kk
k
kw
wε
α′α′′
≈ε +
pero en este caso la función )(kw es variable en cada paso:
( ))(
)()(
)( xh
xpxw
kk =
( ) ( )( ) )()(
)()(
1
xpxgx
xpcxh k
ik +
α−=
Para 1α≈x se tiene: )()(
1
1
xgx
>>α−
y por lo tanto:
( )( )
( )( ) ( )11
1
)()(
)()(
α−+α−
==xxgc
x
xh
xpxw
kkk
puede aproximarse por:
( ) ( )[ ]K2)(
111)(
11)( )()()()( −− α−−α−= kkk cxxgcxxw
de donde:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 17
( )2
1
111
)(kkk
c
gε
α≈ε +
pero ( ) ( )K1
)2(1
)1(1
1
)1(1)(
1−
−−−
εε=
ε=
−α=
kk
k
k
k
k
kk cc
s
cc
y entonces:
( ) 211 kkkk εεεβ=ε −+ L
( ) 211 −− εεβ=ε kkk K
de donde 11
31
−−+ ε⋅ε=ε kkk y considerando γ
+ ε⋅=ε kk C1 se obtiene finalmente 62.2=γ .
El orden de convergencia es superior al del método de Newton.
Considérese, por ejemplo, el polinomio: 12)( 2 +−= xxxp (cuyas raíces son iguales
=α=α 21 1). En este caso:
( ) 22)()(0 −=′= xxpxh
( ) ( )( )
22)()0(
)0()(
1)(
001 −=
−= xxp
p
hxh
xxh
y es evidente que, si se continuara con el proceso, ( ) 22 −= x)x(h n Es decir, en un paso
se tiene convergencia. Esto se debe a que en realidad se tiene una sola raíz con
multiplicidad 2.
( )
( ) 12
20
)(
)(1
1 =−−+=+=α
−
sh
shs
k
k
Para el siguiente ejemplo: 023)( 2 =+−= xxxp (cuyas raíces son =1α 1, =2α 2):
2x 1x 0x )( 1−ksh ks )( ksh )( ksp
1 )(xp 1. -3. 2.
2 ( ) )()(0 xpxh ′= 2. -3. 0. -3. 2.
3 1.5 )(xp 1.5 -4.5 3.
4 (2)+(3) 1.5 -2.5 0.
5 ( ) )(/)4( 1 xhx = 1.5 -2.5 -2.5 1.2 -0.70 -0.16
6 -4.375 )(xp -4.375 13.125 -8.750
7 (5)+(6) -4.375 14.625 -11.250
8 )2.1()7( −x/ -4.375 9.375 4.125 1.0303 4.8674 -0.029385
9 165.645 )x(p 165.645 -496.934 331.290
10 (8)+(9) 165.645 -501.309 340.664
11 )00303.1/()10( −x 165.645 -330.644 -159.979 .999878 -165.019 0.000122
12 1352450 )(xp 1 352 450 -4 057 350 2 704 900
13 (11)+(12) 1 352 450 -4 057 184 2 704 569
14 )999878./()13( −x 1 352 450 -2 704 899 -1 352 614 1.000000 ← La primera raíz
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 18
4.7.6 Deflación
El polinomio )x(p , de grado 1≥n , puede escribirse como: ( ) rxqaxxp +−= )()( , donde
( )xq es un polinomio de grado 1−n y )a(pr = . Si 1α=a es una raíz exacta de
( ) 0=xp , se tiene 0=r . Las raíces restantes son las raíces de ( ) 0=xq . Para el
cómputo de estas otras raíces puede entonces trabajarse con el cociente ( )xq en lugar
de ( ) 0=xp . Esto es una "deflación". La deflación puede repetirse a medida que se
obtienen otras raíces. Es evidente que esto ahorra operaciones.
Sin embargo, a medida que se calculan las raíces éstas no pueden obtenerse en forma
exacta y la deflación con una raíz que es solo aproximada produce un polinomio q(x) que
está afectado por esos errores.
Considérese, por ejemplo, 01001012 =+− xx , cuyas raíces exactas son =1α 1, =2α 100.
Si se obtiene primero la raíz 2α (aquella de mayor módulo) con un 0,1% de error:
≈2α 100.1, la deflación produce:
( )xp 1 -101. 100.
α2 100.1 100.1 -90.09
( )xq 1 -0.9 9.91
Es decir, se obtiene ( )90.x)x(q −= , y haciendo 0=)x(q resulta 901 .≈α . Nótese que
un error de 0,1% en 2α produce un error de 10% en 1α . Si en cambio se determina
primero la raíz menor, también con un error de 0,1%, ≈1α 1.001:
( )xp 1 -101. 100.
α1 1.001 1.001 -100.099
( )xq 1 -99.999 0.099
y de ( ) 099999 =−= .x)x(q : se obtiene 999992 .≈α :, con sólo un 0,001% de error.
En conclusión, los errores introducidos por la deflación son menores si las raíces se
determinan en orden ascendente de valores absolutos.
4.8. SISTEMAS DE ECUACIONES NO LINEALES
En algunos problemas académicos la solución de sistemas de ecuaciones no lineales
puede ser hecha por simple eliminación. Por ejemplo, para determinar los puntos en los
que se intersectan el círculo 322 =+ yx y la hipérbola 122 =− yx , basta restar y
sumar ambas expresiones (obteniéndose 2±=x , 1±=y ).
Sin embargo, en la mayor parte de los casos prácticos será necesario iterar. Muchos de
los métodos antes descritos para resolver una ecuación no lineal pueden generalizarse
para resolver sistemas de ecuaciones no lineales:
( ) 0,,, 321 =ni xxxxf K ni K,3,2,1=
0xf =)(
Iteración directa
Un proceso simple puede ser obtenido rescribiendo estas ecuaciones como:
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 19
( )nii xxxxgx K,,, 321= ni K,3,2,1=
)(xgx =
lo que permite iterar con
( ) ( ) ( ) ( ) ( )( )kn
kkki
ki xxxxgx K,,, 321
1 =+
o bien con
( ) ( ) ( ) ( ) ( )( )kn
ki
kki
ki xxxxgx KK ,,, 1
12
11
1+
+++ =
Estos son los equivalentes no lineales de los métodos de Jacobi y Gauss – Seidel.
También aquí puede establecerse un criterio de convergencia similar a 1)( <′ xg .
Definiendo la matriz D, con coeficientes:
j
iij x
gxd
δδ
=)(
se tiene que los valores característicos de la matriz D deben ser tales que: 1<iλ . Con
frecuencia se presentan sistemas no lineales de la forma: )(xgax h+= donde las
ji xg δδ son finitas. Entonces, para h suficientemente pequeño, el proceso iterativo ( ) ( ) )(1 kk h xgax +=+ satisface las condiciones de convergencia.
Por ejemplo, sea el sistema de ecuaciones (no lineales):
)(cos
)(sen
21
21
yxy
yxx
−=
+=
Puede iterarse con:
)(cos
)(sen)()1(
21)1(
)()(21)1(
kkk
kkk
yxy
yxx
−=
+=++
+
Obteniéndose (con la aproximación inicial 0)0()0( == yx ):
k )(kx )(ky
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
Método de Newton
También el método de Newton - Raphson puede ser generalizado para sistemas de
ecuaciones no lineales:
( ) ( ) ( ) ( ) ( )( ) 0()()( 11 =−+≈ ++ kkkkk ) xxxDxfxf
En la sección 4.7.4 se presentó una aplicación de estas ideas. El proceso converge si ( )kx es suficientemente cercano a la solución exacta x , lo que es relativamente fácil
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 20
cuando las no linealidades no son muy fuertes y se combina el método de Newton -
Raphson con un proceso incremental.
Para el caso particular de dos ecuaciones no lineales:
0),(
0),(
2
1
==
yxf
yxf
puede escribirse:
=
−
−
∂∂
∂∂
∂∂
∂∂
+
+
+
0
0
)()1(
)()1(
22
11
2
1
kk
kk
yy
xx
y
f
x
fy
f
x
f
f
f
expresión en la que 1f , 2f y sus derivadas se calculan con la aproximación )()( , kk yx .
Luego se obtienen:
∂∂
+∂∂
−
∂∂
−∂∂
−
=
+
+
x
ff
x
ff
y
ff
y
ff
dy
x
y
x
k
k
k
k
12
21
12
21
)(
)(
)1(
)1(1
siendo x
f
y
f
y
f
x
fd
∂∂
∂∂
−∂∂
∂∂
== 2121)(det D .
Considérese, por ejemplo:
01)5.0()1(),(
01),(22
2
21
=−−+−=
=−+=
yxyxf
yxyxf
Estas ecuaciones tienen dos soluciones:
)472721581476.0,092790146215.1(
)550347344984.0,762549122125.0(
2
1
−==
r
r
Con la aproximación inicial )0,0( se obtienen:
k )(kx )(ky 1f 2f
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 )0,1( ó )1,1( − , se obtiene 2r
Método de Máxima Gradiente
El método de Newton tiene convergencia cuadrática, pero requiere una buena
aproximación inicial. Con tal fin, puede emplearse el método de máxima gradiente, cuya
convergencia es lenta pero está garantizada (siempre que D sea no singular).
H. Scaletti - Métodos Numéricos: Ecuaciones No Lineales 4 - 21
La solución del sistema de ecuaciones no lineales 0xf =)( es aquella que hace mínima
la función:
[ ] ∑=
==n
ini
T xxxfF1
21 ),,()()()( Lxfxfx
Partiendo de una aproximación )0(x se hacen correcciones de la forma:
fDxxx Tk
kk
kk F αα 2)()()1( −=∇−=+
kα debe ser tal que )()( )()1( kk FF xx <+ .
Aproximaciones
La evaluación de los 2n coeficientes de la matriz ( ) )kxD ( , es decir: jiij xfd ∂∂=
puede requerir demasiadas operaciones, por lo que es común volver a evaluar D solo
cada cierto número, m , de pasos (y no en cada paso). Se tiene así el método de
Newton - Raphson modificado:
( ) ( ) ( ) ( )( ) 0()( 1 =−+ + kkpk ) xxxDxf mpppk ++= K,1, .
Esto también ahorra muchas operaciones al resolver el sistema de ecuaciones lineales
para determinar las x(k+1), puesto que la matriz D solo debe reducirse cada m pasos.
También pueden utilizarse métodos análogos al método de la secante. Una
aproximación frecuente es:
( )j
ijji
j
iij h
fhf
x
fd
)()(
xexx
−+≈=
δδ
donde je es la columna j de la matriz identidad de orden n , y los 0≠jh son
arbitrarios, por ejemplo: ( ) ( )kj
kjj xxh −= −1 (esto es el método de la secante, que da un
orden de convergencia de aproximadamente 1.6). Si en cambio se toma ( ) )(fh kjj x=
se obtiene una generalización del método de Steffensen.
Otra posibilidad consiste en derivar 0=)( xf con respecto a un parámetro, α :
0=+⋅αδ
δαδ
δδδ fx
x
f
lo que permite utilizar muchos de los procesos para resolver sistemas de ecuaciones
diferenciales ordinarias descritos en el capítulo 6. Por ejemplo, pueden considerarse
Dx
f=
δδ
xx
∆=∆ααδ
δ f
f∆=∆α
αδδ
y entonces:
( ) ( ) ( )kkk fxxD ∆=∆⋅)(
( ) ( ) ( )kkk xxx ∆+=+1
Este es el método de Euler, un proceso simple pero no siempre adecuado.
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 1
5. Interpolación, Diferenciación e Integración Numé rica
5.1. Diferencias Finitas
Dadas las abscisas kx , uniformemente espaciadas: hxx kk +=+1 , a las que
corresponden valores ( )kk xff ≈ , se definen las primeras diferencias finitas hacia
adelante como:
kkk fff −=∆ +1 .
Análogamente pueden definirse las segundas diferencias:
kkkkkk ffffff +−=∆−∆=∆ +++ 1212 2
y en general las diferencias finitas hacia adelante de orden n :
kn
kn
kn fff 1
11 −
+− ∆−∆=∆
( ) ink
n
i
ik
n fi
nf −+
=∑
−=∆
0
1
donde: ( )!!
!
ini
n
i
n
−=
Una tabla de diferencias es un arreglo de la forma:
k kf kf∆
kf2∆ kf3∆ kf4∆ kf5∆ kf6∆ kf7∆
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 pequeño error en las kf puede amplificarse en las
diferencias finitas altas, lo que puede ser útil para identificar posibles errores en una
tabla de ( )xf .
Las diferencias finitas tienen ciertas propiedades análogas a las derivadas. Así por
ejemplo: ( ) kkkk vcucvcuc ∆+∆=+∆ 2121
( ) kkkkkk uvvuvu ∆+∆=∆ +1
1+
∆−∆=
∆
kk
kkkk
k
k
vv
vuuv
v
u
( ) ( )∑∑−
=+
−
=
∆−−=∆1
0100
1
0
n
i
iinn
n
i
ii vuvuvuvu
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 2
En forma similar, pueden definirse diferencias finitas hacia atrás:
1−−=∇ kkk fff
111
−−− ∇−∇=∇ k
nk
nk
n fff
y diferencias centrales:
21
21 −+
−=kkk fffδ
112 2
21
21 −+−+
+−=−= kkkkkk ffffff δδδ .....
21
21
11
−−
+− −=
k
n
k
nk
n fff δδδ
Estas diferencias están relacionadas:
211 ++ =∇=∆
kkk fff δ
Y en general:
2nk
nnk
nk
n fff++ =∇=∆ δ
Para puntos con espaciamiento no uniforme pueden calcularse diferencias divididas:
],[)()(
],[ 0110
1010 xx
xx
xfxfxx =
−−
=
20
2110210
],[],[],,[
xx
xxxxxxx
−−
=
...
n
nnn xx
xxxxxxxxxx
−−
= −
0
21110210
],,[],,[],,,[
LLL
Por ejemplo:
k kx kf [ ] L1, +kk xx
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:
ni
n
niiiihn
fxxxx
!],,,[ 21
∆=+++ L
y en forma similar con diferencias finitas centrales o hacia atrás.
Si )(xf es un polinomio de grado n , las diferencias finitas (de cualquier tipo) de orden
1+n o superior obtenidas con los )( kk xff = son cero. En el ejemplo anterior )(xf es
un polinomio de tercer grado.
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 3
5.2. Interpolación
Supóngase que se tiene una tabla de valores tales como:
nx )( kxf
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 )25.0(f . Para ello, )(xf puede aproximarse localmente por una
función más simple, )(xg , tal que )()( kk xfxg = . El caso más común es aquel en que
)(xg es un polinomio, pero también son frecuentes las aproximaciones con funciones
trigonométricas, por ejemplo:
LL ++++++= xbxbxaxaaxg 2sensen2coscos)( 21210
En lo que sigue se hace énfasis en interpolaciones polinómicas. Dados 1+n puntos
)(, kk xfx , sólo un polinomio de grado n , ( )xpn , satisface las condiciones
)()( kkn xfxp = para todo k . Sus coeficientes, ia , podrían obtenerse resolviendo:
=
MMK
K
K
K
K
)(
)(
)(
)(
1
1
1
1
3
2
1
0
3
2
1
0
33
233
32
222
31
211
0200
xf
xf
xf
xf
a
a
a
a
xxx
xxx
xxx
xxx
pero esto no es práctico. Otros métodos más eficientes se revisan a continuación.
5.2.1 Fórmulas de Interpolación de Newton y Otras E xpresiones Análogas.
Para puntos uniformemente espaciados:
∑∞
=
∆+−−−+=+1
000 !
)1()2()1()(
j
j fj
jfhxf
ααααα L
Esta expresión es fácil de obtener considerando un operador E tal que 1+= kk ffE , es
decir ∆+=1E . Como nkkn ffE += , puede escribirse: 000 )1()( ffEhxf ααα ∆+==+ .
Generalmente se consideran solo algunos términos de esta serie.
Por ejemplo, despreciando las diferencias de orden 3 o superior:
=∆−+∆+≈+ kkkk fffhxf 221 )1()( αααα
21 2
)1()2(
2
)2()1(++
−+−+
−−= kkk fff
αααααα
Considerando los valores numéricos:
k kx )( kxf
2 0.2 0.980 067
3 0.3 0.955 336
4 0.4 0.921 061
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 4
(para los que 1.0=h ), el valor de )25.0(f podría obtenerse con 5.0=α :
( ) )921061.0(2
)5.0()5.0()955336.0()5.1()5.0()980067.0(
2
)5.1()5.0(5.02
−++
−−=+ hxf
de donde ( ) 895968.025.0 ≈f (el valor exacto es 912968.0 )
La expresión anterior es la fórmula de interpolación de Newton con diferencias finitas
hacia adelante. Similarmente puede escribirse la fórmula de Newton con diferencias
hacia atrás:
∑∞
=
∇−++++=+1 !
)1()2()1()(
j
nj
nn fj
jfhxf
ααααα L
o la fórmula de Newton con diferencias divididas:
[ ] [ ][ ] L+−−−+
+−−+−+=)()()(,,,
)()(,,)(,)(
2103210
102100100
xxxxxxxxxx
xxxxxxxxxxxfxf
Esta última expresión es válida también para puntos con espaciamiento no uniforme.
Considérese por ejemplo la tabla de diferencias divididas:
i ix if [ ]1, +ii xx [ ]2, +ii xx L [ ]3, +ii xx L [ ]4, +ii xx L
-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
+−−−+−−+= )3.025.0()2.025.0()477270.0()2.025.0()247301.0(980067.0)25.0(f 968914.0)4.025.0()3.025.0()2.025.0()060908.0( =+−−−+ L
(Este es el resultado con 5 términos, con 3 términos se obtiene 0.968 895)
Otra alternativa es interpolar con diferencias centrales:
L++−+−++=+++
21
21
3612
21 )1()1()1()(
kkkkk ffffhxf δαααδααδαα
L++−++++=+−−
21
21
3612
21 )1()1()1()(
kkkkk ffffhxf δαααδααδαα
Estas son las fórmulas de Gauss. Promediando las dos expresiones se obtiene la
fórmula de Stirling:
( ) L+
+
−++
++=+
−+−+21
21
21
21
332
22
12
)1(
22 kkkkkkk ffffffhxf δδααδαδδαα
5.2.2. Fórmula de Interpolación de Lagrange
Esta fórmula es más adecuada para análisis teóricos que para el cómputo práctico. El
polinomio de interpolación se obtiene como:
∑=
⋅=m
i
ii fxgxp0
)()(
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 5
Los polinomios )(xg i se obtienen multiplicando n binomios: ( )( )∏
≠= −
−=
m
ijj ji
ji xx
xxxg
0
)( .
Nótese que ijji xg δ=)( .
El siguiente ejemplo es ilustrativo:
k kx kf
0 0. -5.
1 1. 1.
2 3. 25.
)34()30()10(
)3()1()( 2
31
0 +−=−−−−
= xxxx
xg
)3()31()01(
)3()0()( 2
21
1 xxxx
xg +−=−−−−
=
)()13()03(
)1()0()( 2
61
2 xxxx
xg −=−−−−
=
542)()( 22
0
−+=⋅=∑=
xxfxgxpi
ii
5.2.3. Interpolación de Hermite.
En algunos casos es conveniente trabajar con los valores de la función, ( )xf y un cierto
número de sus derivadas ( ) )(),(),(),( xfxfxfxf mK′′′′′′ . Dados los valores
( )mkkkk ffff K,,, ′′′ en n puntos de abscisas kx , es posible determinar un polinomio ( )xp
de grado ( ) 11 −+ nm que satisfaga:
( ) ( )
1,1,0
,1,0)()(
−=
==
nj
mixfxp ji
ji
K
K
La interpolación de una función cuando una o más de sus derivadas son conocidas en
cada punto se llama interpolación de Hermite. ( )xp puede obtenerse utilizando la fórmula
de Newton con diferencias divididas y considerando que:
[ ] ( ) )()()(
, 001
0100
01
xfxx
xfxfLimxx
xx′=
−−
=→
[ ] [ ]( )10
100100
,)(,,
xx
xxxfxxx
−−′
=
También podrían usarse las expresiones de Lagrange, considerando primero puntos a
una distancia pequeña, ε , y luego identificando a las derivadas con los límites de
diversas expresiones para 0→ε .
El siguiente ejemplo es ilustrativo. Se trata de determinar un polinomio ( )xp de grado 3,
tal que: ( )( )( )( ) B
A
B
A
Lp
p
vLp
vp
θθ
=′=′==
0
0
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 6
k kx kf [ ]1, +kk xx [ ]21 ,, ++ kkk xxx [ ]321 ,,, +++ kkkk xxxx
0 0 Av Aθ LL
vv AAB θ−
−2
( )
23
2
LL
vv BAAB θθ ++
−
1 0 Av L
vv AB − 2L
vv
LABB −
−θ
2 L Bv Bθ
3 L Bv
Se han tomado datos de esta tabla siguiendo una trayectoria horizontal.
( ) ( ) ( ) ( ) ( ) ( )LxxLL
vvx
LL
vvxvxp BABAAAB
AA −−
++
−+−
−−
+−+= 2
23
2
20
200
θθθθ
( ) ( ) ( ) ( ) LLvvxp BABA θξξθξξξξξξ −−−+−++−= 1123231)( 223232 donde L
x=ξ .
5.2.4. Interpolación Inversa.
En la solución de 0)( =xf pueden obtenerse aproximaciones a una raíz, x , por
interpolación de una función inversa con ordenadas kx para abscisas de espaciamiento
no uniforme, )( kxf . Considérese, por ejemplo:
kx )( kxf
1. 1.76
2. 0.41
3. -0.16
4. -0.32
Usando la fórmula de Lagrange con 4 puntos:
)16.032.0()41.032.0()76.132.0(
)4()16.00()41.00()76.10(
)32.016.0()41.016.0()76.116.0(
)3()32.00()41.00()76.10(
)32.041.0()16.041.0()76.141.0(
)2()32.00()16.00()76.10(
)32.076.1()16.076.1()41.076.1(
)1()32.00()16.00()41.00(
+−−−−−+−−+
+−−−−−+−−+
+++−
++−+++−
++−≈x
37.2≈x
5.2.5. Generalización a Varias Dimensiones.
Las expresiones anteriores pueden fácilmente generalizarse para "mallas" de más
dimensiones. Así, si se tienen puntos con coordenadas kji zyx ,,
( lkmjni LLL 0;0;0 === ) las fórmulas de Lagrange resultan:
∑∑∑= = =
⋅⋅⋅=n
i
m
j
l
k
ijkzyx fzgygxgzyxpkji
0 0 0
)()()(),,(
donde ( )( )∏
≠= −
−=
n
irr ri
rxi xx
xxxg
0
)( y expresiones similares en las direcciones zy, .
Frecuentemente los puntos están uniformemente espaciados: xxx ii ∆+=+1
yyy ii ∆+=+1
zzz ii ∆+=+1
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 7
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
parámetros βα , (coordenadas relativas medidas en unidades yx ∆∆ , ).
∆
O
x
E
D C B
A
HGF
y∆ xα ∆
β ∆y
P
Usando la fórmula de Stirling, e incluyendo diferencias centrales hasta de 2° orden
inclusive, se obtiene:
( ) ∑∑+
−=
+
−=
=∆+∆+1
1
1
1
00 ,i j
ijji fbayyxxf βα
donde:
( )121
1 −= ααa ( )121
1 −= ββb
22 1 α−=a 2
2 1 β−=b
( )121
3 += ααa ( )121
3 += ββb
y es igualmente fácil desarrollar expresiones análogas considerando un número mayor o
menor de puntos en cada dirección. 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
más adecuada. El concepto de elementos finitos es útil y permite un tratamiento más
simple. La región en estudio se divide en subregiones o elementos, conectados en un
número finito de nudos con los elementos adyacentes.
El valor de una función, f , en un punto en el interior de un elemento se obtiene
interpolando los valores de la función en los nudos del elemento:
i
N
i
i fzyxNzyxf ⋅=∑=1
),,(),,(
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 8
Las funciones de interpolación deben satisfacer:
ijjjji zyxN δ=),,( ( jjj zyx ,, son las coordenadas del nudo j )
1),,(0
=∑=
N
i
i zyxN
Esto último es evidente si se supone cf i = para todo j y entonces czyxf =),,( .
Adicionalmente, las iN deben ser tales que se mantenga la continuidad de f (y en
algunos casos la continuidad de una o más derivadas) en los bordes entre elementos.
Es relativamente fácil construir estas funciones para elementos bidimensionales
rectangulares.
Por ejemplo, para un elemento con 4 nudos (con referencia al centroide):
4,3,2,1114
1),( =
+
+= ib
y
b
y
a
x
a
xyxN ii
i
b
4
1
a
3
2
a
b
X
Y
4
1b
b
a a
Y
2
3
X8 6
7
5
Y para un elemento con 8 nudos (con referencia al centroide):
−+
+
+= 1114
1
b
y
b
y
a
x
a
x
b
y
b
y
a
x
a
xN iiii
i 4,3,2,1=i
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 9
+
−=b
y
b
y
a
xN i
i 112
12
7,5=i
−
+=2
112
1
b
y
a
x
a
xN i
i 8,6=i
Estos son los dos elementos más simples de la familia de Serendip.
Las funciones de interpolación para los correspondientes elementos tridimensionales son
similares.
En subregiones triangulares las funciones de interpolación resultan más simples si se
escriben en coordenadas de área, L1, L2, L3.. Un punto en el interior de un triángulo
permite definir tres triángulos parciales, cuyas áreas divididas entre el área total del
triángulo son justamente las Li:
A
AL i
i =
En consecuencia:
1321 =++ LLL .
Las coordenadas yx, se relacionan con las
coordenadas de área mediante:
xxLi
ii =∑=
3
1
yyLi
jj =∑=
3
1
Por otro lado si el origen de coordenadas yx, está en el centroide del triángulo:
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 10
yA
cx
A
bL ii
i 223
1 ++=
donde:
kji yyb −=
jki xxc −=
kji ,, son permutaciones cíclicas de 3,2,1 .
Para un elemento con 3 nudos, el valor de una función, ),( yxf , puede obtenerse por
interpolación lineal de los tres valores nodales 321 ,, fff :
∑=
=3
1
),(i
ii fLyxf
es decir, ),(),( yxLyxN ii = .
En forma similar, para un elemento con 6 nudos (nudos adicionales al centro de cada lado), ),( yxf puede obtenerse por interpolación cuadrática de los valores nodales.
( )12 −= iii LLN 3,2,1=i
136
325
214
4
4
4
LLN
LLN
LLN
===
(Los elementos triangulares de mayor orden son en general poco útiles). Pueden escribirse fácilmente expresiones análogas para los correspondientes elementos tridimensionales.
1
2
3
1
3
26
4
5
Para elementos más complejos, la construcción de funciones de interpolación puede
simplificarse si se efectúa previamente un "mapeo" adecuado.
Por ejemplo, para el hexaedro de Serendip con 20 nudos:
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 11
( )∑=
⋅=20
1
,,),,(i
ii fNf ςηξςηξ
( )( )( )( )211181 −+++++= ςςηηξξςςηηξξ iiiiiiiN 8,1 L=i
( ) ( ) ( )iiii gggN ςςηηξξ ,,,= 20,9 L=i
donde: ( )iig ξξξξ += 1),( 21 si 1±=iξ
( )21),( ξξξ −=ig si 0=iξ .
Las coordenadas zyx ,, pueden asociarse con las ςηξ ,, usando las mismas funciones
de interpolación:
( ) i
i
i xNx ςηξ ,,20
1∑
=
=
( ) i
i
i yNy ∑=
=20
1
,, ςηξ
( ) i
i
i zNz ∑=
=20
1
,, ςηξ
en tal caso se dice que el elemento es isoparamétrico. También puede hablarse de
elementos sub-paramétricos o hiper-paramétricos, según las funciones utilizadas en el
mapeo sean de grado menor o mayor que aquellas con que se interpola la función, f .
Nótese que también es posible hacer mapeos con las coordenadas de área.
5.3. Derivación
Dados )()(),( 2211 nn xffxffxff ≈≈≈ K puede obtenerse una aproximación, )(xg , a la
función )(xf , tal que )()( ii xfxg = para ni K,2,1= . Este es el problema de interpolación
considerado en la sección 5.2. Entonces, las derivadas de )(xf podrían aproximarse,
localmente, por aquellas de )(xg . Sin embargo, debe tenerse presente que pequeños
errores en los valores de la función pueden amplificarse enormemente al calcular las
derivadas. A mayor orden de la derivada, mayores son las probabilidades de errores de
cancelación.
En lo que sigue se considera el caso de abscisas nxxx K,21 , con espaciamiento
uniforme, h . Para h suficientemente pequeño:
K+′′′±′′+′±=± )()()()()( 3612
21
iiiii xfhxfhxfhxfhxf
K−′′−−+=′ )()()()( 221
iiii xfhxfhxfxfh
de donde, con la notación )()()(i
mmi xff = :
)()(1 hOh
fhO
h
fff iii
i +∆
=+−
=′ +
y en forma similar se tienen:
)(1 hOh
fff ii
i +−
=′ −
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 12
)( 221
21
hOh
fff
ii
i +−
=′ −+
Incluyendo puntos más alejados pueden obtenerse expresiones del tipo:
)( 3261
121
131
hOh
fffff iiii
i +−+−−
=′ ++−
Pero las expresiones más simples son las más frecuentemente utilizadas.
Considérese por ejemplo los valores ( xcos ):
kx )( kxf )( kxf ′ h
f k∆
h
ff kk
211 −+ −
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, )(xf ′′ puede ser aproximada por diferencias finitas de segundo orden:
( ) ( )222
211 2
)( hOfhOh
ffffxf i
iiiii +=+
+−=′′=′′ −+ δ
Por ejemplo, para la función de la tabla precedente:
97925.0)1.0(
955336.0)980067.0(2995004.0)2.0(
2−≈
+−≈′′f
El valor exacto es 980067.0)2.0(sen −=
y las derivadas de orden superior pueden ser aproximadas por las correspondientes
diferencias finitas.
Por ejemplo: m
im
mi
h
ff
∆≈)(
m
im
mi
h
ff
δ≈)(
Cuando se tienen 2 o más variables independientes, Ltyx ,, y mallas ortogonales de
puntos uniformemente espaciados, las derivadas parciales pueden aproximarse por
diferencias finitas trabajando separadamente con cada variable. Así por ejemplo, para
hyx =∆=∆ , el Laplaciano:
2
2
2
22
y
u
x
uu
∂∂+
∂∂=∇
en un punto de coordenadas ji yx , puede aproximarse por:
21,,1,
2,1,,12
5
22
h
uu
h
uuuu jijujijijiji
ij++−+ +−
++−
=∇
con un error de ( )2hO Nótese que en u2∇ y iju25∇ el símbolo ∇ no es el operador para
diferencias hacia atrás.
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 13
Al utilizar elementos finitos, las derivadas se obtienen operando exactamente con las
funciones de interpolación. Así, si: i
n
i
i fzyxNf ∑=
=1
),,( se tiene: i
n
i
i fx
N
x
f∑
= ∂∂
=∂∂
1
.
Algunos comentarios adicionales relativos al uso de elementos isoparamétricos son aquí necesarios. Para elementos isoparamétricos las funciones de interpolación iN están expresadas como función de Lςηξ ,, :
( ) i
n
i
i fNf ∑=
=1
,, ςηξ
y las coordenadas Lςηξ ,, están relacionadas con las Lzyx ,, mediante las mismas
funciones de interpolación, v.g.:
( ) i
n
i
i xNx ∑=
=1
,, ςηξ
Excepto para casos particulares de geometría muy simple, es prácticamente imposible
obtener expresiones explícitas para las Lςηξ ,, en función de las Lzyx ,, y lo mismo
puede decirse de las funciones de interpolación, ( )ςηξ ,,iN . Como consecuencia, en
general es fácil obtener derivadas con relación a las Lςηξ ,, , pero comparativamente
difícil obtener expresiones explícitas para las L,,,z
f
y
f
x
f
∂∂
∂∂
∂∂
. Su evaluación numérica
es, sin embargo, muy simple. Teniendo en cuenta que:
∂∂∂∂∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=
∂∂∂∂∂∂
z
fy
fx
f
zyx
zyx
zyx
f
f
f
ςςς
ηηη
ξξξ
ς
η
ξ
O en notación más compacta: r
Jx ∂
∂=
∂∂ ff
. Los elementos de la matriz J y de r∂
∂ f se
obtienen con expresiones e la forma:
i
n
i
i
i
n
i
i
zNz
xNx
∑
∑
=
=
∂∂
=∂∂
∂∂
=∂∂
1
1
ηη
ξξM
Por otro lado, al obtenerse la matriz J puede hacerse el cambio de variables:
ςηξ ddddzdydx ⋅= )det( J
lo que facilita enormemente las integrales, ya que los límites de integración son en cada
caso 1− y 1+ .
5.4. Ecuaciones de Diferencias
Una fórmula de recursión del tipo: ( )nyyyyfy knnnnkn ,,,,, 121 −++++ = K se denomina
ecuación de diferencias de orden k . La solución de ecuaciones de diferencias tiene
cierta analogía con la solución de ecuaciones diferenciales ordinarias.
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 14
La ecuación
011 =+++++ −+−++ nkjknjknkn yayayay KK
es una ecuación de diferencias lineal, homogénea, de orden k , con coeficientes
constantes. Esta ecuación queda satisfecha por jj cry = . Los posibles valores de r
corresponden a las raíces de la ecuación característica:
0)( 12
21
1 =+++++= −−−
kkkkk ararararrp K .
Si la ecuación característica tiene k raíces distintas krrr K,, 21 la solución general de la
ecuación de diferencias (lineal, homogénea, con coeficientes constantes) puede
escribirse:
jkk
jjjj rcrcrcrcy K+++= 332211
Lo cual puede probarse por simple sustitución. Si en cambio se tiene una raíz de
multiplicidad m , deben considerarse términos jrjq )( , donde )( jq es un polinomio de
orden 1−m . En cualquier caso la solución tiene k constantes independientes.
Considérese por ejemplo: 065 12 =+− ++ nnn yyy , con condiciones iniciales 00 =y ,
11 =y . Por recursión con nnn yyy 65 12 −= ++ se obtienen:
5)0)(6()1)(5(2 =−=y
19)1)(6()5)(5(3 =−=y
65)5)(6()19)(5(4 =−=y
211)19)(6()65)(5(5 =−=y
Por otro lado, la ecuación característica es en este caso 0652 =+− rr , cuyas raíces
son 21 =r , 32 =r . La solución general es: nnn ccy 32 21 ⋅+⋅= y dadas las condiciones
iniciales:
0=n 021 =+ cc
1=n 132 21 =+ cc
se obtienen: 11 −=c y 12 =c , es decir nnny 23 −= .
Por ejemplo, 651681)2()3( 444 =−=−=y .
En cambio, 043 23 =+− ++ nnn yyy tiene la ecuación característica 043 23 =+− rr
cuyas raíces son 11 −=r , 232 == rr , y su solución general es entonces: nn
n ncccy )2)(()1( 321 ++−= .
La fórmula de recursión para los polinomios de Tchebicheff:
0)()(2)( 11 =+− −+ xTxxTxT nnn
es también una ecuación de diferencias lineal, homogénea, de orden 2, con coeficientes constantes (porque 1, -2x, 1 no son función de n). Su ecuación característica es:
0122 =+− rxr , con raíces 21 xixr −±= . Haciendo el cambio de variable θ= cosx
se tiene: θ±=θ±θ= ieir sencos . La solución general de la ecuación de diferencias es
( ) ( ) θ−θθ−θ+ +=+= ininninin ececececT 2121 . Con las condiciones iniciales 1)(0 =xT ,
θ== cos)(1 xxT se obtienen 21
21 == cc y finalmente θ=+= θ−θ neexT ininn cos)( 2
121 ,
donde xcosarc=θ .
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 15
La solución de una ecuación de diferencias lineal no homogénea puede obtenerse
sumando a la solución de la correspondiente ecuación homogénea una solución
particular. Los ejemplos siguientes son ilustrativos:
Considérese: nnn ayy =−+ 21 , con la condición inicial 10 =y . La correspondiente
ecuación homogénea, 021 =−+ nn yy , tiene la ecuación característica 02 =−r y su
solución es entonces nn cy )2(= . Para la solución particular puede tantearse una
solución de la forma nn ay α= , de donde nnn aaa =α−α + 21 y por lo tanto ( ) 12 −−=α a
(esto es, suponiendo que 2≠a ). La solución general es: ( ) nnn caay )2(2 +−= . Con
la condición inicial se halla ( ) 121 −−−= ac y finalmente ( ) ( )222 −−+= aay nnnn
(para 2≠a ). Para 2=a la regla de L' Hospital da: 122 −+= nnn ny .
Para la ecuación de diferencias nnnn nyyy )1(3265 12 −+=+− ++ puede considerarse la
solución particular: ncbany )1(−++= . Sustituyendo esta expresión en la ecuación e
identificando coeficientes se obtienen: 1=a , 23=b , 4
1=c . Por otro lado, la ecuación
característica es: 0652 =+− rr con raíces 21 =r , 32 =r . La solución general resulta
entonces nnnn ccny )3()2()1( 214
12
3 ++−++= .
5.5. Integración Numérica (Cuadratura)
La evaluación de una integral definida:
∫b
adxxf )(
en forma explícita es a veces muy difícil o prácticamente imposible. En tales casos
puede hacerse una aproximación numérica tal como las que se mencionan en esta
sección.
5.5.1 Regla de los Trapecios, Regla de Simpson y ot ras fórmulas interpolatorias.
Una posible forma de resolver el problema es aproximando, localmente, la función, ( )xf ,
por otra, ( )xg , más simple de integrar.
En la Regla de los Trapecios se aproxima ( )xf con segmentos de recta y entonces:
( ) [ ]∫ +−≈1
0
)()()( 100121
x
xxfxfxxdxxf
Esta expresión puede generalizarse para un intervalo [ ]nxx ,0 . Considerando abscisas
con espaciamiento uniforme hxx ii += −1 , para los que se tiene valores de la función
)( ii xff = puede hacerse interpolaciones lineales en cada subintervalo [ ]1, +ii xx para
obtener:
( ) ( )∫ +++++=≈ −
nx
xnn fffff
hhTdxxf
01210 222
2)( K
El error de truncación puede estimarse más fácilmente considerando primero el sub-
intervalo [ ]2,2 hh +− para el cual (siendo h pequeño):
K++′′′+′′+′+= )0()0()0()0()0()( 42413
612
21 IVfxfxfxfxfxf
e integrando:
∫+
−++′′+⋅=
2
2
)0(1920
)0(24
)0()(53h
h
IVfh
fh
fhdxxf L
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 16
Por otro lado:
( ) L±+′′′±′′+′±=± )0(384
)0(48
)0(8
)0(2
2432
0IVf
hf
hf
hf
hfhf
∫+
−−′′−
−+
=∴2
2
)0(480
)0(12222
)(53h
h
IVfh
fhh
fh
fh
dxxf K
Si h es pequeño el error local de truncación es de ( )3hO . Sin embargo, para integrar
entre límites a y b se requieren ( ) hab − subintervalos (este número es inversamente
proporcional a h ) y el error global es entonces de ( )2hO .
En la Regla de Simpson la aproximación local se hace interpolando con parábolas de 2°
grado. Considerando puntos con abscisas uniformemente espaciadas:
( )∫ +−++=2
0
)(90
43
)( 1
5
210
x
x
IV xfh
fffh
dxxf K
y en general, considerando un número par de subintervalos:
( ) ( )∫ +++++++++= −−
nx
xnnn hOffffffff
hdxxf
0
41243210 422424
3)( K
Esta fórmula es exacta cuando )(xf es un polinomio de hasta tercer grado.
Considérese por ejemplo: 912437609.15Ln5
1==∫ x
dx Para la función
xxf
1)( = se
obtienen los valores siguientes:
x )(xf x )(xf
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
y utilizando la regla trapezoidal se obtienen aproximaciones a ∫5
1 x
dx.
Por ejemplo con 1=h :
( ) ( )[ ] KK 8336.12.025.0333.05.02.1121
5
1=++++≈∫ x
dx
y en forma similar h ( )hT
1.0 1.683 333
0.5 1.628 968
0.25 1.614 406
....
Con la regla de Simpson se obtienen:
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 17
h ( )hS
0.5 1.610846
0.25 1.609552
0.125 1.609446
Las fórmulas de los trapecios y de Simpson corresponden al grupo de fórmulas de
Newton - Cotes de intervalo cerrado. Algunas otras fórmulas de este grupo son la regla
de Simpson de los 83 :
( ) ( )73210 33
8
3)(
3
0
hOffffh
dxxfx
x++++=∫
y la regla de Bode:
( ) ( )943210 73212327
45
2)(
4
0
hOfffffh
dxxfx
x+++++=∫
También pueden obtenerse fórmulas que utilizan puntos uniformemente espaciados pero
no incluyen los valores de la función en uno o en los dos límites de la integral. Estas son
las fórmulas de Newton - Cotes de intervalo abierto. Por ejemplo:
( ) ( )3212
3)(
3
0
hOffh
dxxfx
x++=∫
( ) ( )5321 22
3
4)(
4
0
hOfffh
dxxfx
x++−=∫
5.5.2. Extrapolación de Richardson y el Método de R omberg
Si ( )hT es la aproximación de ∫b
adxxf )( obtenida de la aplicación de la regla de los
trapecios con intervalo h , puede escribirse:
∫ ++++=b
ahahahadxxfhT K
63
42
21)()(
( ) ( ) ( )∫ ++++=b
ahahahadxxfhT K
63
42
21 222)()2(
y entonces:
∫ +++=− b
ahahadxxf
hThTK
63
42)(
3
)2()(4
es decir ( ))2()(431 hThT − es una aproximación a ∫
b
adxxf )( con un error de truncación de
( )4hO , menor que el de ( )hT o ( )hT 2 . En forma similar, para la regla de Simpson:
∫ ++++=b
ahahahadxxfhS K
84
63
42)()(
∫ ++++=b
ahahahadxxfhS K
84
63
42 )2()2()2()()2(
y entonces:
( )( ) ∫ +++=
−− b
ahahadxxf
hShSK
84
634
4
)(12
)2()(2
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 18
es una aproximación mejor a la integral, con un error global de ( )6hO . Estos son dos
ejemplos de la extrapolación de Richardson.
Para la integral ∫5
1 x
dx considerada anteriormente:
( ) 333683.10,1 =T
( ) 968628.15,0 =T ( ) ( )( ) ( )5.0846610.10.15.0431 STT ==−
( ) 406614.125,0 =T ( ) ( )( ) ( )25.0552609.15.025.431 STT ==−
Obsérvese que estos resultados coinciden con los obtenidos de la regla de Simpson.
El método de Romberg considera inicialmente los resultados jT .1 , de aplicar la regla de
los trapecios con distintos grados de subdivisión, ( ) jj abh 2−= . Estas aproximaciones
tienen errores de truncación de ( )2jhO . No es necesario rehacer todos los cálculos para
cada nueva subdivisión, pudiéndose emplear la expresión:
( )∑−
=∆=
− ++=12
21
1,121
,1
j
ii
jjjj ihafhTT
Usando la extrapolación de Richardson se obtienen nuevas aproximaciones con errores
de ( )22 +ijhO :
( )( ) 12
22
,1,2
,1−
−= +
+ i
jijii
ji
TTT
Considérese nuevamente la integral: ∫5
1 x
dx. Con la regla de los trapecios se obtienen:
j jjh2
4= ( )∑−
==∆
+12
12
j
ii
jhiaf jT ,1
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 jT ,2 jT ,3 jT ,4 jT ,5 jT ,6
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 solución exacta.
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 19
5.5.3. Integración con puntos no equidistantes
Las fórmulas de integración con puntos equidistantes consideradas en la sección 5.5.1:
( ) ( ) ( ) ( ) ( )mm
b
axfcxfcxfcxfcdxxf ++++≈∫ L332211
con m puntos de integración y m parámetros mccc L21 , permiten integrar exactamente
polinomios de grado 1−m (y excepcionalmente de grado m , como en la regla de
Simpson). Si en cambio se toman puntos no equidistantes, para m puntos de
integración se tienen m2 parámetros: mwww L21 , y mxxx L21 , lo que permite integrar
exactamente polinomios hasta de grado 12 −m . Esta forma de integración numérica se
denomina de Gauss.
Con propósitos ilustrativos, considérese la fórmula de integración de Gauss con 3
puntos:
( ) ( ) ( ) ( )332211 xfwxfwxfwdxxfb
a++≈∫
Esta expresión será exacta si )(xf es un polinomio de grado igual o menor que 5 (es
decir, 2(3)-1) ¿Cuáles deben ser las abscisas 321 ,, xxx ? Esto se considera brevemente
en lo que sigue. El polinomio ( ) ( )( )( )321 xxxxxxxg −−−= , cuyas raíces son
precisamente las abscisas de integración, es de tercer grado. En consecuencia la
integración:
0)()()()( 332211 =++=∫ xgwxgwxgwdxxgb
a
es exacta. Lo mismo puede decirse de las integrales de los polinomios )(xgx y )(2 xgx
(que son de grado 4 y 5, respectivamente):
0)()()()( 333222111 =++=∫ xgxwxgxwxgxwxdxgxb
a
0)()()()( 32332
2221
211
2 =++=∫ xgxwxgxwxgxwxdxgxb
a
Es decir, 321 ,, xxx son los 3 ceros del polinomio ( )xg que satisface las condiciones de
ortogonalidad:
∫
∫
∫
=
=
=
b
a
b
a
b
a
dxxgx
dxxgx
dxxg
0)(
0)(
0)(
2
Con el cambio de variable ( ) ( )abzabx ++−= 21
21 se tiene que:
( ) ( ) ( ) ( ) ( )332211
1
1zFwzFwzFwdzzFdxxf
b
a++== ∫∫
+
−
y en tal caso las abscisas iz son los ceros del polinomio que satisface las condiciones:
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 20
∫
∫
∫
+
−
+
−
+
−
=
=
=
1
13
2
1
13
1
13
0)(
0)(
0)(
dzzPz
dzzPz
dzzP
)(3 zP es el polinomio de Legendre de grado 3. En general, cuando se consideran m
puntos de integración las iz son los ceros del polinomio de Legendre de grado m ,
)(zPm . En la tabla siguiente se indican algunos de estos polinomios y sus ceros:
m )(zPm iz
1 z 0.
2 ( )13 221 −z K57735.0±
3 ( )zz 35 321 − 0., K77459.0±
4 ( )33035 2481 +− zz K33998.0± , K86113.0±
5 ( )zzz 157063 3581 +− 0., K53846.0± , K90617.0±
para estos polinomios: 0)()()12()()1( 11 =++−+ −+ zPnzzPnzPn nnn .
Para determinar los "pesos" correspondientes mwww L21 , puede considerarse que:
0)()()()( 2211
1
1=+++=∫
+
−mm zFwzFwzFwdzzF K
debe ser exacta para 1)( =zF , zzF =)( ,... 1)( −= mzzF . En general:
)()1(
22
imi
izPz
w′−
= .
Las raíces, iz , de )(zPm y los correspondientes pesos, iw , pueden hallarse en tablas de
Abramovitz y Según1 u otras similares. Por ejemplo, para m=5:
iz iw
0. 0.56888 88888 88889
K056839310153846.0± 0.47862 86704 99366
K386649845990617.0± 0.23692 68850 56189
Siendo conocidas estas abscisas y pesos:
[ ]∫ +++−=b
amm xfwxfwxfwabdxxf )22112
1 ()()()()( K
donde: )()( 2
121 abzabx ii ++−=
Estas son las fórmulas de integración de Gauss - Legendre.
Considérese por ejemplo 47186931.02Ln2
1==∫ x
dx. En este caso 2,1 == ba ,
2/)3( += ii zx y se tiene:
1 Véase: "Handbook of Mathematical Functions".- M. Abramowitz e I.A. Segun, editores. Dover Publications Inc., N.Y. 1965
H. Scaletti - Métodos Numéricos: Interpolación, Diferenciación e Integración 5 - 21
i iz ix ( )ixf iw
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
y finalmente ∫ ∑=
=−≈2
1
5
1211 4693147.0)()12(
i
iix xfwdx .
Algunas de las múltiples variantes de integración Gaussiana se mencionan a
continuación (las correspondientes abscisas, ix , y pesos, iw , también pueden hallarse
en tablas):
Fórmula de Radau:
( )∫ ∑+
−
−
=
+−
≈1
1
1
12
)1(2
)(n
i
ii xfwfn
dxxf
Las abscisas son los ceros de ( )
( )x
xPxP nn
++−
1
)()(1 y los pesos: 2
1 ))((
)1(
in
ii
xnP
xw
−
−=
Fórmula de Lobatto:
( ) ( ) ( )[ ] ( )∫ ∑+
−
−
=
+−+−
≈1
1
1
1
111
2)(
n
i
ii xfwffnn
dxxf
La abscisa ix es el ( )01−i cero de )(1 xPn−′ y los pesos ( )[ ] ( )[ ] 21
112 −−
−−= ini xPnnw .
Integración de Gauss - Laguerre:
∑∫=
∞− ≈
n
i
iix xfwdxxfe
10
)()(
Las abscisas son los ceros de los polinomios de Laguerre, )(xLn
Los pesos resultan: ( ) ( ) ( )[ ] 21
2 1! −++= inii xLnxnw .
Integración de Gauss - Tchebicheff:
( )∫ ∑+
−=
≈−
1
11
21
)( n
i
ixfn
dxx
xf π
En este caso se tienen abscisas ( )n
ixi
π21cos −= .
5.5.4. Generalización a dos o más dimensiones.
Hasta el momento solo se ha considerado la integración en una dimensión. El proceso
para evaluar numéricamente integrales múltiples es análogo al proceso analítico, 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
i
n
i
m
j
jijiii yxfwwdyyxfwdydxyxf1 1 1
),(),(),(
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 1
6. Métodos de Diferencias Finitas para la
Solución de Ecuaciones Diferenciales Ordinarias
6.1. Introducción
En muchos problemas de ciencia e ingeniería se plantean ecuaciones diferenciales
ordinarias (EDO). Por ejemplo, ( )yxfy ,=′ con la condición inicial ( ) cay = . No
siempre es factible hallar una solución analítica de tales ecuaciones. En este capítulo se
revisan procedimientos numéricos de solución de EDO basados en la aproximación de
los operadores de derivación por diferencias finitas. Tales procedimientos son también
aplicables cuando se tienen sistemas de ecuaciones diferenciales de primer orden, como
por ejemplo:
( )yfy ,t=& (6.1a)
con condiciones iniciales:
( ) cy =0t (6.1b)
e incluso ecuaciones de orden superior: ( )yyyxfy ′′′=′′′ ,,, , que con algunos cambios
de variables pueden siempre convertirse en un sistema de ecuaciones diferenciales de
primer orden. Así:
3
22
yzxz
zyxy
+′+=′′−′−=′′
con condiciones iniciales ( )( ) 10
00
==
z
y y
( )( ) 00
10
=′=′
z
y
es equivalente a:
vz
uy
yvxv
zuxu
=′=′
++=′−−=′
3
22
con condiciones iniciales
( )( )( )( ) 00
10
10
00
====
v
u
z
y
Aunque la primera parte de este capítulo se refiere directamente al caso de las
ecuaciones diferenciales ordinarias de primer orden, la sección 6.3 trata de
procedimientos específicos para el importante caso de sistemas de ecuaciones
diferenciales de segundo orden. La sección 6.5 se refiere a problemas de valor frontera,
un tema que – con otros métodos – se trata también en capítulos siguientes.
6.2. Ecuaciones Diferenciales de Primer Orden
6.2.1 Método de Euler
Este es el método más simple para resolver EDO de primer orden ),( yxfy =′ con
cay =)( . El intervalo entre a y b se divide en subintervalos habitualmente iguales, de
longitud h , de modo que hnaxn += . Haciendo cy =0 se determinan sucesivamente
L4321 yyyy que son aproximaciones a los valores exactos
L)()()()( 4321 xyxyxyxy Para ello )( ixy′ se aproxima por ( ) hyyhy iii −=∆ +1 , de
donde resulta la fórmula de recursión:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 2
( )iiii yxfhyy ,1 +=+ (6.2)
Este método es aplicable en situaciones en las que f podría ser una función bastante
complicada, o podría ser el resultado de operaciones y decisiones no expresables por
una simple fórmula, pero se presenta aquí un caso muy simple, con propósitos
didácticos.
Supóngase que: yy =′ con condición inicial 1)0( =y . La solución exacta es en este
caso conocida: xey = . Empleando el método de Euler: ( ) iiii yhyhyy +=+=+ 11 .
Con dos distintos intervalos 2.0=h y 1.0=h se obtienen:
Solución exacta Solución con 2.0=h Solución con 1.0=h
i ix ( ) ix
i exy = iy ifh Error iy ifh 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 truncación local, es decir el error introducido en cada paso, es de ( )2hO . Sin
embargo, como el número 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 ( )hO . También
aquí podría emplearse la extrapolación de Richardson:
[ ] ( )2)2,(),(2)( hOhxyhxyxy +−≈
Esta expresión sería correcta para una extrapolación pasiva, es decir la que se hace
para mejorar algunos resultados y típicamente no en cada paso. En cambio, una
extrapolación activa, sería aquella que se realiza en cada paso, utilizándose los valores
así mejorados en los sucesivos pasos del proceso. En ciertos casos la extrapolación
pasiva puede ser más conveniente, por ser numéricamente más estable. Para el
ejemplo anterior, con extrapolación pasiva se obtiene:
ix ( ) ixi exy = )2.0,(xy )1.0,(xy )2.0,()1.0,(2 xyxy − 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 solución de la ecuación ),( yxfy =′ depende de la condición inicial cay =)( . Se
tiene así como solución una familia de curvas o trayectorias ),( cxy , que en el intervalo
de interés pueden ser convergentes o divergentes. Esta es una característica de la
ecuación diferencial, no del procedimiento numérico empleado en su solución. Los
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 3
errores de redondeo o de truncación producen un cambio de trayectoria (y pueden
entonces verse como equivalentes a resolver un problema con condiciones iniciales algo
distintas). Las figuras bosquejan soluciones numéricas 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 nxx = el error acumulado en la solución numérica está dado por: )( nnn xyy −=ε
))()(()( 111 nnnnnn xyxyyy −−−=ε−ε∴ +++
Para el método de Euler: ),(1 nnnn yxfhyy =−+
Por otro lado, de la expansión en series de Taylor:
L+′′+′+=+ )()()()( 221
1 nnnn xyhxyhxyxy
Se tiene que:
( )21 ))(,()()( hOxyxfhxyxy nnnn +=−+
Remplazando en la primera expresión:
[ ] ( )21 ))(,(),( hOxyxfyxfh nnnnnn +−=ε−ε +
Pero: L+∂∂−+=
==
)(
))(())(,(),(
nxyynxx
nnnnnn y
fxyyxyxfyxf
Y por el teorema del valor medio:
α==
α== ∂
∂ε=∂∂−=−
yxx
n
yxx
nnnnnnnn y
f
y
fxyyxyxfyxf ))(())(,(),(
De donde:
∂∂+ε≈ε
α==
+
ynxx
nn y
fh11
Si h es suficientemente pequeño y
α==∂
∂
ynxxy
fes negativa el método de Euler es adecuado.
Si en cambio si 0>∂∂ yf el error crece y el proceso sólo podría funcionar si el intervalo
fuera suficientemente pequeño. Tal es el caso del ejemplo precedente, pero no el del
ejemplo siguiente. Considérese la ecuación xyxy 2)(1000 2 +−=′ con 0)0( =y . Es
fácil verificar que la solución exacta es 2xy = , pero con el método de Euler se obtienen:
k kx )( kxy ky 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 - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 4
Los resultados muestran oscilaciones típicas de una inestabilidad numérica. Reduciendo
h no se elimina la inestabilidad; se requiere más bien cambiar de método.
Algunas alternativas, no siempre mejores, se presentan en las secciones siguientes.
6.2.2 Métodos de Runge Kutta
Estos métodos son, como el método de Euler, de paso simple. Es decir, sólo se requiere
conocer ny para determinar 1+ny . Las fórmulas de Runge – Kutta requieren evaluar
),( yxf en diversos puntos apropiadamente ubicados en el intervalo [ ]hxxx nnn +=+1, ,
ponderándose los resultados de modo de obtener un error de truncación del mayor orden
posible.
Considérese el caso en que ),( yxf se calcula en dos puntos en el intervalo [ ]1, +nn xx :
)ˆ,(),(
),(ˆ
1 yhxfhyxfhyy
yxfhyy
nnnnn
nnn
α+γ+β+=α+=
+
Siendo
( )2)ˆ(),()ˆ,( hOy
fyy
x
fhyxfyhxf
nyynxx
n
nyynxx
nnn +∂∂−+
∂∂α+=α+
==
==
Pero ),(ˆnnn yxfhyy α=− , por lo que se obtiene:
( )321 ),(),()( hO
y
fyxf
x
fhyxfhyy
nyynxx
nn
nyynxx
nnnn +
∂∂+
∂∂γα+γ+β+=
==
==+
Por otro lado, expandiendo )( hxy n + en series de Taylor:
( )3221 )()()()( hOxyhxyhxyhxy nnnn +′′+′+=+
Pero: 1)( +≈+ nn yhxy
nyynxx
nn
nyynxx
n
nnnnn
nn
y
fyxf
x
fxy
y
f
x
y
x
f
x
yy
yxfxyxfxy
yxy
==
== ∂
∂+∂∂≈′′⇒
∂∂
∂∂
+∂∂
=∂
′∂=′′
≈≈′≈
),()(
),())(,()(
)(
Sustituyendo estas expresiones e identificando coeficientes se obtienen:
21
1
=γα=γ+β
Con un error de truncación local de ( )3hO y global de ( )2hO .
De las infinitas alternativas de selección para γβα tres son las más comunes:
La fórmula del punto medio:
)ˆ,(
),(2
ˆ
21
1 yhxfhyy
yxfh
yy
nnn
nnn
++=
+=
+
El método de Heun, también conocido como Euler modificado:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 5
[ ])ˆ,(),(2
),(ˆ
1 yhxfyxfh
yy
yxfhyy
nnnnn
nnn
+++=
+=
+
Puede anotarse que si f no fuera función de y este método equivale a evaluar la
integral:
∫+
+ ′+=1
1 )(nx
nxnn dxxyyy
por el método de los trapecios.
El método de Ralston:
( )( )
( )232
131
1
143
43
2
1
,
,
kkhyy
hkyhxfk
yxfk
nn
nn
nn
++=
++==
+
Análogamente, pueden obtenerse fórmulas con un error de truncación local de ( )4hO y
global de ( )3hO :
( )( )( )
( )32161
1
213
121
21
2
1
4
2,
,
,
kkkhyy
hkhkyhxfk
hkyhxfk
yxfk
nn
nn
nn
nn
+++=+−+=
++==
+
o bien: ( )( )( )
( )3141
1
232
32
3
131
31
2
1
3
,
,
,
kkhyy
hkyhxfk
hkyhxfk
yxfk
nn
nn
nn
nn
++=
++=
++==
+
Si f fuera independiente de y las expresiones precedentes equivalen al método de
Simpson.
El método comúnmente denominado de Runge – Kutta es un proceso con error global de
( )4hO :
( )( )( )( )
( )432161
1
34
221
21
3
121
21
2
1
22
,
,
,
,
kkkkhyy
hkyhxfk
hkyhxfk
hkyhxfk
yxfk
nn
nn
nn
nn
nn
++++=++=
++=
++==
+
Que también coincide con la regla de Simpson en el caso en que f no es función de y :
[ ])()(4)(6
)( 21
1
1 hxfhxfxfh
dxxyyy nnn
nx
nxnn ++++≈′=− ∫
++
Como ejemplo de aplicación de este método, considérese la ecuación diferencial:
21
)( yxy +=′
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 6
con condición inicial 41.0)4.0( =y . Trabajando con 4.0=h , las operaciones en un paso
serían:
( )( )( )( )
( ) 934848.0934438.041.022
285805.1))292443.041.0()4.04.0((,
10823.1))174218.041.0()2.04.0((,
09087.1))18.041.0()2.04.0((,
9.0)41.04.0()(,
432161
1
34
221
21
3
121
21
2
1
21
21
21
21
21
=+=++++==+++=++=
=+++=++=
=+++=++=
=+=+==
+ kkkkhyy
hkyhxfk
hkyhxfk
hkyhxfk
yxyxfk
nn
nn
nn
nn
nnnn
Otro método de Runge – Kutta de cuarto orden (global) es el método de Gill:
( )( )( )( )
( )432161
1
321
221
4
221
121
21
3
121
21
2
1
)22()22(
)22(2,
)22()12(,
,
,
kkkkhyy
hkhkyhxfk
hkhkyhxfk
hkyhxfk
yxfk
nn
nn
nn
nn
nn
+++−++=
++−+=
−+−++=
++==
+
Y muchas otras alternativas son posibles.
6.2.3 Estimación 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 automática. Esto puede ser necesario al integrar
ecuaciones cuya solución varía lentamente en algunas regiones y muy rápidamente en
otras. Lo primero es poder estimar el error al integrar las ecuaciones con un cierto
intervalo.
Supóngase que se resuelve una ecuación diferencial con un procedimiento de Runge –
Kutta de cuarto orden (global) empleando un intervalo h2 . La solución, que en lo que
sigue se denomina hy2 , tendría un error de orden 4)2( h . Si paralelamente se obtuviera
la solución con intervalo h , en lo que sigue hy , ésta tendría un error de orden 4)(h .
Podría entonces eliminarse el término dominante del error haciendo una extrapolación
(pasiva). Para cada abscisa:
1515
16 22 hhh
hhcorregido
yyy
yyy
−+=
−=
Los resultados así obtenidos tendrían un error de orden 5)(h . Nótese que si se hiciera
una extrapolación activa habría que considerar el orden del error local.
Una alternativa más conveniente sería aprovechar los resultados parciales al usar un
proceso de orden m para determinar otra con un proceso de orden 1+m . Por ejemplo,
en el procedimiento de Runge - Kutta Cash – Karp se emplean las fórmulas de cuarto
orden (global):
)( 61771512
4594125
3621250
137837
1 kkkkhyy nn ++++=+
Y de quinto orden (global):
)( 641
533614277
42965552513
33844857518
1648278252
1 kkkkkhyy nn +++++=+
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 7
Que solamente requieren seis evaluaciones de la función:
( )( )( )( )( )( )hkhkhkhkhkyhxfk
hkhkhkhkyhxfk
hkhkhkyhxfk
hkhkyhxfk
hkyhxfk
yxfk
nn
nn
nn
nn
nn
nn
54096253
411059244275
313824575
2512175
1552961631
87
6
42735
32770
225
15411
5
356
2109
1103
53
4
2409
1403
103
3
151
51
2
1
,
,
,
,
,
,
++++++=
+−+−+=
+−++=
+++=
++==
6.2.4 Métodos de Paso Múltiple
Los métodos tratados anteriormente permiten determinar 1+ny conociendo únicamente el
valor de la función en el punto inmediatamente precedente. Como alternativa a estos
métodos de paso simple pueden plantearse métodos de paso múltiple en los que el
cálculo de 1+ny requiere utilizar L21 −− nnn yyy .
Un método de este tipo resulta al aproximar y′ en la ecuación ),( yxfy =′ por una
diferencia central, con lo que se tiene:
),(211 nnnn yxfhyy += −+
Este es el método explícito del punto medio (en inglés conocido como leapfrog), un
método de doble paso, puesto que la expresión para obtener 1+ny requiere 1−ny e ny .
Algunas ventajas y desventajas de los métodos de pasos múltiples con relación a los
métodos de un solo paso pueden citarse:
• Para el mismo número de evaluaciones de la función ),( yxf se tiene un mayor
orden en el error de truncación. Así por ejemplo, el método explícito del punto medio
tiene un error local de ( )3hO , contra ( )2hO en el método de Euler, aún cuando
ambos requieren una sola nueva evaluación de la función ),( yxf en cada paso.
• Se presentan dificultades para arrancar el proceso, no siendo suficiente conocer 0y
sino además uno o más valores adicionales L21 yy . Estos valores deben
obtenerse con un procedimiento distinto, de orden igual o mayor que el método de
paso múltiple a emplearse.
• Es en general difícil (aunque no imposible) cambiar el intervalo de integración, h (lo
cual, en cambio, no es ningún problema en los métodos de paso simple). Esto
podría reducir la relativa eficiencia de los métodos de pasos múltiples.
• La inestabilidad numérica es un problema más frecuente en los métodos de paso
múltiple que en los métodos de paso simple. Éste y otros temas relacionados se
revisan en la sección 6.2.5.
Entre los métodos de paso múltiple que se encuentran en la literatura están los métodos
explícitos de Adams – Bashfort:
)( 1231211 knknnnnn ffffhyy −+−−+ β++β+β+β+= L
Y los correspondientes métodos implícitos de Adams – Moulton:
)( 123121101 +−−−++ β++β+β+β+β+= knknnnnnn fffffhyy L
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 8
En estas expresiones nf denota ),( nn yxf . Los coeficientes β pueden obtenerse
considerando que:
dxxyxfdxx
yxyxy
hnx
nx
hnx
nxnn ∫∫
++
+ =∂∂=− ))(,()()( 1
Y aproximando ),( yxf por un polinomio de interpolación escrito en términos de
diferencias finitas hacia atrás:
)( 3832
125
21
1 L+∇+∇+∇+=−+ nnnnnn ffffhyy (A-B)
)( 13
241
12
121
121
11 L+∇−∇−∇−=− +++++ nnnnnn ffffhyy (A-M)
Por otro lado, pueden escribirse expansiones en series de Taylor, obteniéndose las β
por identificación de coeficientes. Así, para la expresión explícita con 1=k :
)( 1211 −+ β+β+= nnnn ffhyy
))()(()()( 21 hxyxyhxyhxy nnnn −′β+′β+≈+
+′β+≈+ )()()( 1 nnn xyhxyhxy
( )L−′′′+′′−′β+ )()()( 221
2 nnn xyhxyhxyh
( )32
221 )()()()()()( hOxyhxyhxyhxy nnnn +′′β−+′β+β+≈+
Comparando con:
( )3221 )()()()( hOxyhxyhxyhxy nnnn +′′+′+=+
Se tiene que: 121 =β+β y 21
2 =β− , de donde: 23
1 =β y 21
2 −=β , es decir:
)3(2 11 −+ −+= nnnn ffh
yy
Algunos resultados similares se listan a continuación. El error de truncación local es de
( )2+khO y el global de ( )1+khO :
Métodos de Adams – Bashfort (explícitos):
k )( 1231211 knknnnnn ffffhyy −+−−+ β++β+β+β+= L
0 nnn fhyy +=+1 Euler
1 )3( 12
11 −+ −+= nnnn ffhyy
3 )9375955( 321241
1 −−−+ −+−+= nnnnnn ffffhyy
Métodos de Adams – Moulton (implícitos):
k )( 123121101 +−−−++ β++β+β+β+β+= knknnnnnn fffffhyy L
0 11 ++ += nnn fhyy Euler inverso
1 )( 121
1 nnnn ffhyy ++= ++ Crank Nicholson (regla trapezoidal)
3 )5199( 211241
1 −−++ +−++= nnnnnn ffffhyy
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 9
6.2.5 Procedimientos Predictor – Corrector
El error de truncación de una fórmula implícita de este tipo es siempre menor que el error
del correspondiente proceso explícito del mismo orden. Excepto en el caso trivial en que
la función ),( yxf es lineal, la solución de la(s) ecuación(es) que definen el proceso
implícito requiere iterar. Con tal fin, se utiliza como primera aproximación el resultado
obtenido con la fórmula explícita (predictor). Esta aproximación se refina utilizando
repetidamente la correspondiente fórmula implícita (que en este contexto se denomina
corrector). Por ejemplo:
),()0(1 nnnn yxfhyy +=+
),( )(11
)1(1
innn
in yxfhyy ++
++ +=
El superíndice se refiere en este caso a la iteración. Pueden, por supuesto, plantearse
métodos Predictor – Corrector en los que las expresiones empleadas no sean las de
Adams – Bashfort – Moulton. Tal es el caso del método de Milne (un procedimiento
débilmente estable, que no se recomienda): Error local
Predictor: )22( 2134
3)0(1 −−−+ +−+= nnnnn fffhyy ( ))(5
4514 ξvyhO
Corrector: )4( 1)(13
11
)1(1 −+−
++ +++= nn
inn
in fffhyy ( ))(5
901 ξ− vyhO
Supóngase, por ejemplo, la ecuación: 2xyy −=′ con condición inicial 2)0( 0 == yy . Se
ha obtenido (con algún otro método) 198980.1)1.0( 1 =≈ yy .
Con el predictor )3( 121)0(
1 −+ −+= nnnn ffhyy se tiene:
[ ][ ] 380921.10)198980.1(3.005.0198980.1
)()(305.02
200
2111
)0(2
=−⋅−+=
=+−+= yxyxyy
y luego con el corrector (en este caso la regla trapezoidal, también conocida como
método de Crank Nicholson):
)( 121
1 nnnn ffhyy ++= ++ se tiene:
[ ][ ] 675923.1)198980.1(1.0)380921.1(2.005.0198980.1
)()(05.022
211
2)0(221
)1(2
=⋅−⋅−+=
=+−+= yxyxyy
Y en forma similar:
590923.1
590923.1
587923.1
)4(2
)3(2
)2(2
=
=
=
y
y
y
El proceso es en este caso convergente. La solución exacta es en este caso
)1(2 2xy += , de donde 077923.1)2.0( =y
Si el intervalo de integración, h , es demasiado grande, se observan importantes
diferencias entre la aproximación inicial obtenida con el predictor, )0(1+ny , y el valor
corregido, )(1
kny + . En tal caso la convergencia es lenta, e incluso podría no producirse.
Por otro lado, diferencias insignificantes implican que h es innecesariamente pequeño.
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 10
6.2.6 Consistencia, Estabilidad y Convergencia
Al emplear una ecuación de diferencias en lugar de la ecuación diferencial, se introducen
errores de truncación en cada paso.
Por ejemplo, en el método de Euler, la expresión:
L+′′+′+=+ )(2
)()()(2
xyh
xyhxyhxy
se remplaza por:
),(1 nnnn yxfhyy +=+
teniéndose un error de orden 2h . A esto deben agregarse los errores debidos a la
aritmética imperfecta del ordenador.
Evidentemente no es posible determinar estos errores, pero si pueden hacerse algunas
estimaciones.
Al emplear un método numérico para resolver EDO, se espera que éste sea
convergente, lo que significa que al trabajar con intervalos, h , cada vez más pequeños,
las soluciones deben aproximar cada vez más a la solución exacta. Para que el
procedimiento numérico sea convergente debe ser consistente y estable.
Consistencia significa que en el límite 0→h la ecuación de diferencias que define el
método numérico resulta formalmente la ecuación diferencial. Refiriéndose nuevamente
al método de Euler, que puede escribirse:
h
yyyxf nn
nn
−= +1),(
se observa que:
)()()(
0n
nn
hxy
h
xyhxyLim ′=
−+→
Si en cambio se escribiera, por ejemplo, ),(21 nnnn yxfhyy +=+ no habría
consistencia.
Para que el procedimiento numérico sea convergente no es suficiente que sea
consistente. Se requiere además que sea estable. Un método es estable cuando los
errores de truncación y de redondeo, al propagarse durante el proceso, son siempre
pequeños en comparación con la solución exacta.
CONSISTENCIA + ESTABILIDAD ⇔ CONVERGENCIA
Alternativamente, podría decirse que un método es estable si, para condiciones iniciales
típicas y siempre que los errores de truncación y de redondeo sean pequeños, se tiene
convergencia.
Un ejemplo de inestabilidad numérica
Para una observación inicial sobre el tema de estabilidad, considérese la ecuación
diferencial yy −=′ , con condición inicial 1)0( =y , cuya solución exacta es xey −= . El
método de Euler podría ser apropiado en este caso. Sin embargo, supóngase que se
emplea la “regla explícita del punto medio”:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 11
( )nnnn yxfhyy ,211 += −+
con intervalo 1.0=h , es decir:
nnn yyy 2.011 −= −+
Para iniciar el proceso no es suficiente conocer 1)0(0 == yy . Se requiere además 1y .
Supóngase que se calcula 96035418837904.01.01 === −− eey h , con 13 cifras
significativas correctas. Trabajando con aritmética de doble precisión se obtienen:
i ix ( )ixy iy ( )iii xyye −=
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 solución exacta es exponencialmente decreciente, como se indica en línea gruesa en
la figura siguiente. Sin embargo, el procedimiento produce los resultados que se
presentan en línea más delgada. Después de aproximadamente 5=x se obtienen
valores con signos alternados, con amplitud cada vez mayor (que podría llegar a rebasar
el número máximo que puede almacenarse). Esto es una inestabilidad numérica.
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
1.5
2.0
0 2 4 6 8 10 12x
y(x)
Si se reduce h o se aumenta el número de cifras en los cómputos el problema puede
posponerse, pero no evitarse. ¿A qué se debe esta inestabilidad?
Considérese la ecuación diferencial:
yy λ=′
para la cual el método explícito del punto medio resulta:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 12
nnn yhyy λ+= −+ 211
Esta es una ecuación de diferencias lineal de orden 2. Definiendo hλ=α , la ecuación
característica es:
rr α+= 212
con las raíces:
( ) ( )42212
12
1 11 α+α+α+=α++α= Or
12
1
rr −=
Al comparar la primera de estas expresiones con la expansión en series:
( )43612
211 α+α+α+α+=α Oe
se concluye que:
( )4361
1 α+α−= α Oer
nxhnnn eeer λλα ==≈1
( ) ( ) nxnnnn err λ−− −≈−= 11 12
y en consecuencia:
( ) nxnnxnnn eCeCrCrCy λ−λ −+≈+= 212211 1
La solución de la ecuación de diferencias tiene dos “modos componentes”, el primero de
los cuales corresponde a la solución correcta, mientras que el segundo no debería
existir. En teoría se debería tener 11 =C y 02 =C , de modo que nxn ey λ≈ , pero no es
así, ni siquiera al iniciarse el proceso. Efectivamente, para el caso 1.0−=λ=α h , los
valores iniciales hacen que:
1210 =+= CCy 1.0
22111−=+= erCrCy
de donde, trabajando en doble precisión:
( ) ( ) 5121
1.02 10947469.7 −− ⋅≈−−= rrreC
y suponiendo que las operaciones siguientes se efectuaran con una aritmética
infinitamente precisa:
( ) 365645.110947469.7 1.0100510022 =⋅≈ − erC
Nótese que este resultado es similar al error observado para 10=x . Por otro lado, aún cuando inicialmente se tuviera 02 =C , los errores numéricos introducirían la componente extraña. El factor ( )n1− explica la alternancia de signos del error.
El procedimiento no funciona para λ negativo, porque en ese caso el modo extraño
( ) xn eC λ−− 21 tiende a crecer, mientras que la solución xeC λ1 es decreciente. Sin
embargo, si sirve para el caso (poco práctico) en que λ es positivo y la solución es exponencialmente creciente.
Región de estabilidad absoluta
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 13
Puede obtenerse valiosa información con relación al comportamiento de un método
numérico de solución de EDO al observarse cómo funciona con una ecuación de la
forma yy λ=′ , donde λ es una variable compleja, con condición inicial 1)0( =y . Con
referencia a esta ecuación, se define la región de estabilidad absoluta de un método
numérico como el lugar geométrico de los hλ para los que la solución es finita cuando
∞→n . Esto es equivalente a decir que las raíces de la ecuación característica
satisfacen 1≤ir .
Para 0→h se requiere que una de las raíces sea igual a 1 (esto es un requisito para
que el método sea consistente). Sin embargo, si dos o más raíces tienen módulo igual a
1 el método es débilmente estable y con frecuencia tiene problemas numéricos. Este es
el caso del método explícito del punto medio, del que se trató en el acápite anterior.
Considérese, por ejemplo, el método de Euler:
( )nnnn yxfhyy ,1 +=+
que aplicado a la ecuación yy λ=′ resulta:
( ) nnnn yhyhyy λ+=λ+=+ 11
La solución de esta ecuación de diferencias es de la forma nn ry = . Al sustituir esta
solución en la ecuación de diferencias se obtiene la ecuación característica:
hr λ+=1
La región de estabilidad absoluta queda definida por: 11 ≤λ+ h . Esta es el área
dentro de una circunferencia de radio 1 y con centro en (-1,0):
Región de estabilidad absoluta - Euler
-2
-1
0
1
2
-3 -2 -1 0 1 2
Re λh
Im λh
Puede concluirse que el método de Euler es apropiado para integrar ecuaciones cuya
solución es exponencialmente decreciente ( 0<λ ), pero no para el caso en que la
solución es oscilatoria y no amortiguada ( λ imaginaria pura).
Análogamente para el método de Euler inverso:
( ) 1111 , ++++ λ+=+= nnnnnn yhyyxfhyy
se obtiene:
hr
λ−=
1
1
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 14
La región de estabilidad absoluta, en la que 1≤r , es en este caso la región externa al
círculo de radio 1 y con centro en (1,0).
Región de estabilidad absolutaEuler Inverso
-2
-1
0
1
2
-2 -1 0 1 2 3
Re λh
Im λh
El método de Euler inverso sería apropiado para el caso en que la solución es
oscilatoria, amortiguada o no. No debería emplearse para integrar ecuaciones cuya
solución es exponencialmente creciente, ya que por consideraciones de estabilidad
requeriría un paso grande, lo que estaría en conflicto con los objetivos de precisión.
Todos los procesos de Runge Kutta del mismo orden tienen la misma región de
estabilidad absoluta. Por ejemplo, considérese un proceso de segundo orden, método
de Heun, también llamado Euler modificado:
( )( ) ( )[ ]yxfyxf
hyy
yxfhyy
nnnnn
nnn
ˆ,,2
,ˆ
11 ++ ++=
+=
que aplicado a la ecuación yy λ=′ resulta:
( )( )[ ] ( )[ ] nnnnnn
nnn
yhhyhyyh
yy
yhyhyy
221
1 12
1ˆ
λ+λ+=λ+λ+λ+=
λ+=λ+=
+
y por lo tanto : ( )2211 hhr λλ ++= . La condición 1≤r es satisfecha por todos los
puntos dentro del elipsoide que se muestra en la figura siguiente:
Región de estabilidad absolutaRunge Kutta - Segundo Orden
-2
-1
0
1
2
-3 -2 -1 0 1
Re λh
Im λh
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 15
Otros métodos de Runge Kutta de segundo orden, como el método del punto medio o el
método de Ralston, tienen exactamente la misma ecuación característica y por lo tanto la
misma región de estabilidad absoluta.
Para el “clásico” método de Runge Kutta:
( )( )( )( )
( )432161
1
34
221
21
3
121
21
2
1
22
,
,
,
,
kkkkyy
kyhxfhk
kyhxfhk
kyhxfhk
yxfhk
nn
nn
nn
nn
nn
++++=++=
++=
++==
+
se obtienen en este caso:
( )( )( )
( ) ( )( )( ) ( ) ( )( ) nn
n
n
n
n
yhhhhy
yhhhhk
yhhhk
yhhk
yhk
42413
612
21
1
3412
21
4
241
21
3
21
2
1
1
1
1
1
λ+λ+λ+λ+=
λ+λ+λ+λ=
λ+λ+λ=
λ+λ=λ=
+
Y resulta:
( ) ( ) ( )42413
612
211 hhhhr λ+λ+λ+λ+=
La expresión es la misma para cualquier otro método de Runge Kutta de cuarto orden
(global): La región de estabilidad absoluta es aquella dentro del límite indicado en la
figura siguiente:
Región de estabilidad absolutaRunge - Kutta 4o Orden
-4
-3
-2
-1
0
1
2
3
4
-3 -2 -1 0 1
Re (λh)
Im (λh)
Las mismas ideas pueden también aplicarse a métodos de pasos múltiples. Por
ejemplo, para la regla explícita del punto medio, a la que se hizo referencia al inicio de
esta sección:
( ) nnnnnn yhyyxfhyy λ+=+= −−+ 2,2 111
se obtienen las raíces de la ecuación característica:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 16
( )( )21
21 hhr λ+±λ=
y para tener 1≤ir se requiere que hλ sea imaginaria pura, en el rango entre i− y
i+ . Debe observarse que este método es débilmente estable, porque para 0→h se
tiene 121 == rr .
Un mejor método de pasos múltiples es la regla trapezoidal o método de Crank –
Nicholson:
( ) ( )[ ]1121
1 ,, +++ ++= nnnnnn yxfyxfhyy
que para el caso yy λ=′ resulta:
( )121
1 ++ +λ+= nnnn yyhyy
de donde:
( ) ( )hrh λ+=λ− 21
21 11
y por lo tanto se requiere que: 11
1
21
21
≤−+
=h
hr
λλ
, es decir ( ) 0Re ≤hλ .
6.3. Métodos 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 más eficiente emplear
métodos más específicos, como los que se describen a continuación.
6.3.1 Runge Kutta
Para resolver EDO de la forma ),,( yyxfy ′=′′ , con condiciones iniciales 0)( yay = e
0)( yay ′=′ se encuentran en la literatura modificaciones de los métodos de Runge Kutta
como, por ejemplo, el proceso de cuarto orden (global):
( )( )( )( )
( )( )[ ]3216
11
432161
1
3321
4
221
181
21
21
3
121
181
21
21
2
1
22
,,
,,
,,
,,
kkkyhyy
kkkkyy
kykhyhyhxfhk
kykhyhyhxfhk
kykhyhyhxfhk
yyxfhk
nnn
nn
nnn
nnn
nnn
nnn
+++′+=
++++′=′+′+′++=
+′+′++=
+′+′++=
′=
+
+
6.3.2 Método de Diferencia Central
Este procedimiento se basa en sustituir las derivadas por sus aproximaciones con
diferencias centrales. Así al resolver:
( )tfkuum =+&&
se puede aproximar la segunda derivada con: 2
11
)(
2
t
uuuu nnn
n ∆+−
= +−&&
de donde resulta: ))(()(
22
11 nnnn uktfm
tuuu −∆+−= −+ .
Este método puede también escribirse en la forma sumada:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 17
( ) nnn kutfum −=&&
tuuu nnn∆+=
−+&&&&
21
21
tuuunnn ∆+=
++211
&
cuya interpretación física es simple.
Cuando la ecuación es de la forma: ( )tfkuucum =++ &&& conviene aproximar la primera derivada mediante:
t
uuu nn
n ∆−
= −+
211&
Y no con una diferencia hacia atrás, que a primera vista podría parecer una mejor
elección. Esta consideración se relaciona con el tema de estabilidad, que se trata más
adelante. Con la aproximación antes mencionada se obtiene:
( ) 12212 2)()(
2
2)(−+
∆−
∆−
∆−−=
∆+
∆ nnnn ut
c
t
mu
t
mktfu
t
c
t
m
6.3.3 Método de Newmark
La familia de métodos de Newmark se basa en aproximaciones de la forma:
( )[ ]11 1 ++ −+∆+= nnnn uutuu &&&&&& δδ
( ) ( )[ ]1212
1 ++ −+∆+∆+= nnnnn uututuu &&&&& αα
El caso con 21=δ y 6
1=α corresponde a suponer que u&& (la aceleración) varía
linealmente en el intervalo. Aparentemente esa elección sería mejor que 21=δ y 4
1=α
(lo que físicamente se interpretaría como suponer una aceleración constante promedio).
Sin embargo, esta última elección es más apropiada, también por consideraciones de
estabilidad, a las que se hace referencia más adelante.
Al remplazar las aproximaciones en:
( )1111 ++++ =++ nnnn tfukucum &&&
se obtiene:
11ˆˆ
++ = nn fuk
donde:
camakk 10ˆ ++=
)ˆ54132011 nnnnnnnn uauau(ac)uauau(amff &&&&&& ++++++= ++
y los coeficientes 70 aa L son:
20)(
1
ta
∆=
α
ta
∆=
αδ
1 t
a∆
=α
12
12
13 −=
αa 14 −=
αδ
a
−∆= 225 α
δta
( )δ−∆= 16 ta ta ∆= δ7
Finalmente se pueden determinar los nuevos valores de u& y u&& mediante:
1761
32101
++
++
++=
−−−=
nnnn
nnnnn
uauauu
uaua)u(uau
&&&&&&
&&&&&
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 18
6.3.4 Estabilidad y Precisión
Todos los métodos para resolver EDO de segundo orden pueden ser escritos en la
forma:
nnn fbuAu +=+1
donde nu representa ahora el conjunto de resultados que describen la respuesta en el
paso n . Por ejemplo, para el método de diferencia central:
n
n
n
n
n
ft
t
u
ut
t
t
t
u
u
∆+∆
+
∆+∆−
−∆+
∆−=
−
+
0
1
)(
01
1
1
1
)(2 2
1
2
1
ωβωβωβ
ωβω
Los errores se comportan en forma análoga, pudiendo demostrarse que:
nn εεεεεεεε A=+1
y por lo tanto, para que los errores se reduzcan (es decir, para que el método sea estable) se requiere que:
1máx)( ≤= iλρ A
En esta expresión )(Aρ es el radio espectral y los iλ son los valores característicos de
A . Para el caso en que 0=β y se utiliza el método de diferencia central, la condición
1)( ≤Aρ se cumple cuando:
πωT
t =≤∆ 2
Se dice entonces que el método de diferencia central es condicionalmente estable. Si
t∆ excede el límite antes indicado se produce una inestabilidad numérica. El límite
corresponde a algo más que tres puntos por período, lo que sin embargo resulta
insuficiente para tener buena precisión. Con 10/Tt =∆ se introducen errores del orden
de 3% en cada paso, mientras que con 20/Tt =∆ los errores son del orden de 1%.
Para la familia de métodos de Newmark pueden también obtenerse las condiciones de
estabilidad:
2)5.0(25.0
50.0
δαδ
+≥
≥
Con una apropiada selección de los parámetros (lo habitual es 21=δ y 6
1=α ) se tiene
un procedimiento incondicionalmente estable, es decir estable para cualquier selección
de t∆ . Nuevamente, el intervalo de integración está limitado por la precisión.
Dos procesos a los que también se hace referencia en la literatura son los métodos de
Houbolt y de Wilson. Ambos métodos son también (para una selección apropiada de sus
parámetros) incondicionalmente estables, pero acumulan mucho más errores que el de
Newmark de aceleración constante y por tanto no son tan convenientes.
6.4. Sistemas de Ecuaciones Diferenciales Ordinaria s
6.4.1 Integración Directa
Cuando las EDO son no lineales, y en consecuencia no es factible la descomposición
modal a la que se hace referencia en la sección siguiente, cabe la posibilidad de integrar
directamente las ecuaciones en su forma original. Las expresiones son prácticamente
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 19
las mismas usadas para el caso de una sola ecuación diferencial, excepto que todas las
operaciones son realizadas con matrices. Así, por ejemplo, para resolver el sistema de
EDO de primer orden:
),( yfy x=′
Podría emplearse el método de Runge Kutta de cuarto orden:
( )( )( )( )
( )432161
1
34
221
21
3
121
21
2
1
22
,
,
,
,
kkkkyy
kyfk
kyfk
kyfk
yfk
++++=++=
++=
++==
+ h
hhx
hhx
hhx
x
nn
nn
nn
nn
nn
(como es habitual, las minúsculas en letras negritas denotan matrices columna).
Análogamente, para resolver el sistema de ecuaciones diferenciales de segundo orden:
( )tfuKuM =+&&
podría emplearse el método de diferencia central:
( ) nnn t uKfuM −=&&
tnnn∆+=
−+uuu &&&&
21
21
tnnn ∆+=
++211 uuu &
El método de diferencia central es particularmente eficiente para el caso de EDO no
lineales si la matriz M es diagonal (una aproximación frecuente en ingeniería). Puede
anotarse que en el caso de ecuaciones no lineales no requiere obtenerse K
explícitamente, sino más bien el producto uK (lo que puede ser notoriamente más fácil).
Otra posibilidad para resolver ecuaciones de la forma 1111 ++++ =++ nnnn fuKuCuM &&& sería
el método de Newmark, en el que 1+nu se obtiene de:
11ˆˆ
++ = nn fuK
ULCMKK =++= 10ˆ aa
)ˆ54132011 nnnnnnnn aa(a)aa(a uuuCuuuMff &&&&&& ++++++= ++
y luego:
tttttt
ttttttt
aa
aaa
∆+∆+
∆+∆+
++=
−−−=
uuuu
uuuuu
&&&&&&
&&&&&
76
320 )(
Los coeficientes 70 aa L son los mismos de la sección 6.3.3.
Al resolver EDO no lineales el método de Newmark, en la forma antes descrita, requeriría
una nueva factorización ULK =ˆ en cada paso. El proceso podría mejorarse
descomponiendo K en dos partes y pasando los términos no lineales al segundo
miembro, como parte de 1ˆ
+nf .
6.4.2 Descomposición Modal
Cuando el sistema de ecuaciones diferenciales es lineal, y particularmente si las
matrices que definen el sistema de ecuaciones diferenciales son simétricas, el
procedimiento más eficiente se basa en la descomposición modal. Para mostrar en que
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 20
consiste la descomposición modal, supóngase que se tiene el sistema de ecuaciones
diferenciales:
)(tfAxxB =+&
Las matrices A y B son simétricas (y muy frecuentemente definidas positivas). La
descomposición modal emplea los vectores característicos ι
φφφφ obtenidos de:
iii φφφφφφφφ BA λ=
Estos vectores constituyen una base completa, y por lo tanto la solución )(tx puede
siempre expresarse como una combinación lineal de los referidos vectores:
∑= jjat φφφφ)(x
Nótese que, siendo las matrices A y B constantes, los vectores característicos ι
φφφφ no
son función de tiempo. Sin embargo, las componentes no pueden en general ser
constantes, puesto que la solución no los es. Por lo tanto:
∑= jj tat φφφφ)()( &&x
Al sustituir las expresiones anteriores en el sistema de ecuaciones diferenciales se tiene:
)(taa jjjj fAB =+∑∑ φφφφφφφφ&
Conviene ahora recordar las condiciones de ortogonalidad:
rsrs δ=φφφφφφφφ B*
rsrrs δλ=φφφφφφφφ A*
Para simplificar la presentación, se ha supuesto que los vectores característicos están
normalizados respecto a la matriz B .
Al pre multiplicar las ecuaciones por Τ
ιφφφφ :
)(taa Τ
ιjΤ
ιjjΤ
ιj fAB φφφφφφφφφφφφφφφφφφφφ =+∑∑ &
Se observa que la mayor parte de los productos que se tienen en cada suma son cero.
Sólo 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 )(ta j :
)(taa Τ
ιiii fφφφφ=λ+&
Por otro lado, si las condiciones iniciales son 0)0( xx = , entonces:
∑== jja φφφφ)0()0(0 xx
y por lo tanto, al premultiplicar por BΤι
φφφφ :
0)0( xBΤιia φφφφ=
Resolver n de estas ecuaciones desacopladas es mucho más fácil que resolver un solo
sistema de ecuaciones diferenciales de orden n (puede aquí hacerse un paralelismo con
el caso de ecuaciones algebraicas). Además, en muchas situaciones prácticas se
observa que las componentes )(ta asociadas a los mayores valores característicos son
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 21
poco importantes, y pueden despreciarse. Por ello, se justifica plenamente el trabajo de
determinar previamente los valores característicos.
Las ecuaciones desacopladas puede resolverse con algunos de los procedimientos
numéricos tratados en la sección 6.2. Por ejemplo, si los valores característicos fueran
negativos podría emplearse el método de Euler. En el caso en que las funciones )(tf
son simples podría también pensarse en una solución analítica. Obtenidas cada una de
las componentes como función de tiempo, puede regresarse a la expresión:
∑= jjat φφφφ)(x
para hallar la solución )(tx .
Un caso frecuente es aquel en el que )()( 0 tgt ff = y la función )(tg está definida por
una colección de valores numéricos correspondientes a valores t uniformemente
espaciados. En un intervalo cualquiera puede hacerse la aproximación: btatg +=)( ,
de donde, para cada una de las ecuaciones desacopladas se tiene:
)(0 btaaa Τ
ιiii +=+ fφφφφλ&
Cuya solución puede obtenerse fácilmente (sumando la solución homogénea teC λ− y la
particular, de la forma BtA + ):
Conociendo ia al inicio del intervalo, puede obtenerse la constante C y calcularse
entonces el valor de ia al finalizar el intervalo. El proceso se repite análogamente para
los sucesivos intervalos.
Cabe anotar que este procedimiento es incondicionalmente estable. En realidad, sería
exacto si la función fuera efectivamente lineal por intervalos. La aproximación está en
haber descrito la función )(tg con un número finito de valores numéricos, a partir de los
cuales se está interpolando linealmente.
Las mismas ideas pueden aplicarse a sistemas lineales de ecuaciones diferenciales de
segundo orden: fuKuCuM =++ &&& . En este caso podrían primero determinarse los
valores y vectores característicos del problema: φφφφφφφφ MK 2ω= . Aquí se ha supuesto que
K y M son no sólo simétricas, sino también definidas positivas, por lo que los 2ω=λ
son positivos.
Nuevamente, la solución puede escribirse como una combinación lineal de los vectores
característicos (que en lo que sigue se han supuesto normalizados respecto a M ):
∑= jj tat φφφφ)()(u
Los vectores característicos satisfacen las condiciones de ortogonalidad:
rsrs δ=φφφφφφφφ M*
rsrrs δω= 2* φφφφφφφφ K
Pero, salvo en algunos casos particulares, no podría afirmarse algo similar con la matriz
C . Sin embargo, hay aplicaciones en que la inclusión del término uC & es sólo un
artificio para introducir disipación en las ecuaciones lineales, que realmente podría
haberse considerado con una K variable, dependiente de u . En este contexto, podría
introducirse directamente la disipación en las ecuaciones desacopladas, no siendo
necesario determinar la matriz C :
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 22
)(2 2 taaa Τ
ιiiiii fφφφφ=++ ωωβ &&&
Estas ecuaciones pueden también ser resueltas numéricamente, por procedimientos
tales como el método de diferencia central o el método de Newmark de aceleración
constante.
En el caso frecuente en el que )()( 0 tgt ff = , estando )(tg definida por una colección de
valores numéricos a intervalos constantes, puede seguirse un procedimiento similar al
descrito antes para ecuaciones diferenciales de primer orden.
6.4.3 Consideraciones Adicionales
En el acápite 6.3.4 se mencionó que al resolver una ecuación diferencial de segundo
orden el intervalo está controlado por precisión y no por estabilidad. La situación es
diferente cuando se resuelven grandes sistemas de EDO. Los comentarios siguientes
parecieran referirse a sistemas de EDO lineales, pero realmente son también aplicables
a ecuaciones no lineales, que pueden ser linearizadas localmente.
Al integrar directamente un sistema de EDO se están haciendo operaciones equivalentes
a integrar las ecuaciones desacopladas; simplemente el sistema de referencia es
distinto. El procedimiento será estable cuando el intervalo de integración cumpla las
condiciones de estabilidad con todos y cada uno de los modos componentes. Por lo
tanto, para un método como el de la diferencia central:
π=
ω≤∆ mín
máx
Tt
2
Cuando se tiene un comportamiento no lineal los períodos T tienden a crecer (y los ω
tienden a reducirse), por lo que la estimación del t∆ sobre la base de las condiciones
iniciales es en general suficiente.
Por otro lado:
máxω<<≤ω≤ω L21
mínTTT >>≥≥ L21
y habitualmente al cumplir la condición de estabilidad se tendrán cientos y tal vez miles
de puntos por período 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 condición de estabilidad implica
que se tiene también precisión.
En cambio, al emplear un método incondicionalmente estable es la precisión la que
siempre controla el intervalo de integración. Éste debe escogerse de modo que se
integren con suficiente precisión todos aquellos modos cuya participación en la
respuesta es significativa.
Considere el sistema de ecuaciones diferenciales 0Auu =+&& en la que la matriz A es:
=
5.2005.199
5.1995.200A
Los valores característicos de la matriz A son 1211 == ωλ y 4002
22 == ωλ . Supóngase que las condiciones iniciales son:
H. Scaletti - Métodos Numéricos: Ecuaciones Diferenciales Ordinarias 6 - 23
−=
99.0
01.1)0(u
=0
0)0(u&
En este caso es fácil obtener la solución exacta:
ttu 20cos1
101.0cos
1
1
+
−=
El primer modo, con 11 =ω y π21 =T es el importante en la solución. La contribución
del segundo modo, con 202 =ω y 10/2 π=T es comparativamente pequeña.
Supóngase ahora que se usa el proceso de diferencia central:
21
21
21
1 ++
−+
∆+=
∆+=−=
nnn
nnn
nn
t
t
uuu
uuu
Auu
&
&&&&
&&
con condiciones iniciales
−=
99.0
01.10u y
=∆+=0
0)0( 02
12
1 uuu &&&& t
Para integrar apropiadamente el primer modo sería suficiente considerar un t∆ del
orden de 3.020/1 ≈T . 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: 1.0//2 22 ==<∆ πω Tt lo que indirectamente hace que se obtenga
precisión en la integración de la componente significativa. En las figuras siguientes se
muestran resultados obtenidos con 1001.0=∆t (el procedimiento es inestable) y con
09.0=∆t (procedimiento estable). Los resultados serían aún más precisos si nTT >>1 ,
como ocurre típicamente al resolver grandes sistemas de ecuaciones diferenciales.
-1000
-500
0
500
1000
0 2 4 6 8 10
t
u
Resultados obtenidos con 1001.0=∆t
-2
-1
-1
0
1
1
2
0 2 4 6 8 10
t
u
Resultados obtenidos con 09.0=∆t
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 1
8. Transformadas de Fourier Discretas
8.1 Introducción
En numerosos problemas de ingeniería, como por ejemplo al estudiar vibraciones
mecánicas, se tienen funciones periódicas. Una función )(tf es periódica, con período
T , si )()( tfTtf =+ para todo t . En tal caso )(tf puede ser expresada en series de
Fourier1:
( )∑ ∑∞
=
∞
−∞=
Ω=Ω+Ω+=1
021 )sen()(cos)(
j j
tijjjjj
jectbtaatf (8.1)
donde ( )Tjj /2π=Ω y T es el período. Puede demostrarse que:
)(),(, 21
21
00 kkkkkk ibacibacac +=−== − (8.2)
siendo 1−=i .
Por ejemplo, para la onda rectangular con período π2 :
<<<<−−
=π
πt
ttf
01
01)(
Se obtiene:
+++= L5
5sen
3
3sensen
4)(
xxxtf
π
En la figura se muestra la aproximación obtenida considerando 10 términos de la serie:
-1.5
-1
-0.5
0
0.5
1
1.5
-6 -4 -2 0 2 4 6
Si f y su primera derivada son continuas, la serie es convergente para todo t . Cuanto
más regular sea la función, mayor es la velocidad de convergencia. Si f y f ′ tienen un
número finito de discontinuidades finitas en cada período, la serie produce el valor medio
en cada uno de tales puntos.
En los procedimientos numéricos las funciones se expresan por colecciones de valores
)( nn tff = que habitualmente corresponden a abscisas uniformemente espaciadas:
tntn ∆= . Si la función es periódica podría definirse por una colección de N valores
1 Jean Baptiste Joseph Fourier (1768-1830), ingeniero francés. En 1807 presentó a la Academia Francesa su teorema relativo a las series de F., que publicó posteriormente como parte de su Teoría Analítica del Calor.
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 2
numéricos 1210 ,,, −Nffff K siendo el período tNT ∆= . En lo que sigue, se denomina
a esto el caso discreto. Análogamente a la (8.1):
∑∞
−∞=
Ω==j
tijnn
njectff )( (8.3)
Nótese que ( ) njnNj titn
tN
jini
tntN
Nji
tieeeee
Ω∆
∆∆
∆+
Ω ===+π
ππ 2
22
, por lo que factorizando se puede escribir:
∑−
=
Ω=1
0
ˆN
j
tijn
njecf (8.4)
En la sección siguiente se revisan expresiones que permiten determinar los coeficientes
de tales series. Para simplificar la presentación se ha escrito jc en lugar de jc .
8.2 Ortogonalidad de las Funciones Armónicas
Caso continuo
Supóngase que se tienen dos funciones periódicas )()( Ttftf += y )()( Ttgtg += .
En lo que sigue se hace referencia al producto interno de tales funciones periódicas:
∫=T
dttgtfgf0
)()(),( (8.5)
donde )(tg indica la conjugada de )(tg .
Considérense ahora las funciones periódicas: ti
jjet
Ω=)(ϕ para K,2,1,0 ±±=j ,
siendo
=ΩT
jj
π2 e 1−=i . Nótese que )()( tTt ϕϕ =+ . Además:
tij
jetΩ−=)(ϕ
Puede observarse que:
=0
),(T
kj ϕϕ si kj =
si kj ≠
(8.6)
como se demuestra a continuación. Para kj = :
TdtdteeTT titi
jjjj === ∫∫
Ω−Ω
00),( ϕϕ
Para kj ≠ :
0/)(2
),(0)(2
0
/)(2
0=
−−===
−−Ω−Ω
∫∫ Tkji
eedtedtee
kjiTTtkji
T titikj
kj
πϕϕ
ππ
Caso discreto
En este caso el producto interno de dos funciones con igual período, T , cada una
expresada por una colección de N valores numéricos, se define como:
∑−
=
=1
0
),(N
nnn gfgf
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 3
Considerando nuevamente las funciones ti
jjet
ωϕ =)( se tiene: jn
N
iti
nj eet nj
π
ϕ2
)( == Ω y
entonces:
∑∑−
=
−−
=
−==
1
0
21
0
22
),(N
n
nN
kjiN
n
knN
ijn
N
i
kj eeeπππ
ϕϕ
Si kj − es un múltiplo de N se tiene que N
kj − es un entero y por lo tanto:
NN
mkj ==∑
−
=
1
0
1),( ϕϕ
Por otro lado, si kj − no es un múltiplo de N puede escribirse:
∑−
=
=1
0
),(N
n
nkj qϕϕ
donde
−
= N
kji
eqπ2
. Esta es la suma de N términos de una progresión geométrica, con
valor inicial 1 y razón q , que resulta:
01
11
1
1),( =
−−=
−−=
qN
kj ϕϕ
Excepto para el caso antes mencionado, en que kj − es un múltiplo de N , para el que
se tiene 1=q . Resumiendo, para el caso discreto:
=0
),(N
kj ϕϕ si kj − es múltiplo de N
en otros casos
(8.7)
8.3 Coeficientes de Fourier
Si )(tf es periódica:
∑∑∞+
−∞=
∞
−∞=
==j
jjj
jtT
i
j tcectf )()(2
ϕπ
O en el caso discreto ∑∑−
=
−
=
==1
0
1
0
2
)(N
jnjj
N
j
jnN
i
jn tcecf ϕπ
Los coeficientes jc se denominan coeficientes de Fourier. Estos pueden determinarse
con el producto interno:
∑=j
kjjk cf ),(),( ϕϕϕ
Siendo 0),( =kj ϕϕ para kj ≠ se obtiene ),(),( kkkk cf ϕϕϕ = y por lo tanto (después
de cambiar k por j ):
dtetfT
cT jt
T
i
j ∫
−=
0
2
)(1
π
en el caso continuo (8.8)
∑−
=
−=
1
0
21 N
n
jnN
i
nj efN
cπ
en el caso discreto (8.9)
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 4
Cuando la función )(tf es real, los coeficientes jj ba , de la expresión (8.1) son también
reales. Los jc son en general números complejos, pero si )(tf es real tienen simetría
conjugada, es decir: kk cc =− , lo que puede observarse fácilmente en (8.2).
Las funciones de varias variables se tratan en forma análoga, considerando una variable
a la vez. Supóngase que se conocen los valores de la función periódica (en ambas
direcciones) ),( qp yxf que corresponden a abscisas xpxp ∆= y ordenadas yqyq ∆=
siendo 1,2,1,0 −= Mp K y 1,2,1,0 −= Nq K :
−
=
−
=
∑ ∑
== M
jpiM
j
N
k
N
kqi
jkqppq eecyxffππ 21
0
1
0
2
),( (8.10)
−−
=
−
=
−
∑ ∑
= M
jpiM
p
N
q
N
kqi
pqjk eefNM
cππ 21
0
1
0
211 (8.11)
8.3 Transformadas de Fourier
Supóngase una función )(tf no periódica, definida para ∞<<∞− t y tal que tiende a
cero cuando t tiende a más infinito o a menos infinito. En tal caso, puede obtenerse el
límite de (8.8) para ∞→T :
dtetfF ti∫
∞
∞−
Ω−=Ω )()( (8.12)
La función )(ΩF es la transformada de Fourier de )(tf . Análogamente, el límite de
(8.9) para ∞→T resulta:
ΩΩ= ∫∞
∞−
Ω deFtf ti)(2
1)(
π (8.13)
que se denomina transformada inversa. El factor )2/(1 π podría indistintamente tenerse
en (8.12) o en (8.13).
La tabla siguiente indica algunas propiedades de simetría de las transformadas de
Fourier: Función Transformada de Fourier
)(tf real )()( Ω=Ω− FF
)(tf imaginaria )()( Ω−=Ω− FF
)(tf simétrica )()( Ω=Ω− FF
)(tf antisimétrica )()( Ω−=Ω− FF
Si )(tf es simultáneamente real y simétrica )(ΩF es también real y simétrica; si )(tf
es imaginaria y antisimétrica )(ΩF es también antisimétrica pero real.
Puede también demostrarse que:
ΩΩ= ∫∫∞
∞−
∞
∞−dFtdtf
22)()(
Esto se conoce como el teorema de Parseval, que es de utilidad en diversas
aplicaciones.
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 5
Si )(ΩF es la transformada de Fourier de )(tf , entonces la transformada de Fourier de
)(tf& resulta )(ΩΩ Fi . Esto se verifica fácilmente haciendo una integración por partes.
En consecuencia, se concluye que la transformada de la derivada m-ésima es
)()( ΩΩ Fi m .
Si se tiene la ecuación diferencial lineal:
mtfuuutfkuucum /)(2)( 2 =++⇒=++ ωβω &&&&&&
en la que kcm ,, son constantes, se puede multiplicar por tie Ω− e integrar entre ∞− y
∞+ , para obtener:
dtetfdtetukdtetucdtetum titititi∫∫∫∫
∞
∞−
Ω−∞
∞−
Ω−∞
∞−
Ω−∞
∞−
Ω− =++ )()()()( &&&
Llamando )(ΩF a la transformada de )(tf , es decir: dtetfF ti∫
∞
∞−
Ω−=Ω )()(
y )(ΩU a la transformada de Fourier de )(tu : dtetuU ti∫
∞
∞−
Ω−=Ω )()(
se obtiene:
( ) )()(2 Ω=Ω+Ω+Ω− FUkcim
o bien:
)()()( ΩΩ=Ω FHU
donde ( ) 12)(−
+Ω+Ω−=Ω kcimH es una función de transferencia. Luego se obtiene
la función )(tu con la transformada inversa:
ΩΩ= ∫∞
∞−
Ω deUtu ti)(2
1)(
π
Las mismas ideas pueden aplicarse a la solución de sistemas de ecuaciones
diferenciales lineales. Por ejemplo:
( ) )()()( Ω=ΩΩ+⇒=+′ Fixf cUBAcBuuA
En este caso )(ΩU denota una matriz columna que agrupa las transformadas de las
funciones agrupadas en )(tu . Luego:
ΩΩ= ∫∞
∞−
Ω det ti)(2
1)( Uu
π
8.4 Algoritmo de Cooley y Tukey 2
Las operaciones requeridas para obtener los coeficientes de Fourier:
∑−
=
−=
1
0
21 N
n
jnN
i
nj efN
cπ
(8.14)
son similares a las del proceso inverso:
∑−
=
=1
0
2N
j
jnN
i
jn ecfπ
(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 - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 6
Al realizar las operaciones como se indican en (8.14) y (8.15) se requerirían en cada
caso 2N multiplicaciones y sumas de números complejos. Con el algoritmo de
Transformada de Fourier Rápida (FFT por sus iniciales en inglés) se requieren sólo
NN 2log multiplicaciones y sumas. Esto es suponiendo que N es una potencia de 2 y
que el algoritmo se escribe en su forma más simple. Si, por ejemplo, 53665216 ==N ,
el algoritmo FFT resulta aproximadamente 4000 veces más rápido que el procedimiento
“convencional” antes indicado.
Para empezar, puede observarse que, dejando de lado el factor N/1 , las expresiones
(8.14) y (8.15) son ambas de la forma:
∑−
=
=1
0
N
n
jnnj ufc
±= N
i
euπ2
(8.16)
Nótese que 1=Nu . Los párrafos siguientes se refieren a (8.16), y son igualmente
aplicables a la determinación de los jc (análisis de Fourier) o a la de los nf (síntesis de
Fourier). Se presenta el algoritmo FFT en su forma más simple, suponiendo que N es
una potencia exacta de 2 , es decir, mN 2= . Sin embargo, pueden aplicarse ideas
similares cuando N es arbitrario.
Los valores nf pueden separarse en dos grupos, aquellos que ocupan las posiciones
pares: pn 2= y aquellos que ocupan las posiciones impares: 12 += pn . Luego:
∑∑−
=+
−
=
+=1
2
0
212
12
0
22 )()(
N
p
jpp
j
N
p
jppj ufuufc
Por otro lado, expresando j como qN +2/α , donde 1,0=α y ( )12/0 −<< Nq , se
tiene que:
pqpqpNpqp
Njp uuuuuu )()()()()()( 222222 === αα
qqiqN
qN
uueuuu −=== ±+ π22
Dividiendo los jc en dos grupos (para 1,0=α ) se obtienen:
qq uc ϕφ += (8.17a)
N uc ϕφ +=+
2
(8.17b)
siendo ∑−
=
=1
2
0
22 )(
N
p
pqpq ufφ y ∑
−
=+=
12
0
212 )(
N
p
pqpq ufϕ “transformadas” con 2/N puntos.
Nótese que 2/
22 N
i
euπ±
= , expresión análoga a la de u pero con 2/N puntos.
Las qφ y qϕ se pueden a su vez obtener dividiendo cada sumatoria en dos partes. Si mN 2= , 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 nf que
se harían para el caso particular 16=N :
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 7
1 FFT =N 16
2 FFT =N 8
4 FFT =N 4
8 FFT =N 2
16 FFT =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 además, a la izquierda, el número de orden original en un sistema de base 2.
A la derecha se observa que, al reagrupar los valores de la función, cada uno de estos
intercambia posición con aquel que corresponde a los bits en orden inverso.
La sucesiva subdivisión de los grupos en dos de la mitad de tamaño termina cuando
1=N y se tiene 12 =± ie π ; entonces los valores qφ y qϕ resultan iguales a los de las
correspondientes nf . Luego se usan expresiones como la (8.17) para obtener 2/N
FFT con dos puntos:
⇒== ± 12/2 ieu π 000 ϕφ +=c 001 ϕφ −=c
Y luego 4/N FFT con cuatro puntos:
⇒±== ± ieu i 4/2π 000 ϕφ +=c 002 ϕφ −=c
111 ϕφ ic ±=
113 ϕφ ic m=
Y así sucesivamente hasta combinar los resultados de 2 FFT con 2/N puntos para
producir la FFT con N puntos.
8.5 Algunas consideraciones prácticas
Para una función no periódica, como podría ser el registro de una componente de
aceleración sísmica, estrictamente no podría 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 función como si fuera periódica agregándole
suficientes ceros como para asegurar que, dada la disipación existente en todos los
sistemas reales, no haya influencia significativa de un período sobre el siguiente.
H. Scaletti - Métodos Numéricos: Transformadas de Fourier Discretas 8 - 8
En la figura se ilustra esta idea:
-200
-100
0
100
200
0 20 40 60 80 100 120 140 160t
f (t)
Un aspecto importante es definir a que frecuencia jΩ corresponde cada uno de los
coeficientes jc . Siendo el período tNT ∆= se tiene T/21 π=∆Ω=Ω y por lo tanto
)/(2 tNjj ∆=Ω π .
La máxima frecuencia que se representa correctamente (denominada de Nyquist)
depende del intervalo t∆ al que se registra la función f y resulta 2/)/2( tmáx ∆=Ω π .
Las componentes a frecuencias más altas se interpretan como si correspondieran a
frecuencias incorrectas (alias).
0.0E+00
1.0E-05
2.0E-05
3.0E-05
4.0E-05
0 20 40 60 80Ω
|F( Ω )|