Lino Alvarez - Aurea Martinez ———————————— METODOS NUMERICOS

TEMA 3: RESOLUCION
DE SISTEMAS DE
ECUACIONES LINEALES
Y NO LINEALES
Abordaremos en este tema la resoluci´on de Sistemas
de Ecuaciones Lineales (por diferentes m´etodos direc-
tos, iterativos y de descenso) y la resoluci´on de Sistemas
de Ecuaciones No Lineales (por m´etodos de iteraci´on
funcional y de Newton).
Antes de plantear los m´etodos de resoluci´on de S.E.L.
estudiaremos su condicionamiento, esto es, la sensibi-
lidad de la soluci´on exacta del sistema a las peque˜ nas
variaciones en los datos.
1 CONDICIONAMIENTO DE UN S.E.L.
Consideremos un sistema de n ecuaciones lineales con n
inc´ognitas Ax = b con A ∈ M
n×n
inversible (esto es,
un sistema compatible determinado con soluci´on ´ unica).
61
Ejemplo 1 .- Sea el S.E.L.
_
_
_
_
_
_
_
_
_
_
10 7 8 7
7 5 6 5
8 6 10 9
7 5 9 10
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
32
23
33
31
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
1
1
1
1
_
_
_
_
_
_
_
_
_
_
Si perturbamos ligeramente b:
_
_
_
_
_
_
_
_
_
_
10 7 8 7
7 5 6 5
8 6 10 9
7 5 9 10
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
32.1
22.9
33.1
30.9
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
9.2
−12.6
4.5
−1.1
_
_
_
_
_
_
_
_
_
_
Si perturbamos ligeramente A:
_
_
_
_
_
_
_
_
_
_
10 7 8.1 7.2
7.08 5.04 6 5
8 5.98 9.89 9
6.99 4.99 9 9.98
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
32
23
33
31
_
_
_
_
_
_
_
_
_
_

_
_
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
−81
137
−34
22
_
_
_
_
_
_
_
_
_
_
Por tanto, frente a peque˜ nas variaciones de A o de
b, la soluci´on x var´ıa mucho. Diremos en este caso
que el sistema est´a mal condicionado.
Para medir la variaci´ on de la soluci´on respecto a las
variaciones de A o b (condicionamiento del sistema)
se introduce el n´ umero de condici´on de A:
cond

(A) = A

.A
−1


para una norma matricial subordinada .

62
Nosotros utilizaremos usualmente alguna de las normas
matriciales subordinadas siguientes:
A
1
= max
1≤j≤n
n

i=1
|a
ij
|
A

= max
1≤i≤n
n

j=1
|a
ij
|
A
2
=
_
ρ(A
t
A)
Todas las normas matriciales subordinadas verifican, ade-
m´as de las propiedades caracter´ısticas de toda norma:
A

≥ 0
A

= 0 ⇔A = 0
A + B

≤ A

+ B

c.A

= |c|.A

las siguientes propiedades:
A

≥ ρ(A)
A.B

≤ A

.B

A
−1


≥ A

−1
I

= 1
Como consecuencia de estas propiedades y de la propia
definici´on de n´ umero de condici´on, este verifica:
63
1. cond(A) ≥ 1, ∀A ∈ M
n×n
2. cond(A) = cond(A
−1
), ∀A ∈ M
n×n
3. cond(cA) = cond(A), ∀A ∈ M
n×n
, ∀c = 0
Se tienen entonces los siguientes resultados:
Teorema 1 .- Se consideran, para A inversible y
para b = 0, los sistemas:
Ax = b,
A(x + δx) = b + δb.
Entonces:
δx
x
≤ cond(A)
δb
b
.
Teorema 2 .- Se consideran, para A inversible y
para b = 0, los sistemas:
Ax = b,
(A + δA) (x + δx) = b.
Entonces:
δx
x + δx
≤ cond(A)
δA
A
.
64
Observaci´ on 1 .- Por tanto, cuanto mayor sea el
n´ umero de condici´on peor ser´a el condicionamiento
del sistema.
En el ejemplo anterior, el mal condicionamiento es
debido a que cond
2
(A) = A
2
.A
−1

2
= 2984.
Para resolver los sistemas mal condicionados se usan las
t´ecnicas de precondicionamiento:
Dado un sistema Ax = b mal condicionado (es decir,
con cond(A) grande), se busca una matriz inversible P
tal que cond(PA) sea peque˜ no. Entonces, se resuelve el
sistema equivalente PAx = Pb que ya es bien condi-
cionado.
El caso m´as favorable ser´ıa P = A
−1
, pues entonces
cond(PA) = cond(I) = 1.
Las t´ecnicas de precondicionamiento buscan una matriz
P “pr´oxima” a A
−1
, pero f´acilmente calculable. (La es-
trategia m´as favorable consiste en calcular directamente
PA y Pb.)
Las t´ecnicas m´as comunes son la factorizaci´on incom-
pleta de Gauss, factorizaci´on incompleta de Choleski,. . .
65
2 METODOS DIRECTOS PARA S.E.L.
Los m´etodos directos se caracterizan por el hecho
de que, si no hubiera errores de redondeo, se obtendr´ıa
la soluci´on exacta del sistema en un n´ umero finito de
operaciones.
Presentamos los siguientes m´etodos:
2.1 M´etodo de Gauss.-
Dado un S.E.L. Ax = b con A ∈ M
n×n
inversible,
el principio que rige el m´etodo de Gauss para la
resoluci´on del sistema se puede resumir en “la deter-
minaci´on de una matriz inversible M tal que la matriz
MA sea triangular superior”. Este es el proceso llamado
de eliminaci´on. Una vez finalizado este proceso se re-
solver´a el sistema triangular equivalente MAx = Mb
mediante el m´etodo de sustituci´on retr´ograda.
En la pr´actica no se calcula M, sino directamente los
productos MA y Mb.
El m´etodo de Gauss se realiza en tres bloques:
1. Proceso de eliminaci´on sucesiva de inc´ognitas, que
equivale a la determinaci´on de una matriz M tal que
MA sea triangular superior.
66
2. C´alculo del vector Mb, que se suele realizar simul-
t´aneamente al bloque 1.
3. Resoluci´on de sistema triangular MAx = Mb por
sustituci´on retr´ograda.
Se pueden distinguir b´asicamente tres versiones del m´e-
todo de Gauss:
• Gauss normal
• Gauss con pivote parcial
• Gauss con pivote total
y un cuarto algoritmo:
• factorizaci´on LU
que es la interpretaci´ on matricial de la primera versi´ on.
Gauss normal:
El proceso de eliminaci´on se realiza en (n − 1) etapas:
en cada etapa k-´esima se obtienen ceros en la columna
k por debajo de la diagonal principal. As´ı, partiendo de
A
1
= A, en la etapa k-´esima se construye A
k+1
a partir
de A
k
= (a
k
ij
).
Para poder realizar cada etapa k-´esima se exigir´a (y esta
es la caracter´ıstica esencial de Gauss normal) que:
a
k
kk
= 0, ∀k = 1, . . . , n.
67
Etapa k-´esima :
Se hacen ceros en la columna k por debajo de la diagonal
principal restando a las filas i = k + 1, . . . , n, la fila k
multiplicada por
a
k
ik
a
k
kk
.
Matricialmente, esto corresponde a hacer A
k+1
= E
k
A
k
con:
E
k
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0
.
.
.
1

