Vous êtes sur la page 1sur 24

Captulo 2

Resoluci on numerica de sistemas de


ecuaciones lineales
1. Resoluci on numerica de sistemas de ecuaciones lineales
a) Condicionamiento de sistemas. Precondicionadores.
b) Metodos directos: Gauss (con pivote parcial)
c) Metodos iterativos
Jacobi
Gauss-Seidel
9
10
2.1. Condicionamiento de sistemas
Objetivo: Resolver sistemas lineales de ecuaciones mediante metodos numericos de c alculo.
La existencia de un sistema mal condicionado es una fuente de posibles errores y
dicultades a la hora de resolver un sistema lineal mediante metodos numericos.
El primer problema que se plantea es c omo denir y cuanticar el condicionamiento
de un sistema.
Supongamos que tenemos que resolver el sistema lineal Ax = b, donde A es una matriz
de coecientes, b es el termino independiente y x es la soluci on exacta del sistema,
que llamaremos u (el vector x recibir a diferentes nombres a lo largo del tema):
Ax = b x = u
Si modicamos el termino independiente mediante una perturbaci on b, entonces te-
nemos que resolver el sistema Ax = b + b, que tendr a una nueva soluci on (distinta de la
soluci on exacta) que llamaremos u + u:
Ax = b + b x = u + u
El sistema est a bien condicionado si cuando b es peque na, u tambien lo es. Ob-
servemos que:
Au + A(u) = b + b
Au = b
_

