Você está na página 1de 13

3.3.

4 Fatorao LU
Ax = b

A = LU
L triangular inferior
U triangular superior

Vamos observar o exemplo introdutrio

Pivo = 3

3 2 4
(0 )
1 1 2
4 3 2

mult. 21 = 1
31

(1) 0

2
1
3
1
3

4
2
3
22

3
0

2
1
3
0

4
2
3
8

(2 )

pivo = 1

3
=4
3

mult. 32 = 1

Observe que a matriz (1) pode ser obtida de (0 ) pr-multiplicado-a por uma matriz
conveniente, no caso:

1
1 = 21
31

0 0
1 0
0 1

1
0 0

1 3 1 0
4

3 0 1

Da mesma forma a matriz (2 ) obtida pr-multiplicando-a por:

69

0
1

( 2 ) = 0
1
0 32

0 1 0 0
0 = 0 1 0
1 0 1 0

Assim,
( 2 ) = 2 1 (0 )
(2 ) uma matriz tringular sup erior.
(0 ) = 11 21 (0 )
1
(0 )
= 21
31
1
(0 )
= 21
3
1
(0 )
= 21
31

0 0
1 0
0 1

0
1
0
1

0 32

0 0 1
0

1 0 0
1
0 1 0 32
0
1
32

0
0
0

0
0
1

0
0
1

(2 )

(2 )

(2 )

(0 ) = L U

70

A matriz L uma matriz triangular inferior, pois resultante do produto de matrizes


triangulares inferiores elementares.
A decomposio LU no nica..

Seja D uma matriz diagonal no singular qualquer, ento:

L = LD triangular inferior
U = D 1 U triangular superior
A = LU = L DD 1 = L U
De modo que L U tambm uma decomposio LU. Isto sugere a possibilidade de
se normalizar as decomposies LU.
Seja a transformao A= LDU

Onde:

L triangular inferior unitrio (diagonal)


D diagonal
U triangular superior unitria (diagonal)

Pode-se mostrar que a decomposio LDU de uma matriz A nica, se suas submatrizes
principais guias [1] , [2 ] ,......., [n 1] so todos no-singulares.
a12 .............
a1 n 1
a11
a
a 22 ............
a 2 n 1
21
........ .......................
........
a n 11 a n 12 .............. a n 1 n 1

a n 2 ............
a n n 1
a n 1

a1n
a 2n

......
a n 1 n

a n n

isto garante pivs no nulos.


= L1 D1 U 1
= L2 D 2 U 2

L1 D1 U1 =

L2 D2 U2

71

L11 existe
U 21 existe
D11 existe
L1 Triang . inf erior unitrio
U 2 Triang .Superior unitrio
D11 L11 L1 D1 U 1 U 21 = D11 L11 D 2 U 2 U 21
U 1 U 21 = D11 L11 L2 D 2 triang . sup erior unitrio

Produto de 2 matrizes triang. sup. unitrio resulta matriz triang sup. unitrio. Isto fora o
ser diagonal Identidade.
U 1 U 21 = I

da mesma forma pode-se chegar L1 = L 2 e D1 = D2 .

U1 =U 2

Diferentes decomposies LU:

= (LD )U = L U onde: U tringular superior unitrio Decomposio de Crout

= L (DU ) = LU onde: L tringular superior unitrio Decomposio de Doolittle

Se A for simtrica:
= LDL+
se D > 0

D=

1
1
t
A = LD 2 D 2 U = L L Decomposio de Cholesky

Algoritmo para Decomposio de Crout

A = L U U tringular superior com diagonal unitria

mim{i , j }

a i j = k =1

li k u k j

i, j = 1,.....n

72

Como u11 = 1 :
a i1 = l i1 u11 = l i1 , i = 1,....., n
ou seja a primeira coluna de igual a primeira coluna de L.
Alm disso:
a ij = l11 u1 j
u1 j =

a1 j

j = 1,.......n
l11
Assim determinamos 1 linha de U.

Suponha que as primeiras (p 1) colunas de L e as primeiras (p 1) linhas de U tenham


sido calculadas e como u kk = 1 .
p 1

a ip = l ip + l ik u kp