a
k
k+1,k
a
k
kk
1
.
.
.
.
.
.
0 −
a
k
nk
a
k
kk
0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(det(E
k
) = 1).
Una vez realizadas las (n −1) etapas se tiene:
A
n
= E
n−1
. . . E
2
E
1
. ¸¸ .
M
A = MA = U,
donde U es una matriz triangular superior, y simult´ a-
neamente:
E
n−1
. . . E
2
E
1
b = Mb.
Factorizaci´ on LU:
Es la interpretaci´ on matricial de m´etodo Gauss normal.
Teniendo en cuenta que todas las E
k
son matrices trian-
gulares inferiores con elementos diagonales iguales a uno
(por tanto, inversibles), se tiene que la matriz:
68
L = M
−1
= E
−1
1
E
−1
2
. . . E
−1
n−1
es tambi´en triangular inferior con unos en la diagonal.
Por tanto:
MA = U ⇔ A = M
−1
U = LU.
Teorema 3 .- (Factorizaci´on LU)
Sea A = (a
ij
) ∈ M
n×n
tal que las n submatrices prin-
cipales:

k
=
_
_
_
_
_
_
_
a
11
. . . a
1k
.
.
.
.
.
.
a
k1
. . . a
kk
_
_
_
_
_
_
_
, k = 1, . . . , n,
sean inversibles (esto es, det(∆
k
) = 0, ∀k = 1, . . . , n).
Entonces, a
k
kk
= 0, ∀k = 1, . . . , n, y, por tanto,
existe una matriz triangular inferior L = (l
ij
) con
elementos diagonales l
ii
= 1, ∀i = 1, . . . , n, y una
matriz triangular superior U = (u
ij
) tales que A =
LU. Adem´as, esta factorizaci´on es ´ unica.
Por tanto, si la eliminaci´on gaussiana es “normal” la
resoluci´on del sistema Ax = b se puede sustituir por
la resoluci´on de dos sistemas con matriz triangular (por
tanto, f´acilmente resolubles por sustituci´on):
Ax = b ⇔ LUx
. ¸¸ .
y
= b ⇔
_
¸
_
¸
_
Ly = b
Ux = y
69
F´ormulas para el c´alculo de L y U :
_
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
_
u
1j
= a
1j
, j = 1, . . . , n.
l
j1
=
a
j1
u
11
, j = 2, . . . , n.
Para i = 2, . . . , n :
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
u
ij
= a
ij

i−1

k=1
l
ik
u
kj
, j = i, . . . , n.
l
ji
=
a
ji

i−1

k=1
l
jk
u
ki
u
ii
, j = i + 1, . . . , n.
Observaci´ on 2 .- A la hora de implementar el m´eto-
do en el ordenador, esta estructura de c´alculo per-
mite almacenar cada u
ij
en la posici´on de a
ij
y cada
l
ji
en la correspondiente posici´on de a
ji
, con el con-
siguiente ahorro de memoria.
Como aplicaci´on directa del m´etodo LU se tiene que:
det(A) = det(L)
. ¸¸ .
=1
det(U) = det(U) = u
11
u
22
. . . u
nn
.
Gauss con pivote parcial:
No es dif´ıcil encontrar ejemplos de sistemas donde el
m´etodo de Gauss normal no puede llevarse a la pr´actica,
puesto que alg´ un elemento a
k
kk
resulta nulo. En este
70
caso ser´a necesario, antes del proceso de eliminaci´on, un
cambio de orden en las ecuaciones del sistema a fin de
obtener un elemento diagonal no nulo. En esto consiste
en m´etodo de Gauss con pivote parcial, que tambi´en se
desarrolla en (n −1) etapas:
Etapa k-´esima : Cada etapa se realiza en dos pasos:
PASO 1: Se elige el pivote parcial y se lleva a la diago-
nal, esto es, se intercambia la fila k con la fila i ≥ k tal
que el pivote a
k
ik
sea no nulo y verifique:
|a
k
ik
| = max
k≤p≤n
|a
k
pk
|
Si no existe dicho elemento, se pasa a la etapa (k + 1).
Matricialmente, este paso equivale a multiplicar P
k
A
k
,
con:
P
k
=
_
¸
_
¸
_
I, si i = k,
V
ki
, si i = k,
donde V
ki
es la matriz de permutaci´ on resultante de in-
tercambiar en la identidad las filas i y k:
V
ki
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 0
.
.
.
0 1
.
.
.
1 0
.
.
.
0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(det(V
ki
) = −1).
71
Por tanto:
det(P
k
) =
_
¸
_
¸
_
1, si i = k,
−1, si i = k,
PASO 2: Se hacen ceros en la columna k por debajo de
la diagonal principal como en el caso de Gauss normal.
Matricialmente, corresponde a hacer A
k+1
= E
k
P
k
A
k
.
Una vez realizadas las (n −1) etapas se tiene la matriz
triangular superior:
A
n
= E
n−1
P
n−1
. . . E
2
P
2
E
1
P
1
. ¸¸ .
M
A = MA = U,
y simult´ aneamente:
E
n−1
P
n−1
. . . E
2
P
2
E
1
P
1
b = Mb.
Teorema 4 .- Sea A ∈ M
n×n
cualquiera. Existe,
al menos, una matriz M inversible tal que MA es
triangular superior. Adem´as:
det(M) = (−1)
n´ umero de cambios de filas
= ±1.
Por tanto:
det(A) = (−1)
n´ umero de cambios de filas
u
11
u
22
. . . u
nn
.
72
Observaci´ on 3 .- Las estrategias de pivote, adem´as
de hacer factible el proceso de eliminaci´on, evitan la
divisi´on por n´ umeros muy peque˜ nos con los consi-
guientes errores de redondeo.
Gauss con pivote total:
Constituye una nueva estrategia para evitar en la medida
de lo posible los errores de redondeo de los m´etodos de
Gauss normal y con pivote parcial.
La idea consiste en elegir como pivote total el elemento
de mayor valor absoluto, no s´olo en la columna k, sino
en todas las columnas j con k ≤ j ≤ n. Esto intro-
duce una nueva dificultad, ya que el cambio de orden
en las columnas corresponde a un cambio de orden en
las inc´ognitas, hecho que debe ser tenido en cuenta a la
hora de la resoluci´on de sistema triangular.
El m´etodo de Gauss con pivote total se realiza en (n−1)
etapas:
Etapa k-´esima : Cada etapa se realiza en dos pasos:
PASO 1: Se elige el pivote total a
k
ij
= 0 tal que:
|a
k
ij
| = max
k≤p,q≤n
|a
k
pq
|
y se intercambian la fila k con la fila i y la columna k con
la columna j. Este paso equivale a multiplicar P
k
A
k
Q
k
,
73
con:
P
k
=
_
¸
_
¸
_
I, si i = k,
V
ki
, si i = k,
Q
k
=
_
¸
_
¸
_
I, si j = k,
V
kj
, si j = k.
PASO 2: Se hacen ceros en la columna k por debajo de
la diagonal principal como en el caso de Gauss normal.
Matricialmente, corresponde a hacer A
k+1
= E
k
P
k
A
k
Q
k
.
Una vez realizadas las (n −1) etapas se tiene la matriz
triangular superior:
A
n
= E
n−1
P
n−1
. . . E
2
P
2
E
1
P
1
. ¸¸ .
M
AQ
1
Q
2
. . . Q
n−1
. ¸¸ .
N
= MAN = U,
y simult´ aneamente:
E
n−1
P
n−1
. . . E
2
P
2
E
1
P
1
b = Mb.
Teorema 5 .- Sea A ∈ M
n×n
cualquiera. Existen,
al menos, dos matrices M y N inversibles tales que
MAN es triangular superior. Adem´as:
det(M) = (−1)
n´ umero de cambios de filas
= ±1.
det(N) = (−1)
n´ umero de cambios de columnas
= ±1.
Por tanto:
det(A) = (−1)
n´ umero de cambios de filas y columnas
u
11
u
22
. . . u
nn
.
74
Observaci´ on 4 .- A la hora de plantear el sistema
triangular se tiene:
Ax = b ⇔ MAN
. ¸¸ .
U
N
−1
x
. ¸¸ .
y
= Mb ⇔ Uy = Mb.
Al resolver el sistema se obtiene y, que es simple-
mente una reordenaci´on de las coordenadas de la
soluci´on buscada x, pues:
y = N
−1
x = Q
−1
n−1
. . . Q
−1
2
Q
−1
1
x = Q
n−1
. . . Q
2
Q
1
x.
2.2 Variantes al m´etodo de Gauss.-
Dentro de cada una de las versiones del m´etodo de Gauss
(normal, LU, con pivote parcial o total) se pueden con-
siderar diferentes variantes. Por ejemplo:
M´etodo de Gauss-Jordan:
El m´etodo de G.-J. se basa en encontrar una matriz
inversible
˜
M tal que
˜
MA sea diagonal y, a continuaci´ on,
resolver el sistema diagonal equivalente
˜
MAx =
˜
Mb.
(Consiste simplemente en dividir las componentes de
˜
Mb
por los correspondientes elementos diagonales de
˜
MA.)
Aunque se puede hablar de Gauss-Jordan normal, con
pivote parcial o total, s´olo estudiaremos el caso de pivote
parcial. El algoritmo de eliminaci´on se desarrolla en n
etapas: en cada etapa k-´esima se hacen ceros en toda la
columna k excepto en el elemento diagonal.
75
Etapa k-´esima : Cada etapa se realiza en dos pasos:
PASO 1: Se elige el pivote parcial, igual que en Gauss, y
se lleva a la diagonal. Matricialmente, este paso equivale
a multiplicar P
k
A
k
.
PASO 2: Se hacen ceros en toda la columna k excepto el
elemento diagonal, restando a todas las filas, excepto la
k, un m´ ultiplo adecuado de la fila k. Esto corresponde
a hacer A
k+1
=
˜
E
k
P
k
A
k
, con:
˜
E
k
=
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1 −
a
k
1k
a
k
kk
0
.
.
.
.
.
.
1

