Está en la página 1de 17

Sistemas de Ecuaciones

Lineales II

• Factorización LU: Eliminación Gaussiana. Relación con la factorización LU.

521230 -1- ´
DIM – Universidad de Concepcion
Solución de sistemas con matriz triangular

• Dadas
   
l11 0 ··· 0 u11 u12 ··· u1n
..
 
..  
 l21 l22 0 u22 ··· u2n 
 
. .  
L= y U =
 
.. .. 

 .. .. ..  .. ..
 . . . 0  
 . . . . 

 
ln1 ln2 ··· lnn 0 ··· 0 unn

decimos que L es triangular inferior y U es triangular superior.

• Dado que

det(L) = l11 l22 · · · lnn y det(U ) = u11 u22 · · · unn ,

una matriz triangular es no singular si y sólo si sus términos diagonales son


todos no nulos.

• La resolución de sistemas de ecuaciones lineales con matrices triangulares es


muy sencilla y su costo operacional es bajo.

521230 -2- ´
DIM – Universidad de Concepcion
Solución de sistemas con matriz triangular (cont.)

• Consideremos un sistema Lx = b con matriz triangular inferior L.


Procedemos por sustitución progresiva:


 l11 x1 = b1 ⇒ x1 = b1 /l11


 l21 x1 + l22 x2

= b2 ⇒ x2 = (b2 − l21 x1 ) /l22
.. ..
. .





ln1 x1 + · · · + lnn xn = bn ⇒ xn = (bn − ln1 x1 − · · · − lnn−1 xn−1 ) /lnn

Para i = 1, . . . , n
 
i−1
• Algoritmo:

1  X
xi = bi − lij xj 

lii j=1
 
n
X i−1
X n
X
• Costo operacional: 1 + 2 = (2i − 1) = n2 flop.
i=1 j=1 i=1

521230 -3- ´
DIM – Universidad de Concepcion
Solución de sistemas con matriz triangular (cont.)

• Ejercicio:
1. Deducir el siguiente algoritmo para resolver un sistema U x = b con
matriz triangular superior U :

Para i = n, n − 1, . . . , 1
 
n
1  X
xi = bi − uij xj 

uii j=i+1

2. Calcular su costo operacional.

521230 -4- ´
DIM – Universidad de Concepcion
Método de Eliminación Gaussiana (M.E.G.)

• El método de eliminación gaussiana consiste en reducir mediante


transformaciones elementales un sistema Ax = b a otro equivalente (es
decir, que tenga la misma solución), de la forma

U x = b̃,

donde U es una matriz triangular superior. Luego, el sistema resultante se


resuelve por el algoritmo descrito para matrices triangulares.

• Denotemos el sistema original por A(1) x = b(1) . El proceso empleado


consiste en reemplazar las ecuaciones por combinaciones no triviales de las
otras. Ası́, consideremos la matriz no singular A ∈ Rn×n y supongamos que
(1)
el elemento a11 es no nulo. Consideremos los multiplicadores
(1)
ai1
mi1 = (1)
, i = 2, . . . , n,
a11
(1)
donde aij donota el elemento que está en la fila i y columna j de A(1) .

521230 -5- ´
DIM – Universidad de Concepcion
Método de Eliminación Gaussiana (cont.)

• Es posible eliminar la incógnita x1 de la segunda ecuación en adelante,


por simple sustracción a la fila i, i = 2, . . . , n, de la primera fila previamente
multiplicada por mi1 y haciendo lo mismo para el vector b:
(2) (1) (1)
aij = aij − mi1 a1j , i, j = 2, . . . , n,
(2) (1) (1)
bi = bi − mi1 b1 , i = 2, . . . , n,
(1)
donde bi denota la componente i-ésima del vector b(1) .

• Ası́ se obtiene un sistema A(2) x = b(2) equivalente al anterior:


 (1) (1) (1) (1)
    (1) 
a11 a12 a13 · · · a1n x1 b1
(2) (2) (2)  
     (2) 
 0 a22 a23 · · · a2n   x2    b2 
 


 0 (2) (2) (2)     (2) 
 a32 a33 · · · a3n    x 3  =  b3 
   
 . .. .. ..   ..   . 
 .. . . .  . 
    .. 
  
(2) (2) (2) (2)
0 an2 an3 · · · ann xn bn

521230 -6- ´
DIM – Universidad de Concepcion
Método de Eliminación Gaussiana (cont.)
(2)
• A continuación, si a22 6= 0, podemos análogamente eliminar la incógnita x2
de la tercera ecuación en adelante.

• Siguiendo con este proceso un número finito de veces se obtiene el sistema


A(k) x = b(k) , 1 ≤ k ≤ n,
donde la matriz A(k) toma la siguiente forma:
 (1) (1) (1)