portanto a p

(i = p, p + 1,..............n)

k =1
esima

coluna de L dada por:

l ip = a ip k =1 l ik U kp
p 1

Da mesma forma
p 1
a pj = l pp u pj + k =1 l pk u kj
onde
u pj =

1
l pp

(a

k =1 l pj u kj
p 1

pj

(i = p, p + 1,.....n )
( j = p + 1,....n )

) ( j = p + 1,..n)

Observe que no h necessidade de calcular-se para j = p, pois, u pp = 1 .


OBS: Pode-se verificar que, aps a ij Ter sido utilizado para calcular l i j ou u i j , ele no

mais utilizado, assim, os elementos no nulos de L e U podem ser escritos sobre os


elementos correspondentes de A.
Algoritmo para Reduo de Crout: para p = 1, 2,.....,n:

1. ai p li p = ai p k 1 li k u k p ,
p 1

i = p,....., n

1
2. a p j u p j = l pp
a p j k =1 l p k U k j ,
p 1

j = p + 1,......n

Os elementos l pp so pivs na reduo de Grauss e so 0, se as submatrizes

principais guias de A so no singulares.


Produtos internos devem ser acumulados em preciso dupla.

73

A utilizao de pivs pequenos podem provocar erros de arredondamento que


contaminam significativamente a soluo. Uma soluo utilizar o pivoteamento parcial,
isto , fazer uma pesquisa na coluna do piv de forma a encontrar o elemento de maior
valor absoluto. O elemento com maior valor absoluto utilizado como piv, para tanto,
permuta-se a linha do elemento com a linha do piv.
importante observar que, quando forem executadas as etapas de substituio direta
e inversa, as permutaes realizada no pivotemameto devem ser realizados no vetor
independente do sistema de equao linear.
Def. Matriz de Permutao
Matriz quadrada de ordem n obtida da matriz identidade de ordem n pela permutao
de suas linhas.
A pr-multiplicao de uma matriz A por uma matriz de permutao P resulta em
uma matriz A, obtida de A com a mesma seqncia de permutaes de linhas , realizados
na matriz P.

Seja o sistema linear A x = b e sejam os fatores LU obtidos por reduo de Crout


com pivoteamento parcial. Portanto, LU so fatores de A.
Onde:

A= PA
As mesmas permutaes devem ser efetuados sobre b .
b' = Pb
Algoritmo reduo de Crout com permutao de linhas.

Para p=1, 2,.........n


1. a ip l ip = a ip k =1 l ik U kp
p 1

2. Achar p tal que l p , p

(i = p, ......., n )
l ip (i = p,......n )

3. a pj a p j ( j = 1,2,......n )

1
4. a pj u pj = l pp
a p1 k =1 l pk u kj
p 1

) ( j = k + 1,.....n)

OBS: O algoritmo de Crout com pivoteamneto parcial pode ser considerado um algoritmo
estvel.

74

3.3.5 Decomposio de Cholesky

Considerando:

A Simtrica e definida positiva


Tem-se

A = LLt
Teorema: Se A simtrica positiva definida ento existe uma nica matriz L com
elementos diagonais positivos tal que A = LLt .

OBS 1: A matriz A positiva definida se x A x > 0 para qualquer vetor x diferente de


zero.
OBS 2: Os elementos diagonais de uma matriz definida positiva so sempre positivos.
eiT A ei = a ii > 0
T

ei vetor com elemento igual a 1 na posio i e o restante igual a zero.


A prova do teorema feita por induo.
d
A =
v

vT

onde : d escalar positiva e H submatriz de ordem n 1 n 1

A matriz particionada pode ser escrito como o produto:


d
v

0 1 0 d

I n 1 0 H
0

d
I n i

vT

vv T
a matriz H simtrica e tambm positiva definida, pois para qualquer vetor
d
x de comprimento n-1.

H =H

xT v T
,x

vT

xT v
T
= x T H vv x = x T H x

d
d

x H x > 0 , pois a matriz original positiva definida por.


T

75

Por induo H, pode ser fatorado como L H LTH com elementos diagonais positivos.
Portanto, A pode ser dada por:
d
v