a
k
k+1,k
a
k
kk
1
.
.
.
.
.
.
0 −
a
k
nk
a
k
kk
0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
(det(
˜
E
k
) = 1).
Una vez realizadas las n etapas se tiene la matriz dia-
gonal:
A
n+1
=
˜
E
n
P
n
. . .
˜
E
2
P
2
˜
E
1
P
1
. ¸¸ .
˜
M
A =
˜
MA = D,
y simult´ aneamente:
˜
E
n
P
n
. . .
˜
E
2
P
2
˜
E
1
P
1
b =
˜
Mb.
76
Teorema 6 .- Sea A ∈ M
n×n
inversible. Existe, al
menos, una matriz
˜
M inversible tal que
˜
MA es dia-
gonal. Adem´as:
det(
˜
M) = (−1)
n´ umero de cambios de filas
= ±1.
Por tanto:
det(A) = (−1)
n´ umero de cambios de filas
d
11
d
22
. . . d
nn
.
Observaci´ on 5 .- El m´etodo de G.-J. est´a especial-
mente indicado para el c´alculo de inversas (aunque se
puede usar cualquier otro m´etodo para la resoluci´on
de S.E.L.).
Dada una matriz A ∈ M
n×n
inversible, si denotamos
A
−1
= (u
1
|u
2
| . . . |u
n
), I = (e
1
|e
2
| . . . |e
n
),
entonces:
AA
−1
= I ⇔ A(u
1
|u
2
| . . . |u
n
) = (e
1
|e
2
| . . . |e
n
)
⇔ (Au
1
|Au
2
| . . . |Au
n
) = (e
1
|e
2
| . . . |e
n
)
⇔ Au
i
= e
i
, ∀i = 1, . . . , n.
Por tanto, cada columna de la matriz inversa A
−1
es la soluci´on de un sistema lineal con matriz A y
segundo miembro el correspondiente vector de la base
can´onica.
77
Utilizando el m´etodo de G.-J., para calcular A
−1
basta
resolver los n sistemas diagonales:
˜
MAu
i
=
˜
Me
i
, ∀i = 1, . . . , n.
M´etodo de Crout:
Se basa en el siguiente resultado:
Teorema 7 .- (Factorizaci´on de Crout)
Sea A = (a
ij
) ∈ M
n×n
tal que las n submatrices prin-
cipales sean inversibles.
Entonces existe una matriz triangular inferior L =
(l
ij
) con elementos diagonales l
ii
= 1, ∀i = 1, . . . , n,
una matriz diagonal D = (d
ij
) y una matriz trian-
gular superior U = (u
ij
) con elementos diagonales
u
ii
= 1, ∀i = 1, . . . , n, tales que A = LDU.
Adem´as, esta factorizaci´on es ´ unica.
El m´etodo tiene espacial inter´es cuando la matriz del
sistema es sim´etrica, pues entonces:
Corolario 1 .- Sea A = (a
ij
) ∈ M
n×n
sim´etrica tal
que las n submatrices principales sean inversibles.
Entonces existe una matriz triangular inferior L =
(l
ij
) con elementos diagonales l
ii
= 1, ∀i = 1, . . . , n,
y una matriz diagonal D = (d
ij
) tales que A = LDL
t
.
Adem´as, esta factorizaci´on es ´ unica.
78
Por tanto, en el caso sim´etrico, la resoluci´on del sistema
Ax = b se puede sustituir por la resoluci´on de tres sis-
temas sencillos (dos con matriz triangular y uno con ma-
triz diagonal):
Ax = b ⇔ LDL
t
x
. ¸¸ .
y
. ¸¸ .
z
= b ⇔
_
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
_
Lz = b
Dy = z
L
t
x = y
F´ormulas para el c´alculo de L y D :
_
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
_
d
11
= a
11
l
i1
=
a
i1
d
11
, i = 2, . . . , n.
Para j = 2, . . . , n :
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
d
jj
= a
jj

j−1

k=1
l
2
jk
d
kk
l
ij
=
a
ij

j−1

k=1
l
ik
u
jk
d
kk
d
jj
, i = j + 1, . . . , n.
Como aplicaci´on directa del m´etodo de Crout se tiene
que:
det(A) = det(D) = d
11
d
22
. . . d
nn
.
79
M´etodo de Choleski:
Si A es una matriz sim´etrica y definida positiva est´a en
las condiciones del teorema de factorizaci´on LU y por
tanto admite una factorizaci´on de ese tipo. Sin embargo,
es posible encontrar otra factorizaci´on a´ un m´as simple:
Teorema 8 .- (Factorizaci´on de Choleski)
Sea A = (a
ij
) ∈ M
n×n
sim´etrica y definida positiva.
Entonces existe una matriz triangular inferior B =
(b
ij
) tal que A = BB
t
.
Adem´as, se puede imponer que los elementos diago-
nales b
ii
> 0, ∀i = 1, . . . , n. En este caso, la factori-
zaci´on es ´ unica.
Corolario 2 .- Sea A = (a
ij
) ∈ M
n×n
sim´etrica.
Entonces son equivalentes:
1. A es definida positiva ( x
t
Ax > 0, ∀x = 0).
2. Las submatrices principales verifican:
det(∆
k
) > 0, ∀k = 1, . . . , n.
3. A admite factorizaci´on de Choleski.
4. Sp(A) ⊂ (0, ∞).
80
Por tanto, en el caso definido positivo, la resoluci´on del
sistema Ax = b se puede sustituir por la resoluci´on de
dos sistemas triangulares:
Ax = b ⇔ B B
t
x
. ¸¸ .
y
= b ⇔
_
¸
_
¸
_
By = b
B
t
x = y
F´ormulas para el c´alculo de B :
_
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
_
b
11
=

