Factorización
triangular.
Supongamos que la matriz de coeficientes A de un sistema lineal Ax=b admite una factorización triangular como la siguiente.
| a11 a12 a13
| | 1 | | u11
u12 u13 |
A= | a21 a22 a23
| = | l21 1 0 |= | 0
u22 u23
|
| a31
a32 a33 | | l31
l32 1 | | 0 0 u33 |
Entonces la solución
la podemos plantear como
LUx = b
El cual se puede
solucionar resolviendo primero Ly=b y luego el
sistema Ux=y.
Ejemplo.
Resolver el sistema
de ecuaciones
x1 + 2x2 + 4x3 + x4 = 21
2x1 + 8x2 + 6x3 + 4x4 = 52
3x1 + 10x2
+ 8x3 + 8x4 = 79
4x1 + 12x2
+ 10x3 + 6x4 = 82
| 1
2 4 1 |
| 1 0 0 0 | | 1
2 4 1 |
A = | 2 8
6 4 | = |
2 1
0 0 | *
| 0 4 –2
2 |
| 3 10
8 8
| | 3
1 1 0 | |
0 0 –2 3 |
| 4 12 10
6 | | 4 1
2 1 | | 0 0 0 –6 |
Primero resolvemos el
sistema de ecuaciones
y1 =
21
2y1 + y2 =
52
3y1 + y2 + y3 + = 79
4y1 + y2 + 2y3 + y4 = 82
El cual corresponde a
un sistema triangular inferior
y1 = 21
y2 = 10
y3 = 6
y4 = -24
En general
x1 = b1/ a1,1
xk = (bk – Sj=1,k-1
akj xj)/akk
y
posteriormente solucionamos
x1 + 2x2 + 4x3 + x4 = 21
4x2 - 2x3 + 2x4 = 10
- 2x3 + 3x4 = 6
-
6x4 =-24
utilizando
sustitución hacia atrás tenemos
X = [1,2,3,4]T
Implementación.
Como vimos una matriz
factorizada, fácilmente puede ser resuelta utilizando los métodos de sustitución
hacia adelante y sustitución hacia atrás. ¿Pero como hacemos la factorización? Comenzaremos por escribir el sistema
| a11 a12 a13
| | 1 | | u11
u12 u13 |
| a21 a22 a23
| = | l21 1 0 |= | 0
u22 u23
|
| a31
a32 a33 | | l31
l32 1 | | 0 0 u33 |
A = LU
Si multiplicamos el primer renglón de L por la primera columna de U
tenemos
u11 = a11
u12 = a12
u13 = a13
Ahora hacemos lo mismo para el segundo renglón de L con U
l21 u11 = a21 => l21 = a21/u11
= a21/a11
l21 u12 + u22
= a22 => u22
= a22 - l21 u12 = a22 - a21
a12/a11
l21 u13 + u23
= a23 => u23
= a23 - l21 u13 = a23 - a21
a13/a11
Multiplicando el tercer renglón de L por U tenemos:
l31 u11 = a31 => l31 = a31/u11
= a31/a11
l31 u12 + l32
u22 = a32
=> l32 = (a22 – l31 u12)/a22
l31 u13 + l32
u23 + u33 = a33 => u33 = a33 – l31
u13 - l32 u23
Podemos notar lo siguiente, en este caso la
triangulación la podemos hacer en dos pasos.
Paso I. Dado la matriz A hacemos
a11 |
a12 |
a13 |
a21/a11 |
a22
- a21 a12/a11 |
a23
- a21 a13/a11 |
a31/a11 |
a32
– a31 a12/a11 |
a33
– a31 a13/a11 |
a11 |
a12 |
a13 |
a’21 |
a’22 |
a’23 |
a’31 |
a’32 |
a’33 |
Paso II. Dado A modificada
a11 |
a12 |
a13 |
a’21 |
a’22 |
a’23 |
a’31 |
a’32/
a’22 |
a’33
– a’32a’23/a22 |
a11 |
a12 |
a13 |
a’21 |
a’’22 |
a’’23 |
a’31 |
a’’32 |
a’’33 |
Note que para calcular la
matriz triangular superior se podría aplicar, el método de eliminación gaussiana y la matriz diagonal inferior es simplemente los
cocientes
ajk = ajk/akk
Ejemplo:
Hacer la factorización LU de la siguiente matriz.
1 |
2 |
4 |
1 |
2 |
8 |
6 |
4 |
3 |
10 |
8 |
8 |
4 |
12 |
10 |
6 |
Paso 1.
1 |
2 |
4 |
1 |
2 |
4 |
-2 |
2 |
3 |
4 |
-4 |
5 |
4 |
4 |
-6 |
2 |
Paso 2.
1 |
2 |
4 |
1 |
2 |
4 |
-2 |
2 |
3 |
1 |
-2 |
3 |
4 |
1 |
-4 |
0 |
Paso 3.
1 |
2 |
4 |
1 |
2 |
4 |
-2 |
2 |
3 |
1 |
-2 |
3 |
4 |
1 |
-2 |
6 |