Solución numérica de sistemas de ecuaciones (métodos directos).

MÉTODOS NUMÉRICOS
Iván F. Asmar Ch.
TALLER 3a
Problema 1. Use el método directo que considere más apropiado para resolver el siguiente sistema
utilizando aritmética finita:
 0.2641x1 + 0.1735 x 2 + 0.8642 x 3 = −0.7521

− 0.8641x1 − 0.4243 x2 + 0.0711x 3 = 0.2501
 0.9411x + 0.0175 x + 0.1463x = 0.6310
1
2
3

Solución: Se observa que la matriz de coeficientes del sistema no es estrictamente dominante
diagonalmente por filas, ni tampoco es simétrica, así que se sugiere una estrategia de pivoteo, y como los
coeficientes del sistema son más o menos del mismo orden de magnitud 10 −1 , 10 −2 , se recomienda la
estrategia de pivoteo parcial. Para hacer uso del DERIVE, trabajamos con precisión 4 dígitos (OptionsPrecision:4) y entramos la matriz aumentada del sistema:
AU : = [ [ 0.2641 , 0.1735 , 0.8642 , − 0.7521], [ − 0.8641 , 0.4243 , 0.0711 , 0.2501 ] ,
[ 0.9411 , 0.0175 , 0.1463 , 0.6310 ]]
La expresión anterior al entrar en la ventana de Álgebra toma la forma
a) Para j = 1 (primera columna), escogemos el pivote como sigue:
Máx{ 0.2641 , − 0.8641 , 0.9411
} = 0.9411 =
a 31 ≠ 0,
k = 3 ≠ 1 = j , entonces debemos
↑
intercambiar las filas 1 y 3. La instrucción en DERIVE para intercambiar tales filas es SWAP(AU,1,3).
Una vez simplificada esta expresión continuamos con la eliminación:
0.0175 0.1463 0.6310 
 0.9411 0.0175 0.1463 0.6310 
 0.9411




 E  −00..8641

9411 
→ 0
− 0.4082 0.2054 0.8294 
 − 0.8641 − 0.4243 0.0711 0.2501    
 0.2641 0.1735 0.8642 − 0.7521
 0.2641
0.1735 0.8642 − 0.7521



21
 0.9411 0.0175 0.1463 0.6310  E  0.2641   0.9411 0.0175 0.1463 0.6310 






0.9411 
− 0.4082 0.2054 0.8294  

→ 0
− 0.4082 0.2054 0.8294 
 0
 0.2641 0.1735 0.8642 − 0.7521
 0
0.1685 0.8231 − 0.9291