a
11
b
i1
=
a
i1
b
11
, i = 2, . . . , n.
Para j = 2, . . . , n :
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
b
jj
=
¸
¸
¸
¸
_
a
jj

j−1

k=1
b
2
jk
b
ij
=
a
ij

j−1

k=1
b
ik
b
jk
b
jj
, i = j + 1, . . . , n.
Como aplicaci´on directa del m´etodo de Choleski se tiene
que:
det(A) = det(B) det(B
t
) = [det(B)]
2
= b
2
11
b
2
22
. . . b
2
nn
.
81
2.3 Factorizaci´ on QR y m´etodo de Householder.-
Dado un vector v ∈ R
n
, v = 0, se llama matriz de
Householder a una matriz de la forma:
H(v) = I −2
vv
t
v
t
v
= I −
2
v
2
2
vv
t
∈ M
n×n
(R).
(Por convenio se suele considerar H(0) = I.)
Se puede comprobar que toda matriz de Householder es
sim´etrica y ortogonal, por tanto, ella es su propia inversa.
Teorema 9 .- (Householder)
Sea a = (a
i
) ∈ R
n
un vector tal que
n

i=2
|a
i
| > 0.
Entonces existen, al menos, dos matrices de House-
holder tal que las (n − 1) ´ ultimas componentes del
vector resultante de multiplicarlas por a son nulos.
De forma m´as precisa:
H(a + a
2
e
1
)a = −a
2
e
1
,
H(a −a
2
e
1
)a = a
2
e
1
.
Observaci´ on 6 .-
1. Si
n

i=2
|a
i
| = 0, entonces basta tomar I.
2. En todos los casos se puede encontrar una matriz
de Householder tal que la primera componente
del producto sea positiva.
82
3. En la pr´actica no se calcula H(v) sino directa-
mente H(v)a :
H(v)a = Ia −
2
v
2
2
vv
t
a = a −2
v
t
a
v
2
2
v.
4. A la hora de la programaci´on en ordenador, la
elecci´ on del signo de v = a ± a
2
e
1
se suele
hacer adecuada para evitar divisiones por n´ ume-
ros demasiado peque˜ nos:
v = a + a
2
e
1
, si a
1
> 0,
v = a −a
2
e
1
, si a
1
< 0.
El m´etodo de Householder para resolver un sis-
tema Ax = b consiste en encontrar (n − 1) matrices
de Householder H
1
, H
2
, . . . , H
n−1
tales que la matriz
H
n−1
. . . H
2
H
1
A = R sea triangular superior.
A continuaci´on se resuelve el sistema triangular equiva-
lente:
H
n−1
. . . H
2
H
1
Ax = H
n−1
. . . H
2
H
1
b
por sustituci´on retr´ograda.
Entonces, partiendo de A
1
= A, en cada etapa k-´esima,
k = 1, . . . , n−1, se van calculando las matrices A
k+1
=
H
k
A
k
de forma que se hagan ceros en la columna k por
debajo de la diagonal.
83
El paso de la matriz A
k
a la matriz A
k+1
se realiza en-
tonces de la siguiente manera:
Se toma el vector a
k
∈ R
n−k+1
formado por los ele-
mentos de la columna k de A
k
a partir del diagonal
(inclusive). Se elige la matriz de Householder H(˜ v
k
) ∈
M
(n−k+1)×(n−k+1)
(R) tal que H(˜ v
k
)a
k
= a
k

2
e
1
.
Se construye entonces la nueva matriz de Householder:
H
k
=
_
_
_
I
k−1
0
0 H(˜ v
k
)
_
_
_ = H(v
k
), con v
k
=
_
_
_
0
˜ v
k
_
_
_ ∈ R
n
.
Matricialmente, la etapa k-´esima equivale a multiplicar
A
k+1
= H
k
A
k
. Entonces la matriz A
k+1
tiene ceros en
la columna k por debajo de la diagonal.
Una vez realizadas las (n −1) etapas se tiene la matriz
triangular superior:
A
n
= H
n−1
. . . H
2
H
1
. ¸¸ .
Q
t
A = Q
t
A = R,
y, simult´ aneamente, el vector:
H
n−1
. . . H
2
H
1
b = Q
t
b.
Dado que:
Q = (H
n−1
. . . H
2
H
1
)
t
= H
t
1
H
t
2
. . . H
t
n−1
= H
1
H
2
. . . H
n−1
,
Q es ortogonal (por ser producto de matrices ortogo-
nales), esto es, Q
−1
= Q
t
. En consecuencia:
Q
t
A = R ⇔ A = QR.
84
Todo lo anterior puede resumirse en el siguiente resul-
tado:
Teorema 10 .- (Factorizaci´on QR)
Dada una matriz A ∈ M
n×n
(R) inversible existen, al
menos, una matriz ortogonal Q y una matriz trian-
gular superior R tales que A = QR.
Adem´as, se puede elegir R con los elementos diago-
nales r
ii
> 0, ∀i = 1, . . . , n. En este caso, la facto-
rizaci´on es ´ unica.
Observaci´ on 7 .- Como una primera consecuencia
de la factorizaci´on QR se tiene la siguiente apli-
caci´on para el c´alculo de determinantes:
det(A) = det(Q)
. ¸¸ .
±1
det(R) = ±det(R) = ±r
11
r
22
. . . r
nn
.
El m´etodo de Householder para la resoluci´on del S.E.L.
Ax = b consiste entonces en calcular la factorizaci´on QR
de A (mediante las matrices de Householder) y, teniendo
en cuenta las equivalencias:
Ax = b ⇔ Q
t
Ax = Q
t
b ⇔ Rx = Q
t
b
resolver el sistema triangular equivalente Rx = Q
t
b.
85
3 METODOS ITERATIVOS PARA S.E.L.
En general, los sistemas lineales de gran tama˜ no Ax = b,
con A ∈ M
n×n
(R) inversible, que surgen en la pr´actica
suelen tener la matriz con muchos ceros (matriz hueca
o sparse). Los m´etodos directos de resoluci´on no suelen
resultar ventajosos en este caso ya que a lo largo del
proceso de eliminaci´on muchos de los coeficientes nulos
de A dejan de serlo, elevando notablemente el gasto de
memoria en el ordenador.
La siguiente tabla da el desarrollo a lo largo del tiempo
de lo que era considerado el tama˜ no l´ımite “m´as grande”
que pod´ıa ser tratado por los m´etodos directos:
a˜ no tama˜ no
1950 20
1965 200
1980 2000
1995 20000
En contraste con estos m´etodos existen otros que s´olo
hacen uso de la matriz original A, son los llamados
m´etodos iterativos (o indirectos), y que se carac-
terizan por construir, a partir de un vector inicial x
0
arbitrario, una sucesi´on de vectores {x
k
}
k∈N
destinada
a converger a la soluci´on del sistema.
86
3.1 Generalidades.-
Los m´etodos iterativos que vamos a estudiar son los lla-
mados m´etodos lineales que construyen la sucesi´on
{x
k
}
k∈N
mediante el siguiente esquema lineal:
_
¸
_
¸
_
x
0
arbitrario,
x
k+1
= Bx
k
+ c, k = 0, 1, . . .
donde la matriz B ∈ M
n×n
(R) (matriz del m´etodo) y
el vector c ∈ R
n
(vector del m´etodo) se eligen a partir
de los datos A y b.
Un m´etodo lineal se dice convergente si cualquiera que
sea el vector inicial x
0
∈ R
n
la sucesi´on es convergente,
esto es:
∃ lim
k→∞
x
k
= x.
Supongamos que el m´etodo es convergente, entonces to-
mando l´ımites en la expresi´on del m´etodo se tiene:
x = lim
k→∞
x
k+1
= lim
k→∞
(Bx
k
+ c) = Bx + c,
esto es:
(I −B)x = c.
Por tanto, B y c deben elegirse de tal modo que el sis-
tema (I −B)x = c tenga soluci´on (es decir, (I −B) sea
inversible) y los sistemas Ax = b e (I −B)x = c sean
equivalentes.
87
Tenemos entonces la siguiente relaci´on:
x
k
−x = (Bx
k−1
+ c) −(Bx + c) = B(x
k−1
−x)
= B
2
(x
k−2
−x) = . . . = B
k
(x
0
−x).
Como consecuencia se tiene el siguiente resultado de ca-
racterizaci´on de la convergencia para los m´etodos itera-
tivos lineales:
Teorema 11 .- Son equivalentes:
1. El m´etodo lineal es convergente.
2. ρ(B) < 1.
3. B < 1, para, al menos, alguna norma matri-
cial subordinada.
La cuesti´on es ahora la siguiente: ¿qu´e m´etodo iterativo
(es decir, qu´e matriz B) elegir para resolver el sistema
Ax = b?
88
Si la matriz B es normal (BB
t
= B
t
B) entonces se tiene
que B
2
= ρ(B). Por tanto:
x
k
−x
2
= B
k
(x
0
−x)
2
≤ B
k

2
x
0
−x
2
≤ B
k
2
x
0
−x
2
= [ρ(B)]
k
x
0
−x
2
Se observa que en este caso el m´etodo converger´a m´as
r´apidamente cuanto menor sea ρ(B) < 1.
(La conclusi´on es similar para matrices generales).
En resumen, en el estudio de los m´etodos iterativos li-
neales para la resoluci´on de un sistema Ax = b se debe:
1. Comprobar que (I − B) es inversible y que los sis-
temas Ax = b e (I −B)x = c son equivalentes.
(M´etodo bien construido).
2. Comprobar que ρ(B) < 1 ´o que B < 1.
(M´etodo convergente).
3. Elegir entre los m´etodos posibles el que tenga menor
ρ(B).
(Velocidad de convergencia alta).
89
3.2 M´etodos iterativos cl´asicos.-
Los m´etodos cl´asicos que vamos a describir son los re-
presentantes m´as caracter´ısticos de una clase general de
m´etodos basados en una descomposici´on de la matriz
A en la forma A = M − N, donde M es una matriz
“f´acilmente” inversible (triangular, diagonal . . . )
Este hecho es fundamental a la hora de llevar el m´etodo
a la pr´actica pues, aunque no calcularemos M
−1
, s´ı re-
solveremos sistemas lineales con matriz M.
Se tienen las siguientes equivalencias:
Ax = b ⇔ (M −N)x = b ⇔ Mx = Nx + b
⇔ x = M
−1
Nx + M
−1
b
Comparando con la expresi´on general:
x = Bx + c
esto nos induce a elegir:
B = M
−1
N, c = M
−1
b.
Adem´as, en este caso la matriz:
I −B = I −M
−1
N = M
−1
M −M
−1
N
= M
−1
(M −N) = M
−1
A
es inversible, por serlo M y A.
90
Esto da lugar al m´etodo lineal general:
_
¸
_
¸
_
x
0
arbitrario,
x
k+1
= M
−1
Nx
k
+ M
−1
b, k = 0, 1, . . .
o equivalentemente (y tal como haremos en la pr´actica):
_
¸
_
¸
_
x
0
arbitrario,
Mx
k+1
= Nx
k
+ b, k = 0, 1, . . .
Esto es, para calcular un iterante a partir del anterior
no se calculan inversas o productos de matrices, sino que
simplemente se debe resolver un sistema lineal sencillo.
Veamos a continuaci´ on los m´etodos de Jacobi, de Gauss-
Seidel y de Relajaci´on. Para ello, descomponemos la
matriz del sistema en la forma A = D −E −F, con:
D =
_
_
_
_
_
_
_
_
_
_
a
11
0
a
22
.
.
.
0 a
nn
_
_
_
_
_
_
_
_
_
_
,
E =
_
_
_
_
_
_
_
_
_
_
0 0
−a
21
0
.
.
.
.
.
.
.
.
.
−a
n1
. . . −a
n,n−1
0
_
_
_
_
_
_
_
_
_
_
, F =
_
_
_
_
_
_
_
_
_
_
0 −a
12
. . . −a
1n
.
.
.
.
.
.
.
.
.
0 −a
n−1,n
0 0
_
_
_
_
_
_
_
_
_
_
.
Supondremos que D es inversible, esto es, que se verifica
a
ii
= 0, ∀i = 1, . . . , n. (Esta hip´otesis no es excluyente,
pues siempre se puede encontrar una reordenaci´on de las
filas de A que la verifique).
91
M´etodo de Jacobi:
Se elige:
M = D, (matriz diagonal)
N = E + F.
La matriz del m´etodo es:
J = D
−1
(E + F) (Matriz de Jacobi)
y el vector del m´etodo es:
c = D
−1
b.
Por tanto, el m´etodo quedar´a:
x
k+1
= D
−1
(E + F)x
k
+ D
−1
b, k = 0, 1, . . .
o equivalentemente:
Dx
k+1
= (E + F)x
k
+ b, k = 0, 1, . . .
Si denotamos por x
i
k
la coordenada i-´esima del iterante
x
k
, entonces se tiene la expresi´on:
x
i
k+1
=
1
a
ii
[−
i−1

j=1
a
ij
x
j
k

n

j=i+1
a
ij
x
j
k
+ b
i
],
i = 1, . . . , n.
k = 0, 1, . . .
92
M´etodo de Gauss-Seidel:
Se elige:
M = D −E, (matriz triagular inferior)
N = F.
La matriz del m´etodo es:
L
1
= (D −E)
−1
F (Matriz de Gauss-Seidel)
y el vector del m´etodo es:
c
1
= (D −E)
−1
b.
Por tanto, el m´etodo quedar´a:
x
k+1
= (D −E)
−1
Fx
k
+ (D −E)
−1
b, k = 0, 1, . . .
o equivalentemente:
(D −E)x
k+1
= Fx
k
+ b, k = 0, 1, . . .
Se tiene entonces la expresi´on en coordenadas:
x
i
k+1
=
1
a
ii
[−
i−1

j=1
a
ij
x
j
k+1

n

j=i+1
a
ij
x
j
k
+ b
i
],
i = 1, . . . , n.
k = 0, 1, . . .
93
M´etodo de Relajaci´on:
Se introduce el par´ametro real ω = 0 para hacer una
descomposici´on A = M
ω
− N
ω
de modo que la matriz
del m´etodo tenga el menor radio espectral posible:
M
ω
=
1
ω
D −E, (matriz triagular inferior)
N
ω
=
1 −ω
ω
D + F.
La matriz y el vector del m´etodo son:
L
ω
= (
1
ω
D−E)
−1
(
1 −ω
ω
D+F) = (D−ωE)
−1
[(1−ω)D+ωF],
c
ω
= (
1
ω
D −E)
−1
b = (D −ωE)
−1
ωb.
Por tanto, el m´etodo quedar´a:
x
k+1
= (D−ωE)
−1
[(1−ω)D+ωF]x
k
+(D−ωE)
−1
ωb, k = 0, 1, . . .
o equivalentemente:
(D−ωE)x
k+1
= [(1−ω)D+ωF]x
k
+ωb, k = 0, 1, . . .
Se tiene entonces la expresi´on en coordenadas:
x
i
k+1
= (1 −ω)x
i
k
+
ω
a
ii
[−
i−1

j=1
a
ij
x
j
k+1

n

j=i+1
a
ij
x
j
k
+b
i
],
i = 1, . . . , n.
k = 0, 1, . . .
(N´otese que Gauss-Seidel es Relajaci´on para ω = 1.)
94
3.3 Convergencia de los m´etodos cl´asicos.-
Por el teorema general de convergencia, los m´etodos
cl´asicos convergen si y s´olo si ρ(M
−1
N) < 1, esto es, si
todas las ra´ıces de det(M
−1
N −λI) = 0 tienen m´odulo
menor que uno.
Teniendo en cuenta que det(M) = 0, esto es equiva-
lente a que todas las ra´ıces de det(λM−N) = 0 tengan
m´odulo menor que uno, que es una condici´on m´as sen-
cilla de comprobar.
A´ un as´ı, esta condici´on no es aplicable en la pr´actica
por sus dificultades de c´alculo. Nos interesa, por tanto,
obtener condiciones de convergencia m´as f´aciles de com-
probar (y a ser posible, sobre la matriz A del sistema).
Teorema 12 .- (Fr¨obenius-Mises)
Una condici´on suficiente para la convergencia del
m´etodo de Jacobi es que se verifique una de las dos
desigualdades siguientes:
1.
n

j=1
j=i
|
a
ij
a
ii
| < 1, ∀i = 1, . . . , n.
2.
n

i=1
i=j
|
a
ij
a
ii
| < 1, ∀j = 1, . . . , n.
95
Teorema 13 .- (Geiringer)
Una condici´on suficiente para la convergencia del
m´etodo de Gauss-Seidel es que se verifique una de
las dos desigualdades siguientes:
1.
n

j=1
j=i
|
a
ij
a
ii
| < 1, ∀i = 1, . . . , n.
2.
n

i=1
i=j
|
a
ij
a
ii
| < 1, ∀j = 1, . . . , n.
Observaci´ on 8 .- La condici´on 1 puede escribirse
tambi´en en la forma equivalente:
n

j=1
j=i
|a
ij
| < |a
ii
|, ∀i = 1, . . . , n.
es decir, A es una matriz de diagonal estrictamente
dominante.
Entonces, para toda matriz A de diagonal estricta-
mente dominante (por tanto inversible) los m´etodos
de Jacobi y Gauss-Seidel son convergentes.
Teorema 14 .- (Kahan)
El radio espectral de la matriz del Relajaci´on verifica:
ρ(L
ω
) ≥ |1 −ω|.
Por tanto, una condici´on necesaria para la conver-
gencia del m´etodo de Relajaci´on es que ω ∈ (0, 2).
96
Teorema 15 .- (Ostrowski-Reich)
Si A es sim´etrica y definida positiva, una condici´on
necesaria y suficiente para la convergencia del m´etodo
de Relajaci´on es que ω ∈ (0, 2).
(Por tanto, el m´etodo de Gauss-Seidel es simpre con-
vergente para una matriz A sim´etrica y definida po-
sitiva).
Observaci´ on 9 .- Este ´ ultimo resultado es conse-
cuencia de un resultado m´as general seg´ un el cual, si
consideramos la descomposici´on A = M −N de una
matriz A sim´etrica y definida positiva, una condici´on
suficiente para la convergencia del m´etodo asociado
es que la matriz (M
t
+ N) sea tambi´en sim´etrica y
definida positiva.
Para finalizar el estudio de los m´etodos iterativos, ve-
remos algunos resultados para la comparaci´on de la ve-
locidad de convergencia de los m´etodos cl´asicos.
Para ello comenzaremos restringi´endonos al caso de una
matriz A tridiagonal (caso frecuente en la pr´actica), y
veremos a continuaci´ on otro resultado para matrices m´as
generales:
97
Teorema 16 .- Si A es una matriz tridiagonal tal
que la matriz de Jacobi J tiene todos sus autova-
lores reales, entonces los m´etodos de Jacobi y de Re-
lajaci´on para ω ∈ (0, 2) convergen o divergen si-
mult´aneamente.
En caso de convergencia, existe un par´ametro ´optimo
de Relajaci´on:
ω
0
=
2
1 +
_
1 −[ρ(J)]
2
∈ (1, 2)
tal que:
ρ(L
ω
0
) = ω
0
−1 < ρ(L
1
) = [ρ(J)]
2
< ρ(J) < 1
Teorema 17 .- (Stein-Rosenberg)
Sea A una matriz tal que la matriz de Jacobi J tiene
todos sus coeficientes no negativos. Entonces se cumple
una de las cuatro condiciones siguientes:
1. ρ(L
1
) = ρ(J) = 0
2. 0 < ρ(L
1
) < ρ(J) < 1
3. ρ(J) = ρ(L
1
) = 1
4. 1 < ρ(J) < ρ(L
1
)
(Esto es, los m´etodos de Jacobi y de Gauss-Seidel
convergen o divergen simult´aneamente. En caso de
convergencia, el m´etodo de G.-S. es m´as r´apido).
98
4 METODOS BASADOS EN ALGORITMOS
DE DESCENSO
Para resolver el sistema de ecuaciones lineales Ax = b
con A ∈ M
n×n
sim´etrica y definida positiva, se introduce
la funci´on:
J : y ∈ R
n
→J(y) =
1
2
y
t
Ay −y
t
b ∈ R,
que verifica ∇J(y) = Ay −b, ∀y ∈ R
n
.
Teorema 18 .-
1. J es estictamente convexa en R
n
.
2. J admite un ´ unico m´ınimo x en R
n
.
3. ∇J(x) = 0.
4. x es la ´ unica soluci´on del sistema Ax = b.
Por tanto, resolver el S.E.L. es equivalente a resolver el
problema de minimizaci´on:
(P)
_
¸
_
¸
_
Hallar x ∈ R
n
tal que:
J(x) < J(y), ∀y ∈ R
n
, y = x.
Vamos entonces a comentar brevemente los m´etodos de
descenso para resolver el problema (P):
Dado y ∈ R
n
, se llama direcci´on de descenso en y
a un vector d ∈ R
n
tal que J(y +ρd) < J(y), para un
paso ρ suficientemente peque˜ no.
99
Una condici´on suficiente para que d sea una direcci´on de
descenso es que:
d
t
∇J(y) < 0.
Los algoritmos de descenso se caracterizan fundamental-
mente por la construcci´on de una sucesi´on de iterantes
donde, para pasar de un iterante x
k
al siguiente x
k+1
,
se eligen una direcci´on de descenso d
k
y un paso ρ
k
que
aseguren un decrecimiento de J, esto es, tales que para
x
k+1
= x
k
+ ρ
k
d
k
se verifique J(x
k+1
) < J(x
k
).
Esquema general de los algoritmos de descenso:
1. Elegir x
0
∈ R
n
. k = 0.
2. Si ∇J(x
k
) = 0: Parar (⇒ x = x
k
).
3. Elegir una direcci´on de descenso d
k
.
4. Elegir un paso ρ
k
tal que J(x
k
+ ρ
k
d
k
) < J(x
k
).
5. Actualizar x
k+1
= x
k
+ ρ
k
d
k
. k →k + 1.
6. Test de parada (por ej., x
k+1
−x
k
< ε).
(a) Si se satisface: Parar (⇒ x x
k+1
).
(b) Si no se satisface: Volver a 2.
100
Observaci´ on 10 .- Ya hemos visto un criterio que
nos permite elegir la direcci´on de descenso. Para la
elecci´on del paso se tienen las reglas de Cauchy, de
Armijo, de Goldstein, . . .
Todas ellas se basan en calcular ρ
k
como el m´ınimo
de la funci´on real φ
k
(ρ) = J(x
k
+ ρd
k
), esto es, cal-
cular ρ
k
tal que sea soluci´on de la ecuaci´on:

k


k
) = 0.
Las distintas reglas proporcionan diferentes aproxi-
maciones a esta soluci´on.
Veamos a continuaci´ on las dos clases de m´etodos de des-
censo m´as simples:
4.1 M´etodos de gradiente.-
Los m´etodos de gradiente se caracterizan por tomar como
direcci´on de descenso:
d
k
= −∇J(x
k
) = b −Ax
k
,
pues es ese caso:
(d
k
)
t
∇J(x
k
) = −∇J(x
k
)
2
2
< 0.
Para la elecci´on del paso ρ
k
existen distintas posibili-
dades. Veremos lo que se conoce como m´etodo de
m´aximo descenso que consiste en tomar ρ
k
como la
101
soluci´on exacta de la ecuaci´on, que en este caso es f´acil
de calcular:
φ
k
(ρ) = J(x
k
+ ρd
k
) =
1
2
(x
k
)
t
Ax
k
+
1
2
ρ(x
k
)
t
Ad
k
+
1
2
ρ(d
k
)
t
Ax
k
+
1
2
ρ
2
(d
k
)
t
Ad
k
−(x
k
)
t
b −ρ(d
k
)
t
b.


k

(ρ) =
1
2
(x
k
)
t
Ad
k
+
1
2
(d
k
)
t
Ax
k
+ρ(d
k
)
t
Ad
k
−(d
k
)
t
b.
Entonces:

k


k
) = 0 ⇔ ρ
k
= −
1
2
(x
k
)
t
Ad
k
+
1
2
(d
k
)
t
Ax
k
−(d
k
)
t
b
(d
k
)
t
Ad
k
.
Como Aes sim´etrica: (x
k
)
t
Ad
k
= [(x
k
)
t
Ad
k
]
t
= (d
k
)
t
Ax
k
y por tanto:
ρ
k
= −
(d
k
)
t
Ax
k
−(d
k
)
t
b
(d
k
)
t
Ad
k
= −
(d
k
)
t
[Ax
k
−b]
(d
k
)
t
Ad
k
=
(d
k
)
t
d
k
(d
k
)
t
Ad
k
.
As´ı pues, el m´etodo de m´aximo descenso consiste en,
partiendo de un iterante inicial x
0
∈ R
n
, construir la
sucesi´on {x
k
}
k∈N
de la forma:
x
k+1
= x
k
+ ρ
k
d
k
, k = 0, 1, . . .
tomando:
d
k
= b −Ax
k
, ρ
k
=
(d
k
)
t
d
k
(d
k
)
t
Ad
k
.
102
4.2 El m´etodo de gradiente conjugado.-
Los m´etodos de gradiente convergen, en general, de ma-
nera muy lenta; por lo cual en la pr´actica se suelen uti-
lizar diferentes modificaciones basadas en esos m´etodos.
La m´as sencilla es el m´etodo de gradiente conju-
gado donde, partiendo de un iterante inicial x
0
∈ R
n
,
se minimiza J siguiendo n direcciones d
0
, d
1
, . . . , d
n−1
li-
nealmente independientes y mutuamente A-conjugadas,
es decir:
(d
j
)
t
Ad
i
= 0, ∀j = i.
Las direcciones d
k
se construyen, como veremos m´as
adelante, combinando las direcciones previas con el gra-
diente de J en el punto x
k
.
Calculando ρ
k
de forma que se minimice la funci´on φ
k
,
se definen:
x
k+1
= x
k
+ ρ
k
d
k
, k = 0, 1, . . . , n −1.
Dado que las n direcciones de descenso son linealmente
independientes forman una base de R
n
y, por tanto, si-
guiendo esas n direcciones podemos alcanzar el m´ınimo
de J.
Puede probarse entonces que el iterante x
n
minimiza J,
esto es:
Ax
n
= b.
Por tanto, si no hubiese errores de redondeo, se alcan-
zar´ıa la soluci´on exacta en n iteraciones.
103
El esquema del m´etodo es como sigue:
x
0
∈ R
n
arbitrario,
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
r
0
= b −Ax
0
d
0
= r
0
ρ
0
=
(r
0
)
t
r
0
(d
0
)
t
Ad
0
x
1
= x
0
+ ρ
0
d
0
Para k = 1, . . . , n −1 :
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
r
k
= r
k−1
−ρ
k−1
Ad
k−1
β
k
=
(r
k
)
t
r
k
(r
k−1
)
t
r
k−1
d
k
= r
k
+ β
k
d
k−1
ρ
k
=
(r
k
)
t
r
k
(d
k
)
t
Ad
k
x
k+1
= x
k
+ ρ
k
d
k
104
Observaci´ on 11 .- A´ un teniendo convergencia en
n iteraciones, si n es grande el resultado no es muy
satisfactorio.
En estos casos el m´etodo de gradiente conjugado,
sin ser estrictamente un m´etodo iterativo (ya hemos
visto que puede encuadrarse dentro de los que de-
nominamos m´etodos directos), puede considerarse co-
mo un m´etodo iterativo mediante la introducci´on de
un test de parada que nos permita finalizar el pro-
ceso antes de la iteraci´on n siempre que el error sea
suficientemente peque˜ no.
4.3 El m´etodo de gradiente conjugado precondicionado.-
Para acelerar la convergencia del m´etodo de gradiente
conjugado en la resoluci´on de Ax = b se pueden utilizar
t´ecnicas de precondicionamiento.
Para ello, tomaremos como precondicionador una matriz
S sim´etrica y definida positiva (puede ser elegida a par-
tir de A por diferentes m´etodos). Entonces, se resuelve
utilizando gradiente conjugado el sistema equivalente:
(SAS)(S
−1
x) = Sb
que tiene tambi´en matriz sim´etrica y definida positiva.
La elecci´on de un buen precondicionador puede tener
efectos espectaculares sobre la velocidad de convergencia
del algoritmo.
105
En la pr´actica los c´alculos no se hacen con la matriz S,
sino con la matriz M = S
2
, tambi´en definida positiva.
El esquema del m´etodo ser´ıa de la siguiente forma:
x
0
∈ R
n
arbitrario,
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
r
0
= b −Ax
0
z
0
= Mr
0
d
0
= z
0
ρ
0
=
(r
0
)
t
z
0
(d
0
)
t
Ad
0
x
1
= x
0
+ ρ
0
d
0
Para k = 1, . . . , n −1 :
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
¸
_
r
k
= r
k−1
−ρ
k−1
Ad
k−1
z
k
= Mr
k
β
k
=
(r
k
)
t
z
k
(r
k−1
)
t
z
k−1
d
k
= z
k
+ β
k
d
k−1
ρ
k
=
(r
k
)
t
z
k
(d
k
)
t
Ad
k
x
k+1
= x
k
+ ρ
k
d
k
106
5 METODOS PARA SISTEMAS NO LINEALES
En general se trata de resolver el problema F(x) = 0,
donde:
F : D ⊂ R
n
→R
n
es una funci´on arbitraria. Esto es, el problema es hallar
α ∈ D tal que F(α) = 0.
Ejemplo 2 .- Supongamos el sistema no lineal:
_
¸
_
¸
_
4x
4
1
−27x
1
x
2
2
−sen(x
2
) = 4
x
1
x
2
+ 13 log(x
1
) −x
2
2
= 0
Entonces, trabajando con:
F : (x
1
, x
2
) ∈ (0, ∞) ×R ⊂ R
2
→F(x
1
, x
2
) ∈ R
2
,
donde:
F(x
1
, x
2
) = (4x
4
1
−27x
1
x
2
2
−sen(x
2
)−4, x
1
x
2
+13 log(x
1
)−x
2
2
)
el problema se puede escribir:
F(x
1
, x
2
) = (0, 0).
Se utilizan m´etodos que generalizan los expuestos para
el caso de una ´ unica ecuaci´on. Veremos los dos m´etodos
m´as simples:
107
5.1 Algoritmos de iteraci´on funcional.-
Se basan en escribir la ecuaci´on F(x) = 0 en la forma
equivalente x = f(x) y considerar un algoritmo itera-
tivo de b´ usqueda de puntos fijos, consistente en la cons-
trucci´on de una sucesi´on de vectores {x
k
}
k∈N
en la forma
siguiente:
x
0
dado,
x
n+1
= f(x
n
), n = 0, 1, 2, . . .
Tenemos el siguiente resultado de convergencia global:
Teorema 19 .- Sea D un abierto acotado de R
n
y
sea f :
¯
D →R
n
verificando:
1. f(
¯
D) ⊂
¯
D.
2. ∃L ∈ [0, 1) / f(x)−f(y) ≤ Lx−y, ∀x, y ∈
¯
D,
esto es, f es contractiva en
¯
D de constante L.
Entonces, f tiene un ´ unico punto fijo α en
¯
D.
Adem´as, cualquier sucesi´on {x
k
}
k∈N
definida por:
x
0

¯
D,
x
n+1
= f(x
n
), n = 0, 1, . . .
converge a α y el error en el iterante n-´esimo verifica
la siguiente acotaci´on:
x
n
−α ≤
L
n
1 −L
x
1
−x
0
, n = 1, 2, . . .
108
Para asegurar la contractividad de f se tiene el siguiente
resultado:
Teorema 20 .- Sea D un abierto acotado y convexo
de R
n
y sea f :
¯
D →R
n
verificando:
1. f derivable en
¯
D.
2.
∂f
i
∂x
j
continuas en D, ∀i, j = 1, . . . , n.
3. Df(x) ≤ L, ∀x ∈ D, siendo el jacobiano:
Df(x) =
_
_
_
_
_
_
_
∂f
1
∂x
1
(x) . . .
∂f
1
∂x
n
(x)
. . . . . . . . .
∂f
n
∂x
1
(x) . . .
∂f
n
∂x
n
(x)
_
_
_
_
_
_
_
.
Entonces, f es contractiva en
¯
D de constante L.
5.2 M´etodo de Newton.-
Para resolver la ecuaci´on F(x) = 0, se construye una
sucesi´on de vectores {x
k
}
k∈N
mediante:
x
0
dado,
x
n+1
= x
n
−[DF(x
n
)]
−1
F(x
n
), n = 0, 1, . . .
109
Esta expresi´on es, en principio, bastante costosa desde
el punto de vista num´erico, pues implica la inversi´on de
una matriz diferente para el c´alculo de cada iterante.
Pero debemos tener en cuenta que no es necesario cal-
cular la inversa del jacobiano, pues se puede utilizar la
siguiente estrategia:
∆x
n
= x
n+1
−x
n
= −[DF(x
n
)]
−1
F(x
n
)
⇔ DF(x
n
) ∆x
n
= −F(x
n
).
Entonces, dado x
n
se calcula ∆x
n
resolviendo el S.E.L.
anterior (por cualquiera de los m´etodos ya vistos en los
apartados anteriores) y a continuaci´ on se actualiza x
n+1
mediante la expresi´on:
x
n+1
= x
n
+ ∆x
n
.
Para finalizar, daremos el siguiente resultado de conver-
gencia local para el m´etodo de Newton:
110
Teorema 21 .- Sea F :
¯
D ⊂ R
n
→R
n
y sea α ∈
¯
D
una ra´ız de la ecuaci´on F(x) = 0.
1. Si DF es continua en α y DF(α) es inversible,
entonces para x
0
suficientemente pr´oximo a α se
tiene que la sucesi´on {x
k
}
k∈N
construida por el
m´etodo de Newton converge a α, y verifica:
lim
n→∞
x
n+1
−α
x
n
−α
= 0.
(Por tanto, el orden de convergencia es p > 1.)
2. Adem´as, si existe una constante λ tal que:
DF(x) −DF(α) ≤ λx −α
para todo x en un entorno de α, entonces existe
otra constante c tal que:
x
n+1
−α ≤ c x
n
−α
2
, ∀n ≥ n
0
.
(Por tanto, el orden de convergencia es 2.)
111
Ejemplo 3 .- Sea el sistema no lineal:
_
¸
_
¸
_
x
1
−0.3 sen(x
1
) −0.4 cos(x
2
) = 0
x
2
−0.3 cos(x
1
) + 0.4 sen(x
2
) = 0
Entonces, para F : (x
1
, x
2
) ∈ R
2
→ F(x
1
, x
2
) ∈ R
2
,
dada por:
F(x
1
, x
2
) = (x
1
−0.3 sen(x
1
)−0.4 cos(x
2
), x
2
−0.3 cos(x
1
)+0.4 sen(x
2
))
el problema se puede escribir F(x
1
, x
2
) = (0, 0).
1. Para resolver el sistema mediante iteraci´on fun-
cional, consideramos
f(x
1
, x
2
) = (0.3 sen(x
1
)+0.4 cos(x
2
), 0.3 cos(x
1
)−0.4 sen(x
2
))
y expresamos el problema como (x
1
, x
2
) = f(x
1
, x
2
).
Sea D = {(x
1
, x
2
) ∈ R
2
: |x
1
| < 1, |x
2
| < 1},
entonces
f(x
1
, x
2
) ∈ D, ∀(x
1
, x
2
) ∈ D.
Esto es, se cumple que f(
¯
D) ⊂
¯
D.
Adem´as, se tiene que
Df(x
1
, x
2
) =
_
_
_
0.3 cos(x
1
) −0.4 sen(x
2
)
−0.3 sen(x
1
) −0.4 cos(x
2
)
_
_
_ ∈ C

(R
2
),
Df(x
1
, x
2
)

= max{|0.3 cos(x
1
)| + |0.4 sen(x
2
)|, |0.3 sen(x
1
)| + |0.4 cos(x
2
)|}
≤ max{0.7, 0.7} = 0.7, ∀(x
1
, x
2
) ∈ D.
112
Esto es, f es contractiva en
¯
D de constante L =
0.7 < 1.
Por tanto, el m´etodo de iteraci´on funcional
x
0

¯
D,
x
n+1
= f(x
n
), n = 0, 1, 2, . . .
es globalmente convergente.
2. Para resolver el sistema mediante Newton, se
tiene en cuenta que
DF(x
1
, x
2
) =
_
_
_
1 −0.3 cos(x
1
) 0.4 sen(x
2
)
0.3 sen(x
1
) 1 + 0.4 cos(x
2
)
_
_
_ ∈ C

(R
2
),
|det(DF(x
1
, x
2
))| = |1 −0.3 cos(x
1
) + 0.4 cos(x
2
)
−0.12 [cos(x
1
) cos(x
2
) −sen(x
1
) sen(x
2
)]|
= |1 −0.3 cos(x
1
) + 0.4 cos(x
2
) −0.12 cos(x
1
−x
2
)|
≥ 1 −0.3 −0.4 −0.12 = 0.18 > 0, ∀(x
1
, x
2
) ∈ R
2
.
As´ı pues, DF(x
1
, x
2
) es inversible siempre, en
particular en la soluci´on.
Por tanto, el m´etodo de iteraci´on funcional
x
0
dado,
x
n+1
= x
n
−[DF(x
n
)]
−1
F(x
n
), n = 0, 1, 2 . . .
converge localmente (esto es, para x
0
suficiente-
mente pr´oximo a la soluci´on) con orden de con-
vergencia 2.
113
.
114