a11 a12 ··· ··· ··· a1n
(2) (2) 
 

 0 a22 ··· ··· ··· a2n 
 .. .. .. .. 
. .
 
. .
(k)
 
A = ..

 (k) (k) 

 . 0 akk ··· akn 
 .. .. .. .. 

 . . . . 

(k) (k)
0 ··· 0 ank ··· ann
(i)
Para realizar este proceso hemos supuesto que aii 6= 0, i = 1, . . . , k − 1.

521230 -7- ´
DIM – Universidad de Concepcion
Método de Eliminación Gaussiana (cont.)

• Notemos que para k = n obtenemos el sistema triangular superior


 (1) (1) (1)
    (1) 
a11 a12 · · · a1n x1 b1

 0 (2) (2)     (2) 
a22 · · · a2n  
 x 2   b2 
  
 . = . 

 . .. .. .. 
 .. . . .   .. 
    .. 
  
(n) (n)
0 ··· 0 ann xn bn
(k)
• Los valores akk son llamados pivotes y deben ser valores no nulos para
k = 1, . . . , n − 1.
(n)
• Si la matriz original A es no singular, entonces también ann 6= 0 y el sistema
triangular superior resultante puede resolverse por el algoritmo ya visto:

Para i= n, n − 1, . . . , 1
 
n
1  (i) X (i)
xi = (i) bi − aij xj 
aii

j=i+1

521230 -8- ´
DIM – Universidad de Concepcion
Algoritmo del M.E.G.

• Recordemos que en el paso k -ésimo Para k = 1, . . . , n − 1



se parte de la siguiente matriz:
para i = k + 1, . . . , n

(k) (k)

mik = aik /akk
 (1) (1) (1)

a11 a12 ··· ··· ··· a1n



(2) (2)  para j = k + 1, . . . , n
 
 0 a22 ··· ··· ··· a2n 

(k+1) (k) (k)

 . .. aij = aij − mik akj

.. ..

 . . .

 . . 
(k+1) (k) (k)
 ..

(k)

(k) 
bi = bi − mik bk
 . 0 akk ··· akn 

 . .. ..

..  Para i= n, n − 1, . . . , 1
 .. . . . 



n

  1  (i) X (i)
0 ··· 0
(k)
ank ···
(k)
ann
xi = (i) bi − aij xj 
aii

j=i+1

• Observación: El algoritmo no precisa crear los ceros debajo de la diagonal de


la matriz, pues éstos luego no se utilizan.

521230 -9- ´
DIM – Universidad de Concepcion
Costo Operacional del M.E.G.

• Costo del paso de eliminación:

Para k = 1, . . . , n − 1
   
n−1
X X n  n
X 

para i = k + 1, . . . , n  1 + 2 + 2 
 

(k) (k) k=1 i=k+1 j=k+1

mik = aik /akk
n−1

X



para j = k + 1, . . . , n = (n − k) [2(n − k) + 3]

(k+1) (k) (k)

k=1
aij = aij − mik akj

 
2 3 1 2 7

(k+1) (k) (k)
= n + n − n flop

bi = bi − mik bk
3 2 6

• Costo de la solución de sistema triangular superior: n2 flop.


 
2 3 3 2 7
• Costo operacional total: n + n − n flop.
3 2 6

521230 - 10 - ´
DIM – Universidad de Concepcion
Costo Operacional del M.E.G. (cont.)

2 3
n ´
Eliminacion Sist. Triang. Total M.E.G. 3
n % Elim % S. T.

10 705 100 805 666 87.58 12.42


20 5510 400 5910 5333 93.23 6.77
30 18415 900 19315 18000 95.34 4.66
40 43420 1600 45020 42666 96.45 3.55
50 84525 2500 87025 83333 97.13 2.87
100 671550 10000 681550 666666 98.53 1.47
200 5353100 40000 5393100 5333333 99.26 0.74
300 18044650 90000 18134650 18000000 99.50 0.50
400 42746200 160000 42906200 42666666 99.63 0.37
500 83457750 250000 83707750 83333333 99.70 0.30
600 144179300 360000 144539300 144000000 99.75 0.25
700 228910850 490000 229400850 228666666 99.79 0.21
800 341652400 640000 342292400 341333333 99.81 0.19
900 486403950 810000 487213950 486000000 99.83 0.17
1000 667165500 1000000 668165500 666666666 99.85 0.15

521230 - 11 - ´
DIM – Universidad de Concepcion
Costo Operacional del M.E.G. (cont.)

• Para n grande, los términos proporcionales a n2 (y a n) resultan


despreciables respecto a los proporcionales a n3 .
Por esa razón, el costo operacional del método de eliminación gaussiana
se dice que es de aproximadamente

2 3
n flop
3
• Notemos que la mayor parte del costo corresponde a la triangularización de
la matriz:

