3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1...

13
69 3.3.4 Fatoração LU Ax = b A = LU L – triangular inferior U – triangular superior Vamos observar o exemplo introdutório () Α 2 3 4 2 1 1 4 2 3 0 3 4 3 1 . 3 31 21 = Μ = Μ = mult Pivo () 1 . 3 1 3 22 3 1 0 3 2 3 1 0 4 2 3 32 1 = Μ = Α mult pivo () Α 8 0 0 3 2 3 1 0 4 2 3 2 Observe que a matriz () 1 Α pode ser obtida de ( ) 0 Α pré-multiplicado-a por uma matriz conveniente, no caso: Μ Μ = Μ 1 0 0 1 0 0 1 31 21 1 = 1 0 3 4 0 1 3 1 0 0 1 Da mesma forma a matriz () 2 Α é obtida pré-multiplicando-a por:

Transcript of 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1...

Page 1: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

69

3.3.4 Fatoração LU Ax = b A = LU L – triangular inferior U – triangular superior Vamos observar o exemplo introdutório

( )

⎥⎥⎥

⎢⎢⎢

⎡Α

234211423

0

343

1.

3

31

21

=

mult

Pivo

( ) 1.31

322

310

32

310

423

321 =Μ=

⎥⎥⎥⎥

⎢⎢⎢⎢

−Α multpivo

( )

⎥⎥⎥

⎢⎢⎢

−Α

8003

23

10423

2

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

⎥⎥⎥

⎢⎢⎢

Μ−Μ−=Μ

1001001

31

211 =

⎥⎥⎥⎥

⎢⎢⎢⎢

−−

1034

0131

001

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

Page 2: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

70

( )

( ) ( )

( )

( ) ( )

( )

( )

( )

( )

( )

( )

( ) UL

eriortriângularmatrizumaé

Assim

⎥⎥⎥

⎢⎢⎢

⎡ Α

⎥⎥⎥

⎢⎢⎢

ΜΜΜ=Α

⎥⎥⎥

⎢⎢⎢

⎡ Α

⎥⎥⎥

⎢⎢⎢

Μ⎥⎥⎥

⎢⎢⎢

ΜΜ=Α

⎥⎥⎥

⎢⎢⎢

⎡ Α

⎥⎥⎥

⎢⎢⎢

Μ−⎥⎥⎥

⎢⎢⎢

Μ−Μ−=Α

ΑΜΜ=Α

Α

ΑΜΜ=Α

⎥⎥⎥

⎢⎢⎢

−=

⎥⎥⎥

⎢⎢⎢

Μ−=Μ

−−

0

2

3231

210

2

323

210

2

32

1

31

210

012

11

0

2

012

2

32

2

001001

10010001

1001001

10010001

1001001

.sup

,

010010001

10010001

Page 3: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

71

A matriz L é uma matriz triangular inferior, pois é resultante do produto de matrizes triangulares inferiores elementares.

A decomposição LU não é única..

Seja D uma matriz diagonal não singular qualquer, então:

L = LD é triangular inferior U = UD 1− é triangular superior A = LU = L DD 1− = UL

De modo que UL também é uma decomposição LU. Isto sugere a possibilidade de

se normalizar as decomposições LU.

Seja a transformação A= LDU Onde: L é triangular inferior unitário (diagonal) D é diagonal U triangular superior unitária (diagonal) Pode-se mostrar que a decomposição LDU de uma matriz A é única, se suas submatrizes principais guias [ ] [ ] [ ]121 ,.......,, −ΑΑΑ n são todos não-singulares.

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

Α

−−−−−

nnnnnn

nnnnnn

nn

nn

aaaaaaaa

aaaaaaaa

121

1111211

2122221

1111211

..........................

.................................................

........

.............

isto garante pivôs não nulos. Α = 222111 UDLUDL =Α

222111 UDLUDL =

Page 4: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

72

unitárioeriortriangDLLDUU

UUDLDUUDLLD

unitárioSuperiorTriangUunitárioeriorTriangL

existeD

existeU

existeL

sup.

.inf.

221

11

11

21

1222

11

11

12111

11

11

2

1

11

12

11

→=

=−−−

−−−−−−

Produto de 2 matrizes triang. sup. unitário resulta matriz triang sup. unitário. Isto força o ser diagonal ⇒ Identidade.

211

21 UUIUU ==− da mesma forma pode-se chegar .2121 DDeLL == Diferentes decomposições LU:

( ) LULD ==Α U →onde: U é triângular superior unitário – Decomposição de Crout ( ) ULDUL ==Α → onde: L é triângular superior unitário – Decomposição de Doolittle

Se A for simétrica:

CholeskydeãoDecomposiçLLUDLDA

DDDse

LDL

t→=⎟

⎠⎞⎜

⎝⎛⎟