_
A(u) = b
u = A
1
(u)
Usando ahora la propiedad para normas matriciales, obtenemos que:
|u| |[A
1
[||b| (2.1)
De la soluci on exacta, |b| |[A|[|u|, lo que implica que:
1
|u|

|[A[|
|b|
(2.2)
De (2.1) y (2.2), obtenemos:
|u|
|u|
|[A[||[A
1
|[
|b|
|b|
, (2.3)
donde
|u|
|u|
representa el error relativo en los resultados, y
|b|
|b|
el error relativo en
los datos. De la relaci on (2.3), parece deducirse que el n umero |[A[||[A
1
|[ es el factor
determinante de la relaci on, ya que si es peque no tenemos el efecto deseado, y si no, ocurre
lo contrario. Si |[A[||[A
1
|[ = 1 y
|b|
|b|
= 0,01, entonces
|u|
|u|
0,01.
Parece entonces natural la siguiente denici on:
11
Definici on 6 Sea [[ [| una norma matricial subordinada y A una matriz invertible.
Llamamos n umero de condici on de la matriz A respecto de la norma |[ [| a la
expresi on:
cond(A) = |[A[||[A
1
|[.
De (2.3) deducimos entonces que:
|u|
|u|
cond(A)
|b|
|b|
.
En el caso en el que las perturbaciones se produzcan en la matriz del sistema A, la
matriz se transforma en A+A, llamaremos u+u a la soluci on aproximada del sistema:
(A + A)(u + u) = b.
Usando que Au = b, obtenemos:
(A)(u + u) + Au = 0 A(u + u) = Au,
luego
u = A
1
(A)(u + u) |u| |[A
1
[||[A[||u + u|,
y
|u|
|u + u|
|[A
1
[||[A[|
|[A[|
|[A[|
= cond(A)
|[A[|
|[A[|
(2.4)
2.1.1. Propiedades de cond(A)
Proposici on 1 Para cualquier norma subordinada [| |[, se verica:
1. cond(I) = 1.
2. cond(A) 1.
3. cond(A) = cond(A
1
),
4. cond(k A) = cond(A), k R0.
Demostraci on:
1. cond(I) = ||I| |||I

1[| = ||I| |||I|| = 1 1 = 1.


2. 1 = |[I[| = |[AA
1
[| |[A|[|[A
1
[| = cond(A),
12
3. cond(A
1
) = |[A
1
[||[(A
1
)
1
[| = |[A
1
[||[A[| = cond(A),
4. cond(kA) = |[kA[||[(kA)
1
[| = [k[|[A[|[k[
1
|[A
1
[| = cond(A).
2
Ejemplo: Estudiar el condicionamiento del sistema Ax = b con A =
_
1 1 +
1 1
_
siendo > 0 en la norma |[ [|

.
Soluci on: A
1
=
1

2
_
1 1
1 1
_
, |[A[|

= 2 + y [|A
1
|[

=
2 +

2
, luego
cond(A, ) =
(2 + )
2

2
>
4

2
. Si 0,01, entonces cond(A, ) > 40000. Esto indica que
una perturbaci on de los datos de 0,01 puede originar una perturbaci on de la soluci on del
sistema de 40000.
Ejercicio: Repetir el ejemplo anterior con la norma [| |[
1
.
Nota 5 Un sistema lineal est a bien condicionado si la matriz A est a bien condicionada.
Nota 6
Como cond(A) 1 cuanto m as cerca este su valor de 1, mejor condicionado est a el
sistema.
2.1.2. Precondicionadores
En los casos en los que tenemos que resolver el sistema Au = b y cond(A) sea muy
grande, podemos intentar alterar el sistema mediante un precondicionador que rebaje
cond(A). Como cond(kA) = cond(A), no vale multiplicar el sistema por un escalar k.
Normalmente, lo que se hace es multiplicar a izquierda por una matriz P invertible, de
modo que:

A = P A,
tenga cond(

A) peque no, para despues resolver el sistema:

Au =

b, donde

b = P b.
Observamos que al ser P una matriz no singular, la soluci on de Au = b y PAu = Pb
es la misma.
13
La idea que se utiliza para denir un precondicionador es muy sencilla. Ya que la
matriz mejor condicionada es la identidad (cond(I) = 1), si elegimos P = A
1
obtenemos
cond(P A) = cond(A
1
A) = cond(I) = 1.
Pero, por otro lado, no queremos calcular la matriz inversa de A, pues como veremos, es
la forma m as cara computacionalmente de resolver un sistema lineal. Es decir, la soluci on
del sistema lineal
Ax = b
siendo A una matriz no singular es
x = A
1
b.
Entre los muchos problemas de dar la soluci on del sistema de esta forma se encuentra en
que, calcular A
1
es equivalente a resolver tantos sistemas lineales como su dimensi on.
Adem as de que se pueden introducir muchos errores de redondeo (recuerda que para
calcular A
1
es necesario dividir por su determinante, por lo que si es peque no, aunque
no sea cero, introduce errores de c alculo el ordenador).
En resumen, tenemos que para mejorar el condicionamiento de P A, lo ideal es tomar
P = A
1
, pero no es posible en la pr actica. Por lo tanto, para denir P lo que hare-
mos es simplemente dar una aproximaci on de A
1
. Esta claro que cuanto mejor sea la
aproximaci on, mejor condicionada estar a la matriz P A.
Precondicionadores: Son muchos los posibles precondicionadores que se pueden denir,
y a un hoy en dia son objeto de estudio, debido a su importancia para resolver de una
forma satisfactoria sistemas lineales, los cuales vienen asociados a problemas reales: c alculo
de estructuras, dise no de alcantarillados, predicciones meteorol ogicas, dise no de aviones,
movimientos de aguas en rios y oceanos, etc.
Por ahora nos vamos a conformar con buscar precondicionadores que sean matrices
diagonales. Consideramos el siguiente precondicionador:
P
1
= diag
_
1
|e
t
1
A|
2
,
1
|e
t
i
A|
2
, . . . ,
1
|e
t
n
A|
2
_
.
Donde por e
i
denotamos el vector denido por ceros y un 1 en la componente i. En
denitiva, e
t
i
A es la la i-esima de la matriz A. Por lo que |e
t
i
A|
2
es la norma dos de la
la i de la matriz A. Por lo tanto, el precondicionador anterior se dene como una matriz
diagonal cuyos elementos son la inversa de la norma de la correspondiente la.
14
Observemos que si A es una matriz diagonal (con todos sus elementos positivos),
entonces P = A
1
.
Ejemplo:
A =
_
_
_
_
_
_
1 2 0 0
2 2 3 0
0 3 4 10
0 0 10 5
_
_
_
_
_
_
= P =
_
_
_
_
_
_
1/

5 0 0 0
0 1/

17 0 0
0 0 1/

125 0
0 0 0 1/

125
_
_
_
_
_
_
Se tiene que cond(A) = 67, mientras que cond(P A) = 31, 36. Observamos que se ha
reducido pr acticamente a la mitad el n umero de condici on para ambas deniciones del
precondicionador.
Existen muchas tecnicas para buscar precondicionadores, por ahora nos vamos a con-
formar con esta. Por supuesto, cuanto m as sosticada sea la denici on del precondiciona-
dor, mejores resultados obtendremos.
2.2. Metodos directos e iterativos
Hay dos tipos de metodos para la resoluci on de sistemas lineales:
Directos: proporcionan la soluci on exacta (salvo errores de redondeo) en un n umero
nito de pasos: Gauss.
Iterativos: proporcionan una sucesi on x
k
que aproxima, o converge, a la soluci on
exacta:
x
k
x.
El c alculo se detiene cuando se alcanza un cierto nivel de precisi on.
2.3. Metodos directos
Consideramos la resoluci on numerica de un sistema lineal Au = b, donde A es una
matriz invertible.
El principio de los metodos directos que vamos a estudiar reside en determinar una
matriz M invertible, tal que la matriz MA sea triangular superior. Tenemos que resolver
entonces el sistema lineal:
MAu = Mb,
15
por lo que llamaremos el metodo de remontada.
Este principio es la base del metodo de Gauss para la resoluci on de sistemas lineales
con matrices cualesquiera.
2.3.1. Observaciones concernientes a la resoluci on de sistemas
lineales
Contrariamente a lo que se piensa, la resoluci on de un sistema lineal no es equivalente
al c alculo de la matriz inversa del sistema A
1
y despues calcular A
1
b. El c alculo de la
matriz inversa es equivalente a la resoluci on de n sistemas lineales (donde n es el orden
de la matriz A):
Au
j
= e
j
1 j n,
donde e
j
es el n-esimo vector de la base R
n
. Pasamos as de resolver un sistema lineal a
resolver n sistemas lineales y multiplicar A
1
por el termino independiente b.
Los metodos que vamos a estudiar est an basados en el siguiente hecho: si tuviesemos
una matriz triangular superior, la resoluci on numerica de un sistema lineal Au = b es
inmediata. Tendramos, en forma matricial:
_
_
_
_
_
_
_
_
_
_
_
a
1,1
. a
1,n1
a
n
0 . . .
0 . . .
0 . . .
0 . a
n1,n1
a
n1,n
0 . . a
n,n
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
1
.
.
.
u
n1
u
n
_
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
b
1
.
.
.
b
n1
b
n
_
_
_
_
_
_
_
_
_
_
_
y en forma de ecuaciones:
_

_
a
1,1
u
1
+ ... + a
1,n1
u
n1
+ a
1,n
u
n
= b
1
... .
... .
... .
a
n1,n1
u
n1
+ a
n1,n
u
n
= b
n1
a
n,n
u
n
= b
n
16
El determinante es det(A) = a
11
a
22
...a
nn
,= 0, luego el sistema se resuelve:
u
n
= a
1
nn
b
n
u
n1
= a
1
n1,n1
(b
n1
a
n1,n
u
n
)
...
...
...
u
1
= a
1
11
(b
1
a
12
u
2
...a
1,n1
u
n1
a
1n
u
n
)
De ese modo, cada componente u
i
se escribe como combinaci on lineal de las b
i
, b
i+1
, ..., b
n
,
luego estamos resolviendo un sitema lineal u = Cb donde C es una matriz triangular
superior. Este metodo se conoce como metodo de remontada. Dicho metodo necesita
un total de
_

_
1 + 2 + ... + n 1 =
n(n 1)
2
sumas
1 + 2 + ... + n 1 =
n(n 1)
2
multiplicaciones
n divisiones
2.3.2. El metodo de Gauss
El metodo de Gauss es un metodo general de resoluci on de un sistema lineal de la
forma Au = b donde A es una matriz invertible. Se compone de tres etapas:
1. procedimiento de eliminaci on, que equivale a determinar una matriz invertible M
tal que la matriz MA sea una matriz triangular superior,
2. c alculo del vector Mb,
3. resoluci on del sistema lineal MAu = Mb, por el metodo de remontada.
a) Etapa de eliminaci on:
1) Al menos uno de los elementos de la primera columna de A, a
i,j
, 1 i n es diferente
de cero ( o det(A) =0), a
i,j
, que llamaremos el primer pivote de la eliminaci on.
17
2) Intercambiamos la lnea donde est a el pivote con la primera lnea, lo que equivale a
multiplicar a izquierda por la matriz de trasposici on
T(i
0
, i
1
) =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 [ [
.
.
. [ [
0 1 i
0
[ [
1 0 i
1
[ [
.
.
.
[
..
i
0
[
..
i
1
1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
con det(T(i
0
, i
1
)) = 1.
P =
_

_
I si a
1 1
,= 0
T(1, i) si a
i 1
, i ,= 1 es el pivote, det(P) = 1
y P A = (
i j
) tal que
1 1
,= 0.
Multiplicamos por combinaciones lineales adecuadas de la primera lnea de P A con
las otras lneas de P A, de forma que se anulan todos los elementos de la primera columna
situados debajo de la diagonal. Es decir, multiplicamos E P A, donde
E =
_
_
_
_
_
_
_
_
1 0 . . . 0

2 1

1 1
1
.
.
.
.
.
.

n1

1 1
0 . . . 1
_
_
_
_
_
_
_
_
det(E) = 1
Nota 7 Cuando se aplican tecnicas de eliminaci on, el coste (n umero de operaciones ar-
titmeticas requeridas) suele ser proporcional al n umero de coecientes no cero de la matriz,
puesto que se usan tecnicas especiales para evitar los c alculos asociados a los coecientes
nulos de la matriz. Adem as, el coste de calcular A
1
suele ser del orden de n
3
.
Ejemplo del metodo de Gauss
A =
_
_
_
_
_
_
0 1 2 1
1 2 1 3
1 1 1 1
0 1 8 12
_
_
_
_
_
_
b =
_
_
_
_
_
_
1
0
5
2
_
_
_
_
_
_
18

_
_
_
_
_
_
1 2 1 3 [ 0
0 1 2 1 [ 1
1 1 1 1 [ 5
0 1 8 12 [ 2
_
_
_
_
_
_

_
_
_
_
_
_
1 2 1 3 [ 0
0 1 2 1 [ 1
0 1 2 2 [ 5
0 1 8 12 [ 2
_
_
_
_
_
_
P
1
=
_
_
_
_
_
_
0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1
_
_
_
_
_
_
, E
1
=
_
_
_
_
_
_
1 0 0 0
0 1 0 0
1 0 1 0
0 0 0 1
_
_
_
_
_
_

_
_
_
_
_
_
1 2 1 3 [ 0
0 1 2 1 [ 1
0 0 0 1 [ 6
0 0 6 11 [ 1
_
_
_
_
_
_

_
_
_
_
_
_
1 2 1 3 [ 0
0 1 2 1 [ 1
0 0 6 11 [ 1
0 0 0 1 [ 6
_
_
_
_
_
_
E
2
=
_
_
_
_
_
_
1 0 0 0
0 1 0 0
0 1 1 0
0 1 0 1
_
_
_
_
_
_
, P
3
=
_
_
_
_
_
_
1 0 0 0
0 1 0 0
0 0 0 1
0 0 1 0
_
_
_
_
_
_
luego M = P
3
E
2
E
1
P
1
En la pr actica, la matriz de paso M no se calcula explcitamente, sino que se obtienen
directamente M A y M b.
Nota 8 La matriz M verica
det(M) =
_

_
1 si es par
1 si es impar
es el n umero de matrices de permutaci on P distintas de la identidad.
Au = b M Au = M b.
Nota 9 En el caso de que la matriz A no es invertible, el metodo sigue siendo v alido, ya
que en ese caso se considerara P = E = I.
19
Comparaci on de metodos:
Cramer
_

_
(n + 1) (n! 1) sumas
(n + 1) (n 1) n! productos
n divisiones
Cuadro operaci on operaciones totales
n Gauss Cramer
10 805 399167999
100 681500 10
162
1000 668165500 10
2573
El metodo de Gauss es el utilizado m as com unmente para resolver sistemas lineales
cuyas matrices no poseen propiedades particulares (sobre todo llenas).
Todo lo anterior nos permite enunciar el siguiente resultado (que no demostraremos):
Teorema 2 Sea A una matriz cuadrada, invertible o no. Existe al menos una matriz
invertible M tal que MA es triangular superior.
2.3.3. Elecci on practica del elemento de pivote
Como vimos anteriormente, el primer paso en el metodo de Gauss es elegir un pivote
no nulo (pues vamos a dividir por este elemento), lo cual corresponde a intercambiar
ecuaciones en el sistema lineal. En la pr actica no s olo se busca un elemento no nulo, sino
que elegimos aquel que tenga mayor valor absoluto.
Ejemplo: Consideramos el sistema de matriz A =
_
2
26
1
1 1
_
, termino indepen-
diente b =
_
1
2
_
, y soluci on u =
_
u
1
u
2
_
, donde la soluci on exacta es
u
1
= 2 u
2
= 1,00000001490116
u
2
=
1 2
25
1 2
26
0,99999998509884
luego la soluci on aproxima a u
1
= u
2
= 1.
20
Resolvemos ahora con pivote de dos formas distintas:
a) Tomando 2
26
como pivote:
A =
_
2
26
1
1 1
_

_
2
26
1
0 1 2
26
_

_
2
26
1
0 2
26
_
b =
_
1
2
_

_
1
2 2
26
_

_
1
2
26
_
Luego estamos resolviendo el sistema:
_
2
26
u
2
= 2
26
u
2
= 1
2
26
u
1
+ u
2
= 1 u
1
= 0
b) Tomando 1 como pivote:
A =
_
2
26
1
1 1
_

_
1 1
2
26
1
_

_
1 1
0 1 2
26
_

_
1 1
0 1
_
b =
_
1
2
_

_
2
1
_

_
2
1 2
27
_

_
2
1
_
luego el sistema que resolvemos es:
_
u
1
+ u
2
= 2
u
2
= 1
_
u
1
= 1
Este ejemplo pone de maniesto que los errores de redondeo con efecto desastroso
provienen de la divisi on por pivotes muy peque nos.
Ejemplo: Aplicamos la estrategia de pivote (pivote parcial) a la matriz ampliada
(matriz que posee como ultima columna el termino independiente):
_
_
_
1 13 2 [ 1
2 0 1 [ 2
1 9 2 [ 0
_
_
_
Si aplicamos la estrategia de pivote parcial, obtenemos:
_
_
_
2 0 1 [ 2
1 13 2 [ 1
1 9 2 [ 0
_
_
_

_
_
_
2 0 1 [ 2
0 13 3/2 [ 2
0 9 3/2 [ 1
_
_
_

_
_
_
2 0 1 [ 2
0 13 3/2 [ 2
0 0 33/13 [ 31/13
_
_
_
luego el sistema asociado tiene como soluci on:
x =
97
66
, y =
1
22
, z =
31
33
.
21
2.4. Metodos iterativos
Comenzamos enunciando algunos problemas que pueden presentar los metodos direc-
tos, como motivaci on a la introducci on de los metodos iterativos que veremos a continua-
ci on.
Problemas de los metodos directos para la resoluci on de (SL).
1. Cuando el tama no de la matriz A es grande (n >> 100), la propagaci on del error
de redondeo es tambien grande, y los resultados obtenidos pueden diferir bastante
de los exactos.
2. Muchas de las matrices que aparecen en (SL) son de gran tama no ( 100 000) pero
la mayora de sus elementos son nulos (Esto ocurre, por ejemplo, en la resoluci on
de problemas mediante Elementos Finitos). Estas matrices reciben el nombre de
matrices vacas o huecas, y se dan cuando n umero de elementos no nulos es de orden
n.
a) Si los elementos no nulos est an distribuidos alrededor de la diagonal principal,
son de aplicaci on todava los metodos directos que conservan la estructura
diagonal, como LU.
b) Si no ocurre lo anterior, la matriz se dice que es dispersa, y al aplicarle los
metodos directos se produce un fen omeno conocido como rellenado (elementos
que eran nulos en la matriz A, ahora ya no lo son). Entonces, si no se realiza una
adaptaci on de los metodos directos al caso de matrices dispersas los resultados
no van a ser, en general, buenos (No vamos a estudiar esa adaptaci on).
Los metodos iterativos no tienen esos problemas porque se basan en la resoluci on
(reiteradas veces) de sistemas diagonales o triangulares (por puntos o por bloques). Lo
que se intenta es que en cada iteraci on el n umero de operaciones sea mnimo.
2.4.1. Estudio general del Metodo Iterativo
Supongamos un (SL) Au = b, buscamos una matriz B /
n
y un vector c R
N
de
forma que la matriz I B sea inversible y que la unica soluci on del sistema lineal
u = B u + c
. .
(IB) u=c
(2.5)
22
es la soluci on Au = b.
Tenemos entonces que encontrar la soluci on de un sistema lineal se puede ver como un
problema de punto jo (Problema (2.5)). En este caso, la forma de construir un metodo
iterativo es la siguiente:
Considermos u
0
R
N
un vector arbitrario, se construye una sucesi on de vectores
u
k

k=0
dada por
u
k+1
= Bu
k
+ c, k N 0 (2.6)
y se pretende que la sucesi on u
k

k
converja a la soluci on del sistema lineal.
Definici on 7 El metodo iterativo (2.6) es convergente si existe un vector u R
N
tal
que:
lm
k+
u
k
= u
para cualquier vector inicial u
0
R
N
. En ese caso,
u = B u + c
El error en cada iteraci on se puede medir, por tanto como:
e
k
= u
k
u
Se tiene que,
e
k
= u
k
u = (Bu
k1
+ c) (Bu + c) = B(u
k1
u) = Be
k1
= . . . = B
k
e
0
e
k
= B
k
e
0
.
De ese modo, el error en las iteraciones depende de las potencias sucesivas de la matriz B,
lo que nos dar a el criterior para la convergencia del Metodo Iterativo.
Supondremos que A es no singular en el sistema.
Teorema 3 Sea B la matriz del Metodo Iterativo. Son equivalente:
1. El metodo iterativo es convergente.
2. (B) < 1.
3. Existe una norma matricial |[ |[ (que se puede tomar subordinada) tal que
|[B|[ < 1
23
Recordemos que
(B) = m ax
1in
[
i
(A)[ :
i
(A) sp(A)
es el radio espectral de B.
Teorema 4 Sea B /
n
. Si exsite una norma matricial (subordinada o no) tal que
|[B|[ < 1
entonces I + B es inversible y
|[(I + B)
1
|[
|[I|[
1 |[B|[
.
Nota 10 1) Si I + B es una matriz singular, |[B|[ 1, para toda norma matricial.
2) Si |[ |[ es una normal matricial subordinada,
|[(I + B)
1
|[
1
1 |[B|[
.
Ejemplo: La sucesi on de vectores
v
k
=
_
2
k
3
, 1
1
k
2
, e
1/k
_
T
R
3
es convergente al vector v = (0, 1, 1)
T
, v = lm
k+
v
k
.
El estudio de Metodos Iterativos reposa sobre la soluci on de los dos problemas siguien-
tes:
1) Dada la mariz del metodo iterativo B, determinar si el Metodo Iterativo es conver-
gente.
2) Dados dos metodos iterativos convergentes, compararlos: el metodo iterativo m as
r apido es aquel cuya matriz tiene menor radio espectral.
Nota 11 1. Sea B una matriz real cualquiera y |[ |[ una norma matricial (subordi-
nada o no). Entonces,
(B) |[B|[
2. Dada una matriz B y > 0, existe al menos una norma matricial subordinada tal
que
|[B|[ (B) +
24
2.4.2. Metodos de Jacobi y Gauss-Seidel
Introducimos dos metodos iterativos cl asicos para resolver el Sistema Lineal Au = b.
Todos se basan en descomponer la matriz del sistema A como suma de submatrices:
A = M N,
donde M es una matriz inversible f acil de invertir (en el sentido de que el sistema asociado
sea f acil de resolver). Se verica entonces
Au = b (M N) u = b M u = N u + b
u = B u + c con
_
B = M
1
N
c = M
1
b
Consideramos entonces el Metodo Iterativo:
_
u
0
R
N
u
k+1
= B u
k
+ c, k N 0
Como N = M A, entonces B = M
1
N = M
1
(M A) = I M
1
A. Luego,
I B = M
1
A
que es inversible, y por lo tanto el sistema (I B) u = c tiene soluci on unica.
En la practica, en vez de resolver u
k+1
como u
k+1
= Bu
k
+ c, se resuleve el
sistema
Mu
k+1
= Nu
k
+ M c
..
b
. (2.7)
Nota 12 La construcci on de la matrices M y N parece que toma elementos de A.
Parece que cuanto m as parecida sea la matriz M a A, m as se acercar a la soluci on a la
exacta (si N = 0 entonces M = A). Pero esto va en contra de que el sistema asociado a
la matriz M (2.7) sea f acil de resolver.
Introducimos la siguiente notaci on:
Dada A = (a
i,j
)
n
i,j=1
/
n
con a
i i
,= 0, consideramos la siguiente descomposici on de
la matriz
A =
_
_
_
F
D
E
_
_
_
25
A = DE F, donde
D = diag(a
1 1
, a
2 2
, . . . , a
nn
) E = (e
i j
)
n
i,j=1
F = (f
i j
)
n
i,j=1
con
e
i j
=
_
a
i j
si i > j
0 si i j
_
, f
i j
=
_
a
i j
si i < j
0 si i j
_
.
La llamamos descomposici on D E F por puntos de la matriz A.
2.4.3. Metodo de Jacobi
Consiste en tomar M = D, N = E + F.
As pues,
Au = b Du = (E + F) u + b u = D
1
(E + F) u + D
1
b
lo que conduce al metodo de Jacobi iterativo por puntos::
_

_
u
0
R
N
u
k+1
= D
1
(E + F) u
k
+ D
1
b k N 0
o equivalentemente
_

_
u
0
R
N
Du
k+1
= (E + F)u
K
+ b k N 0
La matriz de Jacobi (por puntos) es B = D
1
(E + F) = I D
1
A
Observemos que si
D =
_
_
_
_
_
_
a
1 1
a
2 2
. . .
a
nn
_
_
_
_
_
_
, entonces D
1
=
_
_
_
_
_
_
1/a
1 1
1/a
2 2
. . .
1/a
nn
_
_
_
_
_
_
,
luego,
D
1
A =
_
_
_
_
_
_
1 a
1 2
/a
1 1
. . . a
1 n
/a
1 1
a
2 1
/a
2 2
1 . . . a
2 n
/a
2 2
.
.
.
.
.
.
a
n1
/a
nn
a
n2
/a
nn
. . . 1
_
_
_
_
_
_
.
26
Por tanto, queda
_
_
_
_
_
_
x
k+1
1
x
k+1
2
.
.
.
x
k+1
n
_
_
_
_
_
_
=
_
_
_
_
_
_
0 a
1 2
/a
1 1
. . . a
1 n
/a
1 1
a
2 1
/a
2 2
0 . . . a
2 n
/a
2 2
.
.
.
.
.
.
a
n1
/a
nn
a
n 2
/a
nn
. . . 0
_
_
_
_
_
_
_
_
_
_
_
_
x
k
1
x
k
2
.
.
.
x
k
n
_
_
_
_
_
_
+
_
_
_
_
_
_
b
1
/a
1 1
b
2
/a
2 2
.
.
.
b
n
/a
nn
_
_
_
_
_
_
.
de donde:
x
k+1
j
=
b
j
a
j 1
x
k
1
a
j 2
x
k
2
. . . a
j j1
x
k
j1
a
j j+1
x
k
j1
. . . a
j n
x
k
n
a
j j
j = 1, . . . , n
Observemos que las n componentes del vector x
k+1
se calculan simult aneamente a par-
tir de las componente de x
k
. Por eso el metodo de Jacobi tambien se conoce como el
metodo de iteraciones simult aneas.
La primera cuesti on que nos planteamos es la convergencia del metodo. Observamos
que
|I D
1
A|

= m ax
1in
n

j=1,j=i

a
i j
a
i i

.
Ejemplo 1:
A =
_
_
_
2 2 0
2 3 1
0 2
_
_
_
, R.
D =
_
_
_
2 0 0
0 3 0
0 0 2
_
_
_
, E =
_
_
_
0 0 0
2 0 0
0 2
_
_
_
, F =
_
_
_
0 2 0
0 0 1
0 0 0
_
_
_
,
J = D
1
(E + F) =
_
_
_
1/2 0 0
0 1/3 0
0 0 1/2
_
_
_
_
_
_
0 2 0
2 0 1
0 0
_
_
_
=
_
_
_
0 1 0
2/3 0 1/3
/2 0 0
_
_
_
.
Definici on 8 Una matrix A = (a
i j
)
n
i,j=1
/
n
se dice que es diagonal estrictamente
dominante si
[a
i i
[ >
n

j=1 j=i
[a
i,j
[, i = 1, . . . , n.
Teorema 5 Si A /
n
es una matriz diagonal estrictamente dominante, el metodo
iterativo de Jacobi por puntos es convergente.
27
2.4.4. Metodo de Gauss-Seidel
Una estrategia adecuada para mejorar la convergencia del metodo de Jacobi sera
utilizar en el paso de c alculo de la componente
u
k+1
i
las componentes calculadas hasta el momento:
u
k+1
1
, u
k+1
2
, . . . , u
k+1
i1
en vez de u
k
1
, u
k
2
, . . . , u
k
i1

Es decir, consiste en reemplazar el sistema correspondiente al metodo de Jacobi:


a
i i
u
k+1
i
= b
i

i1

j=1
a
i j
u
k
j

n

j=i+1
a
i j
u
k
j
, (2.8)
por
a
i i
u
k+1
i
= b
i

i1

j=1
a
i j
u
k+1
j

n

j=i+1
a
i j
u
k
j
, (2.9)
Matricialmente, las ecuaciones anteriores se escriben como:
Du
k+1
= b + E u
k+1
+ F u
k
,
es decir,
(DE) u
k+1
= F u
k
+ b
Luego,
M = D E, N = F
el metodo iterativo de Gauss-Seidel por puntos se escribe:
_

_
u
0
R
n
u
k+1
= (DE)
1
F u
k
+ (D E)
1
b, k N 0
o equivalentemente
_

_
u
0
R
n
(D E) u
k+1
= F u
k
+ b k N 0
28
La matrix de Gauss-Seidel (por puntos) es entonces:
B = (DE)
1
F = I (D E)
1
A.
En este metodo, para calcular las componentes del vector u
k+1
, necesitamos tanto
las componentes de u
k+1
ya calculadas, como las restantes del vector u
k
, por lo que se
denomina metodo de las aproximaciones sucesivas. Dicho metodo ser a m as r apido ya que
la matriz M contiene m as elementos de A.
Ejemplo: Sea
A =
_
_
_
2 2 0
2 3 1
0 2
_
_
_
, R.
G
S
= (DE)
1
F =
_
_
_
2 0 0
2 3 0
0 2
_
_
_
1 _
_
_
0 2 0
0 0 1
0 0 0
_
_
_
=
_
_
_
0 1 0
0 2/3 1/3
0 /2 0
_
_
_
.
La siguiente tabla nos da los radios espectrales de las matrices de los metodos de
Jacobi y Gauss-Seidel para valores concretos del par ametro .
(G
S
) (J)
1 0,848656 0,860379
3 0,97263 1,11506
5 1,08264 1,305158
Teorema 6 Si A es diagonal estrictamente dominante, entonces el metodo de Gauss-
Seidel es convergente.
Hay muchas otras condiciones de convergencia particulares para los distintos metodos.
Entre ellas, la m as signicativa es:
Teorema 7 Si A es simetrica y denida positiva, el metodo de Gauss-Seidel es conver-
gente.
Definici on 9 Una matriz A se dice denida positiva si:
v
t
av > 0, v R
n
0
o equivalentemente si sp(A) R
+
, todos sus autovalores son positivos (no nulos).
29
Problema:
Estudiar la convergencia de los metodos de Jacobi y Gauss-Seidel por puntos para las
matrices:
A =
_
_
_
1 2 2
1 1 1
2 2 1
_
_
_

A =
_
_
_
2 1 1
2 2 2
1 1 2
_
_
_
Problema: Metodo iterativo para el c alculo de la inversa de una matriz.
Se consideran las sucesiones de matrices
A
n
= A
n1
(I + E
n
+ E
2
n
), E
n
= I AA
n1
siendo A /
n
inversible y A
0
/
n
una matriz arbitraria.
1. Demostrar que E
n
= (E
1
)
3
n1
.
2. Probar que si (E
1
) < 1, entonces
lm
n+
A
n
= A
1
3. Mostrar que si se toma A
0
= A

/tr(AA

), entonces
lm
n+
A
n
= A
1
.
2.4.5. Test de parada de las iteraciones
Cuando un metodo iterativo es convergente, la soluci on del sistema lineal Au = b
se obtiene como lmite de la sucesi on u
k

k=0
de iteraciones. Ante la impoisibilidad de
calcular todas las iteraciones, se plantea el problema de determinar un valor k N0
para el cual podemos considerar que u
k
sea una buena aproximaci on de u. Es decir, si se
desea que el error relativo sea inferior a una cierta cantidad prejada , se debe cumplir,
|u
k
u| < |u|
para alguna norma vectorial.
Sin embargo, como u es desconocido, no se puede trabajar con esa cantidad.
Si calculamos:
|u
k+1
u
k
| < |u
k+1
|
puede que u
k+1
no este pr oximo a u.
30
Una condici on de parada de las iteraciones adecuada viene dada a partir del vector
residuo
r
k
= b Au
k
= A(u u
k
), k N 0.
Entonces, si u
k
u y Au
k
b,
|r
k
|
|b|
=
|A(u
k
u)|
|Au|
<
Es decir, buscamos k N 0 tal que
|r
k
| < |b|.
Debe procurarse que la comprobaci on de los tests de parada no incremente en exceso
el n umero de operaciones necesarias para realizar una iteraci on. Reescribiendo los c alculos
de forma adecuada obtenemos:
1. Metodo de Jacobi:
Du
k+1
= b + (E + F) u
k
= b + (A + D) u
k
=
= b Au
k
+ Du
k
= r
k
+ Du
k
Por tanto,
D(u
k+1
u
k
) = r
k
.
De ese modo, el metodo de jacobi se implementa de la siguiente forma:
1) Se calcula r
k
como r
k
= b Au
k
.
2) Se resuelve el sistema Dd
k
= r
k
.
3) u
k+1
= u
k
+ d
k
De esta forma, se calcula el valor u
k+1
a partir de u
k
y se aprovechan los c alculos
intermedios, en concreto r
k
, para el test de parada. Tenemos el esquema:
_

_
r
k
i
= b
i

n
j=1
a
i j
u
k
j
d
k
i
=
r
k
i
a
i i
u
k+1
i
= u
k
i
+ d
k
i
31
2. Metodo de Gauss-Seidel An alogamente, la implementaci on del metodo de Gauss-
Seidel, se realiza en las siguiente etapas:
_

_
r
k
i
= b
i

i1
j=1
a
i j
u
k+1
j

n
j=i+1
a
i j
u
k
j
d
k
i
=
e r
k
i
a
i i
u
k+1
i
= u
k
i
+ d
k
i
Nota 13 Las normas vectoriales que suelen usarse con mas frecuencia en los test de
parada son | |
2
y | |

.
32

Vous aimerez peut-être aussi