Está en la página 1de 13

Sistemas de Ecuaciones

Ivan D. Molina N.
April 2, 2020

1 Factorización LU
Objetivo: Resolver un sistema de ecuaciones lineales
Ejemplo:

2x + 3y − 4z = −4 (1)
3x − y − 2z = −5 (2)
x + 2y + z = 8 (3)

Usando cualquier método tradicional podemos llegar a que la única solución del
sistema anterior es x = 1, y = 2, z = 3

Primero: Escribimos el sistema de ecuaciones en forma Matricial AX = b,


con A una matriz n × n, n numero de ecuaciones o variables, el cual debe ser
el mismo; b una matriz de n × 1, y una matriz de variables X de n × 1, de la
siguiente manera
     
2 3 −4 x −4
 3 −1 −2  ·  y  =  −5 
1 2 1 z 8
| {z } | {z } | {z }
A X b

Segundo: Vamos a descomponer/factorizar la matriz A en el producto de


dos matrices L, U , tal que A = L × U = LU , para esto existen varios métodos,
nosotros nos vamos a enfocar principalmente en 3 métodos: Doolittle, Crout,
Cholesky. (Explicación mas adelante)

Tercero: Resolver el sistema(Paso en común de los métodos de factorización


LU ) Las matrices LU son matrices triangulares.
L una matriz triangular inferior
U una matriz triangular superior
Ambas del mismo tamaño que la matriz A, deben tener para tamaño 3 × 3 la
siguiente forma
   
• 0 0 • • •
L= • • 0  U = 0 • • 
• • • 0 0 •
De esta manera el sistema de ecuaciones se transforma

1
AX = b ⇒ LU X = b
Y esto nos permite cambiar el sistema de ecuaciones original en 2 sistemas de
ecuaciones mucho mas sencillos de resolver, de la siguiente manera

UX = Y (4)
LY = b (5)

(Un cambio de variable)


Con  
Y1
Y =  Y2 
Y3
Se ejemplifica al final de la explicación de cada método

1.1 Método de Doolittle


En este método la diagonal de la matriz L se llena con 1 de la siguiente forma
 
1 0 0
L= • 1 0 
• • 1
Para explicar este método, aplicamos eliminación gaussiana para dejar en
0 los números inferiores a la diagonal, sin aplicar ninguna operación adicional,
iniciaremos con el ejemplo
Tomamos la matriz A
 
2 3 −4
 3 −1 −2 
1 2 1
Sin realizar operaciones adicionales, debemos tomar los 3 números subraya-
dos y convertirlos en 0 usando operaciones gaussianas. Como no debemos usar
operaciones adicionales, es decir, el numero de operaciones debe ser máximo 3.
Operación 1: Convertimos el 3 en 0
 
2 3 −4
 
−3  −11

F1 + F2  0 2 4 
2 



1 2 1

Operación 2: Convertimos el 1 en 0
 
2 3 −4
 
−1  −11

2
F1 + F3  0 2 4 

 
1
0 2 3

2
1
Operación 3: Convertimos el 2 en 0
 
2 3 −4
 
1  −11

11  0
F2 + F3  2 4 

 
37
0 0 11
La matriz resultante, sera nuestra matriz U .
La matriz L la vamos a crea con el inverso aditivo(signo contrario) de cada
numero usado en colocar dichas posiciones 0, es decir, en la operación 1 conver-
timos en 0, la posición (2,1)(fila 2, columna 1) multiplicando por −32 la fila 1,
por lo tanto, en la matriz L la posición (2, 1) sera 23

De esta manera nuestra matriz L queda de la forma


 
1 0 0
 
 3 
L=  2 1 0 

 
1 −1
2 11 1
Y por lo tanto
   
1 0 0 2 3 −4
   
−11
 3
  
L=
 2 1 0 
  0
U = 2 4 

   
1 −1 37
2 11 1 0 0 11
Ejercicios:
1. Compruebe que L × U = A.
2. Programe la factorización de la matriz A en MatLab
Si la matriz A no se puede convertir en una matriz triangular su-
perior usando exactamente la menor cantidad de pasos, entonces el
método no se puede aplicar, en algunos casos cambiando el orden de
las ecuaciones desde el comienzo soluciona este problema

Aquı́ acaba el método Doolittle para descomponer la matriz A, ahora vamos


a terminar de resolver el sistema de ecuaciones usando el tercer paso mencionado
antes.  
Y1
Primero Calculamos Y =  Y2  con el sistema de ecuaciones LY = b,
Y3
esto es
 
1 0 0    

 3

 Y1 −4
 Y2  =  −5 
