Professional Documents
Culture Documents
INTRODUCCIÓN
f1 ( x1, x2 ,..., xn ) = 0
f 2 ( x1, x2 ,..., xn ) = 0
(3.1)
M
f ( x , x ,..., x ) = 0
n 1 2 n
donde
fi : Di → R, Di ⊆ Rn
X = ( x1, x 2 ,..., x n ) → fi ( X ) = y
Si para cada i = 12
, ,...,n , la función fi es de la forma
con ai 1, a i 2 ,..., a i n y bi constantes reales, el sistema se dice lineal (con coeficientes reales); en
cualquier otro caso el sistema se dice no-lineal.
El objetivo de este capítulo es estudiar algunos métodos numéricos para encontrar una solución
real de un sistema del tipo (3.1).
Un sistema de n-ecuaciones lineales (con coeficientes reales) en las n-incógnitas x1, x 2 ,..., x n
puede escribirse en la forma
Los métodos numéricos que estudiaremos para la solución de un sistema de ecuaciones lineales
se clasifican en dos tipos: directos e iterativos.
Los métodos directos nos proporcionan una solución del sistema en un número finito de pasos.
Si usamos aritmética finita para los cálculos, obtendremos por lo general una solución aproximada,
debido únicamente a los errores de redondeo, puesto que no hay errores de truncamiento o de
fórmula. Los métodos directos más usados tienen como base la eliminación de Gauss.
En los métodos iterativos se parte de una aproximación inicial a la solución del sistema dado y se
genera, a partir de dicha aproximación, una sucesión de vectores que si converge lo hace a la
solución del sistema. Al igual que en el capítulo 2, tendremos fórmulas para calcular los términos
de la sucesión, así que en general no se espera calcular el límite de la sucesión, por lo que
debemos tomar algún término de la sucesión como una solución aproximada del sistema. Esta
vez, además de los errores de redondeo si se usa aritmética finita, habrá errores de truncamiento o
de fórmula. Los métodos iterativos más simples y conocidos están basados en iteraciones de
Punto Fijo.
bn
xn =
an n
b n −1 − a n− 1, n xn
x n− 1 =
a n− 1, n −1
xn − 2 =
(
bn −2 − an − 2, n −1xn −1 + an − 2, n xn )
an − 2, n − 2
n
bi − ∑a
k = i +1
i k xk
xi = , i = n − 1,n − 2,...,1
ai i
El método anterior para determinar la solución del sistema se denomina sustitución reversiva,
regresiva o hacia atrás.
Si la matriz de coeficientes del sistema es triangular inferior, para resolver el sistema podemos
proceder de manera similar al caso anterior, pero empezando por despejar x1 de la primera
ecuación. El procedimiento en este caso se denomina sustitución progresiva o hacia adelante.
~
Algoritmo 3.1 (Sustitución regresiva) Para encontrar una solución aproximada X de un sistema
triangular superior AX = b con A = a i j ( )n×n
invertible.
bn
Paso 1: Tomar x n = .
an n
xi =
ai i
Paso 3: Salida: "Una solución aproximada del sistema es X = ( x1, x 2 ,..., xn ) ".
~
Terminar.
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 4
__________________________________________________________________________________
i) Eliminamos el coeficiente de x1 en cada una de las ecuaciones E2 ,E3 ,...,En para obtener un
sistema equivalente A ( ) X = b ( ) , realizando las operaciones elementales
1 1
a
Ei − i 1 E1 → Ei(1) , i = 2,3,..., n
a11
ii) Eliminamos el coeficiente de x 2 en cada una de las ecuaciones E3(1) ,E(41) ,...,En(1) , para obtener
( 2) ( 2)
un sistema equivalente A X = b , realizando las operaciones elementales
(1)
E( 1) − ai 2 E(1) → E( 2 ) , i = 3,4,..., n
i a( 1) 2 i
22
( 1)
(debe ocurrir que a2 2 ≠ 0 ).
iii) En general, eliminados los coeficientes de x1, x 2 ,..., x j−1 , eliminamos el coeficiente de x j en
cada una de las ecuaciones E(j+1 ) ,E(j+ 2 ) ,..., En( ) , para obtener un sistema equivalente
j −1 j− 1 j− 1
( j) ( j)
A X = b , realizando las operaciones elementales
( j −1)
E( j − 1) − ai j E( j − 1) → E( j ) , i = j + 1,..., n
i ( j −1) j i
aj j
Los números
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 5
__________________________________________________________________________________
ai( j )
j −1
mi j = , j = 1,...,n − 1, i = j + 1,...,n
a( )
j −1
jj
a(i 1) ai 1
0
se llaman multiplicadores (si j = 1 , ≡ ).
a( ) a11
0
11
el cual se resuelve por el método de sustitución regresiva, para obtener la solución del sistema
original.
Procedemos exactamente como en el caso 2, solo que cuando encontremos a(j jj−1) = 0 para algún
( j−1) ( 0)
, ,..., n − 1 (recuerde que si j = 1, a j j = a11 ≡ a11 ), continuamos de la siguiente manera:
j = 12
( j−1)
Se busca en la j-ésima columna de A (si j = 1, A ( j−1) = A ( 0) ≡ A ) desde la fila ( j + 1 )-ésima
hasta la n-ésima, el primer elemento distinto de cero (Por qué debe existir tal elemento?). Si
a( ) ≠ 0 es tal elemento, entonces se efectúa la operación elemental
j−1
kj
Una vez que se ha hecho la eliminación Gaussiana completa, se realiza la sustitución regresiva
para obtener la solución única del sistema dado.
Algoritmo 3.2 (Eliminación Gaussiana con sustitución regresiva) Para obtener una solución
~
aproximada X de un sistema de la forma
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 6
__________________________________________________________________________________
Salida: Una solución aproximada X = ( x1, x 2 ,..., xn ) del sistema dado o un mensaje.
~
Paso 1: Para j = 12
, ,...,n − 1 , seguir los pasos 2-4 (Proceso de eliminación):
ai j
Paso 5: Tomar m i j = .
aj j
(
Paso 6: Efectuar Ei − mi jE j → Ei . )
(Hasta aquí llega la eliminación Gaussiana)
an, n + 1
Paso 8: Tomar x n = (Aquí empieza la sustitución regresiva).
an n
n
ai, n + 1 − ∑a
k =i + 1
i k xk
xi =
ai i
Paso 10: Salida: "Una solución aproximada del sistema es X = ( x1, x 2,..., xn ) ".
~
Terminar.
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 7
__________________________________________________________________________________
Hay sistemas de ecuaciones lineales, como vimos en el capítulo 1, que son sensibles a pequeños
cambios en los datos; de tales sistemas decimos que están mal condicionados.
Para llegar a la idea del número de condición de una matriz empecemos considerando el siguiente
ejemplo que muestra dos sistemas de ecuaciones lineales mal condicionados.
x +y= 2
(3.3)
10.05 x + 10 y = 21
y
4.1x + 2.8 y = 4.1
(3.4)
9.7 x + 6.6 y = 9.7
20
En el capítulo 1, vimos que la solución exacta del sistema (3.3) es X 1 = y si cambiamos el
−18
coeficiente 10.05 por 10.1 (un cambio relativo de aproximadamente .5%), la solución exacta del
sistema perturbado
x +y= 2
(3.3')
10.1x + 10 y = 21
~ 10
es X 1 = , que muestra un cambio relativo del 50% en el valor de x y de aproximadamente el
−8
56% en el valor de y.
10
.
Análogamente, el sistema (3.4) tiene solución exacta X 2 = y si cambiamos el término
0.0
independiente 4.1 por 4.11 (un cambio relativo aproximado de .2% en el término independiente), la
solución exacta del sistema perturbado
~ .34
es X 2 = , que muestra un cambio relativo aproximado de 66% en el valor de x. ♦
.97
Se observa entonces que un cambio "pequeño" en uno de los datos (coeficientes y términos
independientes) ha producido un cambio "grande" en la solución, es decir, la solución del sistema
perturbado es "muy diferente" de la solución del sistema original.
El mal condicionamiento en el sistema (3.3) puede visualizarse gráficamente, al graficar las dos
rectas: L1: x + y = 2 y L 2 : 10.05 x + 10 y = 21 . Como las pendientes de estas dos rectas son casi
iguales, es difícil ver exactamente dónde se cortan, esta dificultad visual, digamos que se mide
cuantitativamente en los resultados numéricos obtenidos.
Observe que si A es la matriz de coeficientes del sistema (3.3), entonces det A = −.05 y se puede
pensar que el mal condicionamiento está relacionado con el tamaño del determinante de la matriz
de coeficientes, pero recuerde que si una ecuación de un sistema se multiplica por un escalar, el
determinante de la matriz de coeficientes queda multiplicado por ese escalar mientras los dos
sistemas siguen teniendo exactamente las mismas soluciones, es decir, son equivalentes.
~
E= X −X
~
y vector error residual correspondiente a la solución aproximada X , al vector R definido por
~
R = AX − b
Observe que E usualmente no se conoce (pues X no se conoce), mientras que R siempre puede
conocerse.
~ ~
Como R = AX − b , entonces R mide hasta dónde la solución aproximada X satisface el sistema
~ ~ ~
AX = b . Observe que X es tal que AX = R + b , es decir, X es solución de una perturbación del
sistema AX = b .
~
Nótese que R = 0 implica X = X , es decir, R = 0 implica E = 0 . Será que R "pequeña" implica
E también "pequeña", donde . es alguna norma vectorial?
Empecemos recordando qué es una norma vectorial y qué es una norma matricial.
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 9
__________________________________________________________________________________
. : Rn → R
X→ X
i) X ≥ 0, X = 0 si y sólo si X = 0
ii) αX = α X
iii) X + Y ≤ X + Y . ∇
x1
Ejemplo 3.2 Las siguientes son algunas normas vectoriales en R . Si X = M ∈ R n , entonces
n
x
n
n
X 1
= ∑x i
i =1
X ∞
= Max xi
1≤i≤n
Estas normas en R n , inducen las siguientes nociones de distancia entre dos vectores X, Y ∈R n :
1
n 2
1) d 2 ( X, Y) = X − Y 2 ∑
= ( xi − y i ) (distancia asociada con la norma euclidiana).
i =1
2
n
2) d 1( X, Y) = X − Y 1
= ∑ x −y
i= 1
i i (distancia asociada con la norma suma)
3) d ∞ ( X, Y) = X − Y ∞
= Max xi − yi (distancia asociada con la norma del máximo). ♦
1≤i≤n
. : Rn × n → R
A → A
i) A ≥ 0, A = 0 si y sólo si A = 0
ii) αA = α A
iii) A+B ≤ A + B
iv) AB ≤ A B . ∇
Aunque hay diversas formas de construir normas matriciales, aquí solamente consideraremos las
normas matriciales que serán obtenidas a partir de las normas vectoriales dadas en el ejemplo 3.2
según se indica en el siguiente teorema, teorema cuya demostración puede ser consultada en
Kincaid 1972, páginas 163 y 164.
Teorema 3.1 Sea . cualquier norma vectorial en R n . Entonces la función . de R n× n en R ,
definida por
AX
A = Max , A ∈R n× n (3.5)
X ≠0 X
La norma matricial dada por (3.5) se dirá la norma matricial inducida por la correspondiente
norma vectorial . .
AX ≤ A X (3.6)
AX AX
≤ Max = A
X X ≠0 X
AX X
A = Max = Max A = Max AZ
X≠ 0 X X≠ 0 X Z =1
1) A 2
= Max AX 2
, difícil de calcular con la información que se conoce hasta aquí, pues
X =1
2
2) A 1
= Max AX 1
, fácil de calcular, ya que se puede demostrar que
X =1
1
n
A 1
= Max
1≤j≤ n
∑
i =1
ai j
3) A ∞
= Max AX ∞
, fácil de calcular, ya que como en el caso 2), se puede demostrar, véase
X =1
∞
Burden 1985, páginas 453 y 454, que
n
A ∞
= Max
1≤ i ≤ n
∑ ai j
j =1
{
ρ( A ) = Max λ / λ es valor propio de A }
Recuerde que si λ es un número complejo, digamos λ = α + iβ con α y β en R , entonces
λ = α + iβ = α 2 + β 2 .
El siguiente teorema, cuya demostración puede ser consultada en Ortega 1990, páginas 21 y 22,
relaciona el radio espectral de una matriz A con A 2 .
i) (
ρ A TA = A) 2
, y en consecuencia, si A es simétrica ρ( A ) = A 2
.
20
Para el sistema (3.3), X 1 = es su solución exacta y si consideramos como una solución
−18
~ 10
aproximada a X 1 = , que es la solución exacta del sistema perturbado (3.3'), entonces el
−8
~
vector error de X 1 con respecto a X 1 , es
~ −10
E1 = X1 − X 1 =
10
~
y el vector error residual correspondiente a la solución aproximada X 1 , es
~ 1 1 10 2 2 2 0
R1 = AX 1 − b = − = − =
10.05 10 −8 21 20.5 21 −.5
Entonces
E1 1
= − 10 + 10 = 20 , R1 1
= 0 + −.5 = .5
E1 2
= ( −10) 2 + 10 2 ≈ 14.14, R1 2
= ( −.5 )2 = .5
E1 ∞
= Max { − 10 , 10 } = 10, R1 ∞
= Max { 0 , −.5 }= .5
así que un vector error residual "pequeño" (relativo al vector de términos independientes
2
b = , b 1 = 23, b 2 ≈ 21.095 , b ∞ = 21 ) corresponde a un vector error relativamente
21
"grande".
.
10
Para el sistema (3.4), X 2 = es la solución exacta y si consideramos como una solución
0.0
~ .34
aproximada a X 2 = , que es la solución exacta del sistema perturbado (3.4'), entonces el
.97
~
vector error de X 2 con respecto a X 2 , es
. −.66
.34 10
E2 = − =
.97 0 .97
~
y el vector error residual correspondiente a la solución aproximada X 2 , es
E2 1
= 163
. , R2 1
= .01; E2 2
≈ 117
. , R2 2
= .01; E2 ∞
= .97, R2 ∞
= .01
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 13
__________________________________________________________________________________
Teorema 3.3 Sea A ∈ R n ×n una matriz no-singular y X la solución exacta del sistema
~
AX = b, b ≠ 0 . Si X es una solución aproximada del sistema AX = b , entonces para cualquier
norma matricial inducida se tiene que
R 1 E R
≤ ≤ A A −1 (3.7)
b −1 X b
A A
~ ~ ~
( )
Demostración: Como R = AX − b = AX − AX = A X − X = AE , y A es invertible, entonces
R
R ≤ A E , es decir, ≤ E ,y E ≤ A −1 R
A
de donde
R
≤ E ≤ A −1 R (3.8)
A
b
b ≤ A X , es decir, ≤ X ,y X ≤ A −1 b
A
de donde
b
≤ X ≤ A −1 b
A
o equivalentemente
1 1 A
≤ ≤ (3.9)
A −1 b X b
E
Combinando (3.8) y (3.9), obtenemos las siguientes cotas para el error relativo, , en términos
X
R
del error residual relativo, :
b
R 1 E R
≤ ≤ A A −1 (3.10)
b −1 X b
A A
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 14
__________________________________________________________________________________
R
De acuerdo con este teorema 3.3, si se satisface la condición A A −1 ≈ 1 , entonces y
b
E R E
son más o menos del mismo tamaño. Así que si es "pequeño", también lo será ,y
X b X
R E
si es "grande", también lo será ; por lo tanto si A A −1 ≈ 1 , podremos distinguir una
b X
~ R
solución aproximada, X , buena de una mala observando el error residual relativo .
b
De acuerdo con la relación (3.7), dada en el teorema 3.3, vemos que si Cond ( A ) ≈ 1 , entonces el
E R
error relativo, , y el error residual relativo, , son más o menos del mismo tamaño y
X b
podremos distinguir una solución aproximada "buena" de una "mala" observando el error residual
relativo; pero entre más grande sea Cond( A ) , menor es la información que se puede obtener del
error relativo, a partir del error residual relativo.
A pesar de las definiciones anteriores, no debemos olvidar que lo que realmente nos interesa es
~
poder determinar cuando una solución aproximada X de un sistema AX = b es "buena", y tratar de
distinguir si el sistema AX = b está bien o mal condicionado.
Para la matriz
1 1
A=
10.05 10
del ejemplo 3.1, tenemos
1 10 −1
A −1 =
−.05 −10.05 1
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 15
__________________________________________________________________________________
A ∞
= Max{ 1 + 1 , 10.05 + 10 } = Max{ 2 , 20.05 } = 20.05
1 10 −1 1
A −1 = = . = 221
1105
∞ .05 −10.05 1 ∞
.05
luego
Cond ∞ ( A ) = A ∞
A −1 = ( 20.05)( 221) = 443105
. >> 1
∞
R ∞
Este número de condición nos dice que un error residual relativo b pequeño, puede
∞
~
X−X
corresponder a un error relativo ∞ muy grande, así que A puede considerarse mal
X ∞
condicionada.
~ 10
Veamos qué puede decirse, en este caso, de la calidad de la solución aproximada X 1 = −8 del
sistema
x +y= 2
10.05 x + 10 y = 21
Para este ejemplo tenemos
R1 .5
∞
= y Cond ∞ ( A ) = 443105
.
b ∞
21
~
.5 1 X 1 − X1 .5
∞
≤ ≤ 443105
.
21 443105
. X1 ∞ 21
esto es,
~
X1 − X 1
−6 ∞
5.37...×10 ≤ ≤ 105.5...
X1 ∞
.5
lo que indica que aunque el error residual relativo es pequeño, , el número de condición es tan
21
grande (4431.05) que hace que la solución calculada pueda tener un error relativo de hasta
~
105.5..., así que nada puede decirse de la cercanía entre X 1 y X 1. ♦
Instrucciones en DERIVE:
Existe otro número asociado con una matriz, al cual se le denomina también número de condición.
A continuación nos referiremos a tal número:
Del teorema 3.2 se sabe que ρ ( A ) ≤ A para toda norma matricial inducida, así que
Cond ( A) = A ( )
A −1 ≥ ρ ( A ) ρ A −1
pero como los valores propios de A −1 son los recíprocos de los valores propios de A, se tiene que
Max λ
λ ∈σ ( A )
Cond ( A) ≥ ≡ Cond∗ ( A )
Min λ
λ ∈σ ( A )
( )
ρ A − 1 = Max λ =
1
)
( )
λ ∈σ A −1 Min λ
λ ∈σ( A )
Max λ
λ ∈σ( A )
El número Cond∗ ( A) = se denomina número de condición espectral de A . Según se
Min λ
λ ∈σ( A )
1 1
Para la matriz A = , se tiene que
10.05 10
1− λ 1
det( A − λ I) = = λ 2 − 11λ −.05
10.05 10 − λ
Cond∗ ( A) ≈
1100454358
.
≈ 2421999592
. >> 1 ♦
4.5435778 × 10 −3
1
Teorema 3.4 Supóngase que A es no-singular y que δA < (esta hipótesis asegura que
A −1
δA
A + δ A es invertible y que 1 − Cond ( A ) > 0 ).
~
Si X es la solución exacta del sistema
A
perturbado ( A + δ A) X = b + δ b , entonces X aproxima a la solución exacta X del sistema AX = b ,
~
~
X−X Cond ( A) δb δA
≤ +
X δA b A (3.11)
1 − Cond ( A)
A
∇
La desigualdad (3.11) dice que si la matriz A está bien condicionada, es decir, si Cond ( A) ≈ 1 ,
entonces cambios "pequeños" en A y b producen, correspondientemente, cambios "pequeños" en
la solución del sistema (el sistema AX = b está bien condicionado). Por otro lado, si A está mal
condicionada, entonces cambios "pequeños" en A y b pueden producir "grandes" cambios en la
solución del sistema (el sistema AX = b está mal condicionado).
Ejercicio 3.1 Estime la cota de error dada en el teorema 3.4 para los sistemas (3.4) y (3.4') del
ejemplo 3.1. ♦
1 2 4.56 2.18
,
1.0001 2 2.79 138
.
b) Qué puede decir del condicionamiento de los siguientes sistemas de ecuaciones lineales?
Ejemplo 3.3 Resuelva el siguiente sistema de ecuaciones lineales usando eliminación Gaussiana
con sustitución regresiva y aritmética (decimal) con redondeo a tres dígitos:
5 .31
.03 58.9 : 59.2 E21 .03 , ( m 21 =177) .03 58.9 : 59.2
( A M b ) 5.31 −6.10 : 47.0
= →
0 −10400 : −10500
~ −10500
x2 = = 101
.
−10400
Instrucción en DERIVE:
PIVOT(A, i, ,j): Usa operaciones elemetales de fila para Simplificar (o aproXimar) en una matriz,
obtenida de la matriz A, que tiene ceros en la columna j y por debajo de la fila i. ◊
~
Qué puede decir de la calidad de la solución aproximada X ?
~
X−X
Para intentar responder esta pregunta encontremos las cotas para el error relativo ,
X
dadas por el teorema 3.3.
.03 58.9
Como A = , entonces usando aritmética con redondeo a tres dígitos para todos los
5.31 −6.10
cálculos se obtienen las siguientes aproximaciones:
1 −6.10 −58.9
A −1 =
−313 −5.31 .03
A ∞
= Max { 58.9, 114
. } = 58.9
1 1
A −1 = Max { 65.0, 5.34 } = 65.0 = .208
∞ 313 313
entonces Cond ∞ ( A ) = A ∞
A −1
= (58.9 )(.208) = 12.3 , que no es muy grande comparado
∞
(Por ciertas consideraciones teóricas sobre el número de condición de una matriz A, las cuales
pueden ser consultadas en Burden, 1985, páginas 481 y 482, cuando se trabaja en aritmética finita
(decimal) con redondeo a t-dígitos y Cond( A) ≥ 10 t se espera un mal comportamiento de A con
respecto a la solución de AX = b y A se considera mal condicionada. En este ejemplo
Cond( A) = 12.3 < 10 3 ).
Ahora,
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 19
__________________________________________________________________________________
~
(Para evitar la pérdida de cifras significativas, se debe calcular el vector error residual, R = AX − b ,
en doble precisión).
−.011
R=
−106
Entonces R ∞
= 106 y b ∞
= 59.2 y por tanto
~
R X−X R ∞
= Cond∞ ( A )
∞ 1 106 1 106
= =.145...≤ ≤ 22.02... = 12.3
b ∞ Cond∞ ( A ) 59.2 12.3 X 59.2 b ∞
~
R ∞ X −X
pero como Cond ∞ ( A) ≈ 1 , entonces se espera que
∞
y sean más o menos del
b ∞ X ∞
~
R ∞ X−X
∞
mismo tamaño, y ya que es grande, se espera que sea también grande. ♦
b ∞ X ∞
x 10
La solución exacta del sistema en consideración es X = 1 = . A qué se debe la diferencia
x2 1
entre la solución exacta y la solución calculada?
Observe que el error en el cálculo de ~ x2 con respecto a x 2 fue de sólo .01 (un error relativo de
1%) y este error fue multiplicado por un factor de aproximadamente −2000 al obtener ~ x , debido
1
al orden en que se realizó la eliminación Gaussiana.
Instrucción en DERIVE:
n
ai i > ∑
j= 1
ai j para cada i = 12
, ,..., n
j≠ i
Nótese que como consecuencia del teorema anterior se tiene que: Si A = a i j ( )n× n es E.D.D. por
filas, entonces A tiene factorización LU , es decir, A = LU , con L triangular inferior con unos en su
diagonal principal y U triangular superior (escalonada).
Observe que la matriz de coeficientes del ejemplo 3.3 anterior, no es E.D.D. por filas.
El teorema 3.5 también es válido para matrices reales, simétricas y definidas positivas (véase
Burden, 1985, página 368). Una matriz A ∈ R n × n , simétrica, se dice definida positiva si satisface
una cualquiera de las siguientes condiciones (las cuales son equivalentes):
iii) Todos los pivotes obtenidos en la eliminación Gaussiana sobre A, sin intercambio de filas, son
positivos.
El ejemplo 3.3 anterior, muestra una de las dificultades que pueden surgir al aplicar el método de
eliminación Gaussiana cuando el pivote a(j j ) es "pequeño" comparado con algunos elementos
j−1
a(i t ) para j ≤ i, t ≤ n .
j−1
Para tratar de evitar tales dificultades, se introduce en el método de eliminación Gaussiana una
estrategia llamada de pivoteo, la cual consiste en seleccionar el pivote de acuerdo con un cierto
criterio. Nosotros usaremos dos estrategias: la estrategia de pivoteo máximo por columna o
pivoteo parcial y la estrategia de pivoteo escalado de fila o escalamiento.
3.4.1 Pivoteo máximo por columna o pivoteo parcial: Esta estrategia difiere de eliminación
Gaussiana simple, únicamente en la escogencia del pivote a( ) , la cual se hace ahora, así:
j−1
jj
Para j = 12
, ,..., n − 1 , se determina el menor entero k, j ≤ k ≤ n , tal que
es decir, seleccionamos el primer elemento diferente de cero sobre la columna j-ésima a partir de
( j−1) ( 0)
la j-ésima fila y que tenga mayor valor absoluto (para j = 1 , ak j = ak 1 ≡ ak 1 ).
E(j ) ↔ Ek( )
j −1 j −1
que es el mismo del ejemplo 3.3, usando aritmética con redondeo a tres dígitos.
(
E 21 ) 5.31 −6.10 : 47.0
.03
, m 21 = 5 .65 ×10
5 .31
−3
→
0 58.9 : 58.9
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 22
__________________________________________________________________________________
~ ~ x
Observe que en este caso X = ~1 es la solución exacta del sistema dado. ♦
x2
Instrucción en DERIVE:
Nota: En el procedimiento de pivoteo máximo por columna (pivoteo parcial) cada multiplicador mi j
es tal que
a (i j )
j −1
mi j = ≤1
a (j j )
j −1
el cual es un sistema equivalente al del ejemplo 3.3 (los coeficientes de la primera ecuación en el
sistema del ejemplo 3.3, han sido multiplicados por 10 3 ). El pivoteo máximo por columna con
aritmética de redondeo a tres dígitos, nos lleva a los siguientes resultados:
5.31
30.0 58900 : 59200 E21 30 .0 , ( m 21 =.177) 30.0 58900 : 59200
( A M b) = 5.31 −6.10 : 47.0 → 0 −10400 : −10500
3.4.2 Pivoteo escalado de fila: Esta técnica sólo difiere de la eliminación Gaussiana simple, al
igual que el pivoteo parcial, en la escogencia del pivote.
Esta vez el pivote a( j−1) se escoge como se indica a continuación:
jj
( j−1)
Si = Max ai l : Factor de escala
j≤l≤n
a(i j )
j −1
Si
a(k j ) ai( j )
j −1 j −1
a(k j ) ≠ 0 y
j −1
= Max
Sk j≤i≤n Si
Si tal k no existe, entonces el sistema no tiene solución única y el proceso se puede terminar.
Apliquemos esta estrategia para resolver el sistema del ejemplo 3.4, usando aritmética con
redondeo a tres dígitos.
Para j = 1:
30 .0
E 21 , ( m 21 = 5 .65 ) 5.31 −6.10 : 47.0
5 .31
→
0 58900 : 58900
~
~ x1 10.0 es la solución exacta del sistema. ♦
Observe que en este caso X = ~ =
.
x2 100
Ejemplo 3.5 Resuelva el siguiente sistema de ecuaciones lineales usando eliminación Gaussiana
con pivoteo parcial y obtenga una factorización PA = LU para la matriz A de coeficientes, asociada
con este método:
− x1 + 2x 2 − 3 x 3 = −2
3 x1 − 3 x2 − x 3 = −4
x +x = 3
1 2
− 1 2 − 3 : − 2 3 −3 −1 : −4
Max{ 13
, ,1} = 3 , p = ( 2,1,3 )
p = (12
, ,3) , ( AMb) = 3 −3 −1 : −4 → −1 2 −3 : −2
T
T
1 3 1 1 3
1 0 : 0 :
3 −3 − 1 : − 4
1
m21 = − , m31 =
1
3 3
1 1
1
E 21 − , E 31
3 10
3 10
→ − 1 − : −
3 3 3
1 2 1
:
13
3 3 3
3 − 3 −1 : − 4
Max { 12
, } = 2, p = ( 2,3 ,1)
T 1 1 13
→ 2 :
3 3 3
− 1 −
1 10
: −
10
3 3 3
(Observe que la permutación se hace para las filas 2 y 3 completas, es decir, incluyendo los
multiplicadores)
3 1 −3 −1 : −4
m 32 =
2
1
1
E 32
2 1 13
→
3
2 :
3 3
− 1 1
−
7
−
11
:
3 2 2 2
La eficiencia en el método indicado se debe a que en la misma matriz de trabajo se almacenan los
multiplicadores que van a conformar la matriz L (en el ejemplo son los números que se encuentran
dentro de paréntesis), lo que significa un ahorro de memoria, y como los intercambios necesarios
afectan simultáneamente a las matrices L y U, se evita tener que volver a la matriz original a
realizar los intercambios ya observados y repetir la eliminación Gaussiana con pivoteo parcial. De
esta manera, al terminar el proceso de eliminación podemos leer en la matriz final la parte
estrictamente triangular inferior de L (son los números entre paréntesis) y la matriz triangular
superior U (que es la parte triangular superior de la matriz final), y en el vector p final quedan
almacenados los intercambios realizados que se usan para producir la matriz de permutación P.
1 0 0 3 −3 −1
1 0 1 0
1
L= 1 0 , U = 0 2 , y como p = (2,3,1) T , entonces 0 0 1 = P
3 3 1 0 0
1 1 7
− 1 0 0 −
3 2 2
(Verifique que PA = LU ) .
Para obtener la solución del sistema original, usamos sustitución regresiva en el sistema reducido
−4
13
UX =
3
11
−
2
12
4 4 3
c
y obtenemos
11 40 23
x3 = , x2 = y x1 =
7 21 21
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 26
__________________________________________________________________________________
T
23 40 11
así que la solución (exacta) del sistema dado es X = , , .
21 21 7
Paso 1. Calcular Pb .
Paso 2. Resolver, para c, Lc = Pb por sustitución progresiva.
Paso 3. Resolver, para X, UX = c por sustitución regresiva.
Como ejercicio, resuelva el sistema del ejemplo anterior, usando este algoritmo.
2) Encontrar la matriz inversa A −1 de una matriz invertible A, resolviendo los n-sistemas
( j)
AX = e , j = 12
, ,...,n
donde e( j ) = ( 0,...,0,1,0,...,0 ) ∈ R n .
T
↑
posición j
La solución X del sistema AX = e ( ) ,
j
j = 1,2,...,n , produce la correspondiente columna j-ésima
de la matriz A −1 .
Ejercicio 3.3 Calcule la inversa de la matriz A de coeficientes del sistema del ejemplo 3.5, usando
el método de Gauss-Jordan y también usando la factorización PA = LU . ♦
Un caso muy importante de sistemas de ecuaciones lineales, que requiere un tratamiento especial,
es el de los sistemas tridiagonales. Tales sistemas aparecen en diversas aplicaciones, como por
ejemplo al utilizar métodos de diferencias finitas en la solución de problemas con valores en la
frontera para ecuaciones diferenciales ordinarias y, como veremos más adelante, en el problema
de la interpolación segmentaria cúbica.
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 27
__________________________________________________________________________________
d1x1 + c1x 2 = b1
a 2 x1 + d2 x 2 + c 2 x3 = b2
a 3 x2 + d3 x 3 + c 3 x 4 = b3
M
an −1xn − 2 + dn −1xn −1 + c n −1xn = bn −1
an xn −1 + dn xn = bn
d1 c1 0 0 L 0
a2 d2 c2 0
0 a3 d3 c3
A=
M M
an −1 dn −1 cn −1
0 L 0 an dn
la cual se dice una matriz TRIDIAGONAL (caso especial de las llamadas matrices banda).
Suponiendo que la matriz A de coeficientes del sistema tridiagonal es E.D.D. por filas, podemos
usar eliminación Gaussiana simple para resolver el sistema (recuerde que la eliminación
Gaussiana simple es adecuada para resolver sistemas con matriz de coeficientes E.D.D. por filas).
Otra forma de resolver un sistema tridiagonal con matriz de coeficientes A E.D.D. por filas es a
partir de la factorización directa A = LU (encontrando directamente las componentes de las
matrices L y U, es decir, sin usar eliminación Gaussiana), donde L es triangular inferior con todos
sus elementos diagonales iguales a uno y U es triangular superior. Para encontrar tales matrices L
y U, partimos de que ellas deben ser de la forma
1 0 0 0 L 0 α 1 c1 0 0 L 0
γ 2 1 0 0 L 0 0 α2 c2 0 L 0
0 γ3 1 0 L 0 0 0 α3 c3 L 0
L= , U=
M O M O
0 γ n −1 1 0 0 0 α n −1 c n− 1
0 L 0 γn 1 0 L 0 0 αn
Como
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 28
__________________________________________________________________________________
α1 c1 0 0 L 0
γ
2 1α γ 2 1 + α2
c c2 0 0
0 γ 3α 2 γ 3c 2 + α3 c3 0
LU =
M M
0 γ n −1α n − 2 γ n −1c n −2 + α n− 1 c n −1
0 L 0 γ nα n− 1 γ n c n− 1 + α n
d1 c1
a2 d2 c2
a3 d3 c3
O O O
= =A
an −1 dn− 1 c n −1
dn
an
α1 = d1
γ iα i−1 = ai , i = 2,3,...,n
α 1 = d1
ai
γi =
α i−1 para i = 2,3,...,n
α i = di − γ i ci−1
Así que un algoritmo para determinar L y U, en el caso que nos ocupa es el siguiente:
Paso 1: Haga α1 = d1 .
Ejemplo 3.6 Resolver el siguiente sistema tridiagonal usando aritmética (decimal) con redondeo a
tres dígitos y la factorización A = LU .
.5 x1 + .25 x 2 = .35
.35 x1 + .8 x2 + .4 x 3 = .77
.25x 2 + x 3 + .5 x 4 = −.5
x 3 − 2x 4 = −2.25
Es claro que el sistema es tridiagonal E.D.D. por filas (ya que .5 > .25, .8 >.75 , 1 >.75, 2 > 1 ) .
1 0 0 0 α 1 .25 0 0
γ 1 0 0 0 α 2 .4 0
L = 2 , U =
0 γ3 1 0 0 0 α3 .5
0 0 γ4 1 0 0 0 α4
α1 = .5
.35
γ2 = = .7
.5
α 2 =.8 − (.7 )(.25) =.625
.25
γ3 = = .4
.625
. − (.4)(.4) = .84
α 3 = 10
.
10
γ4 = = 119
.
.84
α 4 = −2.0 − (119
. )(.5 ) = −2.60
Luego
1 0 0 0 .5 .25 0 0
L=
.7 1 0 0
y
U=
0 .625 .4 0
0 .4 1 0 0 0 .84 .5
0 0 119
. 1 0 0 0 −2.60
1 0 0 0 c1 .35
0 c 2 .77
Lc = b ⇔
.7 1 0
=
0 .4 1 0 c 3 −.5
0 0 119
. 1 c 4 −2.25
.5 .25 0 0 x1 .35
0 .625 .4 0 x2 .525
UX = c ⇔ =
0 0 .84 .5 x 3 −.71
0 0 0 −2.60 x 4 −1.41
x 4 = .542, x 3 = −117
. , x2 = 159
. , x1 = −.096
Luego la solución (aproximada) obtenida para el sistema dado, es X = ( −.096, 159 . , .542) .
~ T
. , − 117
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 31
__________________________________________________________________________________
Se puede probar (véase Kincaid 1972, página 133) que si A es una matriz real, simétrica y definida
positiva, entonces A tiene una única factorización de la forma A = LLT en la cual L es una matriz
triangular inferior con sus elementos en la diagonal principal todos positivos (no necesariamente
con unos en su diagonal principal). Esta factorización se conoce como factorización de Choleski
(recuerde que si A es definida positiva, entonces se puede realizar eliminación Gaussiana sobre A
sin intercambio de filas y todos los pivotes que resultan son positivos).
Para ilustrar cómo se obtiene la factorización directa de Choleski, es decir, sin usar eliminación
Gaussiana, supongamos que la matriz A es de orden 4. Entonces
Como l11l11 = a11 , entonces escogemos l11 = a11 , lo que requiere que a11 > 0 .
a 21
l21l11 = a 21 , entonces l21 = , l11 ≠ 0 .
l11
l221 + l222 = a22 , escogemos l22 = a 22 − l221 . Observe que a22 debe ser mayor o igual que cero.
a 31
l31l11 = a 31 , luego l31 = .
l11
a32 − l31l21
l31l21 + l 32l22 = a 32 , luego l32 = , l22 ≠ 0 , así que a22 > l221 ≥ 0 , esto es a22 > 0 .
l22
ai 1
De li 1l11 = ai 1 , obtenemos li 1 = .
l11
ai 2 − li 1l21
li 1l21 + li 2l22 = ai 2 , así que li 2 = .
l22
j− 1
ai j − ∑l i klj k
k =1
li j = , j = 2,...,i − 1
lj j
i −1
l i i = ai i − ∑l 2
ik
k= 1
Algoritmo 3.3 (Factorización directa de Choleski) Para factorizar una matriz A = a i j ( )n× n real,
simétrica y definida positiva en la forma A = LLT , donde L es triangular inferior.
ai 1
Paso 2: Para i = 2,..., n , tomar li 1 = (primera columna de L).
l11
Paso 3: Tomar l22 = a 22 − l221 .
1
i −1 2
Paso 6: Tome li i = ai i −
∑ li2k
.
k =1
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 33
__________________________________________________________________________________
Ejemplo 3.7 Diga si la siguiente matriz es simétrica y definida positiva, y si lo es, encuentre la
factorización directa de Choleski:
2 −1 0
A = −1 2 −1
0 −1 2
Es claro que la matriz A es simétrica, ya que A T = A . Para ver si la matriz A es definida positiva,
realicemos eliminación Gaussiana sobre la matriz A:
2 0
2 −1 0 E −1 2 −1 0 2 −1
21
3 E32 − 3 3
A = −1 2 −1 2→ 0 −1 → 0 −1
2 2
0 −1 2 0 −1 2 4
0 0
3
3 4
Como no hubo necesidad de intercambio de filas y todos los pivotes, 2, , , resultaron
2 3
positivos, la matriz dada es definida positiva y por lo tanto tiene factorización de Choleski.
l11 0 0
Sea L = l21 l22 0 tal que LLT = A , entonces
l l33
31 l32
1 3 3 6
l221 + l222 = 2 , entonces l22 = 2 − l221 = 2 − = = = .
2 2 2 2
( )
6 2 4 2 2 3
l33 = 2 − l231 + l232 = 2 − = 2− = = =
9 3 3 3 3
Así que
2 0 0
2 6
L = − 0
2 2
6 2 3
0 −
3 3
Ejercicio 3.4 Encuentre, si es posible, la factorización directa de Choleski para la siguiente matriz
4 1 1 1
−1 1
A=
1 3
♦
1 −1 2 0
1 1 0 2
Como ya se mencionó al comienzo de este capítulo, en los métodos iterativos para resolver
sistemas de ecuaciones lineales, se parte de una aproximación inicial a la solución, la cual se va
"mejorando" sucesivamente aplicando cierto algoritmo. Un método iterativo puede ser convergente
o divergente, y aunque el método iterativo converja, en general, sólo podemos esperar la obtención
de una solución aproximada, por efecto de los errores de truncamiento y/o redondeo. Entre las
ventajas de los métodos iterativos, comparados con los directos, están la simplicidad y uniformidad
de las operaciones que se realizan, ya que se usa repetídamente un proceso sencillo; y su relativa
insensibilidad al crecimiento de los errores de redondeo, es decir, usualmente los métodos
iterativos son estables.
Las matrices asociadas con los sistemas de ecuaciones lineales se clasifican en densas y
esparcidas. Las matrices densas tienen pocos elementos nulos y su orden es relativamente
pequeño ( ≤ 100 ) ; para sistemas con matrices densas se recomienda usar métodos directos. Las
matrices esparcidas tienen pocos elementos no nulos y surgen, por ejemplo, al resolver ecuaciones
diferenciales por métodos de diferencias finitas; su orden puede ser muy grande. Los métodos
iterativos son recomendados para resolver sistemas con matrices esparcidas.
Los métodos iterativos que estudiaremos son generalizaciones del método de iteración de punto
fijo:
X ( ) = BX ( ) + c ,
k k−1
k = 1,2,...
y se espera que {X ( ) } k
k
"converja" a la única solución X del sistema AX = b ( ⇔ X = BX + c ) ,
donde la convergencia se entiende en el siguiente sentido.
k ≥ N , entonces X − X( ) < ε .
k
Puede probarse que si una sucesión X
( k)
{ } k
de vectores de R n
Digamos que {X ( ) }
k
k
converge al vector X . Si usamos la norma vectorial . ∞
, entonces
lim X − X ( ) = 0 , y si X = ( x1,... xi ,..., xn ) T y X ( k) = x1( k) ,... xi( k ) ,..., xn( k ) , esto último significa
T
k
k →∞ ∞
( )
k
que: dado ε > 0 , existe N ∈N tal que si k ≥ N , entonces xi − xi < ε para todo i = 1,2,...,n (ya
(k) xi − x(i ) ) .
k
que X − X = Max
∞ 1≤i≤n
Si ai i ≠ 0 para todo i = 12
, ,...,n , entonces despejando xi de la i-ésima ecuación, obtenemos el
sistema equivalente
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 36
__________________________________________________________________________________
n
ai j
∑ − a
b
xi = xj + i , i = 12
, ,..., n
j =1 ii ai i
j≠ i
( )n× n con
Si B = bi j
ai j
− , i≠ j
ai i
bi j = i,j = 1,2,...,n
0, i = j
bi
y c = ( c1, c 2 ,..., c n )
T
, i = 1,2,...,n , entonces el sistema AX = b dado es equivalente al
con ci =
ai i
X ( ) = BX ( ) + c , k = 1,2,...
k k −1
( k −1) ( k− 1) T
X(
k −1)
= x1 ,..., xi ,..., x(n ) ,
k −1
donde, conocido se calcula la aproximación siguiente
n
( k− 1)
bi − ∑a
j =1
i jx j
x (i ) =
k j ≠i
, i = 1,2,...,n (3.12)
ai i
Escogida alguna norma vectorial (por ejemplo . ∞ ), alguna tolerancia ε > 0 y un número
máximo de iteraciones N, se termina el proceso iterativo, indicado en la fórmula (3.12), cuando se
satisfaga alguno de los siguientes criterios de aproximación:
( k) (k )
R( ) < ε , siendo R = AX − b ,
k
i)
X( ) − X ( ) < ε ,
k k−1
ii)
X( ) − X( )
k k −1
iii) <ε
X( )
k
~
Algoritmo 3.4 (Método de Jacobi) Para encontrar una solución aproximada X de un sistema
( )
AX = b , con A = ai j
n ×n
∈ R n ×n invertible, b ≠ 0 , y ai i ≠ 0 , i = 1,2,...,n .
Entrada: El orden n del sistema; las componentes (no nulas) ai j, i, j = 1,2,...,n de la matriz A; las
componentes bi , i = 1,...,n del vector de términos independientes; las componentes
x0 i , i = 1,2,...,n de una aproximación inicial X 0 = X ( ) ; una tolerancia Tol y un número
0
máximo de iteraciones N.
Paso 1: Tomar k = 1 .
Paso 5: Tomar k = k + 1 .
ANALISIS DE CONVERGENCIA
A =D−L−U
donde D es la matriz diagonal cuya diagonal es la diagonal principal de A (es dec ir,
D = diag(a11,a22 ,...,ann ) ) , − L es la matriz triangular inferior obtenida de la parte triangular
estrictamente inferior de A, y − U es la matriz triangular superior obtenida de la parte triangular
estrictamente superior de A. Entonces
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 38
__________________________________________________________________________________
AX = b ⇔ (D − L − U) X = b
⇔ DX − (L + U) X = b
⇔ DX = (L + U)X + b
⇔ X = D −1 (L + U) X + D− 1b
X ( ) = D −1 (L + U) X ( ) + D −1b , k = 1,2,...
k k −1
que se usa para efectos teóricos, mientras que la fórmula (3.12) se usa para los cálculos
numéricos.
X ( ) = BX ( ) + c , converge.
k k −1
Teorema 3.6 Si B < 1 para alguna norma matricial inducida, entonces la sucesión { X( ) } ,
k
k
generada por la fórmula de iteración
X ( ) = BX ( ) + c ,
k k −1
k = 1,2,...
X − X( ) ≤ B X − X( ) , k ≥ 1
k k 0
i)
k
B
ii) X − X(k) ≤ X ( 1) − X ( 0 ) , k ≥1
1− B
X − X( ) ≤
B
X( ) − X( ) , k ≥ 1
k k k −1
iii)
1− B
Demostración: Para demostrar que el sistema X = BX + c tiene sólo una solución, basta probar
que el sistema homogéneo X = BX , es decir, (I − B)X = 0 , tiene solución única X = 0 , ya que si
(I − B)X = 0 tiene solución única, entonces I − B es invertible y entonces (I − B) X = c tiene solución
única, y como (I − B)X = c es equivalente a X = BX + c , entonces este último sistema tiene
solución única.
Si X es solución de X = BX , entonces
0 ≤ X = BX ≤ B X
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 39
__________________________________________________________________________________
Si (k )
B = 0 , entonces B = 0 y se tendría X = c para todo k = 12
, ,... , y {X ( ) }
k
k
converge a c,
que es la única solución de X = c .
Ahora,
k
(
X − X( ) = B X − X( ) ,
k −1
) k = 1,2,...
0 ≤ X − X( ) ≤ B X − X(
k −1)
X − X(
k− 2 )
X − X( )
k 2 k 0
≤ B ≤... ≤ B (3.13)
X − X ( ) → 0 cuando k → ∞ , es
k k
Como B → 0 cuando k → ∞ (pues 0 ≤ B < 1 ), entonces
decir, { X( ) }
k
k
converge a X .
De (3.13), obtenemos
X − X( ) X − X( )
k k 0
i) ≤ B
De otro lado,
X − X ( ) = X − X ( ) + X ( ) − X( ) ≤ X − X ( ) + X ( ) − X ( )
0 1 1 0 1 1 0
X − X( ) + X( ) − X( )
0 1 0
≤ B
Así que
(1 − B ) X − X( ) ≤ X( ) − X( )
0 1 0
X − X( ) X( ) − X( )
0 1 1 0
≤ (3.14)
1− B
k
y entonces multiplicando a ambos lados de (3.14) por B , obtenemos
k
B
X − X( ) X − X( ) X( ) − X( )
k k 0 1 0
≤ B ≤
↑ 1− B
usando i )
de donde se obtiene
k
X − X( ) ≤
B
X( ) − X( )
k 1 0
ii)
1− B
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 40
__________________________________________________________________________________
Finalmente,
X − X(
k −1)
= X − X ( ) + X ( ) − X ( ) ≤ X − X ( ) + X( ) − X ( )
k k k −1 k k k− 1
X − X(
k −1)
+ X ( ) − X( )
k k −1
≤ B
así que
(1 − B ) X − X(
k −1)
≤ X( ) − X( )
k k −1
X − X(
k −1)
X( ) − X( )
1 k k −1
≤ (3.15)
1− B
y entonces multiplicando a ambos lados de (3.15) por B , obtenemos
B
X − X( ) X − X(
k −1)
X( ) − X( )
k k k −1
≤ B ≤
1− B
lo que implica
B
X − X( ) X( ) − X( )
k k k− 1
iii) ≤ ∇
1− B
k
X − X( )
B
X ( ) − X ( ) , en el teorema 3.6 anterior, válida
k 1 0
Nota: La desigualdad ii) ≤
1− B
para B < 1 , nos dice que entre más "pequeña" sea B , más "rápida" será la convergencia del
X − X( )
k
método iterativo. Las cotas para el error de truncamiento , dadas en el teorema 3.6,
( k)
permiten analizar la calidad de una solución aproximada X .
filas:
n
ai i > ∑ ai j
j =1
j ≠i
luego
n n
ai j ai j
∑
j =1
ai i
= ∑
j=1
−
ai i
< 1 , i = 12
, ,..., n
j ≠i j≠i
de donde
n
ai j
Max
1≤i≤n
∑
j =1
−
ai i
<1
j≠ i
Pero
n n
ai j
BJ ∞
= Max
1≤i≤n
∑j =1
bi j = Max
1≤ i ≤ n
∑ −a
j=1 ii
(pues b i i = 0 )
j ≠i
así que BJ ∞
< 1. ∇
Teorema 3.7 Si la matriz A en un sistema AX = b es E.D.D. por filas, entonces el método iterativo
( 0)
de Jacobi converge a la única solución X del sistema AX = b , cualquiera sea X , y se tienen las
( k)
cotas para el error X − X , dadas en el teorema 3.6. ∇
∞
Se dispone, además, del siguiente resultado cuya demostración puede consultarse en Burden,
1985, páginas 469 y 470:
X ( ) = BX ( ) + c, k = 12
k k −1
, ,..., c ≠ 0 , converge a la única solución X del sistema X = BX + c si y
sólo si ρ (B) < 1. ∇
Como una aplicación particular del teorema 3.8 se tiene que: El método iterativo de Jacobi
converge a la única solución X del sistema X = BJ X + c si y sólo si ρ (B J ) < 1 .
2x1 − x 2 + x3 = −1
x1 + x2 + 3 x3 = 0
3x + 3x + 5x = 4
1 2 3
Lo primero que observamos es que el método de Jacobi es aplicable a este sistema, ya que la
matriz de coeficientes del sistema dado tiene todas sus componentes diagonales no nulas.
Empecemos observando que la matriz A de coeficientes del sistema no es E.D.D. por filas (ya que
2 ≤ − 1 + 1 ), así que para el estudio de la convergencia del método de Jacobi debemos
encontrar la matriz de iteración B J .
x1 1 1 x1 1
0 − −
2 2 2
x2 = −1 0 −3 x2 + 0
3 3 4
− 5 − 5 0 5
{
x 3 144 x3 123
{
424443
X BJ X c
7
Como BJ ∞
= 4 > 1 ( BJ 1
= > 1) no podemos concluir sobre la convergencia del método de
2
Jacobi (a partir de las normas . ∞
, . 1 ), así que debemos estudiar el radio espectral ρ(B J ) , de
la matriz de iteración B J .
Como
1 1
−λ −
2 2 8 3
det (B J − λI) = −1 −λ −3 = −λ3 + λ +
3 3 5 5
− − −λ
5 5
8 3
entonces la ecuación característica de la matriz B J es − λ3 + λ + = 0 , cuyas raíces son
5 5
Instrucciones en DERIVE:
En situaciones como la del ejemplo 3.8, se recomienda reordenar las ecuaciones del sistema dado,
de modo que la matriz de coeficientes del sistema reordenado sea lo más cercana posible a una
matriz E.D.D. por filas (colocando primero las ecuaciones que tienen un coeficiente dominante y
luego las restantes).
2x1 − x 2 + x 3 = −1
3 x1 + 3 x2 + 5 x 3 = 4
x + x + 3x = 0
1 2 3
Observe que la matriz de coeficientes de este sistema reordenado tampoco es E.D.D. por filas.
−1 + x(2 ) − x(3 )
k −1 k −1
x1( ) =
k
,
2
( k −1) ( k −1)
4 − 3 x1 − 5 x3
x (2 ) =
k
, k = 12
, ,...
3
− x(1 ) − x(2 )
k −1 k −1
x3( k)
= ,
3
x( k ) ( k −1)
1 1 1 x1 1
0 − − 2
2 2 4
x(2k ) = −1 0 − x(2 ) +
5 k −1
, k = 12
, ,...
3 3
1 1
( k ) − 3 − 3 0 ( k −1)
x
x 3 14442444 120
3 3 3
123 BJ 1 424 3 c
X( ) X( )
k k − 1
8 13
Como BJ ∞
=
> 1 ( BJ 1 = > 1 ), entonces nada se puede afirmar sobre la convergencia del
3 6
método de Jacobi (a partir de las normas B J ∞ , B J 1 ), por tanto debemos encontrar ρ(B J ) . La
ecuación característica de B J es
2 1
− λ3 + λ+ =0
9 9
cuyas raíces son
entonces, según el teorema 3.8, el método iterativo de Jacobi converge a la única solución X del
sistema reordenado, cualquiera sea la aproximación inicial X ( 0 ) .
Iterando con el método de Jacobi, tomando como aproximación inicial X ( ) = (0,0,0) , y usando
0 T
X( ) − X( )
16 15
Como ≈ 7.5E − 4 < .001 y k = 16 es el primer entero positivo para el cual
∞
X( ) − X( )
k k −1
< .001 , entonces
∞
Instrucción en DERIVE:
X ( ) − X , dadas en el
16
Como no se pueden aplicar las cotas para el error de truncamiento
teorema 3.6 (ya que no se satisface la condición B J < 1 para las normas calculadas
X( ) − X
16
∞
BJ ∞
, BJ 1
), entonces vamos a usar las cotas para el error relativo , dadas en el
X ∞
teorema 3.3:
R( ) X( ) − X R( )
16 16 16
1
≤ Cond ∞ ( A)
∞ ∞ ∞
≤
b ∞
Cond ∞ ( A ) X ∞
b ∞
2 −1 1 −1
A = 3 3 5 y b = 4
3 3 9 0
Si hacemos los cálculos indicados, obtenemos
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 45
__________________________________________________________________________________
X( ) − X
16
∞
5 × 10 −6 < 16
. ...×10 − 5 ≤ ≤ .011... < .05 = 5 × 10 −2
X ∞
Extendiendo de manera natural, los conceptos de cifras significativas y cifras decimales exactas
para vectores, dados en el capítulo 1 para escalares, podemos concluir, a partir de la última
desigualdad, que X ( ) = .99873, 19994
( )
16 T
. , −.99901 aproxima a la solución exacta X del sistema
dado con una precisión de por lo menos dos cifras significativas (y no más de cinco). Se puede
verificar que la solución exacta del sistema dado es X = (1, 2, − 1) . ♦
T
Observe que el método de Jacobi es aplicable a este sistema, pero nuevamente como en el
ejemplo anterior, la matriz de coeficientes del sistema dado no es E.D.D. por filas, así que para
estudiar la convergencia del método de Jacobi debemos encontrar la matriz de iteración BJ .
Se ve fácilmente que la matriz de iteración del método de Jacobi es, en este caso, la siguiente
matriz
1
0 −5 0
2
0 1 8
0 −
BJ = 3 3
1
−5 2
0 0
1 − 11 1 0
3 3 3
11
Como BJ ∞ = > 1 ( B J 1 > 1), entonces todavía no podemos concluir acerca de la
2
convergencia del método de Jacobi ( apartir de las normas B J ∞ , BJ 1 ) . Encontremos
entonces el radio espectral de la matriz de iteración BJ .
629 2 31
λ4 − λ + λ + 240 = 0
18 18
cuyas raíces son
10 x1 − x2 + 2x 3 = 6
− x1 + 11x 2 − x3 + 3 x 4 = 25
2x1 − x 2 + 10 x 3 = −11
3x2 − x 3 + 8 x4 = −11
obtenemos un sistema equivalente AX = b donde A sí es E.D.D. por filas, así que, según el
teorema 3.7, el método iterativo de Jacobi converge a la única solución del sistema, cualquiera sea
( 0)
la aproximación inicial X , y se tienen cotas para el error de truncamiento X ( ) − X .
k
∞
x ( k) ( k −1)
1 0 1
−
2 x1 6
0
10 10 ( k −1) 10
( k) 1 1 3 25
x2 0 − x2
= 11 11 11 + 11
( k) − 2 1
( − ) − 11
x 3 10 0 0 x 10
k 1
10
11
3
3 1
( k) 0 − 0 k −1 −
x 14444 ( ) 8
4 84244444
8 3 x 4 123
123 BJ 14 2 4 3 c
X( k ) X( k −1)
4 1 23
Observe que BJ ∞
= = < 1 ( BJ 1
= < 1) .
8 2 40
Los resultados obtenidos en las iteraciones aplicando el método de Jacobi, empezando con
X ( 0 ) = ( 0,0,0,0 ) y usando como criterio de aproximación X ( ) − X ( )
T k k −1
< .001 , son
∞
M
X ( ) = (11040, 2.9958, − 1.0210, − 2.6262)
8 T
.
Sólo fueron necesarias k = 9 iteraciones para alcanzar la tolerancia dada. Con cuántas cifras
decimales exactas aproxima X ( 9 ) a X ? (ejercicio) ♦
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 47
__________________________________________________________________________________
( 0) ( 0) ( 0) T
Se inicia el proceso iterativo con una aproximación inicial X ( ) = x1 , x2 ,..., xi ,..., x(n ) . A partir
0 0
( 1) (1) ( 1) T
de este vector se obtiene la primera aproximación X ( ) = x1 ,x 2 ,..., xi ,...,xn( ) , mediante las
1 1
n n
∑ a1jx (j ) b2 − a 21 x1( ) − ∑a ( 0)
0 1
b1 − 2 j xj
x1( ) = x (2 ) =
1 j= 2 1 j= 3
,
a11 a 22
i −1 n
( 1) − ( 0)
bi − ∑a i jx j ∑a i j xj
xi( ) =
1 j =1 j =i +1
ai i
y
n −1
( 1)
bn − ∑a n j xj
x (n ) =
1 j =1
an n
El paso genérico es:
( k −1) ( k −1) T
Conocida la aproximación X (
k −1)
= x1 ,..., xi ,..., x n( ) , se obtiene la aproximación siguiente
k −1
(k) (k) T
X ( ) = x1 ,..., xi ,..., xn( ) , usando las fórmulas
k k
n
( k −1)
b1 − ∑a 1j x j
x1( ) =
k j= 2
a11
para i = 2,3,..., n − 1 ,
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 48
__________________________________________________________________________________
i −1 n
∑ ai j x(j ) − ∑a ( k −1)
k
bi − i j xj
x i( ) =
k j= 1 j = i +1
(3.16)
ai i
n −1
(k)
bn − ∑a n j xj
x (n ) =
k j= 1
an n
~
Algoritmo 3.5 (Método de Gauss-Seidel) Para encontrar una solución aproximada X de un
( )
sistema AX = b , A = ai j n ×n ∈ R n × n invertible, b ≠ 0 y ai i ≠ 0 para todo i = 1,2,...,n .
Entrada: El orden n del sistema; las componentes no nulas ai j , i,j = 1,2,...,n de la matriz A; las
componentes b i , i = 1,2,...,n del vector de términos independientes; las componentes
x0 i , i = 1,2,...,n de una aproximación inicial X 0 = X ( ) ; una tolerancia Tol, y un número
0
máximo de iteraciones N.
Paso 1: Tomar k = 1 .
n
b1 − ∑a
j =2
1j x0 j
Paso 3: Tomar x1 = .
a11
n −1
bn − ∑a n j xj
j =1
Paso 5: Tomar xn = .
an n
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 49
__________________________________________________________________________________
Paso 6: Si X − X 0 < Tol , entonces salida: "Una solución aproximada del sistema es
X = ( x1, x2 ,..., xn ) ". Terminar.
~ T
Paso 7: Tomar k = k + 1 .
Paso 9: Salida: "Se alcanzó el número máximo de iteraciones N pero no la tolerancia". Terminar.
ANÁLISIS DE CONVERGENCIA
Al igual que en el método de Jacobi, con el propósito de analizar la convergencia del método de
Gauss-Seidel, veamos cuál es la fórmula vectorial de iteración del método de Gauss-Seidel
X ( ) = BX ( ) + c , k = 12
k k −1
, ,...
Multiplicando a ambos lados de la ecuación (3.16) por ai i y asociando los k-ésimos términos
iterados, obtenemos
i n
∑ ai jx (j ) =
k
∑ (− a )x( ij j
k −1)
+ bi (3.17)
j =1 j = i+ 1
(D − L) X ( k ) = UX ( k −1) + b
o equivalentemente
X ( k ) = (D − L) UX ( ) + (D − L ) b, k = 1,2,...
−1 k− 1 −1
14243
BG
siempre que la matriz D − L (triangular inferior) sea invertible, o sea si ai i ≠ 0 para cada
i = 1,2,..., n .
La fórmula anterior se conoce como fórmula vectorial de iteración del método de Gauss-Seidel,
y la matriz BG = (D − L ) U se llama matriz de iteración del método de Gauss-Seidel.
−1
Recuérdese que según el teorema 3.6: Si B G < 1 para alguna norma matricial inducida,
entonces la sucesión X { }
(k)
, k = 0,1,... , obtenida en el método de Gauss-Seidel, converge a la
k
( 0)
única solución X del sistema X = BG X + c para cualquier X ∈R n , y se tienen las cotas para el
También se tiene, de acuerdo con el teorema 3.8, que: Para cualquier X ( ) ∈R n , la sucesión
0
{ }
X ( ) , con
k
k
X ( ) = BG X ( ) + c,
k k −1
k = 1,2,..., c ≠ 0
2 x1 − x2 + x 3 = −1
x1 + x2 + 3 x 3 = 0
3 x + 3 x + 5 x = 4
1 2 3
Como la matriz de coeficientes no es E.D.D. por filas, nada podemos decir todavía acerca de la
convergencia del método de Gauss-Seidel, así que debemos encontrar la matriz de iteración del
método de Gauss-Seidel, BG . Una forma de encontrarla es la siguiente:
Las fórmulas escalares de iteración del método de Gauss-Seidel para el sistema dado, son
k −1 + x(2 ) − x(3 )
k −1 k −1
x(1 ) = ,
2
(k) (k) ( k− 1)
x 2 = − x1 − 3 x 3 , k = 12
, ,...
( )
k ( )
k
( k ) 4 − 3 x1 − 3 x2
x3 = 5
,
x (2 ) , en términos de x (2 ) y x (3 ) :
k k −1 k− 1
( k −1) ( k −1)
( k ) 1 − x 2 − 5 x3
x2 =
2
( k) (k )
Ahora se reemplazan x1 y la última expresión obtenida para x 2 , en la fórmula de iteración para
x (3 ) , con lo cual se obtiene
k
4 + 9 x(3 )
k −1
x(3 ) =
k
5
Así que, finalmente, se tiene el siguiente esquema de iteración
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 51
__________________________________________________________________________________
−1 + x(2 ) − x3( )
k −1 k −1
x(1 ) =
k
,
2
( k −1) ( k −1)
1 − x2 − 5 x3
x(2 ) =
k
, k = 12
, ,...
2
4 + 9 x3( )
k −1
x(3 ) =
k
,
5
x1( k ) x( k −1)
1 1 1 1
− −
0
2 2
( k) k −1 12
x2( ) +
1 5
x2 = 0 − − , k = 12
, ,...
2 2 2
0 9 4
0 ( k −1) 5
x ( k) x3 123
3 14424453
123 BG 12
4 4 3 c
X( ) X ( k− 1)
k
que constituye la fórmula vectorial de iteración del método de Gauss-Seidel para el sistema dado.
1
0 0
2 0 0 2 0 1 − 1
1
Como D − L = 1 1 0 , entonces (D − L) = −
−1
1 0 , y como U = 0 0 −3 , entonces
3 3 5 0 0 0
2
3 1
0 −
5 5
1 1
0 −
2 2
1 5
BG = (D − L ) U = 0 −
−1
−
2 2
9
0 0
5
Como BG ∞
= 3 > 1 ( BG 1
> 1 ), todavía no podemos concluir acerca de la convergencia del
1 9 9
método de Gauss-Seidel; pero como ρ(B G ) = Max 0 , − , = > 1 , entonces el método de
2 5 5
Gauss-Seidel diverge (recuerde que si una matriz es triangular superior o inferior, entonces los
valores propios de tal matriz son los números que aparecen en su diagonal principal).
Observe que el número cero es siempre un valor propio de la matriz de iteración B G , así que,
en particular, BG siempre es singular (no invertible).
Instrucción en DERIVE:
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 52
__________________________________________________________________________________
Una reordenación del sistema dado, de modo que la matriz de coeficientes del sistema resultante,
sea lo más cercana posible a una matriz E.D.D. por filas, es
2 x1 − x2 + x 3 = −1
3 x1 + 3x 2 + 5 x 3 = 4
x + x + 3x = 0
1 2 3
Las fórmulas escalares de iteración del método de Gauss-Seidel para encontrar una aproximación
de la solución de este sistema reordenado, son
−1 + x2( ) − x 3( )
k −1 k− 1
x1( ) =
k
,
2
( k) ( k −1)
4 − 3 x1 − 5 x3
x (2 ) =
k
, k = 12
, ,...
3
− x1( ) − x2( )
k k
(
x3 =
k)
,
3
Dado que
1
0 0
2 0 0 2 0 1 −1
1 1
D − L = 3 3 0 , (D − L ) = − 2
−1
0
y U = 0 0 −5
1 1 3 3 0 0 0
1 1
0 −
9 3
entonces
1 1
0 −
2 2
BG = (D − L ) U = 0 −
−1 1 7
−
2 6
5
0 0
9
Como BG ∞
> 1 ( BG 1
> 1 ), todavía no podemos concluir sobre la convergencia del método de
5 5
Gauss-Seidel, pero como ρ(BG ) = Max 0, −
1
, = < 1 , entonces el método de Gauss-
2 9 9
Seidel converge a la única solución del sistema dado, cualquiera sea la aproximación inicial.
X( ) − X( )
k k −1
aproximación < .001 , se obtienen los siguientes resultados:
∞
Instrucción en DERIVE:
2x1 − x 2 + 10 x 3 = −11
3 x2 − x 3 + 8 x 4 = −11
10 x1 − x2 + 2x 3 = 6
− x1 + 11x 2 − x3 + 3 x4 = 25
(que es el mismo sistema del ejemplo 3.9), encontramos que la matriz de coeficientes de este
sistema no es E.D.D. por filas, así que para estudiar la convergencia del método de Gauss-Seidel
debemos considerar la matriz de iteración B G .
Se puede ver que
1
0 −5 0
2
0 1 8
0 −
BG = (D − L ) U = 3
−1 3
5 151 4
0 − 2 6
−
3
28
0 − 2 11
3 2 3
y como BG ∞
> 1 ( BG 1
> 1 ), entonces por ahora nada podemos afirmar acerca de la
convergencia del método de Gauss-Seidel; pero se puede ver que la ecuación característica de la
matriz de iteración BG , es
621 3 4343 2
λ4 − λ + λ =0
18 18
cuyas raíces son λ1,2 = 0 (es decir, λ = 0 es raíz doble), λ 3 ≈ 24.7523, λ 4 ≈ 9.74768 . Por lo
tanto ρ(B G ) > 1 , lo que implica que el método de Gauss-Seidel diverge.
Si reordenamos el sistema de modo que la matriz de coeficientes del nuevo sistema equivalente
sea lo más cercana posible a una matriz E.D.D. por filas, obtenemos el sistema
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 54
__________________________________________________________________________________
10 x1 − x 2 + 2 x3 = 6
− x1 + 11x2 − x 3 + 3x 4 = 25
2 x1 − x2 + 10 x3 = −11
3 x 2 − x3 + 8 x4 = −11
cuya matriz de coeficientes es E.D.D. por filas. Así que el método de Gauss-Seidel converge a la
única solución del sistema dado, cualquiera sea la aproximación inicial y se tienen cotas para el
error de truncamiento X ( k) − X , según el teorema 3.9. Si iteramos con el método de Gauss-
X ( 0 ) = ( 0,0,0,0 )
T
Seidel, empezando con y usando como criterio de aproximación
Si comparamos los resultados de los ejemplos 3.8 y 3.9, obtenidos por el método de Jacobi, con
los obtenidos en los ejemplos 3.10 y 3.11 por el método de Gauss-Seidel, vemos que el método de
Gauss-Seidel es de convergencia más rápida; esto es lo que generalmente ocurre cuando ambos
métodos convergen. Anotamos que hay sistemas lineales para los cuales un método converge y el
otro diverge.
3.8.3 Método SOR (Successive Over-Relaxation): Este método fue ideado para acelerar la
convergencia del método de Gauss-Seidel. La idea del método es que para producir un nuevo
(k ) (k ) ( k −1)
valor xi se ponderan los valores xi actual, obtenido por Gauss-Seidel, y x i anterior, como
se indica a continuación:
X( )
0
Dada una aproximación inicial y calculada la aproximación
X(
k −1)
= x1( ) ,x(2 ) ,...,x(i ) ,...,x(n ) ,
T
k −1 k −1 k −1 k −1
se calcula la aproximación siguiente
( k ) ( k) ( k) T
X ( ) = x1 ,x 2 ,...,x i ,...,x (n ) , de acuerdo con las fórmulas siguientes:
k k
n
a1j x(j )
∑ k −1
b1 −
x1( ) = (1 − w) x(1 ) + w
k k −1 j= 2
a11
para i = 2,...,n − 1 :
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 55
__________________________________________________________________________________
i −1
( k −1)
n
bi − ∑ a i j x(j ) − ∑a
k
i jx j
( k) ( k− 1)
xi = (1 − w) xi + w j= 1 j = i +1
(3.18)
ai i
n −1
bn − ∑ a n j x(j )
k
x n( k) = (1 − w) x(nk −1) + w j =1
an n
donde w es un parámetro, llamado de aceleración. Más adelante mostraremos que la variación de
w debe ser 0 < w < 2 , para que el método pueda converger.
Las fórmulas anteriores son llamadas fórmulas escalares de iteración del método SOR.
Para 0 < w < 1 el método se denomina de sub-relajación y se puede usar para obtener
convergencia en algunos sistemas para los cuales el método de Gauss-Seidel no es convergente.
Para 1 < w < 2 el método se denomina de sobre-relajación y se puede usar para acelerar la
convergencia en algunos sistemas que son convergentes por el método de Gauss-Seidel.
La escogencia del valor óptimo de w se hace de modo que ρ (B w ) sea mínimo, donde B w es la
matriz de iteración del método SOR.
Se puede obtener, siguiendo la misma idea que se usó en el método de Gauss-Seidel, la fórmula
vectorial de iteración del método SOR:
k
14444
[
4244444 3
k −1
]
X ( ) = (D − w L) (1 − w)D + wU X ( ) + w(D − wL) b
−1 −1
(3.19)
Bw
En efecto:
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 56
__________________________________________________________________________________
Pero
[
det (D − wL)
−1
] = det(D1− wL) = detD
1
y
[ ] [ ]
det (1 − w )D + wU = det (1 − w )D = (1 − w ) detD
n
así que
det(B w ) =(1 − w )n detD = (1 − w ) n
1
detD
De otro lado, como det(B w ) = λ 1λ 2 ... λ n donde λ 1, λ 2 ,..., λ n son los valores propios de la matriz
B w , entonces
En el siguiente teorema, cuya prueba puede consultarse en Ortega, 1990, página 123, se
establecen condiciones suficientes para la convergencia del método SOR:
Teorema 3.10 Si A es una matriz real, simétrica y definida positiva, entonces el método SOR
converge a la única solución X del sistema AX = b para cualquier elección de la aproximación
( 0)
inicial X ∈R n y cualquier valor de w con 0 < w < 2 . ∇
Si Bw < 1 para alguna norma matricial inducida, entonces el método SOR converge a la única
( 0)
solución X del sistema X = B w X + c , c ≠ 0, cualquiera sea la aproximación inicial X ∈R n , y se
~
Algoritmo 3.6 (Método SOR) Para encontrar una solución aproximada X de un sistema AX = b
con A invertible, b ≠ 0 y ai i ≠ 0 para todo i = 1,2,...,n , dado un valor del parámetro w con
0<w <2:
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 57
__________________________________________________________________________________
Entrada: El orden n del sistema; las componentes no nulas ai j , i, j = 1,2,...,n de la matriz A; las
componentes b i , i = 1,2,..., n del vector de términos independientes b; las componentes
x0 i , i = 1,2,..., n de una aproximación inicial X 0 = X ( ) ; un valor del parámetro w; una
0
Paso 1: Tomar k = 1 .
n
b1 −
∑
a1 j x0 j
Paso 3: Tomar x1 = (1 − w ) x0 1 + w j= 2
a11
i −1 n
bi −
∑ ai jx j − ∑a i j x0 j
x i = (1 − w ) x0 i + w j =1 j = i +1
ai i
n −1
bn −
∑
an j x j
Paso 5: Tomar xn = (1 − w) x0 n + w j =1
an n
Paso 7: Tomar k = k + 1 .
Paso 9: Salida: "Se alcanzó el número máximo de iteraciones N pero no la tolerancia". Terminar.
4 x1 + 3 x 2 =1
1
3 x + 4 x 2 − x 3 =1
− x2 + 4 x 3 = 1
( k− 1)
x1( k ) = (1 − w) x(1k −1) + w 1 − 3 x 2
4
1 − 3 x ( k) + x ( k −1)
(k) ( k −1)
2
x = (1 − w ) x 2 + w
1
4
3 ,
k = 12
, ,..., 0<w<2
(k) (k)
( k −1) + w 1 + x 2
x 3 = (1 − w) x 3
4
Como el método de Gauss-Seidel converge, en este caso, podemos pensar en utilizar el método
SOR para acelerar la convergencia del método de Gauss-Seidel; así que tomaremos valores de w
con 1 ≤ w < 2 .
Para w = 10
. (Gauss-Seidel):
(
X ( ) = .25000, 6.2500 × 10 −2 , .26563 )
1 T
X ( ) = 11546 ( )
T
× 10 −3 , .33237, .33309
13
. ≈X
Para w = 12
. :
(
X ( ) = .30000, 3.0000 × 10 −2 , .30900 )
1 T
(
X ( ) = 3.5372 × 10 − 4 , .33310, .33329 )
9 T
≈X
Para w = 125
. :
(
X ( ) = .31250, 19531 )
T
× 10 −2 , .31860
1
.
M
(
X ( ) = 6.4330 × 10 − 5 , .33331, .33333 )
8 T
≈X
Para w = 13
. :
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 59
__________________________________________________________________________________
(
X ( ) = .32500, 8.1250 × 10 −3 , .32764 )
1 T
(
X ( 6 ) = −12411 )
T
. × 10 −3 , .33427, .33335 ≈X
Para w = 14
. :
(
X ( ) = .35000, − 17500 )
T
× 10 − 2 , .34388
1
.
M
(
X ( 8 ) = 9.7704 × 10 −4 , .33286, .33315 )
T
≈X
Observando los resultados anteriores, se puede concluir que, para este ejemplo, el valor óptimo del
parámetro w debe estar cerca de 1.3, y para este valor de w la convergencia del método SOR es
más rápida. ♦
Instrucciones en DERIVE:
Ejemplo 3.13 Si aplicamos el método SOR para resolver el sistema de ecuaciones lineales
10 x1 − x 2 + 2x 3 = 6
− x + 11x − + =
1 2 x3 3 x4 25
2 x1 − x 2 + 10 x3 = −11
3 x2 − x 3 + 8 x 4 = −11
Para w = 15
. :
X ( ) = (.90000, 3.5318, − 13902, − 4.3098)
1 T
.
X ( ) = (13968 )T
2
. , 3.4072, −.86286, − 19859
.
M
X ( 13 )
= (11041
. , 2.9965, − 1.0210, − 2.6260) ≈ X
T
Para w = 18
. :
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 60
__________________________________________________________________________________
X ( ) = (10800 , − 5.7158 )
1 T
. , 4.2676, − 16006
.
Analice la convergencia del método SOR en cada uno de los casos anteriores. ♦
f1 ( x1, x2 ,..., xn ) = 0
f2 ( x1, x 2 ,..., xn ) = 0
M
f ( x , x ,..., x ) = 0
n 1 2 n
fi : Di → R, D i ⊆ R n
X = ( x1,..., xn ) → fi ( X) = y
y alguna fi es no-lineal.
f1
f2
Si hacemos F ≡ y X = ( x1, x 2 ,..., x n ) , el sistema anterior puede ser escrito en la forma vectorial
M
n
f
F ( X) = 0 con F: D → R n, D ⊆ Rn .
El problema de hallar las soluciones reales de un sistema no-lineal es mucho más difícil que el
problema de hallar las raíces reales de una sola ecuación no-lineal (en una variable), y mucho más
que el problema de resolver un sistema lineal de ecuaciones.
Aunque estudiaremos ciertos métodos que convergen a una solución, no existe un criterio general
para saber cuántas soluciones tiene un sistema no-lineal dado, e incluso es posible que el sistema
no tenga solución, como ocurre con el siguiente sistema
xy = 1
y=0
Un posible método (directo) para resolver sistemas no-lineales de ecuaciones puede ser el de
reducción de variables.
E1: x + y = 1
2 2
E2 : xy = 0
FIGURA 3.1
En general, este método no es fácil de aplicar, pues la eliminación de variables puede ser muy
difícil ó incluso imposible de realizar.
Estudiaremos los métodos iterativos de Punto Fijo y Newton-Raphson para aproximar soluciones
reales de sistemas no-lineales.
3.9.1 Iteración de Punto Fijo para sistemas no-lineales: Dado un sistema no-lineal de n-
ecuaciones con n-incógnitas, F ( X) = 0 ( F: D → R n , D ⊆ R n ), el método de Punto Fijo para
resolver este sistema consiste en transformar dicho sistema en otro equivalente (por lo menos en
forma local) del tipo X = G ( X ) para alguna función G: D ′ → R n , D′ ⊆ D .
f1 ( x, y) = 0 f
F( X ) = 0 con F ≡ 1
f 2 ( x, y) = 0 f2
X( ) = G X( ) ,
k k −1
( ) k = 1,2,...
se convierte en
1 (
x( k ) = g x( k −1) , y ( k −1) ,
)
k = 12
, ,....
( )
( k) ( k −1) , y ( k −1) ,
y = g2 x
1 (
x ( k) = g x ( k −1) , y ( k −1) ,
)
k = 12
, ,....
( )
(k) ( k ) ( k −1) ,
y = g2 x , y
que usa el valor ya calculado x ( ) , y que no es otra cosa que el método de Gauss-Seidel para
k
sistemas no-lineales.
El siguiente teorema general, cuya demostración puede ser consultada en Ortega, 1990, página
153, da condiciones suficientes (no necesarias) para la convergencia de la sucesión X
(k)
{ } k
generada por la fórmula de iteración de Punto Fijo
(
X ( ) = G X ( ) , k = 1,2,...
k k−1
)
Teorema 3.11 Sea D = { ( x , x ,...., x ) ∈ R
1 2 n
n
a i ≤ xi ≤ bi, i = 1,2,..., n } para alguna colección de
g1
constantes reales ai , b i , i = 12
, ,..., n . Supongamos que G: R → R n n
con G ≡ M , es tal que
g
n
∂ gj ( X)
derivadas parciales , i = 12
, ,...,n , son continuas en D . Entonces G tiene un punto fijo en
∂ xi
D.
Si, además, existe una constante M, con 0 ≤ M < 1 , tal que para cada i = 1,2,...,n
∂ g j (X ) M
≤ , siempre que X ∈ D ,
∂ xi n
( )
X ( ) = G X ( ) , k = 1,2,...
k k−1
( 0)
converge al punto fijo P , cualquiera sea la escogencia de X ∈ D , y se tiene la siguiente cota de
error
Mk
X( ) − P X( ) − X( )
k 1 0
≤ ∇
∞ 1− M ∞
x2 − 10 x + y 2 + 8 = 0
(f (x, y) = x − 10 x + y + 8)
1
2 2
2
xy + x − 10 y + 8 = 0
(f ( x, y) = xy + x − 10 y + 8)
2
2
Observando la FIGURA 3.2 vemos que el sistema dado tiene únicamente dos soluciones reales.
Para encontrar estas soluciones por el método de Punto Fijo, empezamos por transformar el
sistema dado en otro equivalente de la forma X = G( X ) . Uno de esos sistemas es
x2 + y2 + 8 x2 + y 2 + 8
x = g1 ( x, y) =
10 10
xy 2 + x + 8 xy 2 + x + 8
y = g2 ( x, y ) =
10 10
g1
Observe que G ≡ es tal que: g1 y g 2 son continuas en todo R 2 , porque son polinómicas.
g2
∂ g1 ( X) 2y ∂ g 2 ( X) 2xy
= , = son continuas en todo R 2 .
∂y 10 ∂y 10
FIGURA 3.2
Ahora,
0 ≤ x, y ≤ 15
. ⇒ 0 ≤ x 2 , y 2 ≤ 2.25
⇒ 0 ≤ x 2 + y 2 ≤ 4.5
x2 + y 2 + 8 4.5 + 8 12.5
⇒ 0≤ ≤ = = 125
. ≤ 15
.
10 10 10
También,
. ⇒ 0 ≤ xy 2 + x ≤ (15
0 ≤ x, y ≤ 15 . )(2.25) + 1.5 = 4.875
xy 2 + x + 8 4.875 + 8 12.875
⇒ 0≤ ≤ = = 12875
. ≤ 15
.
10 10 10
Luego si D = {(x, y) ∈R 2
0 ≤ x, y ≤ 15 }
. , entonces G(D) ⊆ D , así que G satisface las hipótesis
del teorema 3.11 en D , y por lo tanto G tiene por lo menos un punto fijo en D .
Ahora, si X ∈ D ,
∂ g1( X ) x 15
.
= ≤ = .3
∂x 5 5
∂ g1( X ) y
= ≤ .3
∂y 5
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 65
__________________________________________________________________________________
∂ g2 ( X ) y2 + 1 3.25
= ≤ = .325
∂x 10 10
∂ g2 ( X ) 2xy 4.5
= ≤ = .45
∂y 10 10
M
Escogiendo M de modo que = .45 , es decir, escogiendo M = .90 tendremos que 0 ≤ M < 1 , y
2
para cada X ∈ D ,
∂ g j ( X) M ∂ gj (X ) M
≤ y ≤ , j = 12
,
∂x 2 ∂y 2
( 0)
En consecuencia, G tiene un único punto fijo P ∈ D y cualquiera sea X ∈D , la sucesión
{ } ( )
X ( ) , con X ( k ) = G X ( k −1) , k = 1,2,... converge a P.
k
k
( x( ) ) + ( y ( ) )
2 2
k −1 k− 1
+8
(
k
x =)
10 1( )
x( k ) = g x( k −1) , y ( k −1)
(
x( k −1) y ( k− 1) ) + x ( k− 1) + 8
2
y( ) =
k
10 2 ( )
y ( k) = g x ( k− 1) , y ( k −1)
( 0) X( ) − X( )
empezando con X = (.5,.5 )
k k −1
y criterio de aproximación < .001 , obtenemos los
∞
resultados que se muestran en la TABLA 3.1 siguiente.
k x( ) y( ) X( ) − X( )
k −1
k k k
0 .5 .5
1 .85 .8625 .3625
2 .946641 .948232 .096641
3 .979527 .979781 .032886
4 .991944 .991984 .012417
5 .996799 .996805 4.855 × 10 −3
6 .998723 .998724 1924
. × 10 −3
7 .999490 .999490 7.67 × 10 −4
TABLA 3.1
Instrucción en DERIVE:
[ ]
FIXED_POINT( g1 ( x, y) , g2 ( x, y ) ,[ x, y ],[ x 0 , y 0 ] ,N ): aproXima las primeras N iteraciones en el método
x = g1( x, y)
de Punto Fijo aplicado al sistema no-lineal , tomando como aproximación inicial el
y = g2 ( x, y)
punto ( x0 , y 0 ) . Para el ejemplo, aproXime la expresión
x2 + y 2 + 8 xy 2 + x + 8
FIXED_POINT( , , [ x, y] , [ 0.5 , 0.5] , 7 ). ◊
10 10
Usando la cota de error dada por el teorema 3.11 con M = .90 , obtenemos
X( ) − P
( .9 )7
7
≤
1−.9
(.3625) ≈ 173
.
∞
( 7)
la cual no indica la precisión real de X con respecto a P, pues como el lector puede verificar
( 7)
fácilmente, P = (11
, ) y realmente X − P ≈ 5.1 × 10 −4 .
∞
( x( ) ) + ( y ( ) )
2 2
k −1 k− 1
+8
(
k
x =)
10 1 (
x( k ) = g x( k −1) , y ( k −1)
)
(
x( k ) y ( k− 1) ) + x ( k) + 8
2
y( ) =
k
10 2( )
y ( k ) = g x( k ) , y ( k −1)
k x( ) y( ) ( k) − X ( k −1)
k k
X
∞
0 .5 .5
1 .85 .90625 .40625
2 .954379 .973820 .104379
3 .985916 .992089 .031537
4 .995627 .997556 9.711 × 10 −3
5 .998639 .999240 3.012 × 10 −3
6 .999576 .999763 9.37 × 10 − 4
TABLA 3.2
X( ) − P −4
6
Observe que ≈ 4.24 × 10 , lo que asegura una precisión en la aproximación de P de
∞
tres cifras decimales exactas. Como ejercicio haga un análisis similar para encontrar una
aproximación de la otra solución del sistema dado. ♦
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 67
__________________________________________________________________________________
f1 ( x, y) = 0 f
F( x, y ) = 0 con F ≡ 1
f2 ( x, y) = 0 f2
aproximación siguiente X(
k +1)
(
= x( ) , y ( ) ,
k +1 k +1
) mediante el método de Newton-Raphson,
procedemos como se indica a continuación:
Si las funciones f1( x, y ) y f2 ( x, y) y todas sus derivadas parciales de orden menor o igual que dos
( k)
son continuas en una vecindad de X , entonces para x( ) , y ( )
k +1 k +1
( ) en esa vecindad se tiene
( k+ 1 k+ 1
) ( k k
) (
k+ 1 k ∂ f1
f1 x ( ) , y ( ) = f1 x ( ) , y ( ) + x ( ) − x( )
∂x
k k k +1 k ∂ f1
x( ) , y( ) + y( ) − y( )
∂y ) (
k
) ( )
x( ) , y ( )
k
) (
+ ( x( ) − x( ) ) ξ, η) + 2( x( ) − x( ) )( y( ) − y ( ) )
1 ∂ f 2 2
∂ f 2
k +1 k
( 1
∂x ∂y
(ξ, η)
k +1 k k +1 k 1
2 ∂x 2
+( y ( ) − y ( ) )
∂ f 2 2
k +1
( ξ, η)
k 1
∂y 2
(k ) ( k +1)
, y η entre y ( ) y y ( ) .
k +1
con ξ entre x y x
k
( )
Si suponemos que f1 x (k +1) , y ( k +1) ≈ 0 y que el residuo
( ) 21 (x( )
∂ 2 f1
( )(
( k +1) − x ( k) y ( k +1) − y ( k ) ∂ f1
)
2
R2 f1, x ( k+ 1) , y (k + 1) = k+ 1)
− x( k ) ( ξ, η ) + 2 x
∂ x2 ∂ x∂ y
(
+ y( ) − y( ) ) ∂ 2 f1
2
k +1 k
( ξ, η) ≈ 0
∂y 2
obtenemos
( )(
0 ≈ f1 x( k ) , y ( k ) + x( k +1) − x ( k)
∂ f1 ( k ) ( k)
∂x
x ,y ) (
+ y ( k +1) − y ( k )
∂ f1 ( k) ( k )
∂y
x ,y ) ( ) ( ) (3.20)
(k k
) (
k +1 k ∂ f2
0 ≈ f2 x( ) , y( ) + x( ) − x( )
∂x
k k k +1
) (
k ∂ f2
x( ) , y( ) + y( ) − y( )
∂y
x( ) , y ( )
k k
) ( ) ( ) (3.21)
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 68
__________________________________________________________________________________
Si las cuasi-igualdades (3.20) y (3.21) las manejamos como igualdades y las escribimos en forma
matricial, obtenemos el siguiente sistema de dos ecuaciones lineales en las dos incógnitas
x ( k+ 1) , y ( k+ 1) :
(k ) ( k )
∂ x (
∂ f1 ( k ) ( k )
x ,y )
∂ f1 ( k ) (k )
∂y
x ,y
( ) x( k +1) − x ( k)
f1 x , y
= −
( ) ( )
∂ f2 ( k ) ( k ) ∂ f2 ( k ) ( k )
x ,y x ,y y( ) − y( )
k + 1 k
f x ( k) , y ( k )
∂x ∂y 2
144444424444443 144244 3
( k +1) ( k) 1 4 4 2 44 3
J X ( ) X −X
k
F X ( )
k
( )
La matriz J X ( ) , en la ecuación anterior, se denomina matriz Jacobiana del sistema.
k
( )
x( k +1) −1
Despejando ( k+ 1) , siempre que J X ( k ) exista, obtenemos
y
( ) ( )
x( k +1) x( k ) −1
k+ 1 = k − J X ( k) F X ( k)
y ( ) y ( )
o sea
( ) ( )
−1
X(
k +1)
= X ( ) − J X ( ) F X( ) , k = 0,1,...
k k k
la cual es la fórmula vectorial de iteración del método de Newton-Raphson para el sistema no-
lineal F( X) = 0 (compare esta fórmula con la fórmula de iteracion del método de Newton-Raphson
obtenida en el capítulo 2).
( )
−1
Para implementar este método no es necesario, ni conveniente calcular J X (k ) ; se recomienda
el siguiente algoritmo:
Dada una aproximación inicial X ( ) , una tolerancia ε > 0 , y un número máximo de iteraciones N;
0
( k +1)
= X(
k +1)
− X( )
k
Paso 1: Definimos Z
( )
J X ( ) Z( ) = − F X ( )
k k +1 k
( )
( k +1) ( k +1) ( k)
Paso 3: calculamos X =Z +X .
Z(
k+ 1)
= X(
k +1)
− X ( ) < ε para alguna norma vectorial . , entonces X (
k +1)
k
Paso 4: Si es una
x2 − 10 x + y 2 + 8 = 0
2
xy + x − 10 y + 8 = 0
que es el mismo del ejemplo 3.14, obtenemos los resultados que aparecen en las TABLAS 3.3 y
(k) ( k− 1)
3.4, donde se usó como criterio de aproximación X − X < .001 .
∞
(k ) y( ) X( ) − X( )
k k k k −1
x
∞
0 .5 .5
1 .937685 .939169 .439169
2 .998694 .998388 .061009
3 .999999 .999999 1611
. × 10 − 3
4 100000
. 100000
. . × 10 −6
10
TABLA 3.3
Instrucción en DERIVE:
[ ]
NEWTONS( f1 ( x, y) , f2 ( x, y ) , [ x, y] , [ x 0 , y 0 ] , N ): aproXima las primeras N iteraciones del método de
f1( x, y ) = 0
Newton-Raphson aplicado al sistema no-lineal , tomando como aproximación inicial el
f2 ( x, y ) = 0
punto ( x0 , y 0 ) . Para el ejemplo, aproXime la expresión
[ ]
NEWTONS( x 2 − 10 x + y 2 + 8 , xy 2 + x − 10y + 8 , [ x, y] , [ 0.5 , 0.5] , 4 ). ◊
( 4)
De acuerdo con los resultados de la TABLA 3.3, se tiene que X = (100000
. , 100000
. ) ≈ X = (11, ) .
k x( ) y( ) X( ) − X( )
k −1
k k k
∞
0 2.0 3.0
1 2.19444 3.02778 .19444
2 2.19345 3.02048 7.3 × 10 −3
3 2.19344 3.02047 2.0 × 10 −5
TABLA 3.4
De acuerdo con los resultados que aparecen en la TABLA 3.4, se tiene que
X ( ) = ( 2.19344,3.02047 ) es una aproximación de la otra solución del sistema dado.
3
Veamos como se calcula la primera iteración X ( ) = ( 2.19444, 3.02778) , que aparece en la TABLA
1
∂ f1 ∂ f1
∂x
( x, y ) = 2 x − 10 , ∂y
( x, y) = 2 y
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 70
__________________________________________________________________________________
∂ f2 ∂ f2
∂x
( x, y ) = y 2 + 1, ∂y
( x, y) = 2 xy − 10
Es claro que las funciones f1( x, y ) , f2 ( x, y ) y sus derivadas parciales de orden menor o igual que
dos son continuas en todo R 2 , por ser polinómicas.
x( 1)
Para calcular la primera iteración X ( ) = ( 1) , siguiendo los pasos en el algoritmo anterior,
1
y
procedemos así:
( 1) ( 1) ( 0)
Definimos Z = X − X ( k = 0 ), y resolvemos el sistema lineal
( )0 1
( )
J X ( ) Z ( ) = −F X ( )
0
En este sistema
FX ( (
0) ) f X ( 0)
( ) ( )
1
=
f2 X ( )
0
siendo
( ) ( )
f1 X ( ) = f1( 2.0, 3.0) = 1.0 , f2 X ( ) = f2 ( 2.0, 3.0) = −2
0 0
∂ f1 ∂ f1
( 2.0,3.0) ( 2.0,3.0) −6 6
( )
J X( ) =
0 ∂x
∂ f2
( 2.0,3.0)
∂y
∂ f2
(
=
2.0,3.0) 10 2
∂x ∂y
x 2 + y 2 − x = 0
2
x − y 2 − y = 0
FIGURA 3.3
Por simple inspección sobre el sistema dado, u observando la FIGURA 3.3, se ve que ( 0,0) es una
solución del sistema, y que el sistema dado solamente tiene dos soluciones reales.
Si usamos el método de Newton-Raphson para encontrar la solución no nula del sistema dado, con
X ( ) − X( )
k −1
< 10 − 3 , se obtiene como solución aproximada
k
criterio de aproximación
∞
X ( ) = (.5, .5 ) ,
0
y si tomamos aproximación inicial obtenemos la solución aproximada
X ( 5 ) = (.771845, .419643) . ♦
Como una aplicación del método de Newton-Raphson para sistemas no-lineales, tenemos el
método de Bairstow para encontrar ceros complejos de funciones polinómicas, método al cual
nos referiremos a continuación.
Para hallar una raíz compleja de una ecuación polinómica con coeficientes reales puede utilizarse
el método de Newton-Raphson con una aproximación inicial compleja y aritmética compleja. Otra
forma de enfocar el problema de las raíces complejas de una ecuación polinómica con coeficientes
reales se basa en el hecho de que si z = a + bi es un cero complejo de multiplicidad m de un
polinomio p( x) , entonces su conjugado z = a − bi es también un cero de multiplicidad m de p( x) y
(x ) es un factor de p( x) .
m
2
− 2ax + a 2 + b 2 Es decir, las raíces complejas de ecuaciones
polinómicas con coeficientes reales se producen en pares conjugados y por ésto, se debe buscar
un factor cuadrático, más que lineal, del polinomio. Esta es la base del método de Bairstow, el
cual nos permitirá encontrar raíces reales o complejas de una ecuación polinómica con coeficientes
reales, realizando únicamente aritmética real. A continuación describimos este método:
( )
p( x) = x2 − ux − v q( x) + r ( x − u) + s (3.23)
Las expresiones x 2 − ux − v y r ( x − u) + s han sido escritas así para simplificar los cálculos
posteriores.
( )
p( x) = x 2 − ux − v q( x) + r ( x − u) + s
( )( )
= x 2 − ux − v b0 + b1x + b2 x2 +...+bn − 3 xn −3 + b n− 2 xn − 2 + r ( x − u) + s
(3.25)
= ( − vb0 − ru + s) + ( −ub 0 − vb1 + r ) x + ( b0 − ub1 − vb 2 ) x 2 +...
+(b n −4 − ubn − 3 − vb n− 2 )x n −2 + (b n −3 − ubn −2 ) xn −1 + bn − 2 xn
an = bn − 2
an −1 = bn − 3 − ubn − 2
an − 2 = b n− 4 − ub n− 3 − v bn − 2
an − 3 = bn − 5 − ubn − 4 − vbn − 3
M
a3 = b1 − ub 2 − vb 3
a 2 = b0 − ub1 − v b2
a1 = r − ub 0 − vb1
a0 = s − u r − v b0
bn − 2 = a n
b
n − 3 = an −1 + ubn − 2
bn − 4 = an − 2 + ub n− 3 + v bn − 2
bn − 5 = an − 3 + ubn − 4 + vbn − 3
M (3.26)
b 1 = a 3 + ub 2 + v b3
b 0 = a 2 + ub1 + vb 2
r = a + ub + v b
1 0 1
s = a 0 + ur + vb 0
r ( u, v) = 0
(f1( u, v ) )
=0
(3.27)
s(u, v) = 0 (f2 (u, v ) =0 )
para las incógnitas u y v.
r rv
J= u
su sv
u( k +1)
(k)
( )
= u − J X ( k )
−1
( )
r X ( k)
v (k + 1)
12
4 4 3
v(k )
123
( )
s X
1424
( k)
3
(3.28)
X( k +1) X ( k)
F X( k )
(bn − 3 ) u = bn − 2
(bn − 4 ) u = bn − 3 + u(bn − 3 )u
(bn − 5 ) u = bn − 4 + u(bn − 4 )u + v(bn − 3 )u
(3.29)
M
(b 0 )u = b1 + u(b1 )u + v(b 2 ) u
ru = b0 + u(b 0 ) u + v(b1 )u
s u = r + uru + v(b 0 )u
c n− 1 = bn − 2
c n− 2 = bn − 3 + u cn −1
c n− 3 = b n− 4 + u c n −2 + v c n −1
(3.30)
M
c = b + uc + v c
2 1 3 4
c1 = bo + uc 2 + v c 3
c 0 = r + uc 1 + v c 2
de modo que
( )( k) u
=
( ) r (X( ) )
r X(k)
v
k
( ) s (X( ) )
J X
s u X ( k) k
v
se convierte en
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 75
__________________________________________________________________________________
( )
c (k)
1
J X( ) =
k ( )
r v X ( )
k
c0( k )
( ) k
s v X( )
( ) k ( ) k
donde c1 y c 0 son los valores de c1 y c 0 , obtenidos en las ecuaciones (3.30) en la iteración
k-ésima.
(bn − 4 ) v = bn − 2
(bn − 5 ) v = u(bn − 4 ) v + bn − 3 = bn − 3 + u( bn − 4 ) v
(bn − 6 ) v = u(bn − 5 ) v + bn − 4 + v(bn − 4 ) v = b n− 4 + u(bn − 5 ) v + v(b n− 4 ) v
M
( b0 ) v = u(b1 ) v + b2 + v(b 2 ) v = b2 + u( b1 ) v + v(b 2 ) v (3.31)
rv = u(b 0 ) v + b1 + v(b1 ) v = b1 + u(b 0 ) v + v(b1 ) v
s v = urv + b 0 + v(b 0 ) v = b0 + ur v + v(b 0 ) v
dn −1 = bn − 2
d
n −2 = b n− 3 + udn −1
dn −3 = bn − 4 + udn− 2 + vdn− 1
(3.32)
M
d = b + ud + vd
3 2 4 5
d2 = b1 + ud3 + vd4
d1 = b0 + ud2 + vd3
de modo que
c (k) d2 ( k )
( )
J X ( ) = 1 ( k )
k
c0 d (k)
1
Si observamos las ecuaciones (3.30) y (3.32), vemos que ellas producen los mismos valores para
k = n − 1, n − 2,..., 1 , es decir, d = c , k = n − 1, n − 2,..., 1 ; por tanto (3.32) es redundante, y J X ( )
k k
k
( )
puede calcularse como
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 76
__________________________________________________________________________________
c ( k) c 2( )
( )
k
J X ( ) = 1( k)
k
c c1( )
k
0
p( x) = a 0 + a1x + a 2 x 2 +...+ an x n , an ≠ 0, n ≥ 2
Entrada: El grado n del polinomio p( x) ; los coeficientes a0 ,a1,...,a n del polinomio p( x) ; unas
aproximaciones iniciales u 0 , v 0 de u y v, respectivamente; una tolerancia Tol, y un
número máximo de iteraciones N.
Paso 1: Hacer
bn = an
cn = 0 (observe que se cambió la notación de subíndices)
cn −1 = a n
Paso 2: Tomar i = 1 .
bk = ak + u 0 bk +1 + v 0 bk + 2
ck = bk +1 + u0 ck +1 + v 0 c k+ 2
c c2
Paso 6: Hacer J = c 0 c 2 − c 21 (aquí J es igual a − det 1 ).
c0 c1
Paso 7: Hacer
c 1b1 − c 2 b0
u1 = u 0 +
J
c 1b0 − c 0 b1
v1 = v0 +
J
Paso 8: Si b1 = r < Tol y b 0 = s < Tol , entonces : salida: "Un factor cuadrático
aproximado del polinomio dado, y los correspondientes valores de r y s son:
x 2 − u1x − v1; r = b1, s = b0 ". Terminar.
Paso 9: Tomar i = i + 1 .
Paso 11: Salida: "Se alcanzó el número máximo de iteraciones N pero no la tolerancia".
Terminar.
Solución: Con un programa diseñado siguiendo el algoritmo 3.7 anterior, se obtienen los
siguientes resultados:
Las raíces del factor cuadrático aproximado x 2 − ux − v obtenido, son complejas conjugadas con
parte real 11378411018
. y parte imaginaria 15273122509
. , y si usamos Deflación se obtiene el
polinomio reducido de grado dos
q( x) = x 2 − 17243177963
. x −.5513644073
Instrucción en DERIVE:
Solución: Si aplicamos el método de Bairstow con Deflación para hallar todas las raíces de la
ecuación polinómica dada, se obtienen los resultados que aparecen a continuación, usando como
tolerancia Tol = 10 −10 :
TALLER 3.
1. Use el método de eliminación Gaussiana simple (sin pivoteo) con sustitución regresiva y
aritmética exacta para resolver, si es posible, los sistemas lineales AX = b siguientes, y
encuentre matrices P de permutación, L triangular inferior con sus elementos diagonales iguales
a 1 y U escalonada (triangular superior) tales que PA = LU .
1
x1 − 2 x 2 + x 3 =4
x1 − x2 + 3 x3 = 2
2x − x 2 − x 3 + x 4 =5
a) 3 x1 − 3 x 2 + x3 = −1 b) 1
x +x x1 + x 2 =2
1 2 = 3 1
x1 − x 2 + x 3 + x 4 =5
2
1 1 1 1
1 1 1 x1 + 2 x 2 + 3 x3 + 4 x4 = 6
4 x1 + x2 + x3 = 9
5 6 1 x + 1 x + 1 x + 1 x = 1
1 1 1 2 1 3 2 4 3 5 4 7
a) x1 + x2 + x3 = 8 b)
3 4 5 1 x + 1 x + 1 x + 1 x = 1
1 3 1 4 2 5 3 6 4 8
2 x1 + x 2 + 2x 3 = 8 1 1 1 1 1
x1 + x 2 + x 3 + x 4 =
4 5 6 7 9
3. Resuelva los siguientes sistemas AX = b por Eliminación Gaussiana sin pivoteo. Chequee si A
tiene factorización LU con L triangular inferior con sus elementos diagonales iguales a 1 y U
escalonada (triangular superior).
4 3 2 1 1
1 1 −1 1
3 4 3 2 1
a) A = 1 2 −2 , b = 0 b) A = , b =
2 3 4 3 −1
−2 1 1 1
1 2 3 4 −1
2 −3 1 2 6 0 −1
( 1) ( 2) ( 3) ( 4)
A = 1 1 −1 , b = −1 , b = 4 , b = 1 , b = 0
− 1 1 − 3 0 5 − 3 0
b) Resuelva los sistemas lineales usando eliminación Gaussiana para obtener matrices P, L y U
tales que PA = LU , y luego siguiendo los pasos siguientes:
( i)
Paso1: Calcular Pb , i = 1,2,3,4 .
Paso 2: Resolver, para c ( ) , Lc ( ) = Pb( ) , i = 1,2,3,4 , por sustitución progresiva.
i i i
e) Cuál método de los anteriores parece ser más fácil? Cuál método de los anteriores requiere
más operaciones?
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 80
__________________________________________________________________________________
5. Encontrar X ∞
y X 2
para cada uno de los siguientes vectores:
T
3
a) X = 3,−4,0, b) X = ( 2,1,−3,4 )
T
2
( )
T
c) X = senk, cosk,2k , para un entero positivo fijo k.
b) Encontrar X 1
para cada uno de los vectores dados en el ejercicio 5.
X ∞
≤ X 2
≤ X 1
X 1
≤n X ∞
y X 2
≤ n X ∞
9. a) Encuentre A 2
, A 1
y A ∞
para cada una de las siguientes matrices
1 0 0
1 2 ,
A= A = −1 0 1
4 3 −1 −1 2
b) Calcule el radio espectral ρ( A ) para cada una de las matrices dadas en a).
11. Calcule Cond ∞ ( A ) y Cond ∗ ( A) para cada una de las matrices dadas en el ejercicio 9.a).
1 1 x1 2
=
. x2 2.01
1 101
1 1 x1 2
=
1 1011
. x 2 2.01
~
y calcule su solución exacta X .
~
X−X
∞
c) Calcule y compárela con la cota de error obtenida a partir del teorema 3.4. Es la
X
∞
~
Calcule el vector error residual R = AX − b , para las dos soluciones aproximadas
X 1 = (.341,−.087 ) y X 2 = (.999,−1001) T y concluya, a partir únicamente del tamaño de estos
~ T ~
.
errores residuales, cuál es la mejor aproximación de la solución del sistema. Verifique que la
solución exacta del sistema es X = (1,−1) .
T
15. El sistema
x +y=0
x + .999999 y = 1
x +y=0
x + 1000001
. y=1
1 −1 1 −1
A= , B=
1 −100001
. −1 1.00001
( n)
17. La matriz de Hilbert H = hi j ( )n×n definida por hi j =
1
i+ j−1
, 1 ≤ i, j ≤ n es un importante
( 4)
a) Encuentre la matriz H , demuestre que
16 −120 240 −140
[ ] −120 1200 −2700 1680
−1
H( ) =
4
240 −2700 6480 −4200
−140 1680 −4200 2800
y calcule Cond ∞ H( )
( 4)
.
usando aritmética con redondeo a tres dígitos y compare el error real en la aproximación
( 4)
calculada con la cota de error dada en el teorema 3.3. Es la matriz H mal condicionada?
2 1
2x1 + 3 x2 + 3 x 3 = 1
x1 + 2x 2 − x 3 = 0
6 x + 2 x + 2x = −2
1 2 3
a) Usando aritmética de punto flotante decimal con redondeo a cuatro dígitos, resuelva el
sistema anterior por el método de eliminación Gaussiana sin pivoteo.
19. a) Muestre todos los pasos intermedios, ésto es, los multiplicadores, los factores de escala Si ,
y el vector de intercambios p, al aplicar el pivoteo escalado de fila sobre la matriz siguiente:
1 −2 3
A = 3 −5 −1
2 −4 2
20. Resuelva cada uno de los siguientes sistemas de ecuaciones lineales, usando aritmética de
computador en precisión simple y eliminación Gaussiana con: i) sin pivoteo, ii) pivoteo parcial,
iii) pivoteo escalado de fila.
1 1
x1 + 2
x2 +
3
x3 = 2
1 1 1
b) x1 + x2 + x3 = −1
2 3 4
1 1 1
3 x1 + x2 + x3 = 0
4 5
1 1 1 1
x1 + 2
x2 + x 3 + x 4 + x 5
3 4 5
=1
1 x + 1 1 1 1
x2 + x 3 + x 4 + x 5 =1
2 1 3 4 5 6
1 1 1 1 1
c) x1 + x2 + x3 + x4 + x5 =1
3 4 5 6 7
1 1 1 1 1
4 x1 + 5
x2 + x3 + x4 + x5
6 7 8
=1
1 x + 1 1 1 1
x2 + x3 + x4 + x5 =1
4 1 5 6 7 9
2 1 0 2 −1 0
−2 1
a)
2 1
b) c) 0 3 2 d) −1 4 2
1 3 1 − 3 1 2 4 0 2 2
a) Encuentre una fórmula general para A n = LU , con L triangular inferior con sus elementos
diagonales iguales a uno y U triangular superior.
23. Pruebe que si A = LLT con L ∈ R n× n no singular, entonces A es simétrica y definida positiva.
24. Usando el método de Choleski, encuentre la factorización A = LLT para las siguientes matrices:
15 −18 15 −3
2.25 − 3.0 4.5
− −
b) A =
18 24 18 4
a) A = −3.0 5.0 −10.0
4.5 15 −18 18 −3
−10.0 34.0
−3 4 −3 1
2 3
25. Considere la matriz A = . Verifique que la matriz A no es estrictamente dominante
1 4
diagonalmente (por filas), pero que los métodos iterativos de Jacobi y Gauss-Seidel, para
resolver cualquier sistema AX = b , convergen.
b) Partiendo de X ( ) = (.8, .8, .8) , muestre que las iteraciones de Jacobi oscilan entre los
0 T
valores (121212
. , . , . ) y (.8,.8,.8 ) .
T T
X( ) − X( )
k −1
< 10 −3 .
k
calculando iteraciones hasta que
∞
28. Para cada uno de los siguientes sistemas de ecuaciones, explique si los métodos iterativos de
Jacobi y Gauss-Seidel convergen o no. En los casos donde haya convergencia calcule las
(k) ( k −1) < 10 −3 .
iteraciones hasta que X − X
∞
2x1 + x2 =1 2 x1 + x 2 − 3x 3 = −1 − x1 + 2x 2 + 3 x3 = 0
a) x1 + 6 x2 =3 b) − x1 + 3 x2 + 2x 3 = 12 c) 4 x1 − x2 + x3 = 6
3 x + x − 3x = 0 2x + 3 x − x = − 2
2 x2 + x3 = 1 1 2 3 1 2 3
x1 + 2x 2 + x4 = 0
2x1 + x2 − x 3 = 1
3 x1 − x 2 + 4 x 3 = 2
d) x1 + x2 = −1 e)
x − x + 2x = 2 x1 − x3 + 3x4 = −1
1 2 3 2x1 + x2 − x 3 = 1
29. Para cada uno de los sistemas del ejercicio 28, si la matriz de coeficientes no es estrictamente
dominante diagonalmente (por filas), reordénelo de modo que el nuevo sistema equivalente
tenga matriz de coeficientes lo más cercana posible a ser estrictamente dominante
diagonalmente (por filas) y estudie la convergencia o divergencia de los métodos iterativos de
Jacobi y Gauss-Seidel para estos sistemas reordenados. En los casos donde haya
(k) ( k− 1) < 10 −3 .
convergencia calcule las iteraciones hasta que X − X
∞
30. Para cada uno de los sistemas reordenados del ejercicio 30, use el método SOR con w = 12
. ,
w = .8 .
Capítulo 3. SOLUCIÓN NUMÉRICA DE SISTEMAS DE ECUACIONES 86
__________________________________________________________________________________
31. Resuelva los siguientes sistemas de ecuaciones no-lineales usando el método de Punto Fijo y
el método de Newton-Raphson. En los casos donde haya convergencia del método, calcule
(k) ( k− 1) < 10 −3 . En cada caso haga una gráfica que ilustre
las iteraciones hasta que X − X
∞
cuántas soluciones reales tiene el sistema.
x2 + y 2 = 4 x2 − y 2 = 4 4 x − y = 0
2 2
a) 3 b) − x c)
x − y = 0 e + xy = 1 4 xy 2 − x = 1
f( x, y ) = x 4 + xy + (1 + y )
2
p( x) = 3 x5 − 7 x 4 − 5 x 3 + x 2 − 8 x + 2
a) Haga una gráfica que ilustre cuántas raíces reales tiene la ecuación p( x) = 0 .