Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 La factorización LU ³ 79
1. Reúna los fragmentos de código presentados en esta sección para crear un programa en Matlab
que realice la eliminación gaussiana “simple” (es decir, sin permitir el intercambio de renglones).
Úselo para resolver los sistemas del ejercicio 2.
2. Sea H la matriz de Hilbert de n n, cuya entrada (i, j) es 1/(i j 1). Utilice el programa en
Matlab del problema de computadora 1 para resolver Hx b, donde b es un vector que contiene
sólo unos, para (a) n 2 (b) n 5 (c) n 10.
2.2 LA FACTORIZACIÓN LU
Si se lleva la idea de la forma tabular un paso adelante, se llega a la forma matricial de un sistema de
ecuaciones. A largo plazo, la forma matricial ahorrará tiempo por la simplificación de los algoritmos y
su análisis.
Por lo general, se indicará la matriz de coeficientes con A y el vector del lado derecho con b.
En la forma matricial de los sistemas de ecuaciones, se interpreta x como un vector columna y Ax
como la multiplicación matriz-vector. Se desea encontrar una x de tal forma que el vector Ax sea
igual al vector b. Por supuesto, esto es equivalente a que Ax y b coincidan en todos sus componen-
tes, que es exactamente lo que requiere el sistema original (2.1).
La ventaja de escribir los sistemas de ecuaciones en forma matricial es que pueden utilizarse
operaciones con matrices, como la multiplicación de matrices, a fin de dar seguimiento de los pasos
de la eliminación gaussiana. La factorización LU es una representación matricial de esta elimina-
ción. Consiste en escribir la matriz de coeficientes A como un producto de una matriz triangular
inferior L y una matriz triangular superior U. La factorización LU es una versión de la eliminación
gaussiana surgida de una larga tradición en ciencia e ingeniería: fragmentar un objeto complicado
en partes más simples.
DEFINICIÓN 2.2 Una matriz L de m n es triangular inferior si sus entradas satisfacen lij 0 para i j. Una
matriz U de m n es triangular superior si sus entradas satisfacen uij 0 para i j. U
En breve se analizará la razón por la que esto funciona, pero primero deben mostrarse los
pasos con un ejemplo de 3 3.
Ésta es la matriz de coeficientes del sistema (2.4). Los pasos de la eliminación proceden de la
misma forma que antes:
⎡ ⎤ ⎡ ⎤
1 2 −1 RESTE 2 2×RENGLØ N1 1 1 2 −1
⎣ 2 resta renglón
1 −2 ⎦ −→ DEL rEN 2 −→ ⎣ 0 −3 0 ⎦
del renglón 2
−3 1 1 −3 1 1
⎡ ⎤
−3
RESTE 3 × renglón
rENGLØ N 11 1 2 −1
resta
−→ from row 3 −→ ⎣ 0 −3 0 ⎦
del renglón 3
0 7 −2
⎡ ⎤
− 73 −
subtract
resta
7
× row 22
3renglón 1 2 −1
−→ from row 3 −→ ⎣ 0 −3 0 ⎦ = U.
del renglón 3 0 0 −2
La matriz triangular inferior L está formada, como en el ejemplo anterior, al poner unos en la dia-
gonal principal y los multiplicadores en el triángulo inferior, en las posiciones específicas que se
utilizaron para la eliminación. Esto es,
⎡ ⎤
1 0 0
L=⎣ 2 1 0 ⎦. (2.14)
−3 − 73 1
Por ejemplo, observe que 2 es la entrada (2, 1) de L, porque fue el multiplicador utilizado para
eliminar la entrada (2, 1) de A. Ahora verifique que
⎡ ⎤⎡ ⎤ ⎡ ⎤
1 0 0 1 2 −1 1 2 −1
⎣ 2 1 0 ⎦⎣ 0 −3 0 ⎦=⎣ 2 1 −2 ⎦ = A. (2.15)
−3 − 73 1 0 0 −2 −3 1 1
HECHO 1 Sea Lij(c) la matriz triangular inferior, cuyas únicas entradas diferentes de cero son unos en la
diagonal principal y c en la posición (i, j). Entonces A A Lij(c)A representa la operación por
renglón “restar c veces el renglón j del renglón i”.
2.2 La factorización LU ³ 81
Usando los hechos 1 y 2, es posible entender la factorización LU del ejemplo 2.4. Puesto que el
paso de eliminación puede representarse mediante
1 0 1 1 1 1
L21 (−3)A = = ,
−3 1 3 −4 0 −7
Una vez que se conocen L y U, el problema Ax b puede escribirse como LUx b. Defina
un nuevo vector “auxiliar” c Ux. Entonces, la sustitución hacia atrás es un procedimiento de dos
pasos:
(a) Resolver Lc b para c.
(b) Resolver Ux c para x.
Ambos pasos son directos puesto que L y U son matrices triangulares. Esto se demuestra con
los dos ejemplos utilizados previamente.
x1 + 2x2 − x3 = 3
−3x2 = −3
−2x3 = −4,
Ax = b1
Ax = b2
..
.
Ax = bk
con varios vectores bi del lado derecho. La eliminación gaussiana clásica requiere aproximada-
mente 2kn3/3 operaciones, donde A es una matriz de n n, puesto que debe comenzarse desde
el principio para cada problema. Por otro lado, con el enfoque LU las bi (i 1,…, k) del lado
derecho no entran en los cálculos hasta que se termina la eliminación (la factorización A LU).
Al aislar los cálculos que involucran a A de bi, puede resolverse la serie anterior de ecuaciones
con una sola eliminación, seguida de dos sustituciones hacia atrás (Lc bi, Ux c) para cada
nueva bi. El número aproximado de operaciones con el enfoque LU es, por lo tanto, 2n3/3 2kn2.
Cuando n2 es pequeña en comparación con n3 (es decir, cuando n es grande), ésta es una diferen-
cia significativa.
Incluso cuando k 1, no hay algún trabajo de cálculo adicional que realice el enfoque A
LU, en comparación con la eliminación gaussiana clásica. Aunque parece haber una sustitución
ANOTACIÓN Resumen La razón principal de la existencia del enfoque de factorización LU para la eliminación
gaussiana es la ubicuidad de problemas con la forma Ax b1, Ax b2 … Con frecuencia, A es lo que se
denomina una matriz estructural, dependiendo sólo del diseño de un sistema mecánico o dinámico, y
b corresponde a un “vector de carga”. En ingeniería estructural, el vector de carga proporciona las fuer-
zas aplicadas en diferentes puntos de la estructura. Entonces, la solución x corresponde a los esfuerzos
sobre la estructura inducidos por esa combinación particular de cargas. La solución repetida de Ax
b para las diversas b se utiliza para probar los posibles diseños estructurales. En la comprobación en la
realidad 2 se presenta este análisis para la carga de una viga.
84 ³ CAPÍTULO 2 Sistemas de ecuaciones
hacia atrás extra que no forma parte de la eliminación gaussiana clásica, estos cálculos “extras”
remplazan justo los cálculos ahorrados durante la eliminación debido a que la b del lado derecho
estaba ausente.
Si todas las bi estuvieran disponibles al principio, podrían resolverse los k problemas de ma-
nera simultánea en el mismo número de operaciones. Sin embargo, en las aplicaciones típicas,
se solicita resolver algunos de los problemas Ax bi, antes de que otras bi estén disponibles. El
enfoque LU permite un manejo eficiente de todos los problemas presentes y futuros que involucren
la misma matriz de coeficientes A.
EJEMPLO 2.8 Suponga que se necesita un segundo para factorizar la matriz A de 300 300 como A LU.
¿Cuántos problemas Ax b1, … , Ax bk pueden resolverse en el siguiente segundo?
Las dos sustituciones hacia atrás para cada bi requieren un total de 2n2 operaciones. Por lo
tanto, el número aproximado de bi que puede manejarse por segundo es
2n3
n
3
= = 100.
2n2 3
La factorización LU es un paso importante hacia delante en la búsqueda de una ejecución eficaz de
la eliminación gaussiana. Lamentablemente, no toda matriz permite tal factorización.
0 1
EJEMPLO 2.9 Demuestre que A = 1 1
no tiene una factorización LU.
2.2 Ejercicios
3 7 x1 1 2 3 x1 1
(a) = (b) =
6 1 x2 −11 4 7 x2 3
2.3 Fuentes de error ³ 85
6. Dada la matriz A de 1000 1000, su computadora puede resolver los 500 problemas Ax b1, … ,
Ax b500 en exactamente un minuto, utilizando los métodos de factorización A LU. ¿Cuánto de
ese minuto su computadora estará trabajando en la factorización A LU? Redondee su respuesta
al segundo más cercano.
7. Suponga que su computadora puede resolver 1000 problemas del tipo Ux c, donde U es una
matriz triangular superior de 500 500, cada segundo. Calcule cuánto tiempo se tardará en re-
solver el problema completo de la matriz Ax b de 5000 5000. Dé su respuesta en minutos y
segundos.
8. Suponga que su computadora puede resolver un sistema lineal Ax b de 2000 2000 en 0.1
segundos. Estime el tiempo requerido para resolver 100 sistemas de 8000 ecuaciones con 8000
incógnitas, con la misma matriz de coeficientes y utilizando el método de factorización LU.
9. Sea A una matriz de n n. Suponga que su computadora puede resolver 100 problemas Ax b1,
… , Ax b100 mediante el método LU en la misma cantidad de tiempo requerida para resolver el
primer problema Ax b0. Estime n.
1. Utilice los fragmentos de código para la eliminación gaussiana que se han presentado en la
sección previa, con el fin de escribir un script de Matlab que tome una matriz A como entra-
da y a L y U como salida. No se permiten intercambios renglones, el programa debe diseñarse
para detenerse si encuentra un pivote cero. Verifique su programa al factorizar las matrices del
ejercicio 2.
2. Añada la sustitución hacia atrás en dos pasos a su script del problema de computadora 1, y utilí-
celo para resolver los sistemas del ejercicio 4.
Como se ha descrito hasta ahora, en la eliminación gaussiana existen dos fuentes potenciales de
error principales. El concepto de mal condicionamiento se refiere a la sensibilidad de la solución a
los datos de entrada. Se analizará el número de condición, utilizando los conceptos de error hacia
atrás y hacia delante del capítulo 1. Puede hacerse muy poco para evitar errores de cálculo en la
solución de ecuaciones matriciales mal condicionadas, por lo que es importante tratar de reconocer
y evitar las matrices mal condicionadas siempre que sea posible. La segunda fuente de error es la
dominancia, que puede evitarse en la gran mayoría de los problemas mediante una simple correc-
ción llamada pivoteo parcial, éste es el objeto de estudio de la sección 2.4.