Sei sulla pagina 1di 5

A FATORAO DE CHOLESKY

Esta fatorao destinada a problemas nos quais a matriz simtrica e


positiva definida. Inicialmente, supe-se que A simtrica e no-singular,
o que leva ao caso especial da fatorao LU dada por
T
LDL . Alm
disso, quando se exige, adicionalmente, a positividade de A chega-se
fatorao R R
T
, chamada de fatorao de Cholesky, como segue.

Para se obter a fatorao
T
LDL A = , a partir da fatorao A LU = ,
procede-se como segue.

Sendo LU A = no-singular, a diagonal

D diag d u d u
n n n
= = = { ,..., }
1 11


no-singular e da define-se

T
LDM U LDD LU A = = =
1


para U D M
T 1
= .

Agora observe que
T
M triangular superior com 1`s na diagonal e,
portanto, sua transposta, em conseqncia, triangular inferior com 1`s na
diagonal. Alm disso, sendo A simtrica no-singular conclui-se que
T
AM M
1
tambm simtrica e no-singuler. Sendo
T
LDM A = ,
obtm-se LD M AM M
T 1 1
= . Ento a matriz do segundo membro
triangular inferior e, alm disso, simtrica, ento , de fato, diagonal,
donde conclui-se que I L M
1
=

ou M L = . Portanto sendo
T
LDL A = e admitindo ser A positiva-definida, conclui-se que os
elementos de D so todos positivo logo chega-se a
T 2 1 2 1 T
L D LD LDL A
/ /
= = e da chega-se fatorao
T
RR A = ,
onde
2 1
LD R
/
= , chamada fatorao de Cholesky.

Considere o exemplo

b Ax =
Sendo

=
171 80 30
80 45 20
30 20 10
A e

=
61
15
0
b .

logo tomando

=
1 0 3
0 1 2
0 0 1
G
1
obtm-se

=
81 20 0
20 5 0
30 20 10
A G
1
e

=
61
15
0
b G
1
. A seguir, tomando

=
1 4 0
0 1 0
0 0 1
2
G obtm-se U ) A G ( G =

=
1 0 0
20 5 0
30 20 10
1 2
e

=
1
15
0
b
1 4 5
0 1 2
0 0 1
b ) G G (
1 2
. Para se chegar soluo do
sistema, por Cholesky, determina-se a soluo do sistema b Ry = dada
por

= = = =

1
5 3
0
61
15
0
1 4 5
0
5
5
5
5 2
0 0
10
10
61
15
0
1 4 5
0 1 2
0 0 1
1 0 0
0
5
5
0
0 0
10
10
b ) G G ( D b L D b R y
1 2
2
1
1
2
1
1
. Com esta,
toma-se y x R
T
= e da obtm-se

= =

1
1
1
1
5 3
0
1 0 0
4
5
5
0
5
5
5 2
10
10
y R x
T
. Este
clculo pode ser feito pelo algoritmo abaixo.

Algoritmo fatoraoLU
Dados: b A, // , // ;
1 nx nxn
b A
Incio
// // ;
nxn
I I Linv
A U


Para 1 ,..., 1 = n i
I M
Para n i j ,..., 1 + =
ii ji ji
u u m /
fim_para
b M b
U M U
Linv M Linv
*
*
*


fim_para


b ) D ( L x
b D b
) U ( diag D
T
2
1
T
inv
2
1


Fim

Observe o ganho, em tempo computacional, deste frente ao da fatorao
LU .

Este algoritmo obtm R e, tendo em vista a resoluo do sistema
b Ax = , sendo
T
RR A = , a soluo do sistema ser obtida em duas
etapas, a exemplo do que foi feito na fatorao LU , com a soluo de
b R y b Ry
1
= = , para, em seguida, se obter y R x
T
= , de
y x R
T
= .

Como se afirmou antes, a reduo do esforo computacional desta
fatorao,
T
RR , frente fatorao LU , que exige, como se sabe, o
clculo de L e de U , se deve ao fato de que apenas uma matriz deve ser
calculada, R, j que a outra e sua transposta.

Guardando R e
T
R
Quando se desejar guardar as matrizes R e
T
R procede-se como:
LU U ) G G ( A = =
1
2
1
1
. onde

= =

1 4 3
0 1 2
0 0 1
G G L
1
2
1
1
. Mas,
para
1 T
D U M

= , M L = como se comprovou acima. Por fim, obtm-
se

= =
1 5 4 10 3
0 5 10 2
0 0 10
2 1/
LD R .

e, alm disso, tendo em vista a estrutura matricial particular, pode-se
dispor, nela mesma, a matriz
T
R , como segue

1 5 4 10 3
5 4 5 10 2
10 3 10 2 10
.

Esta tarefa pode ser realizada pelo algoritmo seguinte

Algoritmo Cholesky
Dados: A
A R
Para k=1,...,n faa

=
1
1
2 1 2
k
p
/
p k k k k k
) r r ( r
Para i=k+1,...,n faa

=
1
1
k
p
k k p k p i k i k i
r / ) r r r ( r

ik ki
r r
Fim-para
Fim-para

Potrebbero piacerti anche