31
Para la eliminación en DERIVE, se ejecuta la instrucción PIVOT(#_,1,1), donde #_ es el número que
identifica (en la ventana de Álgebra) a la matriz sobre la cual se hace la eliminación. Esta instrucción
hace ceros debajo de la posición (1,1) , es decir, elimina los coeficientes de x1 en cada una de las
ecuaciones 2 y 3.
Para j = 2 (segunda columna), escogemos el pivote como sigue:
Universidad Nacional de Colombia - Sede Medellín
1
SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES
Máx{ − 0.4082 , 0.1685
} = 0.4082 =
a ∗2 2 ≠ 0, k = 2 = j , así que no necesitamos hacer
↑
intercambio y continuamos con la eliminación:
 0.9411 0.0175 0.1463 0.6310  E  0.1685   0.9411 0.0175 0.1463 0.6310 






− 0.4082 
→ 0
− 0.4082 0.2054 0.8294 
− 0.4082 0.2054 0.8294  
 0
 0
 0
0.1685 0.8231 − 0.9291
0
0.9079 − 0.5866 


32
Para la eliminación en DERIVE se ejecuta la instrucción PIVOT(#_,2,2): approX.
Por sustitución regresiva, obtenemos:
− 0.5866
0.8294 − 0.2054(− 0.6461)
x~3 =
= −0.6461 , ~
x2 =
= −2.356 ,
0.9079
− 0.4082
0.6310 − 0.1463(− 0.6461) − 0.0175(− 2.356)
~
= 0.8148
x1 =
0.9410
Luego la solución aproximada obtenida es X = (0.8148 , − 2.356 , − 0.6461) .
~
T
~
Qué se puede decir acerca de la precisión de esta solución aproximada X ?
~
X−X
Para intentar responder esta pregunta, utilizaremos las cotas para el error relativo
la teoría:
R
b
Cond ∞ ( A) = A
∞
A−1
∞
∞
∞
~
X−X
1
≤
Cond ∞ (A)
X ∞
∞
≤ Cond ∞ (A )
R
b
X
, dadas en
∞
∞
, y la instrucción en DERIVE para calcular este número de condición es
COND_INF( A), siendo
A la matriz de coeficientes del sistema dado.
Para este caso,
COND _ INF ( A) = 6.756 ≈ 1 , así que la matriz A está bien condicionada (el sistema AX = b dado, está
bien condicionado).
~
~
Calculemos el vector error residual correspondiente a la solución aproximada X , R = AX − b , y
recordemos que para evitar la pérdida de cifras significativas, trabajamos en doble precisión, o sea 8
~
dígitos (Options-Precision: 8). Antes de cambiar la precisión, entramos los vectores X y b como vectores
fila:
~
XA := [0.8148 , − 2.356 , − 0.6461] = X y b := [− 0.7521, 0.2501, 0.6310 ]
Ahora sí, Options-Precision:8, y calculamos A. XA − b (el . para indicar la multiplicación de la matriz A
[
2
−4
]
, − 4.5559014 ×10 −4 , 5.3850066 ×10 −5 .
Volvemos a precisión de 4 dígitos (Options-Precision: 4) y aproximamos el resultado de A. XA − b , para
por el vector XA), el resultado obtenido es 1.630 5851 ×10
Universidad Nacional de Colombia - Sede Medellín
MÉTODOS NUMÉRICOS
(
∞
)
T
R = 1.630 × 10− 4 , − 4.555 × 10− 4 , 5.385 × 10 − 5 ,
obtener
b
Iván F. Asmar Ch.
así
R
que
∞
= 4.555 × 10 −4 ,
= 0.7521 , y entonces
5 × 10 − 5 < 8.964 × 10 − 5 =
4.555 × 10
0.7521
−4
1
≤
6.756
~
X−X
X
∞
≤ 6.756
∞
4.555 × 10 − 4
= 0.004091 < 5 × 10 − 3
0.7521
Conclusión: La solución aproximada X = (0.8148 , − 2.356 , − 0.6461) aproxima a la solución exacta
X del sistema dado con por lo menos tres cifras significativas y no más de cuatro. La solución exacta del
~
T
sistema es X = (0.8147, − 2.356, − .6460) .
T
La instrucción en DERIVE para obtener la solución
exacta de un sistema AX = b con solución única es RESUELVA_1( A,b): Simplify.
Problema 2. Considere el siguiente sistema lineal
+ 2x4
4 x1 + x2
 x − 3x + x
 1
2
3

x
x
x
4
+
+
2
3 + x4
 1

x 2 + x3 − 2 x 4
=2
= −3
=4
=0
Lo primero que observamos es que el sistema dado está ordenado en la forma más apropiada para
aplicar los métodos iterativos de Jacobi y Gauss-Seidel, ya que la matriz de coeficientes de este sistema
es lo más parecida a una matriz estrictamente dominante diagonalmente por filas.
a) ANÁLISIS DE CONVERGENCIA PARA EL MÉTODO DE JACOBI
1) La matriz de coeficientes del sistema dado es
1 0
2
4


0
1 − 3 1
A= 
1
1 4
1


0
1
1
−
2