0 1 o 1 0

I n 1 o L H 0 LTH

d
d = v
I n 1 d

vT

LH

vT
T

d = LL
LTH

Para provar a unidade, tem-se:


d
A=
v

vT
(1)
H

L =
l

0
(2)
L

A = LLT =
l

L 0

De (1) e (3) tem-se:


2 = d
ou

T
2
l
=

T
L
l

T (3)
L L

= d

l T = vT

lT =

l = v

l T

l=

vT

Como podemos ver, os fatores l so nicos para positivo. Este procedimento pode ser
estendido por induo aos fatores seguintes.
Computao dos fatores

M u
Suponha a matriz particionado como A = T
onde os fatores L M LTM da

5
u
submatriz principal M j foram obtidos. Os fatores da matriz A podem se dado por:
L
= MT
w

0 LTM

t 0

w M
= T
t u

u
s

LM w = u

w T w + t 2 = s t = ( s w T w)

76

Para i = 1, 2, ......n
l11
.

Solucione .

.
l i 1,1

0
.
.
.
.

l i 1, i 1

l i1 a i 1

l i , i 1 a i , i 1

i 1

Compute l i i = a i i l i2k
K =1

Exemplo 2x2.
4 1 2
1 3 1 2
w T

2 1 5

0 2 w 4 1
=
t 0 t 1 3

2w = 1

w = 1

w w+t
T

= 3

t = 3 wt w

11
4

1
2

= 11

2 4 1
=
1 3

11
4
1

LM w = u
2
1
2

w1 2
11 w = 1
4 2

t = 5 W TW

77

Computado e acessado

li i
T

l iK

Elemento no
Calculado
Pela simetria de A, apenas necessrio se trabalhar com sua metade inferior. Alm disso, os
elementos de L podem ser escritos sobre os de A.
Algoritmo
Para K = 1, 2, ....n
1. Para i = 1, 2, .........K 1
aK i lK i =

1
li i

i 1

a K i li j l K j

j =1

K 1

2. a KK l KK = a KK l k2 j
j =1

3
OBS: A decomposio de Cholesky requer n

multiplicaes, isto , a metade das


6
exigidas pela reduo de Crout. Os produtos internos devem ser acumulados em preciso
dupla, para se obter exatido adicional.
O algoritmo de Cholesky incondicionalmente estvel. Como A positiva definida, no h
necessidade de pivoteamento, pois neste caso ela sempre diagonal dominante.
3.4 Soluo de Sistemas Lineares
A partir das decomposies de Crout e Cholesky vistas anteriormente, pode-se resolver
os sistemas lineares atravs de substituies.

Seja o sistema Linear:


Ax = b

3.4.1 Decomposio LU
PA = LU
LU x = Pb

78

Substituio Direta
L y = Pb = b '

Substituio Inversa
Ux = y

Substituio Direta

L y = Pb = b '
Atualizao por linhas

, i 1
y i = b i l ij y j / l ii
j =1

Substituio Inversa

i = 1, 2, .........n

Ux = y

x i = y i u ij x j
j = i +1

i = n 1,.......,1

Substituio Direta

Atualizao por colunas.

79

l11
l
21

l n1

l nn

l 22

y1 b11
y
2 = b2


y n bn

Coluna 1
b1' =

b1
l11

b2, = b2, l 21 b1,


b3', = b3' l 31b1, .
M

bn', = bn, l n1 b1,


Coluna 2
b2' =

b' 2
l 22

b3 = b3 l 32 b' 2
M
b' n = b n l n 2 b' 2

Coluna n
b' n
l nn
No final y = b' , observe que as atualizaes foram feitas por colunas.
b' n =

Algoritmo para atualizao por colunas

Para j = 1.......n 1
b' j = b' j / l jj
Para k = j + 1, n
b' K = b' K b' j l kj
Continue
Continue
b'
b' n = n
l nn
y = b'
As substituies direta e inversa requerem 2 multiplicaes.

80

3.4.2 Decomposio de Cholesky

Neste caso no h necessidade de utilizar permutaes.


= LLT
LLT x = b

Substituies direta LY = b

Substituies Inversa LT x = y

81