1 0  ·

 2
  Y3 8
1 −1
2 11 1

3
Este sistema de ecuaciones es muy fácil de resolver ya que la matriz L es trian-
gular, como se puede ver a continuación:
Fila 1: Y1 = −4
3 3
Fila 2: Y1 + Y2 = −5, entonces Y2 = −5 − (−4) = 1
2 2
1 1 1 1 111
Fila 3: Y1 − Y2 + Y3 = 8, entonces Y3 = 8 − (−4) + (1) =
2 11   2 11 11
−4
 
 
Por lo tanto Y =  1 


 
111
11 

x
Ahora calculamos X =  y  que es lo que de verdad nos interesa.
z
Usamos el otro sistemas de ecuaciones U X = Y , esto es
   
2 3 −4   −4
  x  
 0 −11
   
4  y  =  1 
 2   
  z  
37 111
0 0 11 11

Lo resolvemos esta vez de abajo hacia arriba


37 111
Fila 3: z= , entonces z = 3
11 11
−11 (2)(1 − 4z) (2)(1 − 12)
Fila 2: y + 4z = 1, entonces y = = =2
2 −11 −11
−4 − 3y + 4z −4 − 6 + 12
Fila 1: 2x + 3y − 4z = −4, entonces x = = = 1.
2 2
Por lo tanto

x=1 y=2 z=3


Nuestra respuesta original.

1.2 Método de Crout


En este método a diferencia del método anterior, la diagonal de 1 esta en la
matriz U  
1 • •
U = 0 1 • 
0 0 1
Para calcular la factorización de la matriz A, simulamos la multiplicación de
la matriz L, y U , es decir,

4
     
l1,1 0 0 1 u1,2 u1,3 a1,1 a1,2 a1,3
 l2,1 l2,2 0 × 0 1 u2,3  =  a2,1 a2,2 a2,3 
l3,1 l3,2 l3,3 0 0 1 a3,1 a3,2 a3,3
Esto nos crea un sistema de ecuaciones de 9 variables, que se calcular
rápidamente al realizar la multiplicación de las matrices, como se ve a con-
tinuación.
Para facilitar la escritura, Li indicara la fila i de la matriz L y U j indicara
la columna j de la matriz U , por lo tanto el producto punto de la fila i de L
con la columna j de U sera el elemento en la fila i y columna j de A, osea ai,j

Li · U j = ai,j
dado esto tenemos

L1 · U 1 = l1,1 = a1,1 (6)


2 a1,2
L1 · U = l1,1 u1,2 = a1,2 → u1,2 = (7)
l1,1
Ahı́ ya tenemos 2 de las 9 variables calculadas y una primera restricción
a1,1 6= 0

a1,3
L1 · U 3 = l1,1 u1,3 = a1,3 → u1,3 = (8)
l1,1
L2 · U 1 = l2,1 = a2,1 (9)
2
L2 · U = l2,1 u1,2 + l2,2 = a2,2 → l2,2 = a2,2 − l2,1 u1,2 (10)
a2,3 − l2,1 u1,3
L2 · U 3 = l2,1 u1,3 + l2,2 u2,3 = a2,3 → u2,3 = (11)
l2,2
Ahı́ ya tenemos 6 de las 9 variables una nueva restricción l2,2 6= 0, y anal-
izando cuando l2,2 = 0 tenemos que

l2,2 = a2,2 − l2,1 u1,2 (12)


a1,2
= a2,2 − a2,1 (13)
l1,1
l1,1 a2,2 − a2,1 a1,2
= (14)
l1,1
es decir
a a1,2
l2,2 = 0 ⇐⇒ a1,1 a2,2 − a2,1 a1,2 = 1,1 =0
a2,1 a2,2

L3 · U 1 = l3,1 = a3,1 (15)


L3 · U 2 = l3,1 u1,2 + l3,2 = a3,2 → l3,2 = a3,2 − l3,1 u1,2 (16)
3
L3 · U = l3,1 u1,3 + l3,2 u2,3 + l3,3 = a3,3 (17)
→ l3,3 = a3,3 − l3,1 u1,3 − l3,2 u2,3 (18)

5
Aplicamos el método en el ejemplo, usando las ecuaciones ya planteadas

     
l1,1 0 0 1 u1,2 u1,3 2 3 −4
 l2,1 l2,2 0 × 0 1 u2,3  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
l1,1 = a1,1 = 2
     
2 0 0 1 u1,2 u1,3 2 3 −4
 l2,1 l2,2 0  ×  0 1 u2,3  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
a1,2 3
u1,2 = = = 1.5
l1,1 2
     