que
no
es
estrictamente
dominante
diagonalmente
por
filas,
porque
a 44 = 2 ≤ 1 + 1 = a41 + a 42 + a43 . Luego no se puede concluir todavía sobre la convergencia
del método de Jacobi.
BJ = D
Usando
−1
(L + U ) :
la
matriz
de
coeficientes
A := 4, 1, 0, 2 , 1, − 3,1, 0 , 1, 1, 4,1 , 0, 1,1, − 2 , y luego simplificamos la instrucción BJ( A) con lo
cual obtenemos la matriz de iteración
[[
DERIVE,
Debemos encontrar la matriz de iteración del método de Jacobi
][
] [
entramos
] [
]]
Universidad Nacional de Colombia - Sede Medellín
3
SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES

 0

 1

BJ =  3
1
−
 4
 0

2)
−
1
4
1
3
0
−
1
− 
2
0

1
− 
4
0 

0
1
4
1
2
0
1
2
BJ
En DERIVE, la instrucción NORMA_INF( B J ) simplifica en
∞
= 1 ≥ 1 , así que no podemos
concluir todavía, a partir de esta norma matricial, sobre la convergencia del método de Jacobi. En
`
DERIVE, la instrucción NORMA _ INF B J simplifica en B J 1 = 1 ≥ 1 , y tampoco podemos concluir
( )
sobre convergencia, todavía.
3)
Debemos calcular el radio espectral de la matriz de iteración B J , ρ(B J ) . Esta vez, empezamos
encontrando el polinomio característico de la matriz
BJ .
En DERIVE, la instrucción
96 w 4 + 28w 2 + 4w − 3
.
96
CHARPOLY( B J ,w) simplifica en el polinomio característico de B J :
Trabajando con p(w) = 96 w + 28 w + 4 w − 3 , encontramos que los valores propios de la matriz
4
BJ
son
w1 ≈ −0.334610 ,
2
w 2 ≈ 0.244717
y
w3, 4 ≈ 0.0449461 ± 0.616126i .
Como
w3, 4 ≈ 0.617763 (instrucción en DERIVE ABS(w3, 4 )) , entonces ρ(B J ) ≈ 0.617763 < 1 . Por
tanto el método de Jacobi converge converge a la única solución X del sistema dado, cualquiera sea
(0 )
4
la aproximación inicial X ∈ R . Iterando con el método de Jacobi, tomando aproximación inicial
T
< 5 × 10 −3 , se obtiene
X ( 0) = (0, 0, 0, 0 ) y criterio de aproximación X ( k ) − X (k −1)
∞
X (13 ) = (− 0.200239, 1.11780, 0.561029, 0.838094 ) ≈ X
T
(ya que
X (13 ) − X (12)
satisface
X ( k ) − X (k −1)
∞
∞
≈ 0.00375458 < 5 × 10 −3 y k = 13 es el menor entero positivo que
< 5 × 10 −3 ). La instrucción en DERIVE para calcular las iteraciones es




JACOBI  A , [2 , − 3, 4 , 0] , [0 , 0 , 0, 0] , 15
{
14243 1
424
3 N  : approX.

()
b
X0


Cuál es la precisión de la solución aproximada X
(13)
?
X − X (13 )
Para esto, analicemos las cotas para el error relativo
4
X
∞
:
∞
Universidad Nacional de Colombia - Sede Medellín
MÉTODOS NUMÉRICOS
Iván F. Asmar Ch.
R (13)
1
≤
b ∞ Cond ∞ ( A)
144424443
∞
5×10 − 5 <3 .8 ...×10 − 4 =
X − X (13 )
X
∞
≤
∞
0. 00739 1
4
4 .816
R (13 )
Cond ∞ ( A)
∞
b ∞
14442444
3
4 .816
0 .00739
= 0. 008 ...<0 .05 =5×10 − 2
4
(13)
Luego X
aproxima a la solución exacta X del sistema dado con una precisión de por lo menos sus
dos primeras cifras significativas y no más de cuatro.
b) ANÁLISIS DE CONVERGENCIA PARA EL MÉTODO DE GAUSS-SEIDEL
1) Ya vimos que la matriz A de coeficientes del sistema dado no es estrictamente dominante
diagonalmente por filas, así que no se puede concluir todavía sobre convergencia del método de
Gauss-Seidel. Debemos encontrar la matriz de iteración BG−S = ( D − L ) U del método de GaussSeidel:
−1
En DERIVE, la instrucción BG( A) simplifica en la matriz de iteración
1

0 −
4

1
0 −

12
=
1
0
12

 0
0

BG − S
0
1
3
1
−
12
1
8
1

2
1
− 
6
1
− 
12 
1
− 
8
−
2) En DERIVE, la instrucción NORMA_INF( BG−S ) simplifica en
BG−S
∞
=
3
< 1 , así que el
4
método de Gauss-Seidel converge a la única solución X del sistema dado, cualquiera sea la
X (0 ) y se tienen cotas para el error
aproximación inicial
`
NORMA_INF( BG − S ) simplifica en
BG−S
=
1
X − X (k )
∞
(observe que
7
< 1 , así que también podemos concluir sobre la
8
convergencia del método de Gauss-Seidel a partir de esta norma matricial, pero ya que
BG − S
∞
< BG − S
1
, usaremos la norma
.
∞
para los cálculos posteriores).
3) Aunque ya tenemos conclusión sobre la convergencia del método de Gauss-Seidel, calculemos
ρ(BG− S ) .
En DERIVE la instrucción EIGENVALUES( BG−S , w) simplifica en los valores propios de la matriz
BG−S , que son w1 = 0 , w 2 = −
1
1
y w3 = −
( w1 = 0 es valor propio de multiplicidad 2, ya que el
4
24
↓
polinomio característico de BG−S
(
)
w 2 96 w 2 + 28w + 1
es
).
96
Universidad Nacional de Colombia - Sede Medellín
5
SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES
Como ρ(BG−S ) =
1
< 1 , el método de Gauss-Seidel converge a la única solución X del sistema dado,
4
(0 )
cualquiera sea la aproximación inicial X .
Ya que disponemos de cotas teóricas para el error
X − X (k )
∞
, encontremos el menor número de
iteraciones k, de acuerdo con la teoría, para que al aplicar el método de Gauss-Seidel con
aproximación inicial X
= (0, 0, 0, 0 ) , se obtenga una aproximación de la solución exacta X del
sistema dado, con una precisión de por lo menos tres cifras significativas.
( 0)
X − X (k )
Como
X
∞
T
k
k
≤ BG − S
∞
k
∞
3
3
=   , bastará resolver para k la desigualdad   < 5 × 10− 3 .
4
4
X − X (k )
ln 5 × 10 −3
∞
< 5 × 10− 3
La solución de esta desigualdad es, k >
= 18.4... , así que
X ∞
 3
