Professional Documents
Culture Documents
Motivao;
Processos de Relaxao;
Direo Conjugada;
Exemplo resolvido.
Motivao
Considere o sistema linear Ax = b. Deseja-se encontrar a soluo x desse
sistema.
Muitas vezes, usar Mtodos Exatos para encontrar a soluo desse sistema
to eciente quanto usar Mtodos Iterativos, mas a situao pode se
complicar quando usamos Mtodos Exatos em sistemas cuja matriz dos
coecientes, A, uma matriz esparsa (cheia de zeros).
O Mtodo dos Gradientes utilizado quando a matriz A simtrica denida
positiva.
Processos de Relaxao
Quando k temos r
(k)
0 e, dessa forma, Ax
(k)
b e k
(k)
uma
aproximao para a soluo do sitema dado Ax = b.
Estudo de um caso especco
Para o estudo da funo f (x) =
1
2
x
T
Ax b
T
x + c consideremos as seguintes
notaes:
x
T
y representa o produto escalar de x com y no espao R
n
, assim
x
T
y =
_
x
1
x
2
x
n
_
y
1
y
2
.
.
.
y
n
_
_
=
n
i=1
x
i
y
i
A uma matriz denida positiva se, para todo vetor x no nulo, tem-se
x
T
Ax > 0
(x) = f (x) = 0.
Mas f : R
n
R; f (x) =
1
2
n
i,j=1
a
ij
x
i
x
j
i=1
b
i
x
i
+ c. Assim
f (x) =
_
x
1
f (x)
x
2
f (x)
.
.
.
x
n
f (x)
_
_
=
_
_
a
11
x
1
+ a
12
x
2
+ a
1n
x
n
b
1
a
21
x
1
+ a
22
x
2
+ a
2n
x
n
b
2
.
.
.
a
n1
x
1
+ a
n2
x
2
+ a
nn
x
n
b
n
_
_
= Ax b
Fazendo f (x) = 0 temos Ax b = 0 Ax = b, ou seja,
o ponto crtico de f (x) o ponto x tal que Ax = b. Nos resta saber se
x; Ax = b de mnimo ou de mximo.
Estudo de um caso especco
Sabemos que um ponto x ponto de mnimo de f : R
n
R se J(f )
positiva denida.
Como J =
_
2
f (x)
x
2
1
2
f (x)
x
1
x
2
2
f (x)
x
1
x
n
2
f (x)
x
2
x
1
2
f (x)
x
2
2
2
f (x)
x
2
x
n
.
.
.
2
f (x)
x
n
x
1
2
f (x)
x
n
x
2
2
f (x)
x
2
n
_
_
=
_
_
a
11
a
12
a
1n
a
21
a
22
a
2n
.
.
.
a
n1
a
n2
a
nn
_
_
= A
e A uma matriz positiva denida por hiptese, segue o ponto x tal que
Ax = b ponto de mnimo de f (x). Dessa forma, se encontrarmos o ponto
de mnimo de f (x) encontramos a soluo do sistema Ax = b.
Estudo de um caso especco
Sabemos que f (x), num dado ponto x, aponta a direo de maior
crescimento da funo f .
Mtodo dos Gradientes
Dada uma aproximao inicial x
(0)
para a soluo do sistema Ax = b, seria
natural pensarmos em tomar a direo oposta a f (x) para a correo de
x
(0)
, pois f (x) aponta na direo que f decresce mais rapidamente (o
ponto de mnimo de f a soluo do sistema Ax = b).
Pelos clculos feitos anteriormente, sabemos que
f (x
(i)
) = b Ax
(i)
= r
(i)
.
Dessa forma, tomando x
(0)
= (2, 2), sabemos em qual direo caminhar,
mas no sabemos o quanto caminhar.
Mtodo dos Gradientes
Mtodo dos Gradientes
Como x
(1)
= x
(0)
+ r
(0)
e minimiza f (x
(1)
) quando a derivada direcional
f (x
(1)
)
= 0.
Mas
f (x
(1)
)
=
_
f
(x
(1)
)
_
T
x
(1)
=
_
f
(x
(1)
)
_
T
r
(0)
.
Igualando essa expresso a zero temos
_
f
(x
(1)
)
_
T
r
(0)
= 0 que nos sugere
que ser escolhido de forma que r
(0)
e f
(x
(1)
) sejam ortogonais.
Para determinar usamos o fato de f
(x
(1)
= r
(1)
. Dessa forma, teremos
Mtodo dos Gradientes
_
r
(1)
_
T
r
(0)
= 0 Substituindo r
(1)
nessa expresso
_
b Ax
(1)
_
T
r
(0)
= 0 Como x
(1)
= x
(0)
+ r
(0)
temos
_
b A
_
x
(0)
+ r
(0)
__
T
r
(0)
= 0
_
b Ax
(0)
_
T
r
(0)
_
Ar
(0)
_
T
r
(0)
= 0
_
b Ax
(0)
_
T
r
(0)
=
_
Ar
(0)
_
T
r
(0)
_
r
(0)
_
T
r
(0)
=
_
r
(0)
_
T
Ar
(0)
Logo
=
_
r
(0)
_
T
r
(0)
_
r
(0)
_
T
Ar
(0)
Mtodo dos Gradientes
Colocando todas essas informaes juntas, temos
dada uma aproximao inicial x
(0)
para a soluo do sistema Ax = b, o
processo iterativo, conhecido como Mtodo dos Gradientes, dado
por
r
(i)
= b Ax
(i)
(i)
=
_
r
(0)
_
T
r
(0)
_
r
(0)
_
T
Ar
(0)
x
(i+1)
= x
(i)
+
(i)
r
(i)
Mtodo dos Gradientes
Intuitivamente, temos
Mtodo dos Gradientes
Exemplo: Usando o Mtodo dos Gradientes, obtenha uma soluo
aproximada para
_
4 1
1 3
_
x =
_
5
4
_
com x
(0)
=
_
0
0
_
e = 10
1
.
Abrir arquivo Exemplo1.xls e arquivo Exemplo1.mws
Mtodo dos Gradientes Conjugados
Mtodo dos Gradientes Conjugados
Mtodo dos Gradientes Conjugados
possvel, no Mtodo dos Gradientes, uma direo que est sendo adotada
na iterao i ter sido usada em iteraes anteriores, como pode ser visto na
Figura 15.
Para evitar que se tome vrias vezes uma mesma direo r
(i)
para a correo
de x
(i)
, o Mtodo dos Gradientes Conjugados prope uma modicao no
Mtodo dos Gradientes.
O Mtodo dos Gradientes Conjugados sugere que, dada uma aproximao
inicial x
(0)
para o sistema n n, Ax = b, tomemos um conjunto de direes
conjugadas {d
0
, d
1
, , d
n1
} e em at n iteraes, teremos encontrado uma
aproximao satisfatria para a soluo do sistema.
Dois vetores x e y so conjugados se x
T
Ay = y
T
Ax = 0.
Mtodo dos Gradientes Conjugados
Mtodo dos Gradientes Conjugados
Dado x
(0)
, faa d
0
= r
0
= b Ax e x
(1)
ser obtido fazendo
x
(1)
= x
(0)
+
(0)
d
(0)
.
Para obter o tamanho do passo
(0)
, procedemos como no caso do Mtodo
dos Gradientes:
d
_
f (x
(1)
)
_
d
= f
_
x
(1)
_
T dx
(1)
d
= r
(1)T
d
(0)
.
Como queremos que minimize f
_
x
(1)
_
, fazemos
r
(1)T
d
(0)
= 0 d
(0)T
r
(1)
= 0 d
(0)T
_
b Ax
(1)
_
= 0
Substituindo x
(1)
nessa expresso concluimos que
(0)
=
r
(0)T
r
(0)
d
(0)T
Ad
(0)
Mtodo dos Gradientes Conjugados
Para que r
(1)
= r
(0)
(0)
Ad
(0)
seja ortogonal nova direo
d
(1)
= r
(1)
+
(1)
d
(0)
preciso escolher um valor para
(1)
conveniente.
Assim
r
(1)T
d
(1)
= 0
_
r
(0)
r
(0)T
r
(0)
d
(0)T
Ad
(0)
Ad
(0)
_
T
_
r
(1)
+
(1)
d
(0)
_
= 0
r
(0)T
r
(1)
+
(1)
r
(0)T
d
(0)
d
(0)T
A
r
(0)T
r
(0)
d
(0)T
Ad
(0)
r
(1)
(1)
d
(0)T
A
r
(0)T
r
(0)
d
(0)T
Ad
(0)
d
(0)
=
0
Simplicando temos
(1)
=
d
(0)T
Ar
1
d
(0)T
Ad
(0)
=
r
(1)T
Ad
0
d
(0)T
Ad
(0)
Assim a nova direo dada por d
(1)
= r
(1)
+
(1)
d
(0)
Mtodo dos Gradientes Conjugados
Podemos resumir o Mtodo dos Gradientes Conjugados por, dado x
(0)
inicial
d
(0)
= r
(0)
= b Ax
(0)
Para i = 0, 1, ...
(i)
=
r
(i)T
r
(i)
d
(i)T
Ad
(i)
x
(i+1)
= x
(i)
+
(i)
d
(i)
r
(i+1)
= r
(i)
(i)
Ad
(i)
(i+1)
=
r
(i+1)T
Ad
(i)
d
(i)T
Ad
(i)
d
(i+1)
= r
(i+1)
+
(i+1)
d
(i)
Mtodo dos Gradientes Conjugados
Podemos simplicar um pouco mais a expresso de
(i+1)
considerando
r
(i+1)
= r
(i)
(i)
Ad
(i)
, pois dessa forma temos
Ad
(i)
=
1
(i)
_
r
(i+1)
r
(i)
_
Fazendo r
(i+1)
Ad
(i)
e d
(i)T
Ad
(i)
temos
r
(i+1)T
Ad
(i)
=
1
(i)
_
r
(i+1)T
r
(i+1)
r
(i+1)T
r
(i)
_
=
1
(i)
_
r
(i+1)T
r
(i+1)
_
e
d
(i)T
Ad
(i)
=
1
(i)
_
d
(i)T
r
(i+1)
d
(i)T
r
(i)
_
=
1
(i)
_
d
(i)T
r
(i)
_
=
1
(i)
d
(i)T
r
(i)
Mtodo dos Gradientes Conjugados
Substituindo r
(i+1)T
Ad
(i)
=
1
(i)
_
r
(i+1)T
r
(i+1)
_
e
d
(i)T
Ad
(i)
=
1
(i)
d
(i)T
r
(i)
em
(i+1)
temos
(i+1)
=
(i)
_
r
(i+1)T
r
(i+1)
_
1
(i)
d
(i)T
r
(i)
=
r
(i+1)T
r
(i+1)
d
(i)T
r
(i)
=
r
(i+1)T
r
(i+1)
r
(i)T
r
(i)
Mtodo dos Gradientes Conjugados
Dessa forma, dado x
(0)
uma aproximao inicial do sistema Ax = b, o
Mtodo dos Gradientes Conjugados dado por
d
(0)
= r
(0)
= b Ax
(0)
Para i = 0, 1, ...
(i)
=
r
(i)T
r
(i)
d
(i)T
Ad
(i)
x
(i+1)
= x
(i)
+
(i)
d
(i)
r
(i+1)
= r
(i)
(i)
Ad
(i)
(i+1)
=
r
(i+1)T
r
(i+1)
r
(i)T
r
(i)
d
(i+1)
= r
(i+1)
+
(i+1)
d
(i)
Mtodo dos Gradientes Conjugados
Mtodo dos Gradientes Conjugados
Exemplo: Obtenha uma soluo aproximada para o sistema
_
4 1
1 3
_
x =
_
5
4
_
com x
(0)
=
_
0
0
_
e = 10
1
.
Abrir arquivo Exemplo2.xls e arquivo Exemplo2.mws
Referncias