2 0 0 1 1.5 u1,3 2 3 −4
 l2,1 l2,2 0  ×  0 1 u2,3  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
a1,3 −4
u1,3 = = = −2
l1,1 2
     
2 0 0 1 1.5 −2 2 3 −4
 l2,1 l2,2 0  ×  0 1 u2,3  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
l2,1 = a2,1 = 3
     
2 0 0 1 1.5 −2 2 3 −4
 3 l2,2 0  ×  0 1 u2,3  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
l2,2 = a2,2 − l2,1 u1,2 = −1 − 3 ∗ 1.5 = −5.5
     
2 0 0 1 1.5 −2 2 3 −4
 3 −5.5 0  ×  0 1 u2,3  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
a2,3 − l2,1 u1,3 −2 − 3 ∗ (−2) 8
u2,3 = = = − = −0.72
l2,2 −5.5 11
     
2 0 0 1 1.5 −2 2 3 −4
 3 −5.5 0  ×  0 1 −0.72  =  3 −1 −2 
l3,1 l3,2 l3,3 0 0 1 1 2 1
l3,1 = a3,1
= 1
     
2 0 0 1 1.5 −2 2 3 −4
 3 −5.5 0  ×  0 1 −0.72  =  3 −1 −2 
1 l3,2 l3,3 0 0 1 1 2 1
l3,2 = a3,2 − l3,1 u1,2 = 2 − 1 ∗ 1.5
= 0.5
     
2 0 0 1 1.5 −2 2 3 −4
 3 −5.5 0  ×  0 1 −0.72  =  3 −1 −2 
1 0.5 l3,3 0 0 1 1 2 1
37
l3,3 = a3,3 − l3,1 u1,3 − l3,2 u2,3 = 1 − 1 ∗ (−2) − 0.5 ∗ (−0.72) = = 3.36
    11
 
2 0 0 1 1.5 −2 2 3 −4
 3 −5.5 0  ×  0 1 −0.72  =  3 −1 −2 
1 0.5 3.36 0 0 1 1 2 1

6
Ejercicios:
3. Compruebe que L × U = A.
4. Termine de resolver el sistema de ecuaciones.
5. Calcule la formula de los elementos de la matriz L y U para un sistema
de ecuaciones 2 × 2
6. Programe la factorización de la matriz A en MatLab para el caso 3 × 3 y
2×2

1.3 Método de Cholesky


Este método es un caso particular de los métodos anteriores, en el cual la matriz
A es una matriz simétrica, es decir,

A = A0

A0 la matriz traspuesta de A.
Para realizar esta factorización se usa la misma metodologı́a que en Crout.

Dado que A = A0 se puede concluir que L = U 0 , lo mismo que L0 = U , Con


esto podemos factorizar la matriz A de la siguiente forma
     
l1,1 0 0 l1,1 l2,1 l3,1 a1,1 a2,1 a3,1
A = L×U = L×L0 =  l2,1 l2,2 0 × 0 l2,2 l3,2  =  a2,1 a2,2 a3,2 
l3,1 l3,2 l3,3 0 0 l3,3 a3,1 a3,2 a3,3

Procedemos de la misma manera que en Crout, en este caso en vez de 9 variables,


tenemos 6, esta diferencia es un poco mas considerable entre mayor sea el tamaño
del sistema de ecuaciones, ejemplo, para un sistema 10 × 10 simétrico, en Crout
tendrı́amos 100 variables en cambio en Cholesky solo 55.


L1 · L01 = l1,1
2
= a1,1 → l1,1 = a1,1 (19)

Aquı́ tenemos la primera restricción.

a1,1 ≥ 0

a2,1
L1 · L02 = l1,1 l2,1 = a2,1 → l2,1 = (20)
l1,1

Aquı́ tenemos una segunda restricción.

l1,1 6= 0 =⇒ a1,1 > 0

a3,1
L1 · L03 = l1,1 l3,1 = a3,1 → l3,1 = (21)
l1,1
q
L2 · L02 = l2,1
2 2
+ l2,2 = a2,2 → l2,2 = a2,2 − l2,12 (22)

7
2
Aquı́ tenemos una tercera restricción. a2,2 − l2,1 ≥ 0 Analizando la re-
stricción:
 2
2 a2,1
a2,2 − l2,1 = a2,2 − (23)
l1,1
 2
a2,1
= a2,2 − √ (24)
a1,1
(a2,1 )2
= a2,2 − (25)
a1,1
a1,1 a2,2 − a22,1
= (26)
a1,1

a1,1 a2,1