ln 
 4
(19 )
para todo k ≥ 19 . Calculando X
, usando el método de Gauss-Seidel con aproximación inicial
T
T
(19 )
( 0)
X = (0, 0, 0, 0 ) , se obtiene X
= (− 0.2, 1.12, 0.56, 0.84 ) ≈ X . En DERIVE, las iteraciones
(
en
el
método
de
Gauss-Seidel
G_SEIDEL ( A , [ 2, − 3, 4, 0], [0, 0, 0, 0], 19 ) .
)
se
obtienen
con
la
instrucción
Cuál es la solución exacta X del sistema dado?
[
]
En DERIVE, la instrucción RESUELVA_1( A,b) con b := 2, −3, 4,0 simplifica en la solución exacta
T
 1 28 14 21 
X =  − , , ,  del sistema dado.
 5 25 25 25 
Si observa las iteraciones en los dos métodos, puede ver el tipo de convergencia para el método de
Jacobi y compararla con la convergencia para el método de Gauss-Seidel.
¿Cuántas iteraciones serán necesarias, de acuerdo con la teoría, para que al aplicar el método de
Gauss-Seidel con aproximación inicial X
= (0, 0, 0, 0 ) , se obtenga una aproximación de la
solución exacta X del sistema dado con una precisión de por lo menos sus tres primeras cifras
decimales exactas?
( 0)
6
T
Universidad Nacional de Colombia - Sede Medellín