Professional Documents
Culture Documents
CAPITULO IV
4.1- INTRODUCCIÓN
En la práctica de la ingeniería y ciencias es frecuente tener la necesidad de resolver un sistema de ecuaciones
lineales. Estos sistemas aparecen en muy diversos problemas, ya sea como la solución completa de un
problema ó al menos como parte de ella. Dada esta necesidad frecuente, se requiere resolverlos en forma
eficiente. En este capitulo veremos algunos métodos de solución de sistemas de ecuaciones lineales.
El problema a resolver es un sistema de n ecuaciones con n incógnitas x1 , x 2 , x 3 ,..., x n de la forma
Ax = b donde:
a11 a12 a13 ...a1n x1 b1
a a 22 a 23 ...a 2 n x2 b2
A = 21 x= b=
. . . . . .
a n1 an2 a n3 ...a nn xn bn
Hay dos grupos de métodos de resolución: los métodos directos los métodos iterativos o aproximados.
Son aquellos que dan los valores exactos, (sin errores de redondeo) caso exista. De estos métodos
tenemos: la Regla de Cramer, el método de Eliminación de Gauss y el método de Descomposición LU
El método de Eliminación de Gauss consiste en transformar el sistema lineal en un sistema lineal equivalente
donde la matriz de los coeficientes es triangular superior.
El método de basa en tres operaciones permitidas que no cambian la solución del sistema:
a) – Una ecuación puede multiplicarse por una constante diferente de cero.
b) – Una ecuación puede ser sustituida por una combinación lineal de ella con otra.
c) – Se puede intercambiar ecuaciones.
El resultado de la transformación, por lo tanto será una matriz triangular superior, del tipo:
bn −1 − a ( n −1), n x n
x n −1 = , así sucesivamente:
a ( n −1),( n −1)
4.2.2.1 – Algoritmo
Dado un sistema triangular superior n × n con elementos con elementos de la diagonal de la matriz A
no nulos, las variables x1 , x 2 , x 3 ,..., x n son obtenidas por:
bn
xn =
a nn
de k = n − 1 a 1 ; haga:
n
bk − ∑a
j = k +1
k, j xj
xk =
a k ,k
fin
Consideremos que la matriz de los coeficientes A tiene su determinante diferente a cero, también
llamaremos de etapa k del proceso de eliminar la variable x k de la ecuación k + 1, k + 2,..., n
ai(,kj) coeficiente de la línea i , columna j al final de la etapa k
bi(k ) coeficiente de la línea i en la etapa k
Se toma la matriz de los coeficientes A ampliada
: : : : : : : : : :
(0) (0) ( 0) (0)
a n1 an2 an3 ...a nn | bn a n1 a n2 a n3 ...a nn | bn( 0 )
Etapa (1) (k = 1)
• el elemento a11( 0 ) es llamado de pívot de la etapa (1) (asumimos que a11( 0) ≠ 0 )
ai(10)
• los elementos mi1 = ( 0 ) ∀i = 2,3,..., n son los multiplicadores de la etapa (1)
a11
• eliminamos las variables x1 de las ecuaciones 2, 3, ..., n , sustituyendo la i − ésima línea por ella misma,
menos la primera ecuación (línea) multiplicada por mi1 .
Al final de la etapa (1) tendremos:
Etapa (2) (k = 2)
(1)
• pívot a 22
ai(21)
• multiplicadores (1)
mi 2 =
∀i = 3,4,..., n
a 22
• eliminamos la variable x 2 de la línea 3 y queda:
a11( 2) a12( 2 ) a13( 2) ...a1(n2 ) | b1( 2 )
( 2) ( 2)
0 a 22 a 23 ...a 2( 2n) | b2( 2 )
: : : : :
( 2) ( 2)
0 0 a n3 ...a nn | bn( 2 )
⎧i = 1,2
aij( 2) = aij(1) ∀⎨
⎩ j = 1,2,...., n
bi( 2 ) = bi(1) ⇒ i = 1,2;
donde:
⎧i = 3,4,..., n
aij( 2) = aij(1) − mi 2 × a 2(1j) ∀⎨
⎩ j = 2,3,..., n
bi( 2 ) = bi(1) − mi 2 × bi(1) ⇒ i = 3,4,..., n
y así sucesivamente, por último tenemos la matriz triangular superior, equivalente a la matriz original A
a11( n −1) a12( n −1) a13( n −1) ...a1(nn −1) | b1( n −1)
( n −1) ( n −1)
0 a 22 a 23 ...a 2( nn−1) | b2( n −1)
⇒ A ( n −1) x = b (n −1)
: : : : :
( n −1)
0 0 0 ...a nn | bn( n −1)
Dado un sistema lineal Ax = b , siendo An×n , x n×1 y bn×n . Suponiendo que a kk( k −1) ≠ 0, ∀k = 1,2,..., n − 1
Para k = 1 hasta n − 1
Para i = k + 1 hasta n → (líneas)
a
Calcular: m = ik ;
a kk
a ik = 0;
Para j = k + 1 hasta n → (columnas)
a ij = aij − m × a kj ;
bi = bi − m × bk ;
bn
xn = ;
a nn
Para k = n − 1 hasta 1
n
bk − ∑a
j = k +1
ij × xj
xk =
a kk
Fin
Ejemplo 4.1: Dado el siguiente sistema de ecuaciones, resolver por el método de eliminación de Gauss
3
(1)
a31
• multiplicadores m31 =
(1)
=1
a 22
haciendo L3 = L3 − m32 × L2 al final de la etapa 2 tenemos que la matriz de los coeficientes es:
⎧
3( 2) 2 ( 2) 4 ( 2) 1( 2). ⎪ x3 = 0
⎪
⎪ 5/3− 0
( 2) ( 2) ( 2)
1 2 5
0 donde la solución es ⇒ ⎨ x 2 = =5
3 3 3 ⎪ 1/ 3
0 0 − 8 ( 2) 0 ( 2) ⎪ 1 − 2 x5 − 0
⎪⎩ x1 = 3
= −3
4.2.3 - Descomposición LU
Como obtener las matrices L y U veremos a través de un sistema 3x3. Para el efecto aplicamos el
método de eliminación de Gauss.
a11 x1 + a12 x 2 + a13 x3 = b1
a 21 x1 + a 22 x 2 + a 23 x3 = b2
a31 x1 + a32 x 2 + a33 x3 = b3
1 0 0
M (0)
= − m21 1 0
− m31 0 1
Por lo tanto M A = A es la matriz obtenida de la primera etapa del proceso de eliminación de Gauss.
(0) (0) (1)
Para la segunda etapa las operaciones de eliminar la variable x 2 es equivalente a multiplicar la matriz
Por lo tanto M A = A
(1) (1) ( 2)
que es la misma matriz obtenida en la segunda etapa del proceso de
eliminación de Gauss. Tenemos entonces que:
A ( 0 ) = A y que M ( 0) A ( 0 ) = M ( 0) A = A (1) ;
A ( 2) = M (1) A (1) = M (1) M ( 0) A
donde A es triangular superior. Entonces: A = M M
( 2) (1) ( 0)
[ ] −1
[
A ( 2 ) = M (1) ] [M ]
−1 ( 0 ) −1
A( 2)
1 0 0 1 0 0 1 0 0
como [M ] ( 0 ) −1
= m21 1 0 y M (1) [ ]
−1
=0 1 [
0 entonces M (1) ] [M ]
−1 ( 0 ) −1
= m21 1 0
m31 0 1 0 m23 1 m31 m32 1
Etapa k = 1 eliminar x1
• pívot a11 = 3
(0)
a 21 1
• multiplicadores m 21 = ( 0 ) =
a11 3
(0)
a31 4
m31 = ( 0 ) =
a11 3
3 2 4
0 1/ 3 2/3 donde la matriz LU se pueden almacenar en una misma matriz
0 1 / 3 − 10 / 3
3
3 2 4
a (1)
multiplicadores m31 = 31
(1)
=1 A ( 2)
= 1 / 3 1 / 3 2 / 3 Por tanto:
a 22
4/3 1 −4
1 0 0 3 2 4
L = 1 / 3 1 0 y la matriz U = 0 1 / 3 2 / 3 . Resolviendo Ly = b
4/3 1 1 0 0 −4
1 0 0 y1 1 ⎧ y1 = 1
⎪
1/ 3 1 0 y2 = 2 ⇒ ⎨ y2 = 2 − 1/ 3 = 5 / 3
⎪y = 3 − 4 / 3 − 5/ 3 = 0
4 / 3 1 1 y3 3 ⎩ 3
⎧
⎪ x3 = 0
3 2 4 x1 1 ⎪ −3
⎪ 5/3
0 1 / 3 2 / 3 x2 = 5 / 3 ⇒ ⎨x2 = =5 la solución del sistema es x = 5
⎪ 1/ 3
0 0 − 4 x3 0 0
⎪ 1− 2×5
⎪⎩ x1 = 3
= −3
Ejercicio: Dado el siguiente sistema lineal, resolver utilizando el método LU, y muestre los valores de las
matrices L y U
3x1 − 4 x2 + x3 = 9
x1 + 2 x2 + 2 x3 = 3
4 x1 − 3x3 = −2
Si bien los métodos directos dan la solución teórica, no siempre se pueden aplicar. Para ver la razón
consideremos las fuentes de error. El error inherente, de momento lo podemos despreciar. El error de
truncamiento es 0. El error de redondeo esencialmente depende del número de cálculos. Mientras mayor sea el
número de ecuaciones, se requieren más operaciones y por lo tanto existiría más error de redondeo. En pocas
palabras, si el numero de ecuaciones es grande el error de redondeo puede crecer tanto, que puede invalidar la
solución. En la practica no es raro usar cientos ó a un miles de ecuaciones. Por esta razón, se crearon los
métodos iterativos. Estos son esencialmente inmunes al redondeo.
Los sistemas lineales de grande porte en general poseen un gran porcentaje de ceros en la matriz de los
coeficientes. Para estos sistemas el método de eliminación de Gauss no es aconsejable, dado que durante el
proceso de eliminación muchos elementos nulos pasaran a ser no-nulos.
(k )
Los métodos iterativos consisten en algoritmos simples para convertir cualquier vector x en otro
x ( k +1) que depende de x (k ) , A y b , y preserva la característica de A , dado que los coeficientes de A no son
alterados.
La idea central de los métodos iterativos es generalizar el método iterativo lineal, utilizado en la
búsqueda de raíces de una ecuación, visto en el capítulo II.
Dado el sistema lineal Ax = b , es convertido en un sistema similar del tipo x = Cx + g = ϕ ( x )
Donde C es una matriz n × n ; g es un vector n × 1
Entonces ϕ ( x ) = Cx + g es la función de iteración en forma matricial. El método parte de x ,
(0)
llamado de valor inicial (vector), y va calculando otros vectores llamados de vectores de aproximación a la raiz:
x (1) = Cx ( 0 ) + g = ϕ ( x ( 0) ); primera aproximación;
x ( 2 ) = Cx (1) + g = ϕ ( x (1) ); Segunda aproximación….
De forma genérica x
( k +1)
= Cx ( k ) + g = ϕ ( x ( k ) )
El criterio de parada comúnmente usado por los métodos iterativos, consiste en medir cuan próximo
( k +1)
esta x
( k +1)
de x
(k )
. Calculamos M = max xi( k +1) − xi( k ) ; ∀i = 1,..., n
Dada una precisión ε , e vector x será elegido como solución aproximada si M < ε . Es más
(k ) (k +1)
M ( k +1)
M R( k +1) = ;∀ 1≤ i ≤ n
máx xi( k +1)
x1 =
1
[b1 − a12 x2 − a13 x3 − ... − a1n xn ]
a11
x2 =
1
[b2 − a 21 x1 − a 23 x3 − ... − a 2n xn ]
a 22
:
xn =
1
[bn − an1 x1 − an 2 x2 − ... − an,n−1 xn ]
a nn
(0)
El método de Gauss-Jacobi consiste en que dado un vector de aproximación inicial x , obtenemos
(1) ( 2) (k )
x , x ,..., x a través de la relación recursiva x = Cx + g . Entonces ( k +1) (k )
ϕ ( x ) = Cx + g es una función
en forma matricial.
La forma general para la función recursiva está dada por:
x1( k +1) =
1
a11
[
b1 − a12 x 2( k ) − a13 x3( k ) − ... − a1n x n( k ) ]
x 2( k +1) =
1
a 22
[
b2 − a 21 x1( k ) − a 23 x3( k ) − ... − a 2 n x n( k ) ]
:
x n( k +1) =
1
a nn
[
bn − a n1 x1( k ) − a n 2 x 2( k ) − ... − a n ,n −1 x n( k−1) ]
⎪ 2x + 3x2 + 10 x3 = 6
⎩ 1 0,6
x1( k +1) =
1
10
(7 − 2 x 2( k ) − x3( k ) )
= (− 8 − x1( k ) − x3( k ) )
1
x 2( k +1)
5
= (6 − 2 x1( k ) − 3x 2( k ) )
1
x3( k +1)
10
Para k =0
= (7 − 2(−1,6) − 0,6) = 0,96
1
x1(1)
10 ⎧ x1(1) − x1( 0) = 0,96 − 0,7 = 0,96
⎪
⎪ (1)
= (− 8 − 0,7 − 0,6) = −1.86
1
x 2(1) ⎨ x 2 − x3 = − 1,86 + 1,6 = 0,16
( 0)
tes de parada
5 ⎪ (1)
⎪⎩ x3 − x3 = 0,94 − 0,6 = 0,324
( 0)
M (1) 0,34
M (1) = 0,34 y ⇒ M R(1) = = = 0,1828 > ε
máx xi(1) 1,86
Para k =1
x1( 2) = (7 − 2(−1,86) − 0,94) = 0,978
1
10 ⎧ x1( 2) − x1(1) = 0,978 − 0,96 = 0,018
⎪
⎪ ( 2)
x 2( 2) = (− 8 − 0,96 − 0,94) = −1,98
1
tes de parada ⎨ x 2 − x3 = − 1,98 + 1,86 = 0,12
(1)
5 ⎪ ( 2)
⎪⎩ x3 − x3 = 0,966 − 0,94 = 0,324
(1)
Para k=2
x1( 3) = (7 − 2(−1,98) − 0,966) = 0,9994
1
10 ⎧ x1( 3) − x1( 2 ) = 0,9994 − 0,978 = 0,0214
⎪
⎪ ( 3)
x 2 = (− 8 − 0,978 − 0,966) = −1,9888
1
tes ⎨ x 2 − x3 = − 1,9888 + 1,98 = 0,00888
( 3) ( 2)
5 ⎪ ( 3)
⎪⎩ x3 − x3 = 0,9984 − 0,966 = 0,0324
( 2)
0,9994
por lo tanto el vector solución es x = − 1,9888
0,9984
El siguiente teorema establece una condición suficiente para la convergencia del método de Gauss-
Jacobi.
∑a
j =1
kj
j ≠k
αk = Si α = máx.α k < 1 ∀1 ≤ k ≤ n , entonces el método de Gauss-Jacobi
a kk
genera una secuencia x k { } convergente a la solución del sistema, independientemente de la elección de la
(k )
(0)
aproximación inicial x .
Ejemplo 4.4 – Dado el siguiente sistema lineal, haz un estudio para la convergencia para la aplicación del
método de Gauss-Jacobi.
⎧10 x1 + 2 x2 + x3 = 7
⎪
⎨ x1 + 5x2 + x3 = −8
⎪ 2x + 3x2 + 10 x3 = 6
⎩ 1
2 +1
α1 = = 0,3
10
1+1
α2 = = 0,4 α = máx.α k = α 3 = 0,5 < 1
5
2+3
α3 = = 0,5
10
Por el criterio de las líneas tenemos asegurada la convergencia para el método de Gauss-Jacobi, para
cualquier valor inicial.
x1( k +1) =
1
a11
[
b1 − a12 x 2( k ) − a13 x3( k ) − ... − a1n x n( k ) ]
x 2( k +1) =
1
a 22
[
b2 − a 21 x1( k +1) − a 23 x3( k ) − ... − a 2 n x n( k ) ]
:
x n( k +1) =
1
a nn
[
bn − a n1 x1( k +1) − a n 2 x 2( k +1) − ... − a n ,n −1 x n( k−1+1) ]
Ejemplo 4.5 – Resuelve el siguiente sistema lineal por Gauss-Seidel, x ( 0) = 0 y una tolerancia del error
ε < 5 × 10 −2
⎧5 x1 + x 2 + x3 = 5
⎪
⎨3x1 + 4 x 2 + x3 = 6
⎪3x + 3 x + 6 x3 = 0
⎩ 1 2
Proceso iterativo:
x1( k +1) =
1
5
(5 − x 2( k ) − x3( k ) )
Para k =0
= (5 − 2(0) − 0) = 1
1
x1(1)
5 ⎧ x1(1) − x1( 0) = 0 − 1 = 1
⎪
⎪ (1)
= (6 − 3(1) − 0) = 0,75
1
x 2(1) ⎨ x 2 − x3 = 0 − 0,75 = 0,75
( 0)
tes de parada
4 ⎪ (1)
⎪⎩ x3 − x3 = 0 + 0,875 = 0,875
( 0)
M 10 ) 1
M (1) = 1 y ⇒ M R(1) = (1)
= =1> ε
máx x i
1
Para k =1
x1( 2 ) = (5 − 2(0,75) − (−0,875) ) = 1,025
1
5 ⎧ x1( 2) − x1(1) = 1,025 − 1 = 0,025
⎪
⎪
x 2( 2 ) = (6 − 3(1,025) − (−0,875) ) = 0,95 parada ⎨ x 2( 2) − x3(1) = 0,95 − 0,75 = 0,2
1
4 ⎪ ( 2)
⎪⎩ x3 − x3 = − 09875 + 0,875 = 0,1125
(1)
Para k=2
x1( 3) =
1
(5 − 2(0,95) − (−0,9875) ) = 1,0075 ⎧ x1( 3) − x1( 2 ) = 0,0175
5
⎪
⎪ ( 3)
x 2( 3) = (6 − 3(1,0075) − (−0,9875) ) = 0,9912 tes de parada
1
⎨ x 2 − x3 = 0,0412
( 2)
4 ⎪ ( 3)
⎪⎩ x3 − x3 = 0,0118
( 2)
1,0075
por lo tanto el vector solución es x = 0,9912
− 0,9993
El criterio de las líneas visto en el método de Gauss-Jacobi puede ser aplicado para el método de
Gauss-Seidel. Si no cumple con este criterio, aún se puede aplicar el criterio de Sassenfeld, válido solamente
para este método.
a j1 β 1 + a j 2 β 2 + ... + a j , j −1 β j −1 + a j , j +1 + ... + a jn
βj =
a jj
Sea β = máx β j si β < 1 entonces, el método de Gauss-Seidel genera una secuencia convergente
1≤ j ≤ n
para cualquier valor inicial x ( 0 ) . Además cuando menor sea el valor de β más rápida será la convergencia al
vector solución.
En caso de que no cumplan con los criterios de convergencia, no indica que el método sea
divergente, sino que ello dependerá de la elección del valor inicial
Ejemplo 4.6: Verifica la convergencia a la solución del siguiente sistema de ecuaciones, a través del
criterio de Sassenfeld, si aplicaramos el método de Gauss-Seidel, ,:
x1 + 0,5 x 2 − 0,1x3 − 0,14 x 4 = 0,2
0,2 x1 + x2 − 0,2 x3 − 0,1x 4 = −2,6
− 0,1x1 − 0,2 x 2 + x3 + 0,2 x 4 =1
0,1x1 + 0,3x 2 + 0,2 x3 + x4 = −2,5
Dado un sistema Ax = b ,se dice que una matriz A está mal condicionada cuando pequeños cambios en A o b
provocan grandes cambios en la solución del sistema. Una circunstancia que suele llevar aparejada la mala
condición es que la matriz sea “casi singular” y su determinante sea casi cero. Sin embargo, para detectar el
mal condicionamiento, primero es necesario escalar todas las ecuaciones de forma tal que la matriz sea
diagonalmente dominante. Otra posible causa es que un sistema de dos ecuaciones corresponde a dos líneas
rectas casi paralelas, o en un sistema de tres ecuaciones corresponda a tres planos casi paralelos
Ejemplo 4.7:
x1 + 2 x 2 = 10
1.1x1 + 2 x 2 = 10,4
Que tiene como solución del sistema x = 4 e y = 3 , si se modifica ligeramente el coeficiente de
x1 de la segunda ecuación por 1,05, el resultado cambia drásticamente a x1 = 8 y x 2 = 1 . Si
sustituimos estos valores en la ecuación original
8 + 2(1) = 10
1,1(8) + 2(1) = 10,8
Por lo tanto, aunque x1 = 8 y x 2 = 1 no son las soluciones reales al problema original, la
prueba del error es casi igual, lo que puede provocar el error al hacer creer que las soluciones
son correctas
a) Convergencia:
los métodos directos son procesos finitos, es decir, teóricamente se obtiene la solución exacta de
cualquier sistema no singular. Los métodos iterativos tienen convergencia asegurada solo bajo
ciertas condiciones.
b) Esparcidad de la matriz A.
Muchos sistemas lineales poseen la matriz de los coeficientes, esparza, es decir, muchos de sus
elementos son nulos. Para estos sistemas no es recomendable adoptar los métodos directos, dado
que durante el proceso de triangulación muchos elementos nulos pasan a ser no-nulos. Para estos
sistemas se recomienda los métodos iterativos.
c) Número de operaciones.
Los métodos directos requieren un número mayor de operaciones aritméticas.
4.6 – EJERCICIOS
4.3- Usa el método de eliminación de Gauss, con pivoteamiento parcial para resolver el sistema de ecuaciones
3x2 − 13x3 = −50
2 x1 − 6 x2 + x3 = 44
4 x1 + 8 x3 = 4
4.5- Analiza los siguientes sistemas con relación al número de soluciones, usando el método de eliminación de
Gauss
3x1 − 2 x2 + 5 x3 + x4 = 7
0.252 x1 + 0.36 x 2 + 0.12 x3 = 7
− 6 x1 + 4 x2 − 8 x3 + x 4 = −9
a) b) 0.11x1 + 0.16 x 2 + 0.24 x3 = 8
9 x1 − 6 x2 + 19 x3 + x 4 = 23
0.147 x1 + 0.21x 2 + 0.25 x3 = 9
6 x1 − 4 x2 − 6 x3 + 15 x 4 = 11
4.7- Verifica la convergencia para la solución para los sistemas dados a continuación, utilizando la iteración de
Gauss – Seidel. Efectúa tres pasos partiendo de una aproximación inicial de [1, 1, 1].
10 x +y +z=6 4x + 2 y + z = 14
a) x + 10 y + z = 6 b) x + 5 y − z = 10
x + y + 10 z = 6 x + y + 8 z = 20
4.8- Aplicar Gauss – Seidel (tres iteraciones) a los sistemas del problema anterior partiendo de a)[0, 0, 0]
b)[10, 10, 10] compare y haga un comentario (analiza el error en cada iteración).
4.9- Utilizando la ley de Kirchhoff para resolver el circuito siguiente, encuentra las intensidades de la
corriente I 1 , I 2 e I 3 para los siguientes casos:
a) R1 = 1, R2 = 1, R3 = 2, R4 = 1, R5 = 2, R6 = 4, V1 = 23, V2 = 29
b) R1 = 1, R2 = 2, R3 = 4, R4 = 3, R5 = 1, R6 = 5, V1 = 413, V2 = 38
c) con las mismos valores de R del item 1) pero cambiando V1 = 10,V2 = 20
4.10- Haga un programa que dada una matriz A nxn verifique el criterio de las líneas para la convergencia de los
métodos iterativos.
4.11- Haga un programa que resuelva un sistema de n x n por el método de Gauss – Jacobi
4.13 – Resuelva el siguiente sistema de ecuaciones utilizando uno de los métodos numéricos
x1 + 2 x2 − x3 = 2
2 x1 + 5 x2 + x3 + x4 = 6
− x1 + x2 + 14 x3 + 5x4 = 6
x2 + 5 x3 + 3x4 = 2