a2,1 a2,2
= (27)
a1,1
Dado que a1,1 > 0, esto implica que la ultima expresión es mayor o igual a 0, si
y solo si, el numerador es mayor o igual a 0, por lo tengo la restricción queda
como

a1,1 a2,1
a2,1 a2,2 ≥ 0

a3,2 − l2,1 l3,1


L2 · L03 = l2,1 l3,1 + l2,2 l3,2 = a3,2 → l3,2 = (28)
l2,2
Lo cual agrega una nueva restricción.

a a2,1
l2,2 6= 0 =⇒ 1,1 >0
a2,1 a2,2

q
L3 · L03 = l3,1
2 2
+ l3,2 2
+ l3,3 = a3,3 → l3,3 = 2 − l2
a3,3 − l3,1 3,2 (29)

Lo cual agrega otra restricción.



a1,1 a2,1 a3,1
2 2

a3,3 − l3,1 − l3,2 ≥ 0 =⇒ · · · =⇒ a2,1 a2,2 a3,2 ≥0

a3,1 a3,2 a3,3

Adicionalmente como esperamos que el sistema de ecuaciones tenga única


solución

a1,1 a2,1 a3,1

a2,1 a2,2 a3,2 >0

a3,1 a3,2 a3,3
Por lo tanto, podemos resumir todas las restricciones en

a1,1 a2,1 a3,1
a1,1 a2,1
a1,1 > 0 > 0 a2,1 a2,2 a3,2 >0
a2,1 a2,2
a3,1 a3,2 a3,3

8
De manera general, el determinante de todas las matrices cuadradas que
incluyen a1,1 deben ser mayores que 0

Ejercicios:
7. Complete los puntos suspensivos de la ultima restricción.
8. Diseñe y resuelva un sistema de ecuaciones 3 × 3 que cumpla los requisitos
anteriores.

9. Escriba las ecuaciones para un sistema de ecuaciones 2 × 2.


10. Programe este método para sistemas de ecuaciones 2 × 2 y 3 × 3

2 Gauss-Seidel
Este método no utiliza factorización LU sino, que es un método iterativo que
aproxima las soluciones del sistema de ecuaciones.

 a1,1 x + a1,2 y + a1,3 z = b1
a2,1 x + a2,2 y + a2,3 z = b2
a3,1 x + a3,2 y + a3,3 z = b3

Para aplicar este método, es necesario que la matriz A asociada al sistema


de ecuaciones, sea diagonalmente dominante, es decir, los elementos de la diag-
onal en valor absoluto son mayores que la sima de los absolutos de los demás
elementos en su fila, es decir,

|a1,1 | > |a1,2 | + |a1,3 | (30)


|a2,2 | > |a2,1 | + |a2,3 | (31)
|a3,3 | > |a3,1 | + |a3,2 | (32)

Suele ser necesario reordenar las filas o columnas de la matriz A para poder
aplicar el método, o también es posible realizar un cambio de variable para que
cumpla este requisito.
Para aplicar el método, despejamos las variables de la diagonal(luego de
haberla reorganizado)
 b1 −a1,2 y−a1,3 z
 x =
 a1,1
b2 −a2,1 x−a2,3 z
y = a2,2
b3 −a3,1 x−a3,2 y

z =

a3,3

Tomamos una solución inicial, ejemplo (0, 0, 0) y empezamos a remplazar en


cada variable su ultimo valor calculado:

9
b1
x = 0, y = 0, z = 0 =⇒ x =
a1,1
b1 b2 − a2,1 ab1,1
1

x= , y = 0, z = 0 =⇒ y =
a1,1 a2,2
b1
b2 −a2,1 a
b1 b2 − a2,1 ab1,1
1
b3 − a3,1 ab1,1
1
− a3,2 a2,2
1,1

x= ,y = ,z = 0 =⇒ z =
a1,1 a2,2 a3,3
Aquı́ terminamos la primera iteración, y terminamos con los valores

b1
b2 −a2,1 a
b1 b2 − a2,1 ab1,1
1
b3 − a3,1 ab1,1
1
− a3,2 a2,2
1,1

x= , y= , z=
a1,1 a2,2 a3,3
Y realizamos las iteraciones hasta que cada variable tenga un error relativo
menor a algún porcentaje fijado con anterioridad.

Ejemplo:

6x + 3y − 1z = 9 (33)
x − 4y − 2z = −13 (34)
2x + 2y + 5z = 21 (35)

Usando cualquier método tradicional podemos llegar a que la única solución


del sistema anterior es x = 1, y = 2, z = 3

Despejamos cada ecuación


9−3y+z

 x = 6
−13−x+2z 13+x−2z
y = −4 = 4
21−2x−2y
z =