⎠⎞⎜

⎝⎛=

=>

=Α +

21

21

21

21

0

Algoritmo para Decomposição de Crout →= ULA U é triângular superior com diagonal unitária

{ } njiula jkjimim

k kiji ,.....1,,

1== ∑ =

Page 5: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

73

Como :111 =u nilula iii ,.....,1,11111 === ou seja a primeira coluna de é igual a primeira coluna de L. Além disso:

jij ula 111=

njla

u jj ,.......1

11

11 ==

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 1=kku .

).....,.........1,(1

1nppiulla

p

kkpikipip +=+= ∑

=

portanto a esimap coluna de L é dada por:

( )∑ −

=+=−=

1

1,.....1,p

k kpikipip nppiUlal Da mesma forma ( )∑ −

=+=+=

1

1,....1p

k kjpkpjpppj npjulula onde

( ) ( )npjulal

u kjp

k pjpjpp

pj ,..11 1

1+=−= ∑ −

=

Observe que não há necessidade de calcular-se para j = p, pois, 1=ppu . OBS: Pode-se verificar que, após ija Ter sido utilizado para calcular jiji uoul , ele não é mais utilizado, assim, os elementos não nulos de L e U podem ser escritos sobre os elementos correspondentes de A. Algoritmo para Redução de Crout: para p = 1, 2,.....,n: 1. npiulala pkki

p

kpipipi ,.....,,1

1=−=← ∑ −

2. ( ) npjUlalua p

k jkkpjpppjpjp ,......1,1

11 +=−=← ∑ −

=−

- Os elementos ppl são pivôs na redução de Grauss e são ≠ 0, se as submatrizes

principais guias de A são não – singulares. - Produtos internos devem ser acumulados em precisão dupla.

Page 6: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

74

A utilização de pivôs pequenos podem provocar erros de arredondamento que contaminam significativamente a solução. Uma solução é 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 substituição direta e inversa, as permutações realizada no pivotemameto devem ser realizados no vetor independente do sistema de equação linear. Def. Matriz de Permutação

Matriz quadrada de ordem n obtida da matriz identidade de ordem n pela permutação de suas linhas.

A pré-multiplicação de uma matriz A por uma matriz de permutação P resulta em uma matriz A’, obtida de A com a mesma seqüência de permutações de linhas , realizados na matriz P.

Seja o sistema linear bxA = e sejam os fatores LU obtidos por redução de Crout com pivoteamento parcial. Portanto, LU são fatores de A’. Onde: A’= PA

As mesmas permutações devem ser efetuados sobre b . bPb =' Algoritmo redução de Crout com permutação de linhas. Para p=1, 2,.........n 1. ( )∑ −

==−=←

1

1.......,,p

k kpikipipip npiUlala

2. ( )npillquetalAchar ippp p,......, =≥ρρ

3. ( )njaa jpj p,......2,1=← ρ

4. ( ) ( )nkjulalua p

k kjpkppppjpj ,.....11

111 +=−=← ∑ −

=−

OBS: O algoritmo de Crout com pivoteamneto parcial pode ser considerado um algoritmo estável.

Page 7: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

75

3.3.5 Decomposição de Cholesky Considerando: A Simétrica e definida positiva Tem-se

tLLA =

Teorema: Se A é simétrica positiva definida então existe uma única matriz L com elementos diagonais positivos tal que tLLA = . OBS 1: A matriz A é positiva definida se 0>xAxT para qualquer vetor x diferente de zero. OBS 2: Os elementos diagonais de uma matriz definida positiva são sempre positivos. 0>= iii

Ti aeAe

ie – vetor com elemento igual a 1 na posição i e o restante igual a zero. A prova do teorema é feita por indução.

11: −×−⎥⎦

⎤⎢⎣

⎡= nnordemdesubmatrizHepositivaescalardonde

Hvvd

AT

A matriz particionada pode ser escrito como o produto:

⎥⎥⎦

⎢⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡⎥⎥

⎢⎢

−−

in

T

n Id

vdHI

dvd

00010

1

dvvHH

T

−= a matriz H é simétrica e também positiva definida, pois para qualquer vetor

x de comprimento n-1.

xHxxd

vvHxxd

vx

Hvvd

xd

vx TT

T

TT

TT

=⎟⎟⎠

⎞⎜⎜⎝

⎛−=

⎥⎥

⎢⎢

⎡−

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡− ,

0>xHxT , pois a matriz original é positiva definida por.

Page 8: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

76

Por indução H, pode ser fatorado como THH LL com elementos diagonais positivos.

Portanto, A pode ser dada por:

T

TH

T

Hn

T

THHn

LLL

dvd

Ldvd

Id

vdLLo

oI

dvd

=⎥⎥⎥

⎢⎢⎢

⎥⎥

⎢⎢

⎡=

⎥⎥⎦

⎢⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡⎥⎥

⎢⎢

−− 0

0

000110

11

Para provar a unidade, tem-se:

( )1⎥⎦

⎤⎢⎣

⎡=

Hvvd

AT

( )20⎥⎦

⎤⎢⎣

⎡= − Ll

( )30

0 2

⎥⎥⎦

⎢⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡== T

T

T

TT

LLll

Ll

LlLLA

λλλλλ

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

λλ

λλ

λλ

vlvl

vlvl

doudT

TTT

==

==

==2

Como podemos ver, os fatores l são únicos para λ positivo. Este procedimento pode ser estendido por indução aos fatores seguintes. Computação dos fatores

Suponha a matriz particionado como ⎥⎦

⎤⎢⎣

⎡=

5TuuM

A onde os fatores TMM LL da

submatriz principal M já foram obtidos. Os fatores da matriz A podem se dado por:

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=Α

suuM

twL

twL

T

TM

TM

00

uwLM =

212 )( wwststww TT −=⇒=+

Page 9: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

77

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

Solucione

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−−− 1,11,1

11

...

....

..0

iii ll

l

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−1,

1

ii

i

l

l

=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

−1,

1

ii

i

a

a

Compute ⎥⎦

⎤⎢⎣

⎡−= ∑

=

21

1ki

i

Kiiii lal

Exemplo 2x2.

( )

⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=−=

=+

==

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎥⎥⎥

⎢⎢⎢

3114

411

212

411

21

2

4113

32

112

3114

0202

512131214

21

2

wwt

tww

ww

tw

tw

t

T

T

( ) 21

2

1

5

12

411

212

WWt

ww

uwL

T

M

−=

⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎥⎥⎦

⎢⎢⎣

=

Page 10: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

78

Computado e acessado iil

TiKl

Elemento não Calculado Pela simetria de A, apenas é necessário se trabalhar com sua metade inferior. Além disso, os elementos de L podem ser escritos sobre os de A. Algoritmo Para K = 1, 2, ....n

⎟⎟⎠

⎞⎜⎜⎝

⎛−=←

−=

∑−

=

1

1

1

1.........,2,1.1i

jjKjiiK

iiiKiK lla

lla

KiPara

∑−

=

−=←1

1

2.2K

jjkKKKKKK lala

OBS: A decomposição de Cholesky requer 6

3n multiplicações, isto é, a metade das

exigidas pela redução de Crout. Os produtos internos devem ser acumulados em precisão dupla, para se obter exatidão adicional. O algoritmo de Cholesky é incondicionalmente estável. Como A é positiva definida, não há necessidade de pivoteamento, pois neste caso ela sempre é diagonal dominante. 3.4 Solução de Sistemas Lineares A partir das decomposições de Crout e Cholesky vistas anteriormente, pode-se resolver os sistemas lineares através de substituições. Seja o sistema Linear: bxA = 3.4.1 Decomposição LU LUPA = bPxLU =

Page 11: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

79

Substituição Direta 'bbPyL == Substituição Inversa yxU = Substituição Direta 'bbPyL == Atualização por linhas

nilylby iij

i

jijii .........,2,1/

1

1

, =⎟⎟⎠

⎞⎜⎜⎝

⎛−= ∑

=

Substituição Inversa yxU =

1,.......,11

−=⎟⎟⎠

⎞⎜⎜⎝

⎛−= ∑

+=

nixuyxn

ijjijii

Substituição Direta Atualização por colunas.

Page 12: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

80

22

23233

22

2'2

,11

,,'

,131

'3

,'3

,121

,2

,2

11

1'1

2

11

2

1

1

2221

11

''

'

'2

.

1

blbb

blbblb

b

Colunablbb

blbb

blbblb

b

Coluna

b

bb

y

yy

ll

lll

nnn

nnn

nnnnn

−=

−=

=

−=

−=

−=

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

M

M

Coluna n

nn

nn l

bb

'' =

No final 'by = , observe que as atualizações foram feitas por colunas. Algoritmo para atualização por colunas

'

''

''',1

/''1.......1

byl

bb

ContinueContinue

lbbbnjkPara

lbbnjPara

nn

nn

kjjKK

jjjj

=

=

−=+=

=−=

As substituições direta e inversa requerem 2η multiplicações.

Page 13: 3.3.4 Fatoração LU - labspot.ufsc.brcampagno/numerico/Aula_9_SL_Direto.pdf · 73 Como u11 =1: ai1 =li1u11 =li1 , i =1,.....,n ou seja a primeira coluna de é igual a primeira coluna

81

3.4.2 Decomposição de Cholesky

Neste caso não há necessidade de utilizar permutações.

bxLL

LLT

T

=

Substituições direta bYL = Substituições Inversa yxLT =