Documentos de Académico
Documentos de Profesional
Documentos de Cultura
C3 Sistemas Ecuaciones
C3 Sistemas Ecuaciones
Es usual encontrarse con la necesidad de resolver uno o más sistemas de ecuaciones cuando se
trabaja con algunos modelos matemáticas, generalmente provenientes de ecuaciones diferencia-
les. En muchos de los casos, estas ecuaciones tienen una gran cantidad de variables o una gran
cantidad de sistemas por resolver, lo cual genera un alto costo computacional. Por lo que las
técnicas que se utilicen para resolver dichos sistemas tienen que ser, computacionalmente, las
más eficientes.
En el caso particular que el sistema de ecuaciones sea lineal, la primer pregunta que se presenta
es si conviene utilizar un método directo o uno iterativo. La principal desventaja de los métodos
directos, como es el método de eliminación Gaussiana, es su complejidad computacional. Para
una matriz de tamaño n × n, el método de eliminación Gaussiana es de orden O(n3 ) lo que
para matrices muy grandes es bastante costoso.
Una solución a este inconveniente la dan los métodos iterativos, como por ejemplo: Jacobi,
Gauss-Seidel, SOR, Gradiente Conjugado, GMRES, entre otros, presentados en este capítulo.
Estos métodos poseen una complejidad menor a la de eliminación Gaussiana, lo que los hace
más eficientes. La desventaja de los métodos iterativos sobre los directos, como se ilustra en el
capítulo 3 (página 135), es que estos no calculan la solución del sistema de manera exacta (en
realidad nunca se hace, pues se trabaja en precisión finita), pero en la práctica no interesa tener
muchos de los dígitos de la solución, por lo que los métodos iterativos son más que suficientes.
Por otro lado, en la solución de sistemas de ecuaciones lineales, la matriz puede tener una
estructura que brinde gran ventaja, mejorando la eficiencia del método de solución. En muchas
de las discretizaciones de ecuaciones diferenciales parciales las matrices son esparcidas (ver
apéndice D) de gran tamaño, lo que permite mejorar la eficiencia (tiempos de ejecución) de los
métodos iterativos al diseñar una estructura adecuada para almacenar estas matrices.
Se aclara que en todo resultado presentado en este capítulo, estos se cumplen siempre que
se tengan todos los decimales de precisión en los valores. En la práctica, no necesariamente se
cumplen debido a que las computadoras trabajan con aritmética de precisión finita (ver capítulo
2).
185
186 Capítulo 4. Solución de sistemas de ecuaciones
De lo anterior, se puede ver que el costo de calcular el determinante de una matriz de dimensión
n × n, denotado Cd (n), consiste en
Cd (n) = n · Cd (n − 1) = n · (n − 1) · Cd (n − 2) = . . . = n!
realizando operaciones elementales de matrices sobre filas. La razón de hacer esto es que un
sistema triangular es fácil y rápido de resolver en comparación a uno donde la matriz es densa.
Esto se ilustra en el siguiente ejemplo.
Ejemplo 4.1.
Encuentre el conjunto solución del siguiente sistema
x1 + x2 − x3 + 3x4 = 4,
−x2 − x3 − 5x4 = −7,
3x3 + 13x4 = 13,
−13x4 = −13.
Resolver el sistema triangular superior, tal y como se ilustró en el ejemplo anterior, consiste en
un procedimiento rápido, denominado sustitución hacia atrás (“back substitution”) y se define
como: !
n
1 X
xi = bi − aij · xj , para i = n, n − 1, . . . , 2, 1.
aii j=i+1
Luego, para definir el método de eliminación Gaussiana de manera general, considere el sistema
lineal Ax = b escrito de la forma:
(1) (1) (1) (1)
(1)
a11 a12 a13 · · · a1n x1 b1
(1) (1) (1) (1) (1)
a21 a22 a23 · · · a2n x2 b2
(1) (1) (1)
a31 a32 a33 · · · a3n x3 = b(1)
(1)
3
,
.
.. .. .. .. .
.. ..
.
..
. . . .
(1) (1) (1) (1) (1)
an1 an2 an3 · · · ann xn bn
188 Capítulo 4. Solución de sistemas de ecuaciones
para convertir este sistema lineal denso en uno triangular superior equivalente, primero se
realizan las siguientes operaciones sobre filas:
(1)
−ai1
(1)
f1 + fi , para i = 2, . . . , n,
a11
donde fi corresponde a la fila i. Las operaciones anteriores hacen cero todas las entradas de la
primera columna por debajo de la diagonal, con ayuda del valor en la diagonal conocido como
el pivote, con lo que se obtiene un nuevo sistema de la forma:
(1) (1) (1) (1)
(1)
a11 a12 a13 · · · a1n x1 b1
(2) (2) (2) (2)
0 a22 a23 · · · a2n x2
b2
(2) (2) (2) (2)
0 a32 a33 · · · a3n x3
= b3 ,
..
.. .. .. .. .. ..
. . . . . . .
(2) (2) (2) (2)
0 an2 an3 · · · ann xn bn
(1) (1)
(2) (1) ai1 (1) (2) (1) ai1 (1)
donde aij = aij − (1) a1j y bi = bi − (1) b1 . Siguiendo este proceso hasta la
a11 a11
columna n − 1, se obtiene el sistema:
(n) (1) (1) (1)
(1)
a11 a12 a13 ··· a1n x1 b1
(2) (2) (2) (2)
0 a22 a23 ··· a2n x2
b2
(3) (3) (3)
0 0 a33 ··· a3n x3
= b3 .
.. .. .. ..
..
..
. . 0 . . . .
(n−1) (n−1)
0 0 0 · · · ann xn bn
| {z } | {z } | {z }
B x y
Ejemplo 4.2.
Resolver el siguiente sistema 4 × 4, mediante eliminación Gaussiana:
2x1 − 6x2 + 12x3 + 16x4 =
70,
x1 − 2x2 + 6x3 + 6x4 = 26,
−x1 + 3x2 − 3x3 − 7x4 = −30,
4x2 + 3x3 − 6x4 = −26.
se tiene que
2 −6 12 16 70 1 −3 6 8 35
1f −f1 + f2
1 −2 6 6 26 2 1 1 −2 6 6 26
−→ −−−−→
−1 3 −3 −7 −30 −1 3 −3 −7 −30 f1 + f3
0 4 3 −6 −26 0 4 3 −6 −26
1 −3 6 8 35 1 −3 6 8 35
0 1 0 −2 −9 −4f2 +f4 0 1 0 −2 −9 −f3 + f4
−−−−−→ −−−−→
0 0 3 1 5 0 0 3 1 5 1
f
3 3
0 4 3 −6 −26 0 0 3 2 10
1 −3 6 8 35 1 −3 6 0 −5
− 13 f4 + f3
0 1 0 −2 −9 0 1 0 0 1 −6f3 +f1
1 5 − −−−−→ −−−−−→
0 0 1 3 3 2f4 + f2 0 0 1 0 0
0 0 0 1 5 −8f4 + f1 0 0 0 1 5
1 −3 0 0 −5 1 0 0 0 −2
0 1 0 0 1 3f2 +f1 0 1 0 0 1
−−−−→ .
0 0 1 0 0 0 0 1 0 0
0 0 0 1 5 0 0 0 1 5
Por lo tanto, la solución del sistema corresponde a x1 = −2, x2 = 1, x3 = 0 y x4 = 5.
es decir, se tiene una complejidad de O(n3 ). A continuación se presenta un ejemplo que ilustra
el método de eliminación Gaussiana y sustitución hacia atrás para una matriz pequeña.
Ejemplo 4.3.
Resuelva, en (10, 3, −2, 6) y utilizando redondeo, el sistema lineal:
(
0.100 × 10−2 x + 0.183 × 102 y = 0.183 × 102 ,
0.523 × 102 x + 0.796 × 103 y = 0.132 × 104 .
190 Capítulo 4. Solución de sistemas de ecuaciones
donde para este sistema lineal de 2 × 2, con solución exacta x = (1, 1)T , se obtiene una
aproximación incorrecta de
ans =
0.5000
0.7500
4.1. Métodos directos 191
Una forma de conseguir aproximaciones con mayor precisión, consiste en realizar técnicas de
pivoteo (operaciones elementales de intercambio de filas y columnas) durante el proceso de
eliminación Gaussiana, de entre las cuales se consideran las siguientes:
1. Pivoteo parcial: consiste en intercambiar filas, de manera que
n
|akk | = máx{|ajk |}, para k = 1, 2, . . . , n − 1,
j=k
al hacer ceros por debajo de la diagonal. Es decir, se toma como pivote el mayor valor
absoluto de los elementos de la columna, por debajo de la diagonal, antes de empezar a
hacer estos valores cero.
En otras palabras, se considera como pivote al mayor valor absoluto, dentro del rango
[k, n] × [k, n].
Así, si se considera el pivoteo parcial para resolver el sistema del ejemplo 4.3, entonces se debe
realizar un intercambio, entre la fila 1 y la fila 2 inicialmente y luego se continua con el método
con normalidad:
0.100 × 10−2 0.183 × 102 0.183 × 102 f1 ↔f2
−−−→
0.523 × 102 0.796 × 103 0.132 × 104
0.523 × 102 0.796 × 103 0.132 × 104 (0.523×102 )−1 f1
−−−−−−−−−→
0.100 × 10−2 0.183 × 102 0.183 × 102
0.100 × 101 0.152 × 102 0.252 × 102 −0.100×10−2 f1 +f2
−−−−−−−−−−−→
0.100 × 10−2 0.183 × 102 0.183 × 102
0.100 × 101 0.152 × 102 0.252 × 102 (0.183×102 )−1 f2
−−−−−−−−−→
0.000 × 100 0.183 × 102 0.183 × 102
0.100 × 101 0.152 × 102 0.252 × 102 −0.152×102 f2 +f1
−−−−−−−−−−→
0.000 × 100 0.100 × 101 0.100 × 101
0.100 × 101 0.000 × 100 0.100 × 102
.
0.000 × 100 0.100 × 101 0.100 × 101
Ejemplo 4.4.
Utilice eliminación Gaussiana con pivoteo parcial y total, para resolver el siguiente sistema
lineal con truncamiento al tercer dígito significativo.
3.03x1 − 12.1x2 + 14x3 = −119,
−3.03x1 + 12.1x2 − 7x3 = 120,
6.11x1 − 14.2x2 + 21x3 = −139.
" T
Verifique cuál de los métodos es mejor, si la solución exacta es 0, 10, 17 .
Solución.
Pivoteo parcial:
3.03 −12.1 14 −119 6.11 −14.2 21 −139 1
−3.03 12.1 −7
f1 ↔f3
120 −→ −3.03 12.1 −7 120 6−→ .11 f1
6.11 −14.2 21 −139 3.03 −12.1 14 −119
1 −2.32 3.43 −22.7 3.03f1 + f2
1 −2.32 3.43 −22.7 1
−3.03 12.1 −7 120 −−−−−→ 0 5.08 3.3 51.3 5−→ .08 f1
−3.03f1 + f3
3.03 −12.1 14 −119 0 −5.08 3.7 −50.3
1 −2.32 3.43 −22.7 1 −2.32 3.43 −22.7
5.08f2 +f3
1
0 1 0.649 10 −−−−−−→ 0 1 0.649 10 6−→.99 f3
0 −5.08 3.7 −50.3 0 0 6.99 0.5
1 −2.32 3.43 −22.7 1 −2.32 0 −22.9
−0.649f3 + f2 2.32f2 +f1
0 1 0.649 10 −−−−−−→ 0 1 0 9.95 −−−−−−→
−3.43f3 + f1
0 0 1 0.0715 0 0 1 0.0715
1 0 0 0.1
0 1 0 9.95 .
0 0 1 0.0715
Por lo tanto, la solución obtenida corresponde a (0.1, 9.95, 0.0715)T .
Pivoteo total:
3.03 −12.1 14 −119 f1 ↔ f3
21 −14.2 6.11 −139 1
f
21 1
−3.03 12.1 −7 120 −−−−→ −7 12.1 −3.03 120 −→
c1 ↔ c3
6.11 −14.2 21 −139 14 −12.1 3.03 −119
1 −0.676 0.29 −6.61 7f1 + f2
1 −0.676 0.29 −6.61 1
7.37 2
f
−7 12.1 −3.03 120 −−−−→ 0 7.37 −1 73.8 −→
−14f1 + f3
14 −12.1 3.03 −119 0 −2.64 −1.03 −26.5
1 −0.676 0.29 −6.61 1 −0.676 0.29 −6.61
2.64f2 +f3 1.38 3
−1
f
0 1 −0.135 10 −−−−−−→ 0 1 −0.135 10 −→
0 −2.64 −1.03 −26.5 0 0 −1.38 −0.1
4.1. Métodos directos 193
1 −0.676 0.29 −6.61 1 −0.676 0 −6.63
0.135f3 + f2 0.676f2 +f1
0 1 −0.135 10 −−−−→ 0 1 0 10 −−−−−−→
−0.29f3 + f1
0 0 1 0.0724 0 0 1 0.0724
1 0 0 0.13
0 1 0 10
0 0 1 0.0724
Como se intercambiaron la columna 1 con la columna 3, entonces la solución obtenida corres-
ponde a (0.0724, 10, 0.13)T . Así, lo siguiente será comparar los resultados con la respuesta
" T
correcta 0, 10, 17 , para lo cual se utilizará el error relativo, tal y como se muestra:
" T
T
0, 10, 17 − (0.1, 9.95, 0.0715)
2
"
= 0.01326207088
1 T
0, 10, 7
2
"
1 T T
0, 10, 7 − (0.0724, 10, 0.13)
2
"
= 0.00735252532
1 T
0, 10, 7
2
Por lo tanto, como la norma del error es menor cuando se usa pivoteo total, entonces se puede
afirmar que este método es mejor, al menos para este sistema particular.
Aspectos computacionales
Utilizar pivoteo parcial consiste en multiplicar el sistema lineal Ax = b, por una matriz P
de permutación, para luego aplicar eliminación Gaussiana al nuevo sistema (PA) x = Pb.
En el caso de pivoteo total, se consideran dos matrices de permutación P y Q, para aplicar
"
eliminación Gaussiana al sistema equivalente (PAQ) QT x = Pb. En el ejemplo 4.4, se tiene:
0 0 1
P = Q = 0 1 0 .
1 0 0
4.1.2. Factorización LU
En el proceso de eliminación Gaussiana, sus operaciones entre filas se pueden justificar a través
de operaciones entre matrices, tal y como se describe a continuación, Para ello, considere la
194 Capítulo 4. Solución de sistemas de ecuaciones
matriz A ∈ n×n
de un sistema lineal, definida por:
(1) (1) (1) (1)
a11 a12 a13 · · · · · · a1n
(1) (1) (1) (1)
a
21 a22 a23 · · · · · · a2n
a(1) (1)
a32
(1)
a33
(1)
· · · · · · a3n
A = 31
,
... ..
.
..
.
..
.
..
.
.. .. .. .. ..
. . . . .
(1) (1) (1) (1)
an1 an2 an3 · · · · · · ann
siguiendo el método de eliminación Gaussiana, el primer paso consiste en realizar ceros por
debajo de la diagonal de la primera columna, para ello se realizan las operaciones:
(1)
ai1
− f
(1) 1
+ fi , para i = 2, . . . , n,
a11
(1)
ai1
denotando li1 = (1) , para i = 2, . . . , n, se puede apreciar que el primer paso de eliminación
a11
Gaussiana consiste de la operación matricial:
(1) (1) (1) (1)
a11 a12 a13 · · · · · · a1n
0 a(2) (2)
a23
(2)
· · · · · · a2n
22
0 a(2) (2)
a33
(2)
· · · · · · a3n
32
L1 A = . .. .. .. .. ,
.. . . . .
.. .. .. .. ..
. . . . .
(2) (2) (2)
0 an2 an3 · · · · · · ann
donde
1 0 ··· ··· ··· 0
. ..
1 ..
−l21 .
.. ..
−l31 0 1 . .
L1 = . .. . . .. . . .. .
.. . . . . .
.. .. ..
. . . 1 0
−ln1 0 ··· ··· 0 1
4.1. Métodos directos 195
11 s ← pr
12 pr ← pj
13 pj ← s
14 % Eliminación Gaussiana
15 Para i ← j + 1 hasta n hacer
16 s ← pi
17 r ← pj
18 Si arj = 0 entonces
19 Imprimir: ¡Denominador cero!
20 Detener
asj
v←
21 arj
22 Para k ← j hasta n hacer
23 ask ← ask − v · ark
24 bs ← bs − v · br
(j)
aij
donde lij = (j) . Luego, como el producto de matrices triangulares inferiores es también una
ajj
matriz triangular inferior, entonces la matriz L = L−1 −1
1 · . . . · Ln−1 es triangular inferior unitaria,
donde:
1 0 ··· ··· ··· 0
.. ..
l21 1 . .
. .. ..
l
31 l32 1 .
L = . . . . . . ,
.. .. .. .. .. ..
. . .
. . .
. . . 1 0
ln1 ln2 · · · · · · ln(n−1) 1
es decir, se tiene que el método de eliminación Gaussiana es equivalente a realizar una factoriza-
ción o descomposición de la matriz del sistema, dada por el producto de una matriz triangular
4.1. Métodos directos 197
inferior unitaria y una matriz triangular superior, mejor conocida como factorización LU. Por
todo lo anterior, es claro que obtener la factorización LU de una matriz de orden n tiene un
costo de O(n3 ), ya que es equivalente a realizar la eliminación Gaussiana.
Ejemplo 4.5.
Considere la matriz
2 −1 0 0
−1 2 −1 0
A = ,
0 −1 2 −1
0 0 −1 2
determine, si existe, su factorización LU.
de donde l43 = − 34 . Por lo tanto, las matrices L triangular inferior unitaria y U triangular
superior que cumplen que A = LU, son dadas por:
1 0 0 0 2 −1 0 0
1 3
− 1 0 0 0 −1 0
L = 2 y U = 2
.
0 − 23 1 0 0 0 4
3
−1
0 0 − 34 1 0 0 0 5
4
Ejemplo 4.6.
Considere la matriz
1 2 3
B = 4 5 6 ,
0 3 6
determine, si existe, su factorización LU.
198 Capítulo 4. Solución de sistemas de ecuaciones
1 2 3 1 2 3
−4f1 +f2
4 5 6 −
−−−−→ 0 −3 −6 ,
0 3 6 0 3 6
por lo que se tiene que l21 = 4. Luego, se hacen ceros debajo de la diagonal en la segunda
columna:
1 2 3 1 2 3
f2 +f3
0 −3 −6 − −−→ 0 −3 −6 ,
0 3 6 0 0 0
con lo que l32 = −1. Por lo tanto, las matrices L triangular inferior unitaria y U triangular
superior que cumplen que A = LU, son dadas por:
1 0 0 1 2 3
L = 4 1 0 y U = 0 −3 −6 .
0 −1 1 0 0 0
i−1
!
1 X
yi = bi − lij · yj , para i = 1, 2, . . . , n − 1, n.
lii j=1
Luego, una vez encontrado el vector y, se encuentra la solución del sistema original mediante
el sistema triangular superior Ux = y, utilizando sustitución hacia atrás:
n
!
1 X
xi = yi − uij · xj , para i = n, n − 1, . . . , 2, 1.
uii j=i+1
Como, resolver sistemas triangulares tiene una complejidad de O(n2 ), entonces resolver un
sistema lineal donde se conoce la factorización LU de la matriz del sistema tiene una complejidad
de O(2n2 ), es decir, es de orden cuadrático, lo cual es menor al orden cúbico de la eliminación
Gaussiana.
4.1. Métodos directos 199
Ejemplo 4.7.
Resuelva el sistema lineal
−15x1 − 6x2 + 9x3 = 0,
35x1 − 4x2 − 12x3 = −9,
−30x1 + 36x2 − 16x3 = −6,
Solución. Primero se resuelve el sistema triangular inferior, con b como el vector de la derecha.
Así, aplicando sustitución hacia adelante se tiene que:
b1 0
y1 = = = 0,
l11 1
"
1 −9 − − 73 · 0
y2 = (b2 − l21 · y1 ) = = −9,
l22 1
"
1 −6 − 2 · 0 − − 83 · (−9)
y3 = (b3 − l31 · y1 − l32 · y2 ) = = −30.
l33 1
y3 −30
x3 = = = 3,
u33 −10
1 −9 − 9 · 3
x2 = (y2 − u23 · x3 ) = = 2,
u22 −18
1 0 − (−6) · 2 − 9 · 3
x1 = (y1 − u12 · x2 − u13 · x3 ) = = 1.
u11 −15
sistemas se resuelven cada uno por medio de eliminación Gaussiana, al método se le conoce
como método de Gauss-Jordan.
Por lo anterior, el método de Gauss-Jordan resuelve n sistemas lineales, con lo que el costo de
calcular A−1 es de O(n4 ), lo que hace muy poco eficiente calcular la inversa de una matriz.
Sin embargo, si se calcula la factorización LU de A, se realizan n3 operaciones. Luego, si se
resuelven los n sistemas con dicha factorización, se realizarán n2 operaciones por cada sistema.
Así, como se tienen n sistemas, el costo total es n3 + n · n2 operaciones, por lo que el costo es
de orden O(n3 ).
Finalmente en el algoritmo 4.2 se presenta el pseudocódigo para determinar la factorización
LU de una matriz A. El mismo algoritmo puede ser utilizado con pivoteo parcial o bien con
pivoteo total, al considerar las matrices PA y PAQ, respectivamente.
8 lii ← 1
9 Para j ← 1 hasta i − 1 hacer
10 lij ← wj
11 Para j ← i hasta n hacer
12 uij ← wj
Observación: De las matrices A y B de los ejemplos 4.5 y 4.6 se puede apreciar que el determi-
nante no juega un papel en la existencia de la factorización LU, ya que det(A) 6= 0 mientras que
det(B) = 0. Sin embargo, la existencia no siempre se puede garantizar, por ejemplo considere
la matriz
0 1
C = ,
1 0
es claro que el método no se puede aplicar ya que la primera entrada de la diagonal es cero
y con ello no se puede cancelar la entrada por debajo de ella, así que la matriz C no tiene
factorización LU, a pesar de ser no singular. A continuación se presentan algunos resultados
que permiten conocer cuando la factorización LU existe e incluso sí esta es única.
4.1. Métodos directos 201
Definición 4.1.
Suponga que A ∈ n×n con n ≥ 2 y sea 1 ≤ k ≤ n. La submatriz principal de orden k
de A es definida como la matriz A(k) ∈ k×k que tiene por entradas, los elementos aij de
A con 1 ≤ i, j ≤ k. Es decir, A(k) es obtenida de A eliminando las últimas n − k filas y
columnas. En la figura 4.1 se ilustran estas submatrices.
Demostración(por inducción). Para n = 1 se tiene que A = (a11 ), de ella basta con tomar
L = ( 1 ) y U = (a11 ) y se cumple que A = LU. Asuma que la proposición es válida para
1, . . . , n (h.i.). Ahora, se debe probar que la proposición es válida para n + 1, para ello considere
A ∈ (n+1)×(n+1) tal que A(k) para 1 ≤ k ≤ n es no singular. Además, considere A como una
matriz por bloques de la siguiente manera:
A(n) α
A = ,
βT an+1,n+1
Luego, como A(n) es una matriz que tiene sus submatrices principales no singulares, entonces
por (h.i.), el sistema (4.1) tiene solución, debido a que L̃ y Ũ existen. Además, L̃ es triangular
inferior unitaria, por lo que el sistema (4.2) tiene solución única, con lo que el vector δ = L̃−1 α
existe. Ahora, nótese que
"
0 6= det A(n) = det L̃Ũ = det L̃ · det Ũ , (4.5)
por lo que L̃ y Ũ son matrices no singulares. Así, el sistema (4.3) tiene solución única γ T =
β T Ũ−1 . Finalmente, ya que γ y δ existen, entonces se tiene que p = an+1,n+1 − γ T δ. Por lo
tanto, existen matrices L triangular inferior unitaria y U triangular superior, las cuales cumplen
que A = LU.
L1 U1 = L2 U2 ⇔ U1 = L−1 −1 −1
1 L2 U2 ⇔ U1 U2 = L1 L2 .
De lo anterior se tiene que una matriz triangular superior (U1 U−1 2 ) es igual a una matriz
−1
triangular inferior (L1 L2 ), lo cual se cumple si ambas matrices son diagonales. Por otro lado,
ya que L1 y L2 son unitarias entonces U1 U−1 −1
2 = L1 L2 = I, donde I es la matriz identidad. De
esto, se tiene que L1 = L2 y U1 = U2 . Por lo tanto, la factorización LU es única.
Observación: Del teorema 4.1 se puede observar que A no necesita ser no singular para que
la factorización LU exista. Ser no singular sólo garantiza la unicidad.
4.1. Métodos directos 203
Lema 4.1.
Suponga que n ≥ 2 y A ∈ n×n
simétrica definida positiva, entonces:
2. todos los valores propios de A son reales y positivos y los vectores propio de A están
en n − {0},
3. el determinante de A es positivo,
Corolario 4.1.
Una matriz simétrica definida positiva posee factorización LU y esta es única.
Demostración. (ejercicio)
Observación: En la práctica, debido a los errores provocados por el uso de precisión finita, es
mejor utilizar una estrategia de pivoteo, tal y como se muestra en el siguiente ejemplo.
Ejemplo 4.8.
Considere el siguiente sistema lineal, para ε > 0.
εx1 + x2 = 1,
x1 + x2 = 2.
Solución. Para resolverlo de manera exacta, considere la regla de Cramer, con lo que:
1 1 ε 1
2 1 1 1 2 1 − 2ε
x1 = = y x2 = = .
ε 1 1−ε 1−ε
ε 1
1 1 1 1
Luego, aplicando la eliminación Gaussiana para ε = 10−4 en (10, 3, −∞, +∞) y utilizando
truncamiento, se tiene que:
−4 −4 −4
10 1 1 −104 f1 +f2 10 1 1 10 1 1
−−−−−−→ = .
1 1 2 0 f l(1 − 104 ) f l(2 − 104 ) 0 −9990 −9990
−9990
Así, se tiene que x2 = −9990 = 1, de donde se obtiene que x1 = 0. Se puede apreciar que el
resultado en precisión finita de la segunda parte, no es consistente con el resultado exacto de
la primera parte, lo que quiere decir que la solución por eliminación Gaussiana no es correcta.
Luego, aplicando pivoteo parcial sobre la matriz del sistema, se tiene que la primera fila se
intercambia con la segunda, con lo que:
1 1 2 −10−4 f1 +f2 1 1 2 1 1 2
−−−−−−−→ = ,
10−4 1 1 0 f l(1 − 10−4 ) f l(1 − 2 · 10−4 ) 0 0.999 0.999
Observación: No toda matriz admite una factorización LU, como se expresa en el teorema
4.1, sin embargo, existe una variante de esta factorización, la cual se puede determinar siempre
para cualquier matriz cuadrada. Dicha variante se presenta en el teorema 4.3.
donde wr ∈ n
es el vector que contiene los elementos de A de la fila r, sin incluir la primera
posición, α ∈ n
y à ∈ n×n . Considere ahora los dos posibles casos para ar1 :
Caso 1: Suponiendo que ar1 = 0, por definición de r se tiene que α = 0 y por (h.i.)
existen matrices P̃, L̃ y Ũ que cumplen que à = P̃T L̃Ũ, con ello:
0 wrT 1 0 1 0 0 wrT
(1r) · ·
P A = = ,
0 P̃T L̃Ũ 0 P̃T 0 L̃ 0 Ũ
| {z } | {z } | {z }
PT
1
L U
por lo que se tiene que P1 P(1r) A = LU, con lo que basta con tomar P = P1 P(1r) .
4.1. Métodos directos 205
similarmente, se tiene que P1 P(1r) A = LU, con lo que basta tomar P = P1 P(1r) .
Por lo tanto, se cumple que existen: P matriz de permutación, L matriz triangular inferior
unitaria y U triangular superior que tales que PA = LU.
Observación: Nótese que el teorema anterior no pone condiciones sobre la matriz A, salvo
que esta sea cuadrada. Por lo tanto, se puede garantizar que toda matriz cuadrada admite su
factorización PA = LU.
Ejemplo 4.9.
Considere la siguiente matriz y determine su factorización P A = LU.
0 8 −2
A = 1 −3 6 .
5 −15 25
Luego, como el siguiente pivote también es cero, entonces nuevamente se realiza un cambio de
filas:
5 −15 25 5 −15 25
f2 ↔f3
0 0 1 −−−→ 0 8 −2 = U,
0 8 −2 0 0 1
el cual también se hace, de una manera no completa, a la matriz L, la cual ahora es de la forma:
1 0 0
L = 1 0 .
1
5
0 1
Nótese que ya no hay necesidad de realizar más operaciones, por lo que se obtienen:
1 0 0 5 −15 25
L = 0 1 0 y U = 0 8 −2 .
1
5
0 1 0 0 1
Teorema 4.4.
Sea n ≥ 1 y A ∈ n×n una matriz simétrica definida positiva, entonces existe una matriz
L triangular inferior, tal que A = LLT .
Ejemplo 4.10.
Para la matriz simétrica
4 −4 6 −6
−4 20 −22 26
A = ,
6 −22 61 −59
−6 26 −59 108
Observación: La gran ventaja de esta factorización, consiste en que sólo es necesario almacenar
una sóla matriz triangular inferior L. Además, es importante notar que la factorización de
208 Capítulo 4. Solución de sistemas de ecuaciones
1 1
Cholesky no es única, ya que hay varias formas de descomponer la matriz D̃ = D̃ 2 · D̃ 2 .
Finalmente, en el algoritmo 4.3 se presenta el pseudocódigo para obtener la matriz L de la
factorización de Cholesky.
!
1. Utilizando eliminación Gaussiana en (10, 3, −∞, +∞) con truncamiento, encuentre una
aproximación a la solución de los siguientes sistemas:
0.03x1 + 58.9x2 = 59.2 58.9x1 + 0.03x2 = 59.2
a) b)
5.31x1 − 6.10x2 = 47.0 −6.10x1 + 5.31x2 = 47.0
2. Si entre las técnicas de pivoteo se considera el pivoteo parcial escalado, el cual consiste en
intercambiar filas según el mayor valor en la columna pivote, en relación con su fila (sólo
la matriz de coeficientes y de la diagonal hacia abajo). Así, cuando el pivote es akk , se
buscan en las filas i ≥ k los valores:
|aik |
ei = ,
máx{|aij | / j ≥ k}
luego, se intercambia la fila k con la fila con el mayor ei .
a) Utilice pivoteo parcial, pivoteo parcial escalado y pivoteo total, en (10, 5, −∞, +∞)
con redondeo, para resolver el sistema lineal:
0.13x − 1.14y − 9.93z = −31.94,
−1.08x − 4.43y + 82.4z = 237.26,
−9.71x + 0.75y + 5.68z = 8.83.
Comente sus resultados, teniendo en cuenta que la solución exacta es dada por x = 1,
y = 2 y z = 3.
b) Considere el sistema
2x1 + x2 + 3x3 = 1,
4x1 + 6x2 + 8x3 = 5,
6x1 + αx2 + 10x3 = 5,
con |α| < 10. ¿Para cuáles de los valores: α = 6, α = 9 o α = −3, no se requerirá
intercambio de filas al resolver el sistema anterior mediante pivoteo parcial escalado?
♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9. Implemente en MATLAB una rutina que dada A ∈ n×n , retorne la matriz P de permu-
tación, L triangular inferior unitaria y U triangular superior, tales que PA = LU.
♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12. Una matriz triangular inferior elemental de orden n y de tipo k es una matriz de la forma
1 0 ··· ··· ··· ··· ··· 0
0 ... ...
..
.
.. . . .. ..
. . 1 . .
. ..
. . ..
. .
0 1
Mk = . .. .. .. .
.. . m 1 . .
k+1,k
.. .. .. .. . . ..
.
. . 0 . . .
.. .. .. .. ..
. . . . . 1 0
0 ··· 0 mn,k 0 ··· 0 1
a) Muestre que una matriz triangular inferior elemental de tipo k tiene la forma: Mk =
In + meTk , donde m = (0, 0, . . . , 0, mk+1,k , . . . , mn,k )T .
b) Muestre que la inversa de Mk es dada por M−1
k = In − mek .
T
a) Muestre que, dado un vector x con la propiedad que eTk x 6= 0, existe una matriz
Gauss-Jordan G tal que Gx es un múltiplo de ek .
212 Capítulo 4. Solución de sistemas de ecuaciones
Ak x = b. (4.6)
15. Sea n ≥ 2 y la matriz A ∈ n×n . La permutación Q ∈ n×n revierte el orden de las filas
de A, de la manera (QA)ij = an+1−i,j . Si L ∈ n×n es una matriz triangular inferior.
17. Suponga que la matriz A ∈ n×n , con n ≥ 2, es no singular. Muestre por inducción, que
existe una matriz de permutación P ∈ n×n , una matriz triangular inferior L ∈ n×n , y
una matriz triangular superior unitaria U ∈ n×n tal que PA = LU. Encontrando una
adecuada matriz A de 2 × 2, muestre que esto no puede ser cierto si A es singular
18. La matriz tridiagonal T ∈ n×n , con n ≥ 3, tiene los elementos en la diagonal tii = 2,
i = 1, . . . , n y los elementos fuera de la diagonal ti,i+1 = ti+1,i = −1, i = 1, . . . , n − 1. En
4.2. Normas matriciales y número de condicionamiento 213
19. Suponga que la factorización LU de A existe y diseñe un algoritmo para calcular U por
filas y L por columnas directamente de la ecuación A = LU. Este es conocido como la
reducción de Doolittle.
20. Diseñe un algoritmo para calcular la factorización A = LU, donde U es triangular supe-
rior unitaria y L triangular inferior. Este es conocido como la reducción de Crout.
Definición 4.2.
Sea |||·||| : m×n → una función que satisface las siguientes propiedades, para todo
A, B ∈ m×n :
Se dice que |||·||| es una norma matricial, o simplemente norma, en m×n . Además, se
dice que una norma |||·||| es consistente si satisface que |||AB||| ≤ |||A||| |||B|||, cuando el
producto AB esta bien definido.
Ejemplo 4.11.
Una de las normas matriciales usuales es la norma de Frobenius:
v
uX
u n X m
|||A|||F = t |aij |2 .
j=1 i=1
Solución. Las primeras tres propiedades, se deducen observando que la norma de Frobenius
2
no es otra cosa más que la norma k · k2 en n .
Luego, para demostrar la consistencia, se denota por ai∗ la i-ésima fila y por a∗j la j-ésima
columna de la matriz A. Aplicando la desigualdad de Cauchy-Schwarz a la entrada cij =
Pn
aik bkj de la matriz C = AB se tiene que:
k=1
Además, la norma matricial |||A||| = máx |aij | no es una norma consistente. Luego, a continua-
i,j
ción se demuestran dos propiedades importantes que se deducen de la propiedad de consistencia.
Teorema 4.5.
Sea |||·||| una norma matricial en n×n , entonces para todo A ∈ n×n
se cumple que:
1. Para todo k ∈ , Ak ≤ |||A|||k ,
2. ρ(A) ≤ |||A|||, donde ρ(A) corresponde al radio espectral (definición B.37). Es decir,
ρ(A) es el mayor módulo de los valores propios de A.
Observación: Del teorema anterior, se puede notar que la desigualdad, de la propiedad (2),
puede ser estricta. Para ilustrar esto, considere la siguiente matriz
0 1
A = .
0 0
4.2. Normas matriciales y número de condicionamiento 215
Como σ(A) = {0}, ρ(A) = 0 pero como A 6= O entonces |||A||| > 0 para cualquier norma
matricial |||·|||.
Definición 4.3.
Un bloque de Jordan Jk (λ) es una matriz de tamaño k×k cuya estructura es la siguiente
0 1 0 ... 0
0 0 1 . . . ...
Jk (λ) = λIk + Nk , donde Nk = ... . . . . . . . . . 0
.. ..
.
. 0 1
0 ... ... 0 0
Ejemplo 4.12.
Encuentre la forma canónica de Jordan de la matriz
5 4 2 1
0 1 −1 −1
A =
−1 −1 3 0
1 1 −1 2
donde A ⊕ B = diag(A, B). Luego, nótese que v1 = (−1, 1, 0, 0)T y v2 = (1, −1, 0, 1)T son
vectores propios de λ1 y λ2 , respectivamente. Además, v3 = (1, 0, −1, 1)T es vector propio para
λ3 y v4 = (1, 0, 0, 0)T satisface que (A − λ4I4 )2 v4 = 0, el cual es linealmente independiente con
v1 , v2 y v3 . Por lo que se puede definir la matriz,
−1 1 1 1
1 −1 0 0
S = ( v1 , v2 , v3 , v4 ) = .
0 0 −1 0
0 1 1 0
Finalmente, es posible verificar que las matrices J y S anteriores cumplen que A = SJS−1 ,
expresión que corresponde a la forma canónica de Jordan para A.
Corolario 4.2.
Sea A ∈ n×n
, entonces ρ(A) < 1 si y sólo si Ak → O, cuando k → +∞.
Ji = λi I + N i
por lo tanto
i −1
kX
k k!
Ji ≤ |λi |k−j Nji .
j=0
j!(k − j)!
La convergencia Jki → 0 se deduce observando que para todo j ∈ fijo, la sucesión (xjk )
cuyo término k se define por
k!
xjk = |λi |k−j ,
j!(k − j)!
converge a cero, debido a que ρ(A) < 1.
4.2. Normas matriciales y número de condicionamiento 217
Lema 4.2.
Sea A ∈ n×n y k · k una norma vectorial en n , entonces existen números reales no
negativos C1 y C2 tales que para todo x ∈ B̄(0,1) = {x ∈ n / kxk ≤ 1} se tiene que:
C1 ≤ kAxk ≤ C2 .
Xn
kAxk − kAyk ≤ kA(x − y)k ≤
(xj − yj )a∗j
≤ Mkx − yk∞ ,
j=1
n
P n
P
donde M = ka∗j k = kAej k. De lo anterior, se tiene que la función x 7→ kAxk es continua
j=1 j=1
en el espacio normado ( , k · k∞ ) y como todas las normas son equivalentes en n , entonces
n
Teorema 4.7.
Sea k · k una norma vectorial en n
, entonces la función |||·||| : n×n
→ definida por
kAxk
|||A||| = máx = máx kAxk,
x∈ n−{0} kxk kxk=1
es una norma matricial consistente en n×n . Se dice que la norma matricial |||·||| es indu-
cida o subordinada por la norma vectorial k · k.
Demostración. Nótese primero que |||A||| está bien definida, ya que para todo x ∈ n
− {0}
1
se tiene que kxk x ∈ B̄(0,1) y por el lema 4.2, se tiene que:
x
kAxk
sup
kxk
=
A
sup < ∞.
x∈ n −{0} x∈ n −{0} kxk
Luego, probar que es una norma matricial es sencillo utilizando el hecho de que k · k es una
norma vectorial, por lo que se deja como ejercicio para el lector. A continuación se realiza la
prueba de la propiedad de consistencia.
De la definición de norma inducida, se tiene que
kAxk kAxk n
|||A||| = máx ≥ , para todo x ∈ − {0},
x∈ n−{0} kxk kxk
218 Capítulo 4. Solución de sistemas de ecuaciones
por lo que se tiene que kAxk ≤ |||A||| kxk, para todo x ∈ n − {0}. Así, se tiene que
kABxk = kA(Bx)k ≤ |||A||| kBxk, para todo x ∈ n − {0}, con lo que aplicando la definición
de norma inducida nuevamente, se tiene que
kABxk |||A||| kBxk kBxk
|||AB||| = máx ≤ máx = |||A||| máx = |||A||| |||B||| .
x∈ n −{0} kxk x∈ n −{0} kxk x∈ n −{0} kxk
Corolario 4.3.
Para el caso de normas inducidas por una norma vectorial, de acuerdo a su definición se
verifican las siguientes propiedades adicionales.
Demostración. (ejercicio)
Observación: De la proposición (2) del corolario anterior, se puede deducir que la norma de
√
Frobenius no puede ser una norma inducida por una norma vectorial, ya que |||A|||F = n.
Además, la norma matricial inducida por la norma vectorial k · kp , con 1 ≤ p ≤ ∞, es denotada
por |||·|||p . De esta forma, la norma inducida puede ser explícitamente calculada en términos de
las entradas de la matriz, como se muestra en los siguientes resultados.
Teorema 4.8.
La norma matricial inducida a la norma k · k∞ para una matriz A ∈ n×n
, puede ser
expresada como:
n
n X
|||A|||∞ = máx |aij |.
i=1
j=1
Ahora, definiendo
n
n X
C = máx |aij |,
i=1
j=1
kAvk∞ ≥ Ckvk∞ ,
n n
P
lo cual significa que |||A|||∞ ≥ C. Por lo tanto, |||A|||∞ = C = máx |aij |.
i=1 j=1
Teorema 4.9.
La norma matricial inducida a la norma k · k1 para una matriz A ∈ n×n
, puede ser
expresada como:
n
n X
|||A|||1 = máx |aij |.
j=1
i=1
Demostración. (ejercicio)
Lema 4.3.
Si A ∈ n×n es una matriz simétrica, entonces todos los valores propios de A son reales,
mientras que los vectores propios de A pertenecen a n − {0}.
El hecho de que el vector propio asociado a λ tenga valores reales, proviene de que todos los
elementos de la matriz singular A − λIn son números reales. Por lo tanto, los vectores columnas
de A − λIn son linealmente dependientes en n , ya que existen n números reales x1 , . . . , xn
tales que (A − λIn ) x = 0, donde x = (x1 , . . . , xn )T .
Teorema 4.10.
Dada A ∈ n×n y denotando los valores propios de la matriz B = AT A por λi , para
i = 1, 2, . . . , n, entonces se cumple que:
n p
|||A|||2 = máx λi .
i=1
Demostración. Nótese que la matriz B es simétrica, por lo que sus valores propios son reales
y sus vectores propios asociados pertenecen a n − {0}, según el lema 4.3. Adicionalmente, se
puede apreciar que todos los valores propios de B son no negativos, ya que si v ∈ n − {0} es
un vector propio de B y λ el valor propio asociado, entonces
AT Av = Bv = λv ⇒ vT AT Av = λvT v,
(0 ≤) λ1 ≤ λ2 ≤ . . . ≤ λn ,
para cualquier vector u ∈ n − {0}. Finalmente, se tiene que |||A|||22 ≤ λn y para probar la
igualdad, basta tomar u = wn en kAuk22 ≤ λn kuk22 , de donde c1 = . . . = cn−1 = 0 y cn = 1.
Observación: La raíz cuadrada de los valores propios (no negativos) de AT A son denominados
como valores singulares de A. Así, el teorema anterior establece que la norma-2 de una matriz
4.2. Normas matriciales y número de condicionamiento 221
A es igual al mayor valor singular de A. Además, en el caso de que A sea simétrica, entonces
B = AT A = A2 y los valores propios de B corresponden al cuadrado de los valores propios de
A, por lo que la norma-2 de A sería el mayor valor absoluto de sus valores propios.
Por otro lado, denotando por σ1 ≥ σ2 ≥ . . . ≥ σp ≥ 0 a los valores singulares de A ∈ m×n ,
con p = mı́n{m, n}, entonces existen matrices ortogonales U ∈ m×m y V ∈ n×n tales que
A = UΣVT ,
Demostración. (ejercicio)
Definición 4.4.
El número de condicionamiento de una matriz no singular A, se define por
κ(A) = A · A−1 .
Claramente, se puede verificar que κ(A−1 ) = κ(A). Además, dado que AA−1 = I, entonces
utilizando la consistencia de la norma |||·|||, se tiene que κ(A) ≥ 1 para cualquier matriz A.
Luego, se denota por κp (·) al número de condicionamiento cuando se utiliza la norma matricial
|||·|||p , donde en el caso particular κ2 (·) se denomina el número de condicionamiento espectral.
222 Capítulo 4. Solución de sistemas de ecuaciones
Teorema 4.12.
Dada A ∈ n×n
no singular, se cumplen las siguientes proposiciones:
Demostración. (ejercicio)
Definición 4.5.
Si κ(A) ≫ 1, se dice que la matriz A es mal condicionada. En otro caso, se dice que A
es bien condicionada.
El símbolo ≫ se lee “mucho mayor que” y significa lo mismo que el símbolo mayor que, pero
resalta el hecho de que ambos valores no están muy cerca el uno del otro, por ejemplo, 523 > 5
y 523 ≫ 5, además 523 > 520, pero 523 6≫ 520.
Luego, un ejemplo de una matriz mal condicionada es la matriz de Hilbert Hn de orden n,
cuyos elementos son
1
hij = , para i, j = 1, 2, . . . , n.
i+j−1
Esta matriz es simétrica definida positiva, por lo que sus valores propios son reales. Además, Hn
es cercana a una matroz singular cuando n → +∞. En la tabla 4.2 se puede apreciar κ2 (Hn )
para varios valores de n.
Si se realiza la gráfica del comportamiento n versus κ2 (Hn ) (figura 4.2), se puede apreciar que
el condicionamiento espectral crece de manera exponencial. Además, se puede probar que
√ 4n+4
2+1
κ2 (Hn ) ∼ 15 √ , cuando n → +∞.
2 4 πn
Por lo tanto, cuando n es grande, la matriz Hn es mal condicionada.
4.2. Normas matriciales y número de condicionamiento 223
Definición 4.6.
El sistema Ax = b esta mal condicionado si A es mal condicionada. De manera similar,
se define un sistema bien condicionado.
Ejemplo 4.13.
Verifique que el siguiente sistema es mal condicionado.
7 10 x 1
= .
5 7 y 0.7
por lo que la solución del sistema es dada por x = 0 y y = 0.1. Además, el número de
condicionamiento de este sistema en norma-1 es
κ1 (A) = A · A−1 = 17 · 17 = 289.
De esta manera, se tiene que la matriz es mal condicionada, por lo que se puede presentar
errores en los cálculos. Por ejemplo, si se considera un diferente vector de la derecha, con un
error absoluto de 0.01, es decir,
7 10 x 1.01
= ,
5 7 y 0.69
entonces al resolver este sistema, se tiene la nueva solución x = −0.17 y y = 0.22, la cual
muestra un error relativo superior al 100 %.
224 Capítulo 4. Solución de sistemas de ecuaciones
♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. Considere la matriz
3 −2 3
A = 1 6 −3 .
1 2 1
♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6. Dada A ∈ n×n
, muestre que si λ es un valor propio de AT A, entonces
0 ≤ λ ≤ AT A ,
suponiendo que la misma norma inducida es usada para A y AT . Además, muestre que
para cualquier matriz A ∈ n×n no singular, se cumple que:
1
κ2 (A) ≤ [κ1 (A)κ∞ (A)] 2 .
4.3. Métodos iterativos 225
En la figura 4.3 se muestran las curvas f1 (x1 , x2 ) = 0 y f2 (x1 , x2 ) = 0, donde se puede apreciar
que la ecuación f (x) = 0 posee cuatro soluciones, las cuales vienen dadas por:
√ √ √ √
1 − 3 1 3 1 − 3 1 3
ξ1 = , ξ2 = , ξ3 = y ξ4 = .
2 1 2 1 2 −1 2 −1
226 Capítulo 4. Solución de sistemas de ecuaciones
Definición 4.7.
Suponga que g : n → n está definida en un subconjunto cerrado D de n
. Si existe
una constante positiva L tal que,
Demostración. Primero se debe probar que existe ξ ∈ D punto fijo de g, para ello, hay que
mostrar que (xk ) es de Cauchy. Nótese que para m ≥ k se cumple que
kxm − xk k∞ ≤ kxm − xm−1 k∞ + kxm−1 − xm−2 k∞ + . . . + kxk+1 − xk k∞ , (4.7)
por otro lado, por definición de g y por ser contracción con constante L, se tiene
kxm − xm−1 k∞ = kg(xm−1 ) − g(xm−2 )k∞ ,
≤ Lkxm−1 − xm−2 k∞ ,
.. ..
≤ . .
≤ Lm−1 kx1 − x0 k∞ . (4.8)
Sustituyendo (4.8) en (4.7) se obtiene
kxm − xk k∞ ≤ Lm−1 kx1 − x0 k∞ + Lm−2 kx1 − x0 k∞ + . . . + Lk kx1 − x0 k∞
= Lm−1 + Lm−2 + . . . + Lk kx1 − x0 k∞
= Lk Lm−k−1 + Lm−k−2 + . . . + 1 kx1 − x0 k∞
! +∞ "
X
k
≤ L Li kx1 − x0 k∞
i=0
m−k−1
P +∞
P
En la última línea se cumple la desigualdad Li ≤ Li , debido a que 0 < L < 1. Por la
i=0 i=0
misma razón, la serie existe y se cumple que:
Lk
kxm − xk k∞ ≤ kx1 − x0 k∞ , para m ≥ k,
1−L
de lo anterior, se puede apreciar que cuando k → +∞ entonces kxm − xk k∞ → 0, por lo que la
sucesión (xk ) es de Cauchy, para cualquier x0 ∈ D.
Como la sucesión (xk ) ⊂ D ⊂ n , n completo y D cerrado, entonces D es completo, por lo
que la sucesión (xk ) converge a algún ξ ∈ D, es decir, ξ = lı́m xk . Además, g es continua
k→+∞
pues es contracción, y se tiene
ξ = lı́m xk+1 = lı́m g(xk ) = g lı́m xk = g(ξ),
k→+∞ k→+∞ k→+∞
por lo tanto, se cumple que la función g tiene un punto fijo en D y que además, la sucesión
(xk ) converge a ese punto fijo. Finalmente, falta probar la unicidad del punto fijo de g, para
ello, considere ξ y η puntos fijos de g, con los cuales:
kξ − ηk∞ = kg(ξ) − g(η)k∞ ≤ Lkξ − ηk∞ ,
de donde se tiene que kξ − ηk∞ = 0, por lo que ξ = η.
228 Capítulo 4. Solución de sistemas de ecuaciones
Teorema 4.14.
Sea D un conjunto cerrado de n y g : D → D una contracción. Entonces la sucesión
obtenida por la iteración de punto fijo converge hacia el punto fijo de g por lo menos de
orden lineal para cualquier valor inicial x0 ∈ D.
Demostración. Sea ξ el único punto fijo de g, cuya existencia y unicidad están garantizadas
por el teorema 4.13 del mapeo de contracción. Se puede probar por inducción que
Además se tiene
luego
1
kx0 − ξk ≤ kx1 − x0 k,
1−L
por lo tanto, para todo k ≥ 1
Lk
kxk − ξk ≤ kx1 − x0 k.
1−L
Lk
Ahora, considere la sucesión εk = 1−L
kx1 − x0 k, como L < 1, entonces εk → 0 y además
εk+1
lı́m = L < 1,
k→+∞ εk
Definición 4.8.
Suponga que g = (g1 , . . . , gn )T : n → n es una función definida y continua sobre un
vecindario (abierto) Nξ de ξ ∈ n . Suponga además que las primeras derivadas parciales
∂gi
∂xj
, j = 1, . . . , n de gi , existen en ξ para i = 1, . . . , n. La matriz jacobiana o simplemente
el jacobiano Jg de g en ξ es una matriz n × n con elementos
∂gi
[Jg (ξ)]ij = (ξ), para i, j = 1, . . . , n.
∂xj
Teorema 4.15.
Suponga que g = (g1 , . . . , gn )T : n → n es continua sobre un conjunto cerrado D ⊂ n .
∂gi
Sea ξ ∈ D un punto fijo de g y suponga que las primeras derivadas parciales ∂x j
, j =
1, . . . , n de gi , i = 1, . . . , n, son continuas en algún vecindario (abierto) Nξ ⊂ D de ξ, con
1
|||Jg (z)|||∞ ≤ 1 + |||Jg (ξ)|||∞ = L < 1. (4.9)
2
Suponiendo que x ∈ B̄(ξ,ε) y para i = 1, . . . , n fijos, se define la función ϕi : [0, 1] → tal que
esta función esta bien definida por convexidad de la bola cerrada. Luego, aplicando el teorema
del valor medio,
Ya que |gi (x) − gi (ξ)| ≤ Lkx − ξk∞ para todo i = 1, . . . , n, entonces se cumple que
Ax = b,
(M − N)x = b,
Mx = b + Nx,
x = M−1 (b + Nx).
Así, considerando g : n → n tal que g(x) = M−1 (b + Nx), se puede apreciar que la solución
del sistema Ax = b es equivalente a encontrar un punto fijo de g, es decir, x = g(x). Además
nótese que
1 k←0
2 x ← x0
3 r ← b − Ax
4 Mientras que k < iterMax ∧ krk ≥ tol hacer
5 x ← x + M−1 r
6 r ← b − Ax
7 k ←k+1
M−1 r = y ⇔ r = My,
es decir, que en lugar de calcular M−1 , se resuelve un sistema lineal, lo cual es una forma más
eficiente de realizar el producto M−1 r. De esta forma, la línea 5 usualmente es sustituida por
las instrucciones:
Resolver el sistema: My = r
x←x+y
4.3. Métodos iterativos 231
Para que lo anterior tenga sentido, se debe eligir M de tal forma que resolver el sistema My = r
sea sumamente sencillo, en comparación al sistema Ax = b, mediante alguno de los métodos
directos, por ejemplo, nótese que la factorización LU sería de gran utilidad.
Teorema 4.16.
Sean A, M, N ∈ n×n tales que A = M − N, con A y M matrices no singulares y b ∈ n
.
Entonces si |||M−1 N|||∞ < 1, la sucesión de punto fijo definida por
converge hacia la solución del sistema lineal Ax = b, para cualquier valor inicial x0 ∈ n
.
Demostración. Nótese que g(x) = M−1 Nx + M−1 b es una transformación lineal, por lo tanto
g es diferenciable en todo n ; además para todo x ∈ n , se cumple que Jg (x) = M−1 N. Luego,
como |||Jg |||∞ = |||M−1 N|||∞ < 1, por el teorema 4.15 la sucesión converge hacia ξ para cualquier
x0 ∈ n .
Teorema 4.17.
Sean A, M, N ∈ n×n tales que A = M − N, con A y M matrices no singulares y b ∈ n
.
Entonces si ρ(M−1 N) < 1, la sucesión de punto fijo definida por
converge hacia la solución del sistema lineal Ax = b, para cualquier valor inicial x0 ∈ n
.
k
siguiendo este proceso recursivo se tiene que ek = (M−1 N) e0 . Luego, por el corolario 4.2 y la
hipótesis ρ(M−1 N) < 1, se tiene que M−1 N → O, por lo que
k
ek = M−1 N e0 → 0.
En lo anterior se ha mostrado que los métodos iterativos basados en la sucesión de punto fijo
convergen cuando ρ (M−1 N) < 1, donde A = M − N. Sin embargo, aún no se ha definido como
elegir la matriz M de manera apropiada. Algunas elecciones para M son dadas en las siguientes
secciones, considerando la descomposición:
A = L + D + U, (4.10)
donde L y U son las matrices formadas por la parte estrictamente triangular inferior y superior
de A, respectivamente; mientras que D es la matriz formada por la diagonal principal, D =
diag(A), como se muestra en la figura 4.4.
( ( (
aij si i > j aij si i = j aij si i < j
lij = , dij = , uij = .
0 si i ≤ j 0 si i 6= j 0 si i ≥ j
Ejemplo 4.14.
Encuentre la descomposición (4.10) para la matriz
1 2 3 4
5 6 7 8
A = .
9 10 11 12
13 14 15 16
4.3. Métodos iterativos 233
Ejemplo 4.15.
Utilizando la iteración de Jacobi, determine la aproximación x5 , del sistema
5x1 + x2 + x3 = 7,
x + 5x2 + x3 = 7,
1
x1 + x2 + 5x3 = 7,
con valor inicial x0 = (0, 0, 0)T . Nótese que la solución exacta es dada por x = (1, 1, 1)T .
T
7 7 7
x1 = , , = (1.4, 1.4, 1.4)T ,
5 5 5
234 Capítulo 4. Solución de sistemas de ecuaciones
T
21 21 21
x2 = , , = (0.84, 0.84, 0.84)T ,
25 25 25
T
133 133 133
x3 = , , = (1.064, 1.064, 1.064)T ,
125 125 125
T
609 609 609
x4 = , , = (0.9744, 0.9744, 0.9744)T ,
625 625 625
T
3157 3157 3157
x5 = , , = (1.01024, 1.01024, 1.01024)T .
3125 3125 3125
Por lo tanto, se obtiene una aproximación x5 = (1.01024, 1.01024, 1.01024)T , la cual produce
un error relativo:
kx − x5 k2
= 0.01024.
kxk2
tal y como se muestra en la expresión (4.11). Además, como criterio de parada, cuando se tiene
una tolerancia tol, considere la norma relativa del residuo dada por:
kb − Axk k
< tol,
kbk
la cual es equivalente a escribir
krk k < tolkbk,
donde rk = b − Axk es el residuo en la iteración k y para k · k usualmente se toma la norma-2.
De esta manera, en el algoritmo 4.5 se considera el pseudocódigo del método de Jacobi.
4.3. Métodos iterativos 235
1 k←0
2 x ← x0
3 r ← kb − Axk2
4 tol ← tol · r
5 w∈ n
6 Mientras que k < iterMax ∧ r ≥ tol hacer
7 Para i ← 1 hasta n hacer
8 sum ← 0
9 Para j ← 1 hasta n hacer
10 sum ← sum + aij · xj
11 sum ← sum − aii · xi
12 wi ← a1ii (bi − sum)
13 x←w
14 r ← kb − Axk2
15 k ←k+1
Definición 4.9.
Una matriz A ∈ n×n
se dice diagonalmente dominante si para i = 1, . . . , n, se cumple
n
X
|aii | ≥ |aij |.
j=1
j6=i
Demostración. De acuerdo al teorema 4.16 es suficiente con probar que |||M−1 N|||∞ < 1. Para
ello, nótese que M−1 N = I − M−1 A = I − D−1 A, es decir,
0 −a 12
a11
· · · −a1n
a11
−a21 .. ..
−1
a22
0 . .
M N = .. .. .. −an−1,n
.
. . . an−1,n−1
−an1 −an,n−1
ann
··· ann
0
Por lo tanto, |||M−1 N|||∞ < 1, de donde se concluye que la iteración de Jacobi converge para
cualquier x0 ∈ n .
Ejemplo 4.16.
Muestre que la iteración de Jacobi converge para el sistema lineal Ax = b donde
2 −1 0
A = −1 2 −1 .
0 −1 2
Además |||M−1 N|||∞ = 1. Por otro lado, M−1 N es diagonalizable (por ser una matriz simétri-
ca), entonces existen matrices X (matriz de vectores propios) y Λ (matriz diagonal de valores
k
propios), tales que M−1 N n= XΛX−1 . oPor lo tanto (M−1 N) = XΛk X−1 . Mediante un sim-
√ √
ple cálculo, σ (M−1 N) = − 22 , 0, 22 , por lo que ρ(M−1 N) < 1. De aquí se deduce que
k
(M−1 N) → O y por consiguiente la iteración de Jacobi converge para cualquier x0 ∈ 3
.
Ejemplo 4.17.
Repita el ejemplo 4.15, pero utilizando Gauss-Seidel hacia adelante.
Por lo tanto, se obtiene una aproximación x5 = (1, 1, 1)T , la cual produce un error relativo de
cero.
es decir,
(k+1) (k) (k)
a11 x1 = b1 − a12 x2 − . . . − a1n xn ,
a x(k+1) + a x(k+1) (k) (k)
21 1 22 2 = b2 − a23 x3 − . . . − a2n xn ,
.. .. ..
. . .
a x(k+1) + a x(k+1) + . . . + a x(k+1) = b .
n1 1 n2 2 nn n n
(k+1)
Luego, despejando los términos xi de la diagonal se tiene que:
(k+1) 1 (k) (k)
x1 = a11
b1 − a12 x2 − . . . − a1n xn ,
x(k+1) = 1 (k+1) (k) (k)
2 a22
b2 − a21 x1 − a23 x3 − . . . − a2n xn ,
.. .. ..
. . .
(k+1) (k+1) (k+1) (k+1)
1
xn = ann
bn − an1 x1 − an2 x2 − . . . − an−1,n−1 xn−1 .
De esta forma, en los algoritmos 4.6 y 4.7 se presentan los pseudocódigos de los métodos de
Gauss-Seidel hacia adelante y Gauss-Seidel hacia atrás, respectivamente. La diferencia básica
entre ambos algoritmos se presenta en la línea 6, donde el ciclo de Gauss-Seidel hacia atrás se
recorre de manera inversa al de Gauss-Seidel hacia adelante.
1 k←0
2 x ← x0
3 r ← kb − Axk2
4 tol ← tol · r
5 Mientras que k < iterMax ∧ r ≥ tol hacer
6 Para i ← 1 hasta n hacer
7 sum ← 0
8 Para j ← 1 hasta n hacer
9 sum ← sum + aij · xj
10 sum ← sum − aii · xi
11 xi ← a1ii (bi − sum)
12 r ← kb − Axk2
13 k ←k+1
El análisis de convergencia es similar para ambas versiones por lo que en los resultados si-
guientes solamente se presentará la demostración para Gauss-Seidel hacia adelante. El primer
resultado de convergencia es para matrices estrictamente diagonal dominantes. Sin embargo la
demostración se basará en el análisis del radio espectral.
1 k←0
2 x ← x0
3 r ← kb − Axk2
4 tol ← tol · r
5 Mientras que k < iterMax ∧ r ≥ tol hacer
6 Para r ← 1 hasta n hacer
7 i←n+1−r
8 sum ← 0
9 Para j ← 1 hasta n hacer
10 sum ← sum + aij · xj
11 sum ← sum − aii · xi
12 xi ← a1ii (bi − sum)
13 r ← kb − Axk2
14 k ←k+1
Demostración. Por el teorema 4.17 es suficiente con demostrar que para todo valor propio
λ∈ " "
de M−1 N se tiene |λ| < 1. Sea v ∈ n , v 6= 0, un vector propio asociado a λ, como
M−1 N = (L + D)−1 (−U) entonces se tiene que:
Sea i0 tal que |vi0 | = kvk∞ y considere el vector x = v1i v, el cual satisface que kxk∞ = 1 y
0
xi0 = 1. Luego, al considerar el sistema −Ux = λ(L + D)x, la fila i0 viene dada por
! i " ! "
n
X X 0 0 −1
iX
− ai0 j · xj = λ ai0 j · xj = λ ai0 i0 + ai0 j · xj .
j=i0 +1 j=1 j=1
de donde
0 −1
iX n
X
|ai0 i0 | − |ai0 j | > |ai0 j |.
j=1 j=i0 +1
Por lo tanto, para cualquier valor propio λ de M−1 N, se tiene que |λ| < 1, por lo que en
particular se cumple que ρ(M−1 N) < 1. Con lo que se concluye que la iteración de Gauss-
Seidel hacia adelante converge para cualquier valor inicial x0 ∈ n .
Sea x∗ ∈ n
la transpuesta conjugada de x, multiplicando la ecuación anterior por x∗ se tiene:
Nótese que λ 6= 1, por lo que sumando (4.13) con (4.14) se tiene que
1 1
+ x∗ Ax = x∗ (L + D)x + x∗ (LT + D)x,
1−λ 1−λ
= x∗ (L + D + LT )x + x∗ Dx,
= x∗ Ax + x∗ Dx,
Luego, ya que A es simétrica definida positiva, se tiene que x∗ Ax > 0 y x∗ Dx > 0, para todo
x 6= 0, entonces de la igualdad anterior
1 1
+ − 1 x∗ Ax = x∗ Dx > 0.
1−λ 1−λ
Por lo que,
1 1 2 − (λ + λ) − (1 − λ)(1 − λ) 1 − |λ|2
+ −1 = = > 0,
1−λ 1−λ |1 − λ|2 |1 − λ|2
de donde |λ| < 1, con λ cualquier valor propio de M−1 N, entonces se concluye que ρ(M−1 N) <
1. Por lo tanto, la iteración de Gauss-Seidel hacia adelante converge.
1. ρ(M−1 −1
GS NGS ) = ρ(MJ NJ ) = 0,
2. ρ(M−1 −1
GS NGS ) = ρ(MJ NJ ) = 1,
3. ρ(M−1 −1
GS NGS ) < ρ(MJ NJ ) < 1,
4. 1 < ρ(M−1 −1
J NJ ) < ρ(MGS NGS ).
Observación: Del teorema anterior, es importante resaltar que la proposición 3 muestra que la
iteración de Gauss-Seidel converge más rápido que la de Jacobi, mientras que la proposición 4
dice que, si la iteración de Jacobi diverge, entonces la iteración de Gauss-Seidel también diverge.
Nótese que M es triangular inferior, mientras que N es triangular superior. Además, cuando
ω = 1 la descomposición anterior es la obtenida de Gauss-Seidel hacia adelante, por lo que este
método es conocido como SOR hacia adelante (“Forward SOR”), cuya iteración es dada por:
−1
1 1−ω
xk+1 = L + D b+ D − U xk .
ω ω
Una versión SOR hacia atrás (“Backward SOR”) se puede obtener de manera análoga.
Ejemplo 4.18.
Repita el ejemplo 4.15, pero utilizando SOR hacia adelante para ω = 1.2.
Por lo tanto, se obtiene una aproximación x5 = (0.9979, 0.9991, 1.0070)T , la cual produce un
error relativo:
kx − x5 k2
= 0.0042512 . . .
kxk2
Similar a la iteración de Gauss-Seidel, la iteración de SOR hacia adelante puede ser escrita de
la forma:
! i−1 n
"
(k+1) ω X (k+1)
X (k) (k)
xi = bi − aij xj − aij xj + (1 − ω)xi , para i = 1, 2, . . . , n,
aii j=1 j=i+1
de esta forma en el algoritmo 4.8 se presenta el pseudocódigo de SOR hacia adelante, el cual
es similar al de Gauss-Seidel hacia adelante, salvo por la actualización xi en la línea 11, la
cual nótese, consiste en un promedio ponderado de la aproximación anterior, con la actual.
Similarmente se puede escribir el algoritmo de SOR hacia atrás.
1 k←0
2 x ← x0
3 r ← kb − Axk2
4 tol ← tol · r
5 Mientras que k < iterMax ∧ r ≥ tol hacer
6 Para i ← 1 hasta n hacer
7 sum ← 0
8 Para j ← 1 hasta n hacer
9 sum ← sum + aij · xj
10 sum ← sum − aii · xi
11 xi ← (1 − ω)xi + aωii (bi − sum)
12 r ← kb − Axk2
13 k ←k+1
Con respecto al análisis de convergencia de la iteración de SOR hacia adelante (la hacia atrás
es análoga), a continuación se demostrarán algunos resultados importantes, de entre los cuales
el primero de ellos establece un rango para la constante ω.
4.3. Métodos iterativos 245
ρ(M−1 N) ≥ |1 − ω|.
1
n
Luego, det(M−1 N) = ω n ω
−1 = (1 − ω)n . Ahora, sean λ1 , . . . , λn los valores propios de
M−1 N entonces
n
Y
−1
ρ(M N) n
≥ |λi | = det(M−1 N) = |1 − ω|n ,
i=1
pero además, p(0) = det(0 · In − A) = det(−A) = (−1)n det(A). Igualando ambos resultados
para p(0), se concluye que
Yn
λi = det(A).
i=1
246 Capítulo 4. Solución de sistemas de ecuaciones
Por otro lado, nótese que para tener convergencia en la iteración de SOR, debe ocurrir que
ρ(M−1 N) < 1. Así, por el lema de Kahan, cuando |1 − ω| ≥ 1 no hay convergencia. Con lo que
se puede concluir que no hay convergencia cuando ω ∈ ] − ∞, 0] ∪ [2, +∞[, por lo tanto, si el
método de SOR converge, entonces ω ∈ ]0, 2[.
Ax = (1 − λ)Mx.
Observación: Según el lema de Householder-John, basta probar que para A ∈ n×n , simétrica
definida positiva, se cumple que MT +M−A también es simétrica definida positiva, para probar
que la iteración de SOR converge, cuando 0 < ω < 2, según el lema de Kahan. De esta manera,
el siguiente resultado verifica la convergencia de la iteración de SOR.
4.3. Métodos iterativos 247
T
T 1 1 T 2−ω
M +M−A = L+ D + L + D − (L + D + L ) = D,
ω ω ω
Ya que A es simétrica definida positiva, entonces D es positiva, así, para que MT + M − A sea
simétrica definida positiva, basta que 2−ω
ω
> 0, lo cual se cumple pues 0 < ω < 2. Por lo tanto,
por el lema de Householder-John (lema 4.5), se tiene que la iteración de SOR converge, para
cualquier valor inicial x0 ∈ n .
Observación: Algunas matrices admiten un valor óptimo para ω denominado ωopt . Por ejem-
plo, para matrices consistentemente ordenadas [34], con entradas en la diagonal distintas de
cero, el valor óptimo viene dado por:
2
ωopt = q ,
1+ 1− [ρ(M−1
J NJ )]
2
Tn −In 4 −1
−In Tn −In −1 4 −1
.. .. ..
donde Tn
. .. ... ..
Mn = . . . , = . .
−In Tn −In −1 4 −1
−In Tn −1 4
248 Capítulo 4. Solución de sistemas de ecuaciones
Ejemplo 4.19.
Encuentre el ω óptimo para la matriz
4 3 0
A = 3 4 −1 .
0 −1 4
donde
1
0 0 4
0 −3 0 0 − 34 0
M−1
J NJ = D−1 (−L − U) = 0 14 0 −3 0 1 = − 43 0 14
0 0 14 0 1 0 0 1
4
0
q
Así, se cumple que det(M−1
J NJ − λI3 ) = −λ λ − 2 5
8
, por lo que ρ(M−1
J NJ ) = 5
8
y con ello:
2
ωopt = q ≈ 1.24.
5
1+ 1− 8
Ejemplo 4.20.
Con ayuda de MATLAB, encuentre el ω óptimo para la matriz
4 −1 0 −1 0 0
−1 4 −1 0 −1 0
0 −1 4 0 0 −1
M = .
−1 0 0 4 −1 0
0 −1 0 −1 4 −1
0 0 −1 0 −1 4
2
ωopt = p ≈ 1.1128.
1+ 1 − (0.6036)2
Además, se tiene que ρ(M−1 SOR NSOR ) = ωopt − 1 ≈ 0.1128, lo cual se puede verificar con el
siguiente fragmento de código de MATLAB:
M = [ 4 -1 0 -1 0 0; -1 4 -1 0 -1 0; 0 -1 4 0 0 -1
-1 0 0 4 -1 0; 0 -1 0 -1 4 -1; 0 0 -1 0 -1 4];
D = diag( diag( M ) ); % Diagonal de M
L = tril( M ) - D; % Parte triangular inferior
U = triu( M ) - D; % Parte triangular superior
w = 2 / (1 + sqrt(1 - (0.6036)^2));
Bsor = inv(L + 1/w*D) * ( (1-w)/w*D-U ); % Matriz de SOR
p = max( abs(eig(Bsor)) ) % Radio espectral de Bsor
En esta sección se analiza un método de punto fijo de alto orden, por lo menos de orden
cuadrático, para aproximar las soluciones de la ecuación f (x) = 0 donde f : n → n .
Primero se reformula el problema original como un problema de punto fijo. Esto se puede realizar
observando que ξ satisface f (ξ) = 0 si y sólo si es un punto fijo de la función g λ (x) = x−λf (x)
donde λ ∈ y λ 6= 0.
Nótese que Jgλ (x) = I−λJf (x) por lo que escogiendo λ de tal manera que |||I − λJf (ξ)|||∞ < 1,
por el teorema 4.15 la iteración de punto fijo asociada a g λ converge. Por otro lado, siguiendo
la iteración de Newton en , se puede escoger λ, de tal manera que se considere la iteración:
Ejemplo 4.21.
Use la iteración de Newton para aproximar la solución del sistema no lineal:
2 2 2
f1 (x, y, z) = x + y + z − 1 = 0,
f (x, y, z) = 2x2 + y 2 − 4z = 0,
2
f3 (x, y, z) = 3x2 − 4y + z 2 = 0.
1 1 1 T
Utilice x0 = , ,
2 2 2
.
250 Capítulo 4. Solución de sistemas de ecuaciones
Así, como f (x3 ) = 10−5 (1, 4, 5)T , el vector x3 puede ser considerado como una aproximación
satisfactoria a la solución ξ.
Observación: Nótese que para resolver un sistema no lineal por medio de la iteración de
Newton, es necesario resolver un sistema lineal en cada iteración, por lo que se puede
hacer uso de las técnicas directas de la eliminación Gaussiana, o bien si se conoce alguna
propiedad de Jf , como ser simétrica definida positiva, se pueden utilizar las técnicas iterativas
de las secciones anteriores.
Algoritmo 4.9: Newton.
Recibe: f ∈ C 1 ( n ), Jf ∈ n×n , x0 ∈ n valor inicial, tol ∈ , iterMax ∈ !.
Retorna: k número de iteraciones usadas y x tal que f (x) = 0.
1 k←0
2 x ← x0
3 err ← tol + 1
4 Mientras que k < iterMax ∧ err ≥ tol hacer
5 b ← f (x)
6 A ← Jf (x)
7 Resolver el sistema: Ay = b
8 x←x−y
kx − x0 k2
err ←
9 kxk2
10 x0 ← x
11 k ←k+1
4.3. Métodos iterativos 251
Demostración. (ejercicio)
♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1. Utilizando los métodos de Jacobi y Gauss-Seidel hacia adelante, realice dos iteraciones
para aproximar la solución de los siguientes sistemas lineales, donde x0 = 0. Determine
el error absoluto en cada caso.
3x1 − x2 + x3 = 1, 10x1 − x2 = 9,
a) 3x + 6x2 + 2x3 = 0, b) −x1 + 10x2 − 2x3 = 7,
1
3x1 + 3x2 + 7x3 = 4. −2x2 + 10x3 = 6.
3. Construya un ejemplo que muestre que la convergencia del método de Jacobi no necesa-
riamente implica que el método de Gauss-Seidel convergerá.
4. Considerando la matriz M del ejemplo 4.20, junto con el vector b = (1, 0, 0, 0, 0, 0)T ,
resuelva el sistema Mx = b con los métodos de Jacobi, Gauss-Seidel y SOR (con ωopt ),
utilizando x0 = 0. Haga una comparación entre los métodos, la cual incluya una gráfica
del comportamiento de las normas de los residuos en cada iteración.
a) Defina la matriz A ∈ 5×5 por aij = 0.9ij y el vector b = (1, 1, 1, 1, 1)T . Para el
sistema Ax = b, haga tres iteraciones, a partir de x0 = 0, de refinamiento iterativo
!
en (10, 5, −∞, +∞).
b) Implemente en MATLAB un rutina que realice el refinamiento iterativo.
6. Encuentre una solución aproximada de los sistemas dados, con al menos cuatro dígitos
significativos.
( 3x (
3(x − 2y)2 = qe y + 5 cos(x), x sen(y) + 2xy = 2π,
a) y 3
b)
4 ln(xy) = x
. ex−1 − x cos(y) = 2.
tiene un punto fijo x = (1, 1)T . Luego, utilice el método de Newton para obtener una
aproximación, con una tolerancia de 10−6 .
8. Utilizando la iteración de Newton, diseñe un método que permita encontrar los extremos
relativos de una función. Luego, utilícelo para minimizar las funciones:
♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9. Implemente en MATLAB los métodos de Jacobi, Gauss-Seidel hacia adelante y SOR hacia
adelante. Luego, utilícelos para aproximar la solución de los siguientes sistemas lineales,
con x0 = 0, tol = 10−13 , iterMax = 1000 y ω = 1.1. Construya, en un mismo sistema de
coordenadas, una gráfica con el recorrido de la norma de los residuos en cada iteración,
para cada método y en cada sistema.
4x1 + x2 − x3 + x4 = −2,
4x1 + x2 + x3 + x5 = 6,
x1 + 4x2 − x3 − x4 = −1,
−x 1 − 3x 2 + x 3 + x 4 = 6,
a)
−x1 − x2 + 5x3 + x4 = 0, b) 2x1 + x2 + 5x3 − x4 − x5 = 6,
x − x + x + 3x =
1 2 3 4 1.
−x1 − x2 − x3 + 4x4 = 6,
2x2 − x3 + x4 + 4x5 = 6.
4.3. Métodos iterativos 253
10. Diseñe una versión simétrica del método de Gauss-Seidel y de SOR. Sugerencia: considere
la iteración hacia adelante y hacia atrás a la vez.
♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12. Suponga que la función g es una contracción en la norma-∞. Usando el hecho de que
1
kg(x) − g(y)kp = n p kg(x) − g(y)k∞ ,
−1
muestre que g es una contracción en la norma-p si L < n p .
a) Suponga que A ∈ n×n es una matriz diagonalizable, cuyos valores propios son
positivos. Entonces, la iteración (4.15) converge para cualquier valor inicial x0 ∈ n
si y sólo si
2
0 < α < .
λmáx
b) Encuentre el valor αopt , el cual es el valor óptimo para α.
15. Sea A ∈ n×n una matriz particionada de la forma A = (Aij ), donde se tienen N bloques
diagonales y cada bloque diagonal Aii es cuadrado y no singular.
a) Escriba las iteraciones de Jacobi, Gauss-Seidel y SOR en su versión por bloques para
el sistema lineal Ax = b. Sugerencia: considere A = L + D + U a nivel de bloques.
b) Si A es simétrica definida positiva, entonces muestre que U = LT y D es definida
positiva.
Definición 4.10.
Sea A una matriz simétrica definida positiva, se dice que los vectores u y v son A-
ortogonales si y sólo si
Nótese que si {d0 , . . . , dn−1 } es una familia de vectores A-ortogonales no nulos, entonces son
linealmente independiente, ya que para αi ∈ , i = 0, . . . , n−1, se puede considerar la ecuación
n−1
X
αi di = 0,
i=0
αj hdj , dj iA = 0,
En resumen: una familia de n vectores A-ortogonales es una base de n , por lo que la solución
del sistema lineal Ax = b puede ser escrita como una combinación lineal de los elementos de
esta base.
Lema 4.6.
Sea {d0 , . . . , dn−1 } una base A-ortogonal y x0 ∈ n
arbitrario. Entonces la sucesión gene-
rada por
hdk , rk i
xk+1 = xk + αk dk , donde αk = ,
hAdk , dk i
determina la solución x̂ del sistema lineal Ax = b en a lo más n pasos.
n−1
P
Demostración. Considere x̂ − x0 = βi di , para βi ∈ , i = 0, . . . , n − 1. Luego, nótese que
i=0
xk ∈ x0 + span{d0 , . . . , dk−1 }, ya que
xk = xk−1 + αk−1 dk−1 = (xk−2 + αk−2 dk−2 ) + αk−1 dk−1 ,
k−1
X
= . . . = x0 + αi di .
|i=0{z }
∈ span{d0 ,...,dk−1 }
Luego, se tiene que
hAdk , xk − x0 i = hdk , A(xk − x0 )i = 0,
además,
0 = hAdk , xk − x0 i = hAdk , xk − x̂i + hAdk , x̂ − x0 i = hAdk , xk − x̂i + βk hAdk , dk i ,
por lo que,
hAdk , xk − x̂i hdk , A(xk − x̂)i hdk , rk i
βk = − = − = = αk .
hAdk , dk i hAdk , dk i hAdk , dk i
Como αk = βk , entonces eso quiere decir que en cada iteración se calcula de manera exacta
los coeficientes de la combinación lineal de la solución, por lo que en n iteraciones se habrá
calculado la solución exacta.
Observación: Observe que si se tiene una familia de vectores A-ortogonales {d0 , . . . , dn−1 },
entonces la iteración xk+1 = x0 + αk dk definida en el lema 4.6, converge a la solución exacta
del sistema lineal Ax = b en no más de n iteraciones, donde A ∈ n×n . Por ejemplo, considere
2 −1 −7
A = y b = ,
−1 2 14
donde la solución del sistema Ax = b es dada por x = (0, 7)T . Luego, nótese que d0 = (1, 1)T
y d1 = (−1, 1)T son vectores A-ortogonales, por lo que considerando x0 = (0, 0)T , se tiene que:
7
hd0 , r0 i 0 7 1 2
x1 = x0 + d0 = + = 7 ,
hAd0 , d0 i 0 2 1 2
7
hd1 , r1 i 2
7 −1 0
x2 = x1 + d1 = 7 + = .
hAd1 , d1 i 2
2 1 7
4.4. Otros métodos iterativos 257
Por lo tanto, se alcanza la solución exacta en la segunda iteración, lo cual refleja la utilidad de
esta sucesión finita. Sin embargo, el problema de esta iteración yace en el alto costo de obtener
la familia A-ortogonal, pues implica realizar un proceso de ortogonalización (ver Gram-Schmidt
en la página 130). Así, una estrategia para reducir este costo computacional, utilizada en la
práctica, consiste en ir calculando dichos vectores, es decir ir ortogonalizando (con Gram-
Schmidt modificado, para evitar problemas de precisión finita), en cada iteración de la sucesión.
A este proceso se le conoce como el método de Gradiente Conjugado, el cual se define a
continuación:
1. r0 ← b − Ax0
2. d0 ← r0
3. Para k ← 0 hasta converger hacer
hrk , rk i
4. αk ←
hAdk , dk i
5. xk+1 ← xk + αk dk
6. rk+1 ← rk − αk Adk
hrk+1, rk+1 i
7. βk ←
hrk , rk i
8. dk+1 ← rk+1 + βk dk
9. Fin
Lema 4.7.
Muestre que en la iteración k del pseudocódigo anterior, los vectores {d0 , . . . , dk }, deno-
minados vectores directores, son A-ortogonales.
Por lo tanto, d0 y d1 son A-ortogonales. Asumiendo que la familia {d0 , . . . , dk } son A-ortogonales,
falta probar que la familia {d0 , . . . , dk+1 } también lo es. Para ello, basta probar que hAdk , dk+1i =
0, pues para hAdi , dk+1 i, con i = 0, . . . , k − 1, se hace de manera análoga. Así,
hrk+1, rk+1 i = hrk − αk Adk , rk − αk Adk i = hrk , rk i − 2αk hAdk , rk i + αk2 hAdk , Adk i ,
por lo que
= hAdk , dk i − hAdk , rk i .
4.4. Otros métodos iterativos 259
por lo tanto, hAdk , dk+1 i = 0, con lo que los vectores son A-ortogonales.
1 k←0
2 x ← x0
3 r ← b − Ax
4 d←r
5 tol ← tol · kbk2
6 nR ← krk2
7 Mientras que k < iterMax ∧ nR ≥ tol hacer
8 nR ← nR2 % producto interior: hr, ri
9 v ← Ad
nR
α←
10 hv, di
11 x←x+α·d
12 r←r−α·v
hr, ri
13 β←
nR
14 d←r+β·d
√
15 nR ← β · nR % norma del siguiente residuo
16 k ←k+1
Lema 4.8.
Sea A una matriz simétrica definida positiva y x0 un vector arbitrario en n . Si existe un
polinomio p(t) ∈ Pk tal que p(0) = 1 y |p(λ)| ≤ r, para todo λ ∈ σ(A), entonces el vector
xk de la iteración de Gradiente Conjugado satisface
donde x̂ es la solución de Ax = b.
Definición 4.11.
El polinomio de Chebyshev Tn de grado n es definido para x ∈ [−1, 1] de la forma
Finalmente, con este resultado y los lemas anteriores, a continuación se prueba la convergencia
del método de Gradiente Conjugado.
y nótese que para todo m, Tm (1) = 1 y |Tm (t)| ≤ 1, siempre que t ∈ [−1, 1]. Ahora, sea λmı́n el
menor valor propio de A, λmáx el mayor valor propio de A y φ : [λmı́n , λmáx ] → [−1, 1], tal que
λmáx + λmı́n − 2λ
φ(λ) = .
λmáx − λmı́n
Con esta definición, considere además,
1
p(λ) = · (Tm ◦ φ(λ)) ,
Tm ◦ φ(0)
1
y nótese que p(λ) es un polinomio, tal que p(0) = 1 y |p(λ)| ≤ Tm ◦φ(0) , para todo λ ∈ σ(A).
Luego, se tiene que
λmáx + λmı́n κ+1
Tm ◦ φ(0) = Tm = Tm ,
λmáx − λmı́n κ−1
donde κ = κ2 (A) = λλmáx
mı́n
, pues A es simétrica (ver ejercicio 5 de la página 224) y como A es
λmáx
definida positiva, entonces κ = λmı́n
.
4.4. Otros métodos iterativos 261
1 d ← kqk2
2 Para i ← 1 hasta n hacer
3 t ← 1d · qi
4 qi ← t
5 vi1 ← t
6 w∈ n
7 Para k ← 1 hasta m hacer
8 w ← Aq
9 Para j ← 1 hasta k hacer
10 d←0
11 Para i ← 1 hasta n hacer
12 d ← d + vij · wi
13 Para i ← 1 hasta n hacer
14 wi ← wi − d · vij
15 hjk ← d
16 d ← kwk2
17 hk+1,k ← d
18 Si |d| = 0 entonces
19 Detener
20 Para i ← 1 hasta n hacer
21 t ← d1 · wi
22 qi ← t
23 vi,k+1 ← t
Ejemplo 4.22.
Dada la matriz
2 −1 0
A = −1 2 −1 ,
0 −1 2
el vector q = (1, 0, 0)T y m = 2. Encuentre las matrices Vm , Vm+1 , H̃m y Hm .
4.4. Otros métodos iterativos 263
Volviendo con el método de GMRES, se desea resolver el problema de minimización mı́n krm k2 ,
zm ∈Km
para ello nótese que:
mı́n krm k2 = mı́n kb − Axm k2 = mı́n kb − A(x0 + zm )k2 = mı́n kr0 − Azm k2 ,
zm ∈Km zm ∈Km zm ∈Km zm ∈Km
1
como Vm+1 e1 = v1 = r,
entonces r0 = Vm+1 e1 kr0 k2 y con ello se tiene
kr0 k2 0
mı́nm kr0 − Vm+1 H̃m ym k2 = mı́nm
Vm+1 (e1 kr0 k2 − H̃m ym )
.
ym ∈ ym ∈ 2
Debido a que las columnas de Vm+1 son ortonormales, entonces se obtiene el siguiente problema
de minimización:
mı́nm kJ (y)k2 , donde J (y) =
kr0 k2 e1 − H̃m y
. (4.19)
y∈ 2
Luego, para resolver el problema de cuadrados mínimos (4.19) se puede usar la factorización
QR, tomando en cuenta que el método de rotaciones de Givens [34, 12] es el más apropiado ya
que el problema (4.19) es lo que se denomina un problema de cuadrados mínimos de Hessenberg.
De esta manera se obtiene que Qm H̃m = R̃m y se denomina como Rm a la matriz que se obtiene
al eliminar la última fila de la matriz R̃m , de esta forma se tiene que resolver el problema de
cuadrados mínimos es equivalente a resolver el sistema triangular superior
Rm ym = gm ,
donde gm ∈ m es el vector obtenido al eliminar la última entrada del vector g̃ ∈ m+1 , con
g̃m = Qm kr0 k2 e1 . Así, en el algoritmo 4.12 se presenta el método de las rotaciones de Givens, el
264 Capítulo 4. Solución de sistemas de ecuaciones
1 y1 ← d
2 % Factorización QR
3 Para i ← 1 hasta m hacer
4 q ← hii
5 k ← hi+1,i
6 c, s ← RotacionesGivens(q, k)
7 Para j ← i hasta m hacer
8 q ← hij
9 k ← hi+1,j
10 hij ← c · q + s · k
11 hi+1,j ← −s · q + c · k
12 yi+1 ← −s · yi
13 yi ← yi · c
14 % Resolver el sistema triangular superior
15 Para r ← 1 hasta m hacer
16 i← m+1−r
17 sum ← 0
18 Para j ← i + 1 hasta m hacer
19 sum ← sum + hij · yj
1
20 yi ← hii
(yi − sum)
4.4. Otros métodos iterativos 265
xm = x0 + Vm ym .
1 k←0
2 r ← b − Ax
3 nrm ← krk2
4 tol ← tol · kbk2
5 Mientras que k < iterMax ∧ nrm ≥ tol hacer
6 V, H ← Arnoldi(A, r, m)
7 y ← Argmin(H, nrm)
8 nrm ← |ym+1 |
9 V ← Quitarle a V su última columna
10 y ← Quitarle a y su última entrada
11 x ← x + Vy
12 r ← b − Ax
13 k ←k+1
Observación: La gran ventaja que tiene el método GMRES sobre los métodos previamente
descritos, es que permite resolver sistemas lineales donde la matriz no necesariamente es simé-
trica. De hecho, en la práctica cuando se desea resolver un sistema lineal de manera eficiente,
es común utilizar Gradiente Conjugado cuando este es un sistema simétrico, mientras que si el
sistema no es simétrico se utiliza GMRES.
Finalmente, a continuación se presentan dos resultados útiles con respecto al manejo del método
GMRES reanudado. Donde las demostraciones de ambos resultados se pueden apreciar en [34].
Lema 4.9.
Sea A una matriz no singular, entonces el algoritmo de GMRES se interrumpe en el paso
j, es decir, hj+1,j = 0, si y sólo si la aproximación xj es la solución exacta.
Teorema 4.25.
Si A es una matriz definida positiva, entonces la iteración de GMRES(m) converge para
cualquier m ≥ 1.
más rápido que CG, sino que es más general, debido a que permite trabajar con matrices no
simétricas, lo que no permite CG.
♦ Tradicionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Suponga que A ∈ !805×805 es simétrica, con valores propios 1.00, 1.01, 1.02, . . ., 8.98,
8.99, 9.00 y también 10, 12, 16, 24. ¿Cuántas iteraciones del método de CG son necesarias,
para asegurar que el error inicial kx0 − x̂kA es reducido por un factor de 106 ?
♦ De programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
♦ Avanzados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5. Sea A ∈ n×n
una matriz simétrica definida positiva y sea b ∈ n
. Defina la función
cuadrática
1 T
z Az − zT b, z ∈ n ,
φ(z) =
2
y demuestre que donde se alcanza el mínimo de φ(z), es solución del sistema Ax = b.
y utilice este resultado, junto a inducción matemática, para concluir que Tn es un polino-
mio de grado n.
7. Para n ≥ 1, verifique que los ceros del polinomio de Chebyshev Tn son de la forma:
(2j − 1)π
xj = cos , para j = 1, . . . , n.
2n
8. Sea {d0 , . . . , dn−1 } los vectores directores generados por el algoritmo de CG. Sea rk =
b − Axk , k = 0, . . . , n − 1. Entonces pruebe que
a) rk ∈ span{d0 , . . . , dn−1 }.
b) span{d0 , . . . , dn−1 } = span{r0 , Ar0 , . . . , An−1 r0 }.
c) r0 , . . . , rn−1 son mutuamente ortogonales.