UNLP
Matematica C
VI. Resolucion Numerica de Sistemas Lineales:
Normas, Numero de Condicion y Metodos Directos
Bibliografa:
1. R.L. Burden, J.Douglas Faires, Analisis Numerico , Grupo Editorial Iberoamericana,
Mexico, 1985.
2. J. Demmel, Applied Numerical Linear Algebra, SIAM, 1997.
1.
Las normas son usadas para medir errores en los calculos con vectores y matrices,
as es importante conocer como calcularlas y manipularlas.
Definici
on: Dado <n , una norma es una funcion k..k: <n <, que satisface las
siguientes propiedades:
1. kxk 0, x <n , y kxk = 0 si y solo si x = 0.
2. kxk = ||kxk para todo escalar , x <n .
3. kx + yk kxk + kyk (desigualdad triangular).
1.0.1.
kxk1 =
n
X
|xi |
i=1
Ejemplo:
i) la norm-1 de x = [1, 1, 1, 1]T es 4.
ii) la norma-1 de x = [1, 1, 1, . . . , 1]T <n es n
iii) la norma-1 de x = [1, 0, 0, . . . , 0]T <n es 1
d) Si C es una matriz no singular (n n) y k..k es una norma particular,
entonces tambi
en es una norma (pesada):
kxkC = kCxk
Observaci
on Es importante saber elegir la norma apropiada para medir los errores.
Ejemplo: Sean los vectores v = [1, 2, 3]T , y w = [1,01, 2,10, 2,99]T expresados en
metros. Vemos que w es una buena aproximacion al v ya que el error relativo
kv wk
kvk
,0033
=3
Supongamos ahora que la primer componente esta medida en kilometros (en lugar de
metros), as tendramos
v
= [,001, 2, 3]T , y u
= [,01, 2,01, 2,99]T
ahora en la norma-infinito ambos vectores parecen cercanos al calcular
k
vu
k
k
v k
= ,0033
1000
1
1
Se puede demostrar que valen la siguientes relaciones entre las normas definidas:
i) kxk2 kxk1
nkxk2
nkxk
3
1
Ejemplo: Dado los vectores u =
yv=
. Calcular la d(u, v) relativa
2
1
a (a) la norma-2,(b) norma infinito.
1.1.
Normas de matrices
Tambi
en se necesita definir norma de matrices para medir errores en c
alculos con matrices.
Definici
on 2: k..k es una norma sobre las matrices m n si :
1. kAk 0 A <mn , y kAk = 0 si y solo si A = 0.
2. kAk = ||kAk <.
3. kA + Bk kAk + kBk
Tambien una propiedad u
til, denominada de consistencia, es
4. kABk kAkkBk
Tal propiedad no la cumplen todas las normas de matrices, pero en particular la
satisfacen todas las normas inducidas por las normas de vectores (que veremos).
1.2.
La norma
de A: se define
qP Frobenius
m Pn
2
kAkF =
i=1
j=1 (aij )
(es la norma-2 del vector formado con todos los elementos de A) .
Tambi
en existen las normas inducidas por las de los vectores (k..k2 ,k..k1 ,
k..k ), que se definen:
Dada A <mn :
kAkp = m
ax
kAxkp
kxkp
x6=0
x <n
kAxk
kxk
kAk =
kxmax k
kAkp
Como el vector
kAxk = m
ax {|aT1 x|, |aT2 x|, . . . , |aTm x|}
i=1,m
P
... cada |aTi x| n
j=1 |aij |.
Entonces, sabemos que kAxk , para todo x esta acotada por:
kAxk
n
X
m
ax {
|aij |}
i=1,m
j=1
Entonces ...
kAk = m
ax kAxk m
ax {
i=1,m
kxk =1
n
X
|aij |}
j=1
Veamos ahora que hay un x para el cual kAxk alcanza la cota superior:
Si
Pnpara A es imax el ndice de la fila tal que la suma:
axima, se puede lograr un
j=1 |aimax j | es m
xmax = [signo(aimax j) 1]n
j=1
con kxmax k = 1, para el cual...
kAxmax k =
|aTimax xmax |
n
X
|aimax j |
j=1
n
X
|aimax j |
j=1
1 2
2
Ejemplo: Si A = 2 3 1
1 2
1
kAk = 6 = |2| + | 3| + | 1|, que es la suma maxima respecto de las filas de
A.
b) En forma similar al caso previo, se puede demostrar que la norma-1, kAk1 coincide
con:
kAk1 = m
ax kaj k1 ,
j=1,...,n
1 2
2
Ejemplo: Si A = 2 3 1
1 2
1
kAk1 = 7 = |2| + | 3| + |2|, que es la suma maxima respecto de las columnas de
A.
c) El calculo de la norma-2 de A requiere analizar otros elementos de la matriz, que
se veran mas adelante.
Ejercicios
1
2
1. Dado los vectores u = 4 y v = 2 (i) Calcular la norma-2 (Eucldea), la
5
0
norm-1 y la norma infinito de u y v.
(ii) Calcular la distancia de u a v : (a)ku vk2 , (b)en norma infinito.
2. Demostrar que para todo x <n , kxk kxk2 .
3. Calcular lanorma-1 y la norma
infinito de A.
1 3 2
(i)Si A = 4 1 2
5 1
3
0 5 2
1 3
(ii)A = 3
4 4 3
2.
2.1.
N
umero de condici
on. Perturbaci
on
2.2.
N
umero de condici
on de una matriz
(1)
kAkkA1 k
kbk
kbk
(2)
kxA k
kx + xA k
kAkkA1 k
kAk
(3)
kAk
Observaci
on La cantidad kAkkA1 k aparece en ambas expresiones de los errores. Tal cantidad refleja el maximo cambio relativo posible en la solucion exacta de un sistema causado por
un cambio en los datos (A, o b).
Definici
on: Definimos el n
umero de condici
on de una matriz no singular A (respecto de
la resolucion de Ax = b) mediante:
(A) = condp (A) = kAkp kA1 kp
donde k.kp indica la norma que se aplica a los vectores y matrices.
Considerando que In = A1 A, como kA1 Akp kA1 kp kAkp , se tiene que para toda
A no singular:
condp (A) 1
Por tanto, una matriz bien condicionada es una cuyo n
umero de condici
on sea proximo a
1. Por otro lado, se dice mal condicionada si cond(A) es muy grande, es decir si es mucho mas
grande que 1.
Una matriz es mal condicionada cuando su aplicaci
on a vectores de igual magnitud da como
resultado vectores transformados de magnitud extremadamente diferente.
... Si kAxk es grande para un vector de kxk = 1, y peque
na para otro de igual longitud,
entonces A es mal condicionada(justamente esa diferencia de magnitudes conduce al mal
condicionamiento).
Ejemplo: Sea A tal
A=
sea x =
1
0
y sea x
=
0
1
104
0
0 104
104
0
A=
b=
1
106
1
0
0 106
T
Su solucion exacta es x = [1, 1]
.
1
Si se cambia b por b + b =
2 106
10
, y A
x=
0
104
kAkkA1 k
kbk
kbk
reemplazando se obtiene
kxb k
kx k
=1
As en este ejemplo hemos visto que el error relativo de x alcanza la cota superior, dada por
la formula (2). Tal error relativo es 106 veces mas grande que el cambio relativo kbk /kbk =
106 del termino independiente del sistema dado.
106
Observaci
on: Verifique que el n
umero de condicion en norma infinito de A es cond(A) =
(mal condicionada).
El n
umero de condici
on de A es una medida de la sensibilidad del sistema lineal involucrando a
A respecto de las perturbaciones en los datos. Informalmente hablando si A es mal condicionada
entonces es una matriz cercana .a ser singular.
Observaci
on Observar que el determinante de una matriz no es una medidadel n
umero de
condici
on.
6n 0, sin embargo
Por ejemplo : Si A = diag(106 )n
i=1 , tiene determinante = 10
es
perfectamente
bien condicionadapues su cond(A) = 1. Por otra parte, la matriz A =
104
0
tiene determinante = 1, y tiene Cond(A) = 108 .
0 104
Ejercicios:
1. Hallar el n
umero de condicion: cond (A) y cond1 (A), si A:
3 1
1 0,99
150 200
(i)A =
(ii)A =
(iii)A =
4 2
1
1
3001 4002
1 1 1
(iv) A = 5 5 6 .
1 0 0
10 10
100
2. Sea A =
,yb=
(a)Calcular cond (A).
10 9
99
100
0
(b)Suponga que b cambia a b =
101
Que tan grande puede ser el cambio relativo que producira ese cambio en la solucion de
Ax = b?. Utilizar la formula (2).
(c) Resuelva en forma directa el sistema Ax = b0 , y compare con la solucion de Ax = b,
y calcule la diferencia relativa entre ambas soluciones.
11
3.
M
etodos directos para resolver sistemas lineales
L11 U11
L11 U12
=
L21 U11 L21 U12 + L22 U22
donde A11 es una submatriz de j j de A. Lo mismo L11 y U11 de L y U . Q
El determinante
de A11 es igual al det(L11 U11 ) = det(L11 ). det(U11 ) = 1 det(U11 ) = jk=1 ukk 6= 0,
pues L es triangular unitaria y U es triangular no singular. Por tanto vale (2).
Para probar (1) conociendo (2) lo hacemos por induccion.
Si A es 1 1, entonces A = a. Luego A = 1.a. As cumple que es producto de L.U .
Admitiendo, por la hipotesis inductiva, que vale para una A = An1 de n 1 n 1,
para la que existe L y U ( bajo la hipotesis de (2)) tal que An1 = L.U .
12
lT 1
0
LU
Lu
=
lT U lT u +
Por induccion existen L y U u
nicas tal que An1 = L.U . Luego, considerando u = L1 b,
lT = cT U 1 , y = b lT u son u
nicos. Las entradas de la diagonal de U son no nulas,
as 6= 0 pues det(A) = det(U ) 6= 0. c.q.d
0 1 0
Ejemplo: La matriz P = 0 0 1 (es no singular, ortogonal, (P ) = 1 ), sin embargo
1 0 0
no se puede factorizar sino se permutan sus filas.
Observar que : Los menores principales 1 1 , y 2 2 son singulares.
Ese ejemplo demuestra la necesidad de hacer permutaciones de filas ( pivoteo parcial).
3.1.
0 1 0
P = 0 0 1
1 0 0
Estas matrices de permutacion tienen las propiedades siguientes:
1. P 1 = P T
2. Dada una matriz A, P A es la misma matriz A salvo el orden permutado de las filas (de
acuerdo a la permutacion planteada por P )
3. Si P 1 y P 2 son dos matrices de permutaci
on, tambien P 1P 2 es una permutaci
on.
= PA
Teorema Si A es no singular, existe una matriz de permutaci
on P tal que para A
existe una L matriz triangular inferior unitaria, y U triangular superior, no singular, tal que
P A = L.U .
13
a31 /a11 0 1
M1 =
..
..
..
.
.
.
an1 /a11 0 0 . . . 1
Tal matriz difiere de la identidad por la columna 1 solamente.
Por simplicidad de notacion vamos a denotar con mi1 a los cocientes involucrados en la
primer columna de M1 :
mi1 = ai1 /a11 , para i > 1
Al multiplicar M1 .A= A(2) , A se transforma en una nueva matriz parcialmente reducida.
As la matriz transformada : M1 A = A(2) mantiene la primer fila igual a la de A, y fueron
transformadas todas las filas siguientes mediante los calculos:
(2)
14
(2)
M1 A = A
a1
a2 m21 a1
= a3 m31 a1
..
.
an mn1 a1
Luego, a partir de A(2) se llevaran a 0los elementos de la 2da. columna, que estan por
debajo de la diagonal, y as se seguira el proceso.
La transformacion M2 para anular los elementos de la 2da. columna ( debajo de la diagonal)
esta dada por
:
1
0
(2)
(2)
0
a
/a
1
M2 =
32
22
..
..
..
.
.
.
(2)
(2)
0 an2 /a22
Denotamos mi2 =
0 ... 1
(2)
(2)
ai2 /a22 ,
Se obtendra M2 A(2) = A(3 ) que tiene tambien los elementos de la segunda columna en
0( debajo de la diagonal).
La matriz transformada que se obtiene : M2 A(2) = A(3) , mantiene la 1ra. y 2da. fila iguales
a las de A(2) , y transforma todas las siguientes filas:
(3)
(2)
(2)
(j)
columna j. Luego, por aj+2j /ajj a la fila j, y sumar a la fila (j+2)( que anula el elemento
(j)
(j)
j + 2). Se contin
ua hasta multiplicar por anj /ajj , y sumar a la fila n para anular el u
ltimo
elemento de esa columna j.
As la transformacion Mj es igual a la matriz identidad In salvo por la columna j que tiene
la forma:
0
..
(j)
(j)
(j)
(j)
aj+2j /ajj
..
.
(j)
(j)
anj /ajj
donde el 1.esta en la fila j.
(j)
(j)
Denotamos con mij = aij /ajj , para toda fila i con i > j.
Luego, del resultado de multiplicar :
Mn1 .Mn2 . . . M3 .M2 .M1 A = U se obtiene la matriz U triangular superior.
15
Ejercicio: Ver que el producto de Mn1 .Mn2 . . . M3 .M2 .M1 es una matriz triangular
inferior unitaria (no singular).
Ejercicio: La inversa de M = Mn1 .Mn2 . . . M3 .M2 .M1 , es :
1
M 1 = M11 .M21 .M31 . . . Mn1
.
Como cada matriz Mj = In vj eTj , donde el vector
vj = {
0 si i = 1, . . . , j
}
(j)
(j)
aij /ajj si i > j
3.2.
Obtenci
on de la descomposici
on de A = L.U
0
..
1
(j)
(j)
..
.
(j)
(j)
anj /ajj
donde el 1 corresponde a la j-esima componente.
Cuando se hace el procedimiento de eliminaci
on para llegar a U , tambien se obtienen las
(j)
(j)
columnas de L, guardando cada cociente calculado: aij /ajj para cada ndice i > j en cada
paso j(cuando se trata cada columna j)del proceso. As
1
l21 1
l31 l32 1
L=
..
..
..
.
.
.
ln1 ln2 . . .
(j)
(j)
aij /ajj
donde lij =
para los ndices i > j, ljj = 1 para cada j = 1, . . . , n, y los
restantes elementos son 0(triangular inferior unitaria).
3.3.
16
k = maxik kakik k
(4)
17
Algoritmo b
asico para resolver Ax = b utilizando la descomposicion LU obtenida
por eliminacion Gaussiana:
1. Se factoriza A en la forma P A = L U , donde:
P es la matriz de permutacion,
L es la matriz triangular inferior con unos en la diagonal
U es una matriz triangular superior no singular
2. Luego, como el sistema Ax = b es equivalente a P Ax = P b,
se resuelve L U x =
b, con
b=Pb.
Esto u
ltimo se hace en dos pasos: Definiendo y = U x,
I Primero se resuelve el sistema Ly =
b, determinando y mediante sustitucion hacia
adelante, dado que L es triangular inferior.
II Luego se resuelve el sistema U x = y, determinando x mediante sustitucion hacia
atras, dado que U es triangular superior.
Resoluci
on del sistema triangular Ly = b
El sistema
1
0 ...
l21 1
0 ...
l31 l32 1 0
...
... ... ... ...
ln1 ln2 ln3 . . . lnn1 1
y1
y2
y3
..
.
yn
b1
b2
b3
..
.
bn
i1
X
lij yj ,
i = 2, . . . , n
j=1
18
Ejercicios:
indica para resolver mediante PC con mathlab u otro software apropiado.
1. Encuentre la factorizacion P A = LU de las siguientes matrices:
0 1 1 3
1 2 1
0 1 4
1 1
1 2
A = 3 6 2 , B = 1 2 1 , C =
0
1 1 1
1 1 4
1 3 3
0
0
1 1
6 4
2
1 , halle det(A) y cond(A) para la norma .
4. i) Dada A = 0 3
0 0 106
ii) Si b = (1, 1, 1), determine la solucion de Ax = b .
iii) Si b b + b = (1, 1, 1 + 106 ), calcule la nueva solucion y estime ||x|| /||x|| .
5. i) Muestre que si U es una matriz triangular superior no singular, U 1 tiene en su
diagonal los elementos 1/uii .
ii) Muestre que kU k maxi |uii |, y kU 1 k mni1|uii | .
iii) Muestre que cond(U )
m
axi |uii |
,
mni |uii |
para la norma .
4.
Norma-2 de Matrices
4.1.
Matrices sim
etricas
c) Dada A <nn , no singular. Verificar que los autovalores de At A coinciden con los
de AAT .
20
4.2.
1000
, obtenemos max = 1000, min = 106 . As
1
Ejemplo: Dada A =
6
10
1
1
kAk2 = 1000, y kA k2 = min (A) = 106
4.3.
Matrices no sim
etricas: Norma-2
Luego,
kAk2 =
p
p
max (AT A) = kAt Ak2 .
21
5.
Descomposici
on triangular de Matrices sim
etricas
definidas Positivas
5.1.
Factorizaci
on de Cholesky
(iv) Toda submatriz seleccionada simetrica desde las filas y columnas de A debe ser
definida positiva. En particular, todos las matrices menores principales( 1 1,2
2,. . .,n n1) son no singulares con determinante positivo.
(v) Si se realiza eliminacion Gaussiana en A sin intercambios, la matriz reducida contin
ua
siendo definida positiva en cada paso.
Las propiedades (i) y (v) implican que si A es definida positiva, la factorizacion A =
LDLT siempre existe, y los elementos de D son positivos.
As como
A = LDLT = LD1/2 D1/2 LT .
Si denominamos
R = D1/2 LT , y RT = LD1/2 ,
entonces
A = RT R.
Esta factorizacion se llama de Cholesky, y R es el factor de Cholesky, la que es una matriz
triangular superior con elementos positivos en la diagonal.
La factorizacion de Cholesky puede obtenerse calculando en forma directa cada fila o
columna de R, escribiendo en forma explcita la representacion de A = RT R:
a11 a12 . . . a1n
r11 0
0
0
r11 r12 . . . r1n
0 r22 . . . r2n
=
..
.
.
.
..
..
... . .
.
. ..
. 0 0
0
.
.
0
0
0 rnn
r1n r2n . . . rnn
a1n a2n . . . ann
... por igualacion podemos calcular los terminos de R por filas:
El elemento a11 debe ser igual al producto de la primer fila de RT con la primer
columna de R. As debe igualarse
2
a11 = r11
. Luego, se obtiene r11 = a11 ( se elige el signo positivo por convencion).
Ahora continuando con los elementos de la 1er. fila de A (multiplicando la 1er.
fila de RT por las columnas de R), se tendra :
r11 r12 = a12 , . . .,r11 r1n = a1n , despejando se obtiene:
r1j = a1j /r11 , j = 2, . . . , n
Luego, se contin
ua con la 2da. fila de R ...
Para eso, se calcula el elemento de la diagonal : r22 , haciendo el producto de la 2da.
fila de RT con la 2da. columna de R (son iguales) se obtiene a22 . Igualando
2
2
a22 = r12
+ r22
23
2
2
, que es positivo de acuerdo a (v).
= a22 r12
como r12 se conoce,
se despeja r22
p
2
Luego, r22 = a22 r12 .
(1)
Se despeja:
rkk =
q
2
2
2
.
akk r1k
r2k
. . . r(k1)k
24
Observaci
on 5 En (**) la sumatoria incluye los elementos anteriores de la columna
k anteriores al k (para k=1, es 0). Esta factorizacion requiere n3 /6 operaciones que es
aproximadamente la mitad de las operaciones requeridas por la LU .
Ejercicio:
a) Verificar que son ciertas las propiedades : i), ii), iii) enunciadas arriba.
b) Operaciones:
n
n
X
X
(2k +
2k) = n3 /3 + O(n2 )
k=1
i=k+1
Observaci
on 1 Como cada fila de RT o columna de R satisface (1):
2
2
2
2
r1k + r2k + . . . + r(k1)k
+ rkk
= akk
se concluye que cada elemento de cada columna de R es menor o igual en magnitud
A=
2 1
1 2
0 1
0
...
1
0 ...
2
1 0 . . .
.. .. .. ..
.
.
. .
...
0
1 2 1
0 1 2
si n = 2, 8, 20.
Observaci
on 2 El metodo de Cholesky es estable (no requiere pivoteo).
5.2.
Relaci
on entre la norma-2 de A y la de R
25
5.3.
Resoluci
on de RT Rx = b
6.
Matrices bandas
a11
...
a1,(bU +1)
..
.
a2,bU +2
a
b +1,1
A=
L
abL +2,2
..
.
0
an,nbL
anbU ,n
..
.
...
...
ann
Este tipo de matrices aparece frecuentemente en la practica y es de utilidad su reconocimiento, ya que en la descomposicion LU los factores L y U son tambien bandas,
resultando mas barato de calcular y almacenar.
Observaci
on 7 Si A es una matriz banda con ancho bL inferior y bU superior.
(i) Si se hace A = LU sin pivoteo, entonces L mantiene la banda inferior bL , y
U la banda superior bU . Cuando bL y bU son peque
nas comparadas con n, el costo de la
descomposicion baja a aprox. 2n.bU .bL de operaciones. El costo de la resolucion de Ax = b
baja a 2n.bU .bL + 2nbU + 2nbL .
Observar haciendo un dibujo de A (con bandas) que en cada paso k de la eliminaci
on
Gaussiana al restar la fila k a las siguientes no cambia la banda bU . Ademas, en la L se
guardan los cocientes que se corresponden con los elementos debajo de la diagonal (con
banda bL ) en la columna k.
(ii) Si se hace pivoteo parcial para hallar P A = LU , como en cada paso k puede ser
necesario permutar la fila k de la matriz reducida A(k) con otra que le sigue, entonces U
sera un matriz con una banda a lo sumo bU + bL (hacer dibujo).
(iii) En la descomposicion de Cholesky como A es simetrica definida Positiva, no se
necesita hacer pivoteo, as que R mantiene la banda bU = bL .
26
2 1
.
.
1 . . . .
TN =
.. ..
.
. 1
0
1 2
Ejercicios
1. Mostrar que si A es real simetrica definida positiva, entonces:
(a) los elementos diagonales son positivos : aii > 0 i.
(b) El mayor elemento de A esta en la diagonal.
2. ().
Si A es simetrica definida positiva, con factorizaci
on de Cholesky LDLT
, L triangular
2 1
.
.
1 . . . .
inferior unitaria, verificar sobre la matriz TN =
.
.
. . . . 1
0
1 2
que cond2 (A) dmax /dmin , que es el cociente entre el mayor y menor elemento de
la diagonal de D de la descomposicion de Cholesky.
27
Resumen
Metodos directos para la resolucion de
sistemas lineales
1
Factorizaci
on LU
Definici
on 1.1 Se dice que una matriz A admite una factorizacion LU si
dicha matriz puede escribirse como el producto de una matriz triangular inferior, L, cuyos elementos en la diagonal sean iguales a la unidad y una matriz
triangular superior U. Es decir A = LU
Definici
on 1.2 Se dice que una matriz A admite una factorizacion LU indirecta si existe una matriz de permutacion P tal que la matriz P A admita
una factorizacion LU . Es decir, P A = LU
Teorema 1.1 Toda matriz A no singular admite una factorizacion de la
forma P A = LU.
Observaci
on 1.1 Se denomina matriz de permutacion a toda matriz cuadrada
tal que cada fila y cada columna de la matriz tiene un y solo un elemento
distinto de cero y este toma ademas el valor 1.
Observaci
on 1.2 Toda matriz de permutacion es no singular y ademas se
verifica: P 1 = P t
Observaci
on 1.3 Toda matriz A no singular admite una factorizacion LU
indirecta (pero no necesariamente una factorizacion LU).
1.1
LU es basicamente una forma modificada de la eliminacion gaussiana. Transformamos la matriz A en una triangular superior U anulando los elementos
debajo de la diagonal. Es decir
E1 E2 ... En A = U
donde E1 , E2 , ..., En son matrices elementales, que representan los distintos pasos de la eliminacion.
Luego recordando que la inversa de una matriz elemental, es otra matriz
elemental:
1
A = (E1 E2 ... En )1 U = L U
1
... E11 matriz triangular inferior.
con L=En1 En1
Para matrices 3 3,
esto
es:
1.2
C
alculo de factorizacion LU con MATLAB
Factorizaci
on de Cholesky
Definici
on 2.1 Una matriz A nxn simetrica se define definida positiva si
se verifica que xt Ax > 0 x <n ,
x=
6 0.
Definici
on 2.2 Se dice que una matriz A real admite una factorizacion de
Cholesky si dicha matriz puede escribirse como el producto de una matriz
triangular inferior, R, cuyos elementos en la diagonal son positivos, por la
matriz traspuesta de esta, Rt . Es decir: A = RRt .
Observaci
on 2.1 Para factorizar una matriz A como A = RRt , procedemos a factorilzar a A como LU y realizamos los siguientes calculos: extraemos de U la diagonal y escribimos a U como DLt , y llamando a R = LD1/2
resulta entonces que
A = LU = LDLt = (LD1/2 )(D1/2 Lt ) = RRt
Observaci
on 2.2 Una matriz A real y simetrica admite factorizacion de
Cholesky si y solo si es definida positiva (esto es, xt Ax > 0 x 6= 0).
Teorema 2.1 Una matriz A nxn simetrica, es definida positiva si y solo si
todos sus autovalores son reales y positivos. (i < y i > 0, i = 1, .., n.).
2.1
C
alculo de factorizaci
on de Cholesky con Matlab
>> [U]=chol(A)
Si la matriz A admite una factorizacion de Cholesky, la funcion chol
devuelve en U la matriz triangular superior Rt .
3
3.1
Aplicaciones
Resolviendo sistemas lineales
3.2
C
alculo de la inversa de una matriz
3.3
C
alculo del determinante de una matriz
Ejemplos
2
1 3
1
1. Dada la matriz A = 4 1 3 y el vector b = 0
2 5 5
2
a) Factorizar la matriz A como LU
Realizamos operaciones elementales para llevar a la matriz A a una matriz
triangular
superior U.
2
1 3
2 1
3
f ila2 (2) f ila1
0 3 3
A = 4 1 3
f ila3 (1) f ila1
2 5 5
0 6
8
2 1
3
2 1
3
1
0 0
1 0
Entonces U = 0 3 3 y L = 2
0 0
2
1 2 1
b) Usando la factorizacion hallar el determinante de A
det(A) = det(LU ) = det(L) det(U ) = (1) (2 (3) 2) = 12
c) Resolver el sistema Ax = b usando la factorizacion LU .
Primero resolvemos el sistema triangular Ly = b. Es decir:
1
0 0
y1
1
2
1 0 . y2 = 0
1 2 1
y3
2
1 2 1
2. Factorizar la matriz A = 3 6 2
1 1 4
Hacemos operaciones elementales para reducir A a una matriz triangular
superior:
1 2 1
1 2 1
f ila2 (3) f ila1
0 0
5
A= 3 6 2
f ila3 (1) f ila1
1 1 4
0 3
3
la cual no es una matriz triangular superiror, entonces, podemos hacer
intercambio de filas para que si lo sea. Y obtenemos:
1 2 1
3
U = 0 3
0 0
5
De esta manera, P A =
filas 2 y 3 :
P = 0
0
0 0
0 1
1 0
1 0 0
L = 1 1 0
3 0 1
81 9 0
A = 9 2 2 , autovalores{0.3219, 2.4579, 20.2202}
0
2 20
Son todos reales y positivos, entonces A es definida positiva y se puede
factorizar Cholesky.
Realizamos operaciones elementales para reducir a la matriz a una matriz
triangular
superior:
1 1 0
1 1 0
A = 1 2 2 f ila2 (1)f ila1 0 1 2
0
2 20
0 2 20
1 1 0
f ila3 (2)f ila2 0 1 2
0 0 16
entonces resulta
5
A = 1
0
1 0
= 1 1
0 2
1 0
= 1 1
0 2
1 0
= 1 1
0 2
1 0
1
2 2
= LU = 1
2 20
0
0
1 0 0
1
0 0 1 0
0
1 0 0 16 0
0
1 0 0
1
0 0 1 0 0
1 0 0 4 0
0
1 1 0
0 0 1 2
4
0 0 4
0 0
1 1 0
1 0 0 1 2 = LDLt =
2 1 0 0 16
1 0
1 2 =
0 1
0 0
1 1 0
1 0 0 1 2 =
0 4
0 0 1
Ejercicios
1 1
1
0
1 ,
b= 1
2. A = 2 3
1 1 2
1
0 1 4
0
3. A = 1 2 1 ,
b= 1
1 3 3
1
4 2
1
4. A =
,
b=
(factorizar Cholesky)
2 10
4
Facultad de Ingeniera
UNLP
Matematica C
VII. Resolucion Numerica de Sistemas Lineales:
Metodos iterativos
Temario
Clase : Despues de estudiar Autovalores y Autovectores, se pueden estudiar los metodos iterativos
numericos para resolver sistenmas lineales. Se estudiaran aqu solo los muy basicos: metodo de
Jacobi y Gauss- Seidel. Para ampliar el tema se puede ver la bibliografa recomendada por los
docentes, como por ejemplo [1].
Clase de Laboratorio: Hay un Laboratorio con ejercicios para realizar en el MATLAB.
Referencias
[1] R.L. Burden, J.Douglas Faires, An
alisis Numerico , Grupo Editorial Iberoamericana, Mexico,
1985.
Matematica C .
M
etodos Iterativos para resolver Sistemas Lineales
Introducci
on
Los metodos iterativos se usan en lugar de los metodos directos, como Eliminacion Gaussiana (LU),
cuando estos requieren demasiado tiempo de calculo o demasiado guardado.
Los metodos iterativos, en contraste a los directos, en general (en aritmetica exacta) no hallan una
solucion exacta en un n
umero finito de pasos, sino que hallan en cada iteracion una aproximacion a la
solucion.
La solucion aproximada obtenida en cada iteracion, decrece el error respecto de la de la iteracion
previa en alguna proporcion.
Las iteraciones terminan cuando la aproximacion (solucion aproximada) cumple con un criterio de
cercana aceptable.
Un metodo iterativo es .efectivosi en cada iteracion el error decrece en una magnitud considerable, y
si el costo computacional (operaciones aritmeticas) por cada iteracion es tan bajo como sea posible.
.... Daremos en detalle solo algunos metodos iterativos basicos. Debido a la brevedad del curso nos
limitaremos a describir solamente el metodo de Jacobi y de Gauss-Seidel, aunque hay otras metodologas
mas efectivas (ver la bibliografa, por ejemplo Burden).
Tambien se mostraran lugares de Internet donde se pueden encontrar software y bibliografa muy recomendable para la resolucion de diferentes problemas. En particular en NETLIB/templates hay software
disponible que se puede usar en MATLAB.
1.
M
etodos iterativos b
asicos
Describiremos el metodo de Jacobi y el metodo de Gauss-Seidel, los que son los mas basicos de esta
metodologa.
Sus implementaciones se pueden encontrar en NETLIB/templates
Dado un x0 inicial, estos metodos generan una sucesion xk convergente a la solucion exacta x =
A b, del sistema Ax = b, donde cada vector xk+1 se calcula desde la solucion aproximada previa xk ,
con muy bajo costo computacional.
1
Definici
on Se dice que se tiene una descomposici
on de A denominada splitting o separacion si se
encuentra una matriz M no singular otra K tal que A = M K.
2
(1)
M 1 K = R, y M 1 b = c,
se obtiene:
x = Rx + c, donde R y c son conocidos.
(2)
kRxk
kxk
Sea y el autovector de R tal que se corresponde con el autovalor que define al (R) = m
axi (R) |i | =
||, entonces
kRk = m
axx kRxk
kRyk
= |y|/kyk = || = (R).
kxk
kyk
Teorema La sucesi
on xk generada por esta metodologa converge a la soluci
on de Ax = b, para todo
b, y todo punto inicial x0 , si y s
olo si el radio espectral de R, (R) es menor que 1 (es decir, si y s
olo
si (R) = m
axi (R) {|i |} = || < 1).
Justificaci
on Si fuese el (R) 1, entonces existira un autovector y autovalor tal (R) = || 1.
Entonces, si elegimos un x0 inicial tal que (x0 x ) tenga la direccion de ese autovector, se obtendra :
xk+1 x = R(xk x ) = Rk+1 (x0 x ) = k+1 (x0 x ).
Como supusimos que || 1, entonces kxk+1 x k no tendera a cero, cuando k tiende a .
Entonces, se observa que tal sucesion xk , con tal punto inicial x0 , no converge. Por tanto...,
... para que converja la sucesion xk , para todo punto inicial x0 , es necesario que (R) = || < 1.
Por otro lado, si (R) es menor que 1, desde la Observacion previa, se puede encontrar siempre una
norma k..k tal que kRk < 1, y como consecuencia la sucesion kxk+1 x k tiende a cero, por lo
cual la sucesion xk generada converge.a x .
El objetivo de esta metodologa es elegir una separaci
on de A = M K tal que:
La matriz R = M 1 K y c = M 1 b sean f
aciles de calcular, y
(R) < 1, y peque
no.
Los splitting usados aqu si A no tiene ceros en la diagonal, son del tipo:
U
)
A = D L U = D(I L
(3)
1.1.
M
etodo de Jacobi
+U
)x + D 1 b
x = (L
(4)
+U
, esta definicion tiene la forma:
Si denotamos RJ = D 1 (L + U ) = L
k+1
k
1
x
= RJ x + cJ , donde cJ = D b.
Observando (4), cada componente xk+1
del vector xk+1 , se obtiene del producto de la fila i de
i
1
k
+U
) = D (L + U ) por el vector x , mas la componente i-esima del vector c:
(L
X
xk+1
= (
ai,j xkj + bi )/ai,i
i
j6=i
bi
j6=i
aij xk
j
aii
Ejemplo Ejemplo 1.- Dado el sistema siguiente calcular varias iteraciones de Jacobi,comenzando desde
x0 = (0, 0)T .
7 1
x1
5
=
3 5
x2
7
4
5 + x2
, y x2 =
7 + 3x1
7
Luego, aplicando el proceso iterativo de Jacobi:
xk+1 = D 1 (L + U )xk + D 1 b
se tiene que que cada componente de xk+1 , usando las componentes del iterado previo xk , cumple
P
bi j6=i aij xkj
k+1
xi
=
aii
Entonces,
x11 =
5 + x02
7
, y x12 =
7 + 3x01
5
5/7
0,714
7/5
1,400
5 + x12
7
5 + 1,4
Resultando:
, y x22 =
, y x22 =
7 + 3x11
5
7 + 3(0,714)
5
0,914
2
x
1,829
1.2.
M
etodo de Gauss-Seidel
La motivaci
on para este metodo es considerar que cuando se calcula en el metodo de Jacobi la i-esima
componente (i > 1) xk+1
, ya se han actualizado las componentes de xk+1 desde la 1 a la i 1. Por
i
tanto, pueden usarse para la actualizaci
on de las componentes siguientes xk+1
.
i
El metodo de Gauss-Seidel usa, para definir cada componente i > 1, de xk+1 , las componentes de
x
previamente actualizadas (desde la 1, . . . , i 1).
k+1
(5)
end for Con el proposito de analizar este algoritmo, queremos escribirlo con el formato:
xk+1 = RGS xk + cGS .
Para eso, vemos que (5) puede escribirse
i
X
aij xk+1
j
n
X
j=1
aij xkj + bi .
(6)
j=i+1
(7)
1 U
xk + (I L)
1 D 1 b = RGS xk + cGS
xk+1 = (I L)
Entonces
,
1 U
RGS = (D L)1 U = (I L)
= D 1 L, y U
= D 1 U .
donde L
Ejemplo Aplicamos Gauss-Seidel al mismo sistema del Ejemplo 1,comenzando desde x0 = (0, 0)T .
7 1
x1
5
=
3 5
x2
7
Desde la f
ormula A = D L U , donde D es la diagonal de A, y las restantes L y U , como se
definieron previamente, se sabe que para toda soluci
on de Ax = b se debe cumplir:
(D L)x = U x + b
se puede considerar :
(D L)xk+1 = U xk + b
Resultando el c
alculo de cada i- componente de xk+1 :
Pi1
P
k+1
bi
aij x
n
aij xk
j
j=i+1
j=1
j
xik+1 =
aii
usando las componentes ya calculadas del xk+1 . As en nuestro caso de dos componentes se tiene,
comenzando con x0 = [0, 0]T :
x11 =
5 + x02
7
, y x12 =
7 + 3x11
5
sustituyendo se obtiene:
x11 =
5+0
7
0,714, y x12 =
7 + 3(0,714)
5
1,829
0,714
x
1,829
1
5 + 1,829
7
5 + x12
7
, y x22 =
0,976, y x22 =
6
7 + 3(x21 )
5
7 + 3(0,976)
5
1,985
Resultando:
0,976
x
1,985
2
As se aplica para calcular x3 desde el iterado x2 , y usando las componentes ya calculadas de x3 ..., etc,
resultando la tabla
x 0
1
2
3
4
5
x1 0 0.714 0.976 0.998 1.000 1.000 Se observa que el metodo de Gauss-Seidel tiene una
x2 0 1.829 1.985 1.999 2.000 2.000
convergencia m
as r
apida.
1.3.
Teorema Si A es estrictamente diagonal dominante por filas, entonces ambos metodos de Jacobi y
Gauss-Seidel son convergentes. Se cumple que kRGS k kRJ k < 1. Un resultado an
alogo existe si
AT es estrictamente diagonal dominante por filas.
Demostraci
on. Como en Jacobi, xk+1 = RJ xk + cJ , donde RJ = D 1 (L + U ),entonces satisface
k+1
kx
x k = kRJ (xk x )k kRJ kkxk x k, si kRJ k < 1 se demuestra que converge cualquiera
sea la norma que se use inducida por la norma de vectores. Nosotros consideraremos la kRJ k , ya que
por hipotesis la matriz A es diagonalmente dominante por filas y en esa definicion estan involucrados los
valores absolutos de los terminos de cada fila, es decir
X
|aij |
|aii | >
j6=i
Entonces, la matriz
0
a2,1 /a2,2
RJ =
..
a1,2 /a1,1
0
..
.
an,1 /an,n
an,2 /an,n
a1,n /a1,1
a2,n /a2,2
..
Como la norma infinito kRJ k de una matriz RJ esta dada por la mayor suma de los valores absolutosde los elementos de una fila de la matriz, en nuestro caso
kRJ k = |
ak,1
ak,k
| + ... + |
ak,k1
ak,k
|+|
ak,k+1
ak,k
| + ... + |
ak,n
ak,k
la que es igual a
kRJ k =
< 1,
La soluci
on xk ser
a precisa a tres (3) lugares decimales si cada componente del vector xk x es
menor que 0,0005 en valor absoluto.
Necesitamos saber para cu
al k, la componente m
axima de xk x es menor que 0,0005. Para conocer
cu
al es el k m
as peque
no para el cual
kxk x k < 0,0005
usamos la f
ormula
xk = RJ xk1 + cJ
observando que
xk x = RJ (xk1 x )
Observar que una A puede no ser diagonal dominante y lo mismo ser convergente la sucesion de
Jacobi y/o Gauss-Seidel, ya que esa condicion es una condicion suficientepara la convergencia, pero no
necesaria. Se se pueden buscar ejemplos que ilustren esa situacion, siendo convergente la xk , como en el
caso :
2 1
A=
1 1
Ejemplo Aplicar al sistema Ax = b, con A dada arriba, el metodo de Jacobi, con b = (1, 1)T , por
ejemplo.
Ejercicios
(I) Resolver el siguiente sistema por Jacobi y Gauss-Seidel, comenzando con x0 = (0, 0)T , redondeando
con 4 dgitos significativos hasta que la diferencia entre dos iterados sucesivos tenga sus componentes
menores a 0.001 :
7 1
x1
5
=
3 5
x2
7
(II) Analizar, y resolver por Gauss-Seidel, comenzando en x0 = (0, 0)T , siendo
1 1
x1
1
=
2
1
x2
5
La soluci
on es x = (2, 1)T . Observar que las iteraciones no se acercan a ese punto(es no convergente).
Analizar los criterios de convergencia, ver si se cumplen, y explicar porque puede ocurrir eso con Jacobi
o Gauss-Seidel.
(III) Resolver los siguientes sistemas por Jacobi, comenzando con x0 = (0, 0)T , redondeando con 4 dgitos
significativos, hasta que la diferencia entre dos iterados sucesivos tenga sus componentes menores a 0.001.
(i)
6
x1
7 1
=
4
x2
1 5
(ii)
(iii)
5
x1
1
=
1
x2
1
2
1
4,5
1
0,5
3,5
x1
x2
1
1
(IV) Resolver los siguientes sistemas Gauss-Seidel, comenzando con x0 = (0, 0)T , redondeando con 4 dgitos
significativos, hasta que la diferencia entre dos iterados sucesivos tenga sus componentes menores a 0.001.
Compare el n
umero de iteraciones de Jacobi y Gauss Seidel para obtener esa aproximaci
on:
(i)
x1
6
7 1
=
x2
4
1 5
(ii)
(iii)
1
x1
5
=
1
x2
1
2
1
4,5
1
0,5
3,5
x1
x2
1
1
(V)En los siguientes sistemas, calcule las primeras cuatro iteraciones por Gauss-Seidel, desde x0 = (0, 0),
y ver que no converge. Sin embargo, es posible reacomodar el sistema de tal manera que sea diagonal
dominante y as convergente. Usar Gauss-Seidel para hallar una soluci
on aproximada que sea precisa
hasta 0,001:
(i)
1 2
x1
3
=
3
2
x2
1
(ii)
1
@0
6
4
2
1
10 1
0 1
2
x1
2
4 A @x2 A = @1A
2
x3
1