5
Y aplicamos las iteraciones.

Iteracion x y z
0 0 0 0
1 1,5 3,625 2,15
2 0,0458 2,186 3,307
3 0,957 1,835 3,082
.. .. .. ..
. . . .
10 0,999 2,000 3,000

Resultados aproximados a 3 cifras decimales.

Ejercicios:
11. Compruebe que se cumplen los requisitos para aplicar el método en el
ultimo sistema de ecuaciones

10
12. Diseñe y resuelva un sistema de ecuaciones 3 × 3 que cumpla los requisitos
anteriores, aplique 3 iteraciones.

13. Calcule en que iteración del sistema de ecuaciones de ejemplo, se logra un


error menor al 1%
14. Programe este método para sistemas de ecuaciones 3 × 3.
15. Programe este método para sistemas de ecuaciones n × n.

Ejercicios
16. Resuelva el siguiente sistema de ecuaciones usando Doolittle

 y + z = 2
x + 2y + 7z = 10
3x − y − 3z = −1

17. Resuelva el siguiente sistema de ecuaciones usando Doolittle




 w + x + y + z = 4
2w + 2x + y − z = 4


 3w + x − 4y + 4z = 4
4w + 7x + 6y − 13z = 4

18. Resuelva el siguiente sistema de ecuaciones usando Crout



 y + z = 2
x + 2y + 7z = 10
3x − y − 3z = −1

19. Resuelva el siguiente sistema de ecuaciones usando Cholesky



 5x + 2y + 3z = 10
2x + 3y − z = 4
3x − y − 6z = −4

20. Resuelva el siguiente sistema de ecuaciones usando Gauss-Seidel, obtenga


una solución con error menor al 1%


 w + 5x + y + z = 8
9w + 2x + y − z = 11


 3w + x − 4y + 14z = 14
2w + 7x + 12y − z = 20

21. Resuelva el siguiente sistema de ecuaciones usando Cholesky



 0.8x − 0.4y = 41
−0.4x + 0.8y − 0.4z = 25
− 0.4y + 0.8z = 105

11
22. Resuelva el siguiente sistema de ecuaciones usando Cholesky

 8x + 20y + 15z = 50
20x + 80y + 50z = 250
15x + 50y + 60z = 100

23. Resuelva el siguiente sistema de ecuaciones usando Cholesky



 6x + 15y + 55z = 152.6
15x + 55y + 225z = 585.6
55x + 225y + 979z = 2488.8

24. Resuelva el siguiente sistema de ecuaciones usando Gauss-Seidel(3 itera-


ciones)

 2x − 6y − z = −38
−3x − y + 7z = −34
−8x + y − 2z = −20

25. Resuelva el siguiente sistema de ecuaciones usando Gauss-Seidel(3 itera-


ciones)

 −3x + y − 12z = 50
6x − y − z = 3
6x + 9y + z = 40

26. Resuelva el siguiente sistema de ecuaciones usando Crout



x + y = 3
2x − y = 0

27. Resuelva el siguiente sistema de ecuaciones usando Crout



 −3x + y − 12z = 50
6x − y − z = 3
6x + 9y + z = 40

28. Resuelva el siguiente sistema de ecuaciones usando Crout



 2x − 6y − z = −38
−3x − y + 7z = −34
−8x + y − 2z = −20

29. Resuelva el siguiente sistema de ecuaciones usando Doolittle



x + y = 3
2x − y = 0

12
30. Resuelva el siguiente sistema de ecuaciones usando Doolittle

 2x − 6y − z = −38
−3x − y + 7z = −34
−8x + y − 2z = −20

31. Resuelva el siguiente sistema de ecuaciones usando Doolittle.



 8x + 2y + z = 29
2x + 7y + 2z = 22
x + 2y + 6z = 13

32. Resuelva el siguiente sistema de ecuaciones usando Crout.



 8x + 2y + z = 29
2x + 7y + 2z = 22
x + 2y + 6z = 13

33. Resuelva el siguiente sistema de ecuaciones usando Cholesky.



 8x + 2y + z = 29
2x + 7y + 2z = 22
x + 2y + 6z = 13

34. Resuelva el siguiente sistema de ecuaciones usando Gauss-Seidel, 3 itera-


ciones.

 8x + 2y + z = 29
2x + 7y + 2z = 22
x + 2y + 6z = 13

35. Diseñe un sistema de ecuaciones 3 × 3 que se pueda resolver por los 4


métodos, totalmente diferente al anterior(coloque por los menos 3 coe-
ficientes negativos), no debe resolverlo. Explique por que si se puede
resolver por los 4 métodos.

13

También podría gustarte