Para k = 1, . . . , n − 1

para i = k + 1, . . . , n


(k) (k) 2 3
mik = aik /akk Costo operacional: n flop.



3



para j = k + 1, . . . , n

(k+1) (k) (k)
aij = aij − mik akj

521230 - 12 - ´
DIM – Universidad de Concepcion
Factorización LU

• Ejemplo:

  m21 = −2    
1 −3 2 1 −3 2 1 −3 2
  m31 = 4   m32 = 3  
A=
−2 8 −1 −→ 0
 2 3 −→ 0
 2 3 
4 −6 5 0 6 −3 0 0 −12
     
1 −3 2 1 0 0 1 0 0
     
U := 
0 2 3  L := 

m21 1 0 = −2 1 0
 

0 0 −12 m31 m32 1 4 3 1
Notemos que
    
1 0 0 1 −3 2 1 −3 2
    
LU = −2 1 0

 0
 2 3  = −2
 8 −1=A
4 3 1 0 0 −12 4 −6 5

521230 - 13 - ´
DIM – Universidad de Concepcion
Factorización LU (cont.)

• Si la matriz A es tal que la etapa de eliminación del M.E.G. se puede llevar a


(i)
cabo (es decir si todos los pivotes aii 6= 0, i = 1, . . . , n − 1), entonces

A = LU ,

donde:

– U es la matriz triangular superior que resulta de la eliminación y


– L es la matriz triangular inferior de los multiplicadores mij :
 
1 0 ··· 0
.. 
 
..
 m21 1

. .
L= . 
.. ..
 ..

 . . 0 

mn1 ··· mnn−1 1

521230 - 14 - ´
DIM – Universidad de Concepcion
Solución de sistemas mediante factorización LU

• Si A = LU , entonces

 Ly = b,
Ax = b ⇐⇒ L(U x) = b ⇐⇒
 U x = y.

Por lo tanto, resolver un sistema Ax = b es equivalente a:


1. resolver Ly = b y, luego,
2. resolver U x = y.
• Como estos sistemas son triangulares (inferior y superior, respectivamente), el
costo operacional de resolver los dos sistemas es 2n2 flop.

• Factorizar la matriz A = LU consiste simplemente en:


– triangularizar A por eliminación gaussiana y
– almacenar la matriz triangular L de multiplicadores.
Por lo tanto, el costo de factorizar la matriz A = LU es ≈ 23 n3 flop.
• Como 2n2  23 n3 , el costo operacional total para resolver un sistema
mediante factorización LU es ≈ 23 n3 flop.

521230 - 15 - ´
DIM – Universidad de Concepcion
Solución de sistemas mediante factorizac. LU (cont.)

• Muchas veces deben resolverse varios sistemas de ecuaciones con la misma


1 m
matriz y distintos segundos miembros b , . . . , b (por ejemplo, para calcular
A−1 ).
• En tal caso, conviene primero factorizar la matriz A = LU (una sola vez!) y
luego resolver los pares de sistemas triangulares para cada segundo miembro:
 
 Ly 1 = b1 ,  Ly m = bm ,
···
 U x1 = y 1 ,  U xm = y m .

• Ası́, la parte más costosa del proceso (la factorización: 23 n3 ) se hace una sola
vez y sólo se repite la parte menos costosa (la solución de los sistemas
triangulares: 2n2 ).
• Hay algoritmos (Crout, Doolitle) que permiten obtener directamente la
factorización LU de una matriz, pero el costo es el mismo que el de hacerlo por
eliminación gaussiana.

521230 - 16 - ´
DIM – Universidad de Concepcion
Solución de sistemas mediante factorizac. LU (cont.)

• Algoritmo (por eliminación gaussiana): • Observación: La matriz triangular supe-


rior puede calcularse utilizando las mis-
Para k = 1, . . . , n − 1 mas posiciones de memoria en las que

para i = k + 1, . . . , n inicialmente está almacenada A.

(k) (k)




mik = aik /akk • A fin de no tener que utilizar una matriz
más para guardar L, pueden almacenarse
para j = k + 1, . . . , n
cada multiplicador mij en lugar de la

(k+1) (k) (k)
aij = aij − mik akj

entrada aij que se hace cero en ese paso.

Para i = 1, . . . , n
• Ésta no es la forma en que procede M AT-
i−1
X
LAB , pues este software no pretende opti-

yi = b i − mij yj
j=1 mizar el costo de almacenamiento.
Para i = n, n − 1, . . . , 1 • Sin embargo, hay mucho software que uti-
 
n liza este truco a fin de evitar tener que usar
1  X (i)
xi = (i) yi − aij xj  memoria adicional para almacenar los mul-
aii

j=i+1
tiplicadores.

521230 - 17 - ´
DIM – Universidad de Concepcion

También podría gustarte