7
5
.1
2
-a
n Muchos problemas que resuelve la ingeniería
se expresan matemáticamente mediante sistemas de ecuaciones lineales.
Ejemplos:
Circuitos eléctricos;
Sistemas estructurales estáticos;
Sistemas dinámicos;
Problemas de transmisión del calor;
7 5 .1 2 -a
n En forma genérica, un sistema de ecuaciones
lineales puede expresarse así:
O, en forma abreviada:
7
5
.1
2
-a
n Matricialmente, la solución es:
Por lo tanto, para que el sistema tenga
solución, se debe cumplir que:
La matriz A sea cuadrada
La matriz A sea No Singular, es decir,
Sin embargo, no siempre es fácil obtener AA-1. Busquemos formas alternativas.
·B A
x = −1
0 )
7 5 .1 2 -a
n Supongamos un sistema sencillo de resolver:
Se trata de un sistema triangular, pues la
matriz A es A triangular superior.
= − n n n n n n n n b b x x u u u u u u u u u M M M M M M M M L L L O O M M O O O M M O M L L
L 1 1
7 5 .1 2 -a
n La solución la obtenemos haciendo:
7 5 .1 2 -a
n Otro sistema sencillo de resolver es:
En este caso la matriz A es A triangular inferior.
=
− nn n n
n n n b b x x l l l l l l l l M M M M M M M M L L L O O M M O O O M M O M L L
L 1 1
7
5
.1
2
-a
n La solución pasa por hacer:
i i i
j
j j i i
i
l
x l b
x
l
x l
x l b
x
l
x l
b x
l b x
∑
−=
− =
− −
=
− =
=
1
1 3 3
2 2 3 1
1 3 3
3
2 2
1 1 2 2
2
1 1
1 1
·
· ·
7
5
.1
2
-a
n Ambos sistemas podemos resolverlos sin
invertir la matriz A.
El primer caso se conoce como Sustitución
Inversa.
El segundo, como Sustitución Directa.
Por lo tanto, una forma conveniente para
7
5
.1
2
-a
n Método de Eliminación de Gauss (EG)
Consiste en transformar una matriz AA cualquiera en una nueva matriz UU, es decir, en una matriz
Triangular Superior
Triangular Superior:
→
→
−
n n
n n
n
n n n
n
u u
u u
u
a a
a a
U A
0 0
0
1 1 12
11
1
1 11
L
O O
M
M O
O
L
L
M O
M
7 5 .1 2 -a
n El nuevo sistema será entonces
7
5
.1
2
-a
n Para obtener esta matriz U debemos operar U
de la siguiente manera:
Fijar la primera fila de A, ampliada con el vector BA ;
Transformar las filas 2 a n, de manera de que los coeficientes aj1 se anulen, es decir, “pivotar” con a11;
Fijar la siguiente fila y repetir el paso anterior, pero con las filas 3 a n, “pivotando” con aii;
7
5
.1
2
-a
n En definitiva, tenemos:
Para los coeficientes a2i y b2:
Para cualquier coeficiente aji y bj:
1 1 2 2
* 2 1
1 2 2
* 2 2
1 1
1 2 1
2 u a a m ·a ; b b m ·b
a a
m = → i = i = i − i = −
k k j j
j i
k k j i
j i
j i
j k
k k j k
j u a a m a b b m b
a a
7 5 .1 2 -a
n ¿Qué hacemos si un a ii resulta nulo?
7 5 .1 2 -a
n Intercambiamos filas, por ejemplo, la 3 en
lugar de la 2 y viceversa:
7 5 .1 2 -a
n ¿Qué hacemos si también son nulos varios
coeficientes de la diagonal principal?
7 5 .1 2 -a
n Podemos intercambiar las columnas:
Pero esto requiere modificar el vector x.x
7
5
.1
2
-a
n El primer caso, el intercambio de filas, se
conoce como Eliminación de Gauss con Pivoteo Parcial (EGPP).
Cuando además del intercambio de filas es
7
5
.1
2
-a
n Veamos la cantidad de operaciones que
requiere Eliminación de Gauss simple:
Transformación de la matriz A ampliada:A
Aplicación de sustitución inversa:
El método completo:
(
)
(
)(
)
[
n k n k n k]
n n nn
k 6
7 2
3 2 1
2
2 3
1
1
− +
= +
− −
+ −
∑
−=
(
)
[
]
2 11
1 2
1 n k n
n k
= +
− +
∑
−
=
7
5
.1
2
-a
n Aplicar Eliminación de Gauss tiene estas
ventajas:
El resultado final debería ser “exacto”, salvo por el error de redondeo;
La cantidad de operaciones a realizar es finita.
Pero también tiene desventajas:
Aplicar el pivoteo parcial o el pivoteo total lo vuelven lento;
Si se tienen varios vectores BB, debería hacerse la transformación de AA para cada vector BB.
7
5
.1
2
-a
n Si los vectores BB son independientes,
entonces podemos transformar todos los vectores B en una sola operación:B
> <
> <
> <
> <
> <
> <
k n
k
n n
n n n
n
b
b
b
b
b
b
a
a
a
a
M
L
M
M
L
M
O
M
L
12 2 1 1
1 1
1
1 1
7
5
.1
2
-a
n Este procedimiento no es posible si los
siguientes vectores B dependen de nuestra B
solución.
En ese caso, deberíamos repetir todo el
procedimiento de nuevo.
Entonces, la idea es buscar un nuevo
7
5
.1
2
-a
n Busquemos expresar la matriz A mediante A
otra matrices, a saber:
En este caso, el problema se resuelve
mediante dos sustituciones, pues
B
x
L·U
L·U
A
=
⇒
·
=
{
=
=
⇒
=
→
=
B
y
L
B
x
U
L
B
x
A
y·
·
7
5
.1
2
-a
n En la primera ecuación el sistema está
formado por:
Con este sistema obtenemos el vector y.y
=
− nn n n
n n
n
b
b
y
y
l
l
l
l
l
M
M
M
M
L
O
O
M
M
O
O
L
1 11 1
1 2
1 1
7 5 .1 2 -a
n En la segunda ecuación tenemos:
Con este sistema obtenemos finalmente el
vector x.x
=
− n n n n n n ny
y
x
x
u
u
u
u
u
M
M
M
M
L
O
O
M
M
O
O
L
1 17
5
.1
2
-a
n Esta forma diferente de plantear y resolver el
sistema se conoce como Factorización LU.
Consiste en obtener dos matrices, L y L U, para U
luego aplicar la Sustitución Directa (L·L y=y B) y B
la Sustitución Inversa (U·U x=x y).y
La pregunta es: ¿Cómo obtenemos esas
7
5
.1
2
-a
n Una forma es aprovechar el método de
Eliminación de Gauss, que transforma A en A
una matriz U.U
Falta cómo obtener la matriz L.L
Para obtenerla, impongamos que todos los
coeficientes de la diagonal principal de LL
7 5 .1 2 -a
n Con esta suposición podemos obtener los
restantes coeficientes de L pues:L
7
5
.1
2
-a
n En consecuencia, la matriz L se forma con los L
coeficientes mji de la Eliminación de Gauss, y
por lo tanto, resulta ser:
=
−
1
0
0
0
1
1 1
1 2
n n
n
m
m
m
L
O
O
M
M
O
O
L
7 5 .1 2 -a
n Así, el sistema completo queda como sigue:
Se conoce como Método de Doolittle, y suele
expresarse matricialmente como
{
{
B x U L
=
−− nn n n
n n n n n n
b
b
x
x
u
u
u
u
u
m
m
m
M
M
M
M
4
4
4
3
4
4
4
2
1
L
O
O
M
M
O
O
L
4
4
4
3
4
4
4
2
1
L
O
O
M
M
O
O
L
1 11 1 2 1 1 1 1 1 1 2
·
0
0
0
·
1
0
0
0
1
B
P
x
U
L
U
L
A
P
·
=
·
⇒
·
·
=
·
7
5
.1
2
-a
n Otra forma de factorización es la siguiente:
Supongamos que la matriz AA tiene ciertas características que permiten expresar la factorización LULU así:
D es una matriz diagonal, con todos los dij = 0 y los
dii ≠ 0
La primera condición para que esto sea
posible es que A sea simétrica, es decir:A
T
L
D
L
7
5
.1
2
-a
n Hagamos ahora lo siguiente:
Esto sólo es posible si los valores de D son D
todos positivos. Además podemos hacer:
Etonces, la segunda condición es que A sea A
definida positiva.
T
L
D
D
L
A
=
·
·
·
(
)(
T)
TS
S
L
D
D
L
7
5
.1
2
-a
n Por lo tanto, si la matriz A es A simétrica definida positiva, el sistema queda:
Esta forma de factorizar una matriz simétrica
definida positiva se conoce como Método de Cholesky. Los coeficientes de la matriz S se S
obtienen con las siguientes expresiones:
i
k i k j i
j
i a
∑
s s∑
−
− −
1
1 ·
B
x
S
S
x
7
5
.1
2
-a
n Todos los métodos vistos tienen una
particularidad: son formas alternativas de obtener el resultado sin invertir la matriz A.A
Pero se basan en
Como dijimos, el resultado debería ser
exacto.
Por eso, a estos métodos se los conoce como
Métodos Directos para resolver un SEL.
B A
7
5
.1
2
-a
n Analicemos como inciden los errores de los
datos en la solución del sistema. Supongamos que definimos los siguiente:
Analicemos estas operación haciendo:
∑
=
=
n
j
j j i
i n b
x
1
·
∑
==
n j i
j j i j
s x
7
5
.1
2
-a
n El error relativo para el primer valor es:
El error absoluto será:
Por lo tanto, el error absoluto de xi será:
j b
n
sj er i j er j
er = + + µ
j j j i b
j i n
j
s b ea n ea n b
a e
j j
i
j = · + · + · ·µ
(
)
∑
∑
= =
+ +
=
n
j
j j j i n
j
b j
i n
j
x b ea n ea n b
a e
j j
i i
1 1
· · ·
7 5 .1 2 -a
n El error relativo de x será:
Operando algebraicamente obtenemos:
Y reordenando otra vez los términos:
∑
∑
∑
= = = + + + = n k k n j j i j j i n j i b j i n j x x b n x ea n ea b re i j j
i 2 1 1 · · · · µ µ
(
)
∑
∑
∑
= = = + + + = n k k n j j i j j i n j b n i j j i x x b n er er x b n r e j j i i 2 1 1 · · · µ µ(
)
∑
∑
+ + = n j j e n b n j px C er er T
r e
j j
i
7
5
.1
2
-a
n Si suponemos:
Entonces:
Es decir, la condición del problema depende
de A (A AA-1) y de B, como debería ser.B
ε µ ≤ ≤ j
b
n er r
er
j j
i ;
1 ·
y
·
2 ≈ +
=
i j j i j
e i
j j i j
p
x b n T
x b n C
7
5
.1
2
-a
n Supongamos que al resolver un SEL
obtenemos una solución aproximada. Entonces tendremos:
donde x es la solución “exacta”.
Para evaluar el error tomemos alguna norma,
por ejemplo, la infinita:
R
A
x
x
x
A
x
A
x
A
B
R
=
−
·
ˆ
=
·
−
·
ˆ
⇒
−
ˆ
=
−1·
− −
≤
=
7
5
.1
2
-a
n Una mejor manera de evaluar el error es con
el error relativo. Sabemos que:
El error relativo será:
∞ ∞
∞
∞ ∞
∞ ∞
≤
⇒
≤
=
⇒
=
B
A
x
x
A
x
A
B
x
A
B
1
·
·
·
∞ ∞ ∞
− ∞
∞
∞
≤
−
B
R
A
A
x
x
x
·
·
ˆ
7
5
.1
2
-a
n Si tenemos en cuenta los errores inherentes
de A y A B, la propagación de los errores B
resulta ser:
A su vez, la propagación de los errores de
redondeo resulta ser:
+ ≤
∞ ∞
∞ ∞ ∞
− ∞
∞ ∞
B
δB
A
δA
A A
x
δx
· · 1
(
3·)
·max ·µ01 , 1 ·
· −1 3 2
∞ ≤ A A +
δx
j i
a n
7
5
.1
2
-a
n Para que el error sea poco significativo o que
no se amplifique, deberíamos tener que:
A este coeficiente lo llamaremos condición de
una matriz. Para el caso de la norma infinito, lo representamos como:
1
·
1≈
∞ −
∞
A
A
( )
∞ − ∞
=
A
·
A
1A
7
5
.1
2
-a
n Una matriz ideal tendrá una condición tal que:
A su vez, para una matriz singular (no existe
A
A-1) definimos que:
Definiremos como matriz bien condicionada a
aquella que cumpla con
( )
A
=
1
κ
( )
A
→
∞
7
5
.1
2
-a
n Por lo visto, si una matriz está mal
condicionada, es decir:
el resultado puede no ser una buena aproximación.
Necesitamos encontrar un método que
reduzca la “distancia” entre el resultado “exacto” y nuestra aproximación inicial.
( )
A
>>>
1
7
5
.1
2
-a
n Hemos visto que:
Como conocemos A y A R, podemos obtener R δδ
y con esto mejorar nuestra aproximación del vector x mediante la siguiente expresión:x
δ
x
x
=
ˆ
+
(
x
x
)
A
δ
R
A
x
A
x
A
x
A
B
R
δ
=
⇒
−
=
−
=
−
7
5
.1
2
-a
n Si esta nueva aproximación no es lo
suficientemente buena, podríamos repetir el procedimiento. Si lo sistematizamos obtenemos:
Por lo tanto, si repetimos el proceso
tendremos:
> < >
< >
< >
< >
< >
<
+
+
=
+
=
2 2 1 1 23
δ
δ
x
δ
x
x
> < >
< >
<
> < >
< >
< >
<
+
=
=
⇒
−
=
1 1
2
1 1
1 1
·
·
δ
x
x
R
δ
A
x
A
B
7
5
.1
2
-a
n Podemos escribir entonces que:
Y que la solución exacta será cuando:
Como no se puede hacer una suma infinita,
entonces se trunca el procedimiento cuando
∑
=
> < >
<
+
=
n
i
i
1
1
δ
x
x
∑
→∞=
> < >
<
+
=
n
i
i
1
1
δ
7
5
.1
2
-a
n
se vio:
se conoce como Método del Refinamiento Iterativo. Es muy usado para resolver sistemas mal condicionados pero que no sean muy mal condicionados. Es un algoritmo destinado a mejorar los métodos directos de resolución de SEL.
∑
∑
=
> < =
> < >
<
+
=
+
=
n
i
i n
i
i
1 1
1
ˆ
δ
x
δ
7
5
.1
2
-a
n Lo métodos vistos sirven para resolver
cualquier sistema de ecuaciones lineales. Tienen la ventaja de que el número de operaciones es finito.
En general son muy útiles cuando la matriz de
coeficientes está formada mayoritariamente por componentes no nulos.
0
:
extremo
7
5
.1
2
-a
n Pero no siempre los SEL están formadas por
este tipo de matrices, denominadas “densas”.
Suele ser muy común que los sistemas esten
formados por matrices A con mayoría de A
coeficientes nulos, llamadas “matrices ralas”.
En estos casos, como la mayoría de los
7
5
.1
2
-a
n La transformación de esas matrices por algún
método numérico puede significar “cambiar” una componente nula por una nueva no nula, con el consiguiente error.
Es por eso que se han desarrollado métodos
que se utilizan casi con exclusividad para resolver Sistemas de Ecuaciones Lineales
7
5
.1
2
-a
n Veamos, entonces, otra forma de obtener la
solución de nuestro sistema
Si sumamos P·P xx en ambos miembros
tenemos:
Si despejamos x tenemos:x
0 ·
·x=B⇒B−Ax=
A
B x
A x
P x
P· = · − · +
(
P
P
P
A
)
x
P
B
B
P
x
A
P
x
P
P
7
5
.1
2
-a
n Finalmente podemos escribir
Por lo que podemos obtener un método
iterativo para obtener nuestro vector x, pues:x
Que se puede escribir en forma genérica
como:
C x
T
x<i+1> = · <i> +
(
I P A)
x P Bx<i+1> = − −1· · <i> + −1·
7
5
.1
2
-a
n Analicemos ahora como obtener la matriz T y T
el vector C. Escribamos C A de la siguiente A
forma:
donde.
LL: matriz estrictamente triangular inferior;
DD: matriz diagonal, y;
UU: matriz estrictamente triangular superior
U
D
L
7
5
.1
2
-a
n Si definimos P=P D, tenemosD
Que puede expresarse como
(
)
(
)
B D
C
U L
D T
U D
D D
L D
I
U D
L D
I A
P I
T
I
· ·
; · ·
·
· ·
1 1
1 1
1
1 1
− −
− −
−
− −
=
+ −
=
− −
− =
+ +
− =
− =
3 2 1
(
)
[
<>]
− >
+
7 5 .1 2 -a
n Este método se conoce como Método de Jacobi.
La expresión tradicional de este método es:
pues j j n j k i k k i j k i k k i j i j a x a x a b x
∑
∑
+ = > < − = > < > + < − − = 1 1 1 1 · · = = = −− 0 0 0
7 5 .1 2 -a
n Si ahora definimos P=P D+L, tenemosD+L
Si partimos de la expresión inicial, obtenemos
(
) (
)
(
D L)
BC U D L L D I A P I T · · · 1 1 1 − − − + = + + + − = − =
(
)
(
)
(
)
(
<+ > <>)
7 5 .1 2 -a
n Este otro método se conoce como Método de Gauss-Seidel.
La expresión tradicional de este método es:
pues j j n j k i k k i j k i k k i j i j a x a x a b x
∑
∑
+ = > < − = > + < > + < − − = 1 1 1 1 1 · · = = = −− 0 0 0
7 5 .1 2 -a
n Ahora definamos la siguiente matriz P:P
Si nuevamente partimos de la expresión
inicial, obtenemos +
= D L
7
5
.1
2
-a
n Que simplificada queda:
Este método se conoce como Método de las
Sobrerrelajaciones Sucesivas (SOR).
El método debe cumplir que:
Y para ser de sobrerrelajaciones en forma
estricta debe cumplir que 2 0 < ω <
(
)
< > −(
< + > < >)
>+ <
−
−
+
−
=
i i ii
x
U
x
L
B
D
x
x
11
ω
·
ω
·
1·
·
1·
25 , 1 2
7 5 .1 2 -a
n La forma usual de escribir este método es:
Podemos ver fácilmente que si
el método SOR es el de Gauss-Seidel pues:
(
)
j j n j k i k k j j k i k k j j i j i j a x a x a b x x∑
∑
+ = > < − = > + < > < > + < − − + − = 1 1 1 1 1 · · · ·1 ω ω
1 = ω n i k k j j i k k j
j a x a x
b
∑
∑
<>7 5 .1 2 -a
n Los tres métodos vistos tienen una
característica principal: tanto T como T C no se C
modifican en cada iteración.
Estos métodos se denominan Métodos
Iterativos Estacionarios.
Para analizar la convergencia analicemos T:T
(
)
{ < − > < − > + < >
7
5
.1
2
-a
n Para que los métodos sean convergentes
debe cumplirse que:
Para que la convergencia sea muy rápida,
entonces se debe cumplir que:
1
<
T
1
<<
7
5
.1
2
-a
n Los métodos de Jacobi y Gauss Seidel son
convergentes cuando la matriz A cumple que:A
El método SOR es convergente si la matriz AA
es simétrica definida positiva, es decir:
por lo tanto, también Gauss-Seidel es convergente.
∑
≠ =
>
n
i j j
j i i
i a
a
1
2
0
con
0
·
·
>
<
<
∧
=
A
x
A
x
ω
A
T T7
5
.1
2
-a
n Partamos otra vez de nuestro sistema, pero
propongamos lo siguiente:
Y reemplacemos en nuestra expresión ya
conocida:
Es decir:
I P
α
1
=
(
I P A)
x P B(
I I A)
x IB x R7
5
.1
2
-a
n Tenemos otra expresión para obtener en
forma iterativa nuestra solución. Pero ahora depende de un coeficiente
α
α
α
α
. ¿Cómo hacemos para obtenerlo?Puesto que afecta al vector R, analicemos el R
caso de RR<i+1>.
Es decir:
(
< > < >)
> + < >
+ <
+
−
=
−
=
i i ii
R
x
A
B
x
A
B
R
1·
1·
α
·
> < >
< >
+ <
−
= i i
i
R A R
7
5
.1
2
-a
n Debemos buscar que el RR sea menor que
R
R<i>. Como estamos tratando con vectores, la forma de relacionar un vector con otro es con la norma, en este caso, la norma euclídea, es decir:
O, lo que es lo mismo:
2 2
1> < > +
<
<
ii
R
R
2 2
2 1
·
·
< > < >> < >
+ <
<
−
=
i i ii
R
R
A
R
R
α
7
5
.1
2
-a
n Encontrar un RR que sea menor al RR no
es todo el trabajo. Deberíamos encontrar al menor de todos los RR<i+1> posibles. En consecuencia, nos interesa aquel cuya norma euclídea sea la menor.
Para ello vamos a proponer lo siguiente:
0
d
·
·
d
d
d
22 2
2 1
=
−
=
> < >
< >
+ <
α
α
α
i i
i
R
A
R
7 5 .1 2 -a
n Esta ecuación puede escribirse como:
de la que obtenemos:
(
)
[
(
) (
)
]
0 d · · · · · d d ·d 1 1
7 5 .1 2 -a
n Con esta última expresión tenemos un nuevo
método para obtener el vector x:x
Se denomina de los Residuos Mínimos.
Converge cuando A es simétrica y definida A
positiva. (Algunos sólo exigen la segunda.)
7
5
.1
2
-a
n El método no convergen rápidamente.
Busquemos otra forma de obtener. Para ello partamos de la siguiente función:
Se conoce como Forma Cuadrática. Para
obtener un mínimo de esta función, debemos hacer:
( )
x
=
x
T·
A
·
x
−
x
T·
B
+
C
2
1
F
( )
0 ·
1 ·
1 F
d
= −
+
= A x Ax B
7
5
.1
2
-a
n Si imponemos que A es simétrica y definida A
positiva, entonces queda:
O sea, nuestro sistema de ecuaciones
lineales.
Pero la derivada de este tipo de funciones
también tiene otro significado.
( )
0
·
d
F
d
=
−
=
A
x
B
7
5
.1
2
-a
n Así, tenemos que:
no es otra cosa que el gradiente de F(x), con lo cual.
( )
( )
( )
( )
∂ ∂
∂ ∂
= ′
=
n
x x
x x
x x
x
F F
F d
F
d 1
7
5
.1
2
-a
n Finalmente, también tenemos que:
Si nuestro método tiene la forma
lo ideal sería que RR<i+1> sea nulo. Debemos obtener un coeficiente
α
α
α
α
que haga mínimo F(x<i+1>), es decir:( )
< > < > < >= −
= ′
−F x i B A·x i R i
> < >
< >
+ <
+
= i i
i
R x
x 1 α·
(
) ( )
(
)
0 ·
· F
d d · F
d F
d 1 1 1 1 1
= −
= ′
= ′
= <+ > < > <+ > < >
> + < >
+ < >
+ <
i T
i i
T i
i T
i i
R R
R x
x x
x
7
5
.1
2
-a
n Entonces lo que tenemos es:
Si desarrollamos nos queda:
de donde obtenemos el coeficiente αααα:
(
)
·[
·(
·)
]
· 0F′ 1 = − + =
− x<i+ > T R<i> B A x<i> α R<i> T R<i>
(
R<i> −α·A·R<i>)
T ·R<i> =R<i>T·R<i> −α·(
A·R<i>)
T·R<i> =0> < >
<
> < >
<
> < >
<
> < >
<
=
=
i T
i
i T
i
i T
T i
i T
i
i
R
A
R
R
R
R
A
R
R
R
·
·
·
·
·
·
7 5 .1 2 -a
n El nuevo método es el siguiente:
que se conoce como del Descenso Más Rápido (o del Descenso Más Empinado).
7
5
.1
2
-a
n Este método tampoco converge muy rápido.
Veamos el gráfico de una forma cuadrática.
7
5
.1
2
-a
n En un punto determinado, podemos obtener
el gradiente y su plano tangente.
7
5
.1
2
-a
n Para acercarnos al mínimo de F(x), podemos x
7
5
.1
2
-a
n Con varias iteraciones, obtenemos lo
siguiente:
7
5
.1
2
-a
n En el punto mínimo el plano tangente debe
7
5
.1
2
-a
n El método solamente determina las
direcciones de aproximación considerando que estén contenidas en los planos tangentes (gradientes).
La lentitud se debe a que el método repite las
direcciones en el proceso iterativo, es decir, usa varias veces algunas direcciones de aproximación.
Debemos buscar una forma de no repetir
7
5
.1
2
-a
n Una primera idea es pensar cómo optimizar
los gradientes obtenidos en las sucesivas aproximaciones, de forma tal de no repetir direcciones.
Otra idea es buscar que esas direcciones
7
5
.1
2
-a
n Pero tenemos un problema. Conseguir
direcciones ortogonales limitaría la aplicación de dicho método.
F P0, , T0, T1
7
5
.1
2
-a
n Vamos a definir nuestra aproximación como:
En lugar de que se cumpla:
propondremos que se cumpla:
Esta condición se denomina direcciones
0 ·
1
=
> < >
+
<i T i
d d
0 ·
·
1
=
> < >
+
<i T i
d A d
> < >
< >
+ <
+
= i i i
i
d x
7 5 .1 2 -a
n Si aplicamos lo ya visto pero con esta
modificación, tenemos:
Si desarrollamos nos queda:
de donde obtenemos el coeficiente αααα:
(
)
· · ·(
·)
· 0F 1 1 1 = + − − = − =
′ < + > < > < + > < > < > <> < >
> + < i T i i i i i T i i d d x A B d R d x x 4 43 4 42 1 α
(
R<i> −α·A·d<i>)
T ·d<i> =R<i>T·d<i> −α·(
A·d<i>)
T·d<i> =07
5
.1
2
-a
n Todavía nos falta encontrar las direcciones
d
d<i>.
Lo que debemos hallar es un conjunto de
direcciones dd<0>, dd<1>, …, dd<n>, conjugadas, obtenidas a partir de los RR<i>.
Si fueran ortogonales, podríamos obtenerlas
mediante el proceso de Gram-Schmidt:
∑
− < > >< >
<
+ =
1
·
i
j i
i
d u
7 5 .1 2 -a
n Algo podemos plantear para obtener el
coeficiente
β
β
β
β
ij:7
5
.1
2
-a
n Ya vimos que se cumple que
y por lo tanto:
Entonces, también se cumple que
0 ·
·
· < > = < > < > =
>
<i T j i T j
R d
e A d
j i
j T
i
j T
k i
k
k i j
T i j
T i
< =
+ =
> < >
<
> < >
< −
= >
< >
< >
< >
<
∑
para
· 0
· ·
· ·
1
0
R u
R d
R u
R
7 5 .1 2 -a
n Ahora, si uu = RR , tenemos para cualquier
R
R<j+1>:
7 5 .1 2 -a
n El caso i=j+1, lo reescribimos como:
Además tenemos que
> + < > + < > < > + < −
= 1 1
1
· 1
·
· i T i
i i T i R R d A R α > < > < > < > < > < > < > < > < = ⇒ = i T i i T i i i T i i T i i d R d A d d A d d R · · · 1 · · ·
α
α
> < > + < > < > +<i T i i T i
d A R
d A
7 5 .1 2 -a
n Entonces:
Y simplificando pues > < > < > + < > + < > < > < > < > < > < > < > + < > + <
+ = = i T i
i T i i T i i T i i T i i T i i i i d A d R R d R d A d d A d R R · · · · · · · · · ·
1 1 1 1 1
1 α β > < > < > + < > + < > < > < > + < > + <
+ = = i T i
i T i i T i i T i i R R R R d R R R · · ·
· 1 1 1
1 1
β
> < > < > < > <= i T i
i T i R R d
7 5 .1 2 -a
n Finalmente nuestro nuevo método queda de
7
5
.1
2
-a
n Este método se denomina Método de los Gradientes Conjugados (MGC)MGC .
Las direcciones de aproximación surgen,
finalmente, de que los gradientes sean conjugados entre si.
Es un poderoso método para resolver
7
5
.1
2
-a
n Partiendo del mismo punto, con dos
iteraciones del MGC obtenemos:
7
5
.1
2
-a
n Vemos que la convergencia fue casi
“instantánea”.
Algebraicamente se puede demostrar que si
no hubieran errores de redondeo, la convergencia se da en n iteraciones, siendo “n” el rango de la matriz.
En consecuencia, un sistema de dimensión
7
5
.1
2
-a
n Más aún, la velocidad de convergencia
depende casi exclusivamente de la cantidad de autovalores distintos que tenga la matriz
A
A.
Si la matriz tiene, por ejemplo, k autovalores
repetidos, entonces la convergencia será en
n-k iteraciones.
En consecuencia, el método es muy poderoso
7
5
.1
2
-a
n Resumen de los métodos iterativos:
Método de Jacobi: Fácil. Converge cuando la matriz es estrictamente diagonal dominante.
Método de Gauss-Seidel: Además converge cuando la matriz es simétrica definida positiva (SPD).
Método SOR: Converge cuando la matriz es SPD pero no es fácil obtener el ωωωω.
7
5
.1
2
-a
n
sistemas SPD. Suele ser equivalente en rapidez a Gauss-Seidel.
7
5
.1
2
-a
n
International Thomson. Sexta edición. 1998.
Shewchuk, J. R. An Introduction to the Conjugate
Gradient Method Without the Agonizing Pain. Edition
1¼. 1994.
Saad, Y. Iterative Methods for Sparse Linear Systems.
First Edition. 1996.
González, H. Análisis numérico. Primer curso. Nueva
Librería. 2002.
Higham, N.J. Accuracy and stability of numerical
algorithms. SIAM. 1996
Gavurin, M.K. Conferencia sobre los métodos de