Académique Documents
Professionnel Documents
Culture Documents
Lineales II
Metodos
Iterativos: Matrices dispersas. Esquema general. Metodos
de Jacobi y de
Gauss-Seidel.
Metodos
de descenso: Metodo
del gradiente conjugado. Precondicionamiento.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-1-
Matrices dispersas
Cuando la matriz A del sistema a resolver es dispersa, pero no banda, los metodos
avanza, se van
El llenado consiste en que, a medida que el proceso de eliminacion
creando elementos no nulos en posiciones de L y U en donde la matriz A tiene ceros.
Como consecuencia del llenado se tiene, por una parte, el aumento del numero
de flop y
con ello el aumento del error de redondeo. Por otra parte se tiene el aumento en las
necesidades de memoria para almacenar las matrices L y U , lo que puede llegar a hacer
Los metodos
que estudieremos en seguida, llamados iterativos, evitan el llenado y sus
consecuencias, al trabajar resolviendo reiteradamente sistemas con matriz diagonal o
triangular-dispersa.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-2-
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-3-
10821x10821
10821x10821
10821x10821
10821x1
Bytes
951580
151325524
151325524
129860
Class
sparse
sparse
sparse
sparse
array
array
array
array
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-4-
Esquema general
Considere el sistema de ecuaciones
Ax = b,
con A
Rnn no singular y b Rn .
Un metodo
iterativo para resolver el sistema construye, a partir de un vector inicial x(0) ,
de vectores x(1) , x(2) , . . . , x(k) , . . . la que, bajo condiciones apropiadas,
una sucesion
resultara convergente a x.
Nx = P x + b
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-5-
x = N 1 P x + N 1 b.
= 1, 2, . . . resolver:
N x(k) = P x(k1) + b,
e(k) = M k e(0) ,
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-6-
k = 1, 2, . . .
Convergencia de metodos
iterativos.
Si la sucesion
Observacion.
x
de Ax = b.
(k)
(k)
x de Ax
converge a la solucion
= b, si y
x
converge, necesariamente lo hace a la solucion
Lema. (Cota para el radio espectral) Sea A una matriz cuadrada. Para cualquier norma
matricial se tiene que
(A) kAk .
suficiente de convergencia) Una condicion
suficiente para que la
Corolario. (Condicion
(k)
x de Ax = b es que
kM k < 1,
del metodo
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-7-
(k)
Criterio de detencion
kM k
(k+1)
x(k)
.
x
1 kM k
kM k
1, usualmente,
En efecto, si
1 kM k
kM k
(k+1)
x(k)
> tol.
x
1 kM k
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-8-
(cont.)
Criterio de detencion
Al graficar
Observacion.
10
kM k
,
F (M ) :=
1 kM k
1
2
1
kM k >
2
kM k
Luego, si kM k
=
=
F (M ) 1,
F (M ) > 1.
se tiene
detener el proceso cuando solo
(k+1)
x(k)
tol.
x
Calculo
Numerico
IN1012C/IN1052C/MAT221N
-9-
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
(cont.)
Criterio de detencion
implica calcular kM k, lo que en general es difcil. El siguiente
El criterio de detencion
lema indica una manera de estimar kM k.
Demostracion.
(k+1)
(k+1)
(k)
(k)
x
x
x
x x x
mk =
x(k) x(k1)
=
x(k) x x(k1) x
(k)
(k+1)
(k1)
(k)
M e e
e
e
kM yk
= kM k .
=
max
=
(k)
e(k) e(k1)
yRn : y6=0 kyk
e e(k1)
mk
1 mk
Calculo
Numerico
IN1012C/IN1052C/MAT221N
(k+1)
(k)
x
tol.
x
- 10 -
de una matriz
Descomposicion
Se considera resolver un sistema Ax = b con aii 6= 0, para i = 1, . . . , n.
t
(0)
(0)
arbitrario y escribamos la matriz A en la forma
Sea x(0) = x1 , . . . , xn
A = D E F,
..
.
F
A=
..
.
E
donde D
Notemos que tanto D como D E son matrices inversibles, ya que aii 6= 0 para
i = 1, . . . , n.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 11 -
Metodo
de Jacobi
El metodo
de Jacobi corresponde al esquema iterativo general con
N := D
P := E + F .
Algoritmo de Jacobi:
= 1, 2, . . . resolver:
Dx(k) = (E + F )x(k1) + b,
(k)
xi
Calculo
Numerico
IN1012C/IN1052C/MAT221N
= 1, . . . , n :
n
X
1
(k1)
aij xj
=
bi
.
aii
j=1
j6=i
- 12 -
Metodo
de Jacobi (cont.)
del metodo
La matriz de iteracion
de Jacobi verifica:
0
aa12
11
..
a21
.
0
a22
.
..
..
M = D 1 (E + F ) = ..
.
.
.
..
..
.
n1
aann
kM k
aa1n
11
..
.
..
.
..
an1 n
0
an1 n1
n1
anann
0
n
1 X
= max
|aij | .
1in
|a
|
ii j=1
j6=i
n
X
j=1
j6=i
|aij |, i = 1, . . . , n,
< 1 y el metodo
de Jacobi resulta convergente.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 13 -
Metodo
de Gauss-Seidel
El metodo
de Gauss-Seidel corresponde al esquema iterativo general con
N := D E
es entonces M
La matriz de iteracion
P := F .
= (D E)1 F .
Algoritmo de Gauss-Seidel:
para k
= 1, 2, . . . , resolver:
(D E)x(k) = F x(k1) + b,
= 1, . . . , n :
i1
n
X
X
1
(k)
(k1)
(k)
bi
aij xj
aij xj
.
xi =
aii
j=1
j=i+1
Para i
(k)
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 14 -
ya calculados.
Convergencia de los metodos
de Jacobi y de Gauss-Seidel
Teorema. Si A es simetrica
y definida positiva, el metodo
de Gauss-Seidel es
convergente.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 15 -
Convergencia de los metodos
(cont.)
1 s s
A=
s 1 s ,
s s 1
cuyos valores propios son:
(0.5, 0.5).
Para s = 0.3, Jacobi itera 37 veces y Gauss-Seidel 12 veces (en ambos casos se
visto en clase, con una tolerancia de 108 ).
implemento el criterio de detencion
x
Ambos metodos
entregan como solucion
exacta.
solucion
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 16 -
Convergencia de los metodos
(cont.)
Para s = 0.8, en las mismas condiciones anteriores, Gauss-Seidel converge en la
53 a
iteracion
(0.384 615 391 735, 0.384 615 381 035, 0.384 615 381 784)t
exacta
que difiere de la solucion
x = (0.384 615 384 615, 0.384 615 384 615, 0.384 615 384 615)t
en menos de tol
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 17 -
asociado a un sistema
Problema de minimizacion
Si A Rnn es simetrica
y definida positiva, b Rn y hx, yi := xt y denota el
cuadratica
J:
Rn R
x 7
alcanza un unico
mnimo en el vector x
Calculo
Numerico
IN1012C/IN1052C/MAT221N
1
2
hAx, xi hb, xi
del sistema Ax = b.
Rn solucion
- 18 -
1
t
Ax + A x b = Ax b,
J(x) =
2
si A es simetrica
.
si
Entonces J tiene un punto crtico en x si y solo
J(x) = 0
Ax = b.
Ademas,
HJ(x) :=
J
(x)
xi xj
= aij = A
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 19 -
Metodos
de descenso
En los metodos
de descenso se parte de un punto x(0) Rn , y, en cada paso
k = 0, 1, 2, . . . se determina un nuevo punto x(k+1) Rn tal que
(k)
(k+1)
del siguiente modo:
<J x
J x
p(k) de descenso de J ,
1. se escoge una direccion
p(k) ,
2. se considera la recta Lk que pasa por el punto x(k) con direccion
3. se escoge el punto x(k+1)
Lk+1
x(k+1)
p(k+1)
x
(k+2)
(k)
x(k)
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 20 -
Metodos
de descenso (cont.)
Como Lk = x
(k)
+ p
(k)
: R , entonces
J(x(k) + p(k) )
(k) (k) 2
1
1
(k)
(k)
(k)
(k)
(k)
+ Ax b, p
b, x
+ 2 Ap , p
= 2 Ax , x
Por lo tanto,
dJ (k)
x + p(k) = 0
d
donde r (k)
= k :=
(k)
Ap
,p
(k)
(k)
,p
(k)
Luego
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 21 -
Metodo
del maximo
descenso
de
Los distintos metodos
de descenso se distinguen por la manera de escoger la direccion
descenso p(k) .
mas
simple es escoger la direccion
de maximo
La eleccion
descenso de J :
del maximo
descenso o del gradiente.
Esta eleccion
Dado el vector inicial x(0) ,
r (0) = b Ax(0) ,
= 0, 1, 2, . . .
(k) (k)
r ,r
k =
(k) (k) ,
Ar , r
para k
Algoritmo:
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 22 -
Criterio de detencion
kr (k) k
tol.
kbk
(k)
(k)
Sin embargo, eso no garantiza que el error satisfaga e
= xx
tol !!
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 23 -
Para cualquier x
R , la sucesion
x
generada por el metodo
del maximo
del sistema Ax = b.
descenso converge a la solucion
los errores e(k)
Ademas,
= x x(k) satisfacen
ke
donde
(k+1)
1 (k)
ke k2 ,
k2
+1
= cond2 (A).
2
1
=1
< 1,
+1
+1
2
1
1 = 1
+1
y el metodo
converge muy lentamente.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 24 -
Direcciones conjugadas
de la direccion
de descenso p(k) que genera un metodo
eficiente se
Una eleccion
mas
basa en ortogonalizar el residuo r (k) respecto a todas las direcciones de descenso
anteriores p(j) , j = 1, . . . , k 1, en el producto interior
x, y Rn .
(k) (j)
Ap , p
=0
j 6= k
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 25 -
Metodo
del gradiente conjugado
Dado el vector inicial x(0) ,
r (0) = b Ax(0) ,
p(0) = r (0) ,
= 0, 1, 2, . . .
(k) (k)
r ,p
,
k =
(k)
(k)
Ap , p
para k
Algoritmo:
(k+1) (k+1)
r
,r
k+1 =
(k) (k) ,
r ,r
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 26 -
Convergencia del metodo
del gradiente conjugado
Para cualquier x
R , la sucesion
x
generada por el metodo
del gradiente
del sistema Ax = b en a lo mas
n pasos.
conjugado converge a la solucion
los errores e(k)
Ademas,
= x x(k) satisfacen
1 (k)
(k+1)
ke k2 ,
donde = cond2 (A).
ke
k2
+1
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 27 -
Convergencia del metodo
del gradiente conjugado (cont.)
del error en cada paso es
El factor de reduccion
2
1
=1
< 1.
+1
+1
2
2
.
<
+1
+1
= 100, entonces
1
1
del error por paso).
Gradiente conjugado:
0.82 (18 % de reduccion
+1
Por ejemplo, si
aun
Sin embargo, si la matriz es muy mal condicionada, el metodo
converge lentamente.
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 28 -
Precondicionamiento
Si la matriz es mal condicionada, una estrategia usual para resolver un sistema Ax = b,
1
se basa en encontrar una matriz P tal que P
A sea bien condicionada, para luego
resolver el sistema equivalente
A x = P 1 b.
Ax = b
con
= H 1 AH t ,
A
x
= H tx
x =
A
b,
y
b = H 1 b.
= H 1 AH t tambien
lo es, por
Si A es simetrica
y definida positiva, la matriz A
x =
.
=
P A = (A) = cond2 (A) =
1
1
min P A
min P A
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 29 -
Metodo
del gradiente conjugado precondicionado
Dado el vector inicial x(0) ,
r (0) = b Ax(0) ,
resolver P z (0)
= r (0) ,
p(0) = z (0) ,
= 0, 1, 2, . . .
(k) (k)
z ,p
k =
(k) (k) ,
Ap , p
para k
Algoritmo:
= r (k+1) ,
(k+1) (k+1)
z
,r
,
=
(k)
(k)
z ,r
resolver P z
k+1
(k+1)
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 30 -
Precondicionadores
P simetrica
y definida positiva, de manera que P = HH (Cholesky);
2.
P A, de manera que P 1 A I , y as
1
Calculo
Numerico
IN1012C/IN1052C/MAT221N
incompleta de Cholesky
Descomposicion
Ejemplo. Precondicionador de Cholesky incompleto. Consiste en utilizar P = HH t ,
= 1, . . . , n
v
u
j1
u
X
hjj = tajj
h2jk
Para j
k=1
para i
Calculo
Numerico
IN1012C/IN1052C/MAT221N
= j + 1, . . . , n
= 0, entonces hij = 0,
!
j1
X
1
si no, hij =
aij
hik hjk
hjj
si aij
k=1
- 32 -
A.
de
Resolver los sistemas P z = r es poco costoso pues ya se dispone de la factorizacion
t
Cholesky P = HH y basta resolver dos sistemas triangulares.
H es igualmente dispersa que A.
Ademas
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 33 -
de costos computacionales
Comparacion
Se considera como ejemplo un sistema con A Rnn y b Rn provenientes de un
cholinc (Cholesky
droptol = 102 .
incompleto con llenado parcial), con el parametro
Tabla I: Numero
de iteraciones para cada metodo
n
MGC
MGCP
Calculo
Numerico
IN1012C/IN1052C/MAT221N
145
632
2629
10821
44071
32
66
125
261
500
10
16
35
65
- 34 -
de costos operacionales
Comparacion
Tiempo de Clculo vs. Tamao del Sistema
10
A\b
CG
PCG
2
10
10
10
-1
10
-2
10
10
10
10
10
Nmero de incgnitas
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 35 -
de costos de almacenamiento
Comparacion
Costo de Almacenamiento vs. Tamao del Sistema
10
A\b
CG
PCG
8
10
10
10
10
10
2
10
10
10
10
Nmero de incgnitas
Calculo
Numerico
IN1012C/IN1052C/MAT221N
- 36 -