You are on page 1of 5

Métodos de decomposição LU

A decomposição LU é das técnicas mais usadas para resolver sistemas de


equações algébricas. Vamos abordar dois tipos de decomposição LU: por eliminação de
Gauss e pelo método de Crout.

1. Eliminação de Gauss e decomposição LU

A eliminação de Gauss pode ser usada para decompor uma matriz dos
coeficientes [A], em duas matrizes [L] e [U], onde [U] é uma matriz triangular superior
(todos os elementos abaixo da diagonal principal são nulos), e [L] é uma matriz
triangular inferior. Seja [A] uma matriz quadrada, por exemplo 3x3,
 a11 a12 a13 
A =  a 21 a 22 a 23 
 a 31 a 32 a 33 

Através de passos de eliminação, podemos reduzir a matriz original dos


coeficientes, [A], numa matriz [U]
 a11 a12 a13   a11 a12 a13 
A =  a 21 a 22 a 23  ⇔ U =  0 a' 22 a´23 
 a 31 a 32 a 33   0 0 a' 33 

O 1º passo na eliminação de Gauss é multiplicar a 1ª linha da matriz [A] pelo


a 21
factor f21= e subtrair este resultado à 2ª linha de [A], eliminando a 21 . Igualmente,
a11

a 31
multiplica-se a 1ª linha pelo factor f 31= , e subtrai-se este resultado à 3ª linha de
a11

modo a eliminar a31 . O passo final (note-se que é uma matriz 3x3) consiste em

a ' 32
multiplicar a 2ª linha pelo factor f 32= , e subtrair à 3ª linha eliminando a' 32 .
a' 22
A matriz [L]é uma matriz triangular inferior, cujos os elementos da diagonal
principal são 1’s e os restantes elementos são os factores f21, f31, f32
1 0 0
L =  f 21 1 0
 f 31 f 32 1

Multiplicando as matrizes [L] e [U], obtemos a matriz original [A].


A eliminação de Gauss representa uma decomposição LU de [A]. O exemplo
seguinte mostra uma aplicação deste método. Considerando um sistema de três
equações:
 2x + y + 4z = 2

 6 x + y = −10
− x + 2 y − 10 z = −4

Este sistema pode ser representado matricialmente por Ax = b, ou seja
2 1 4   x  2 
6 1 0   y  =  − 10
    
 − 1 2 − 10  z   − 4 

Aplicando os passos de eliminação, que consistem em subtrair a certas linhas


múltiplos de outras linhas, obteve-se um sistema Ux = d
2 1 4   x  2 
0 − 2 − 12   y  =  − 16 
     
0 0 − 23  z   − 23

O 1º passo da eliminação consistiu em subtrair à 2ª linha a 1ª multiplicada por 3.


No 2º passo multiplicou-se a 1ª linha por –1/2 e subtraiu-se à 3ª linha. O último passo
(neste caso por ser uma matriz 3x3), consistiu em subtrair à 3ª linha a 2ª multiplicada
por –5/4. A matriz [L] será:
 1 0 0

L=  3 1 0
 − 1 / 2 − 5 / 4 1 

Note-se que os elementos por baixo da diagonal principal são exactamente os


multiplicadores 3,-1/2, -5/4, utilizados nos passos do processo de eliminação, e verifica-
se a seguinte igualdade: [L]{ Ux – d } = Ax – b, de onde se conclui que:
 1 0 0  2 1 4  2 1 4 

LU = A ⇔  3 1    
0 0 − 2 − 12  =  6 1 0 
 − 1 / 2 − 5 / 4 1  0 0 − 23  − 1 2 − 10

e que
 1 0 0  2   2 

Ld = b ⇔  3 1 
0  − 16  =  − 10
 
 − 1 / 2 − 5 / 4 1   − 23  − 4 

2. Método de decomposição de Crout

Esta decomposição é um algoritmo eficiente para decompor a matriz [A] nas


matrizes [L] e [U]. Seja [U] uma matriz 4x4, triangular superior com 1’s na diagonal
principal:
1 u12 u13 u14 
0 1 u u24 
U=  23

0 0 1 u34 
 
0 0 0 1

e [L] uma matriz triangular inferior

 l11 0 0 0
l l 0 0 
L =  21 22
l31 l32 l33 0
 
l41 l42 l43 l44 

Poderemos então escrever LU = A,

 l11 0 0 0  1 u12 u13 u14   a11 a12 a13 a14 


l l 22 0 0  0 1 u 23 
u24  a a 22 a 23 a 24 
 21   =  21
l 31 l 32 l 33 0  0 0 1 u34   a 31 a 32 a 33 a 34 
     
l 41 l 42 l 43 l 44  0 0 0 1  a 41 a 42 a 43 a 44 

O método de Crout derivado através da multiplicação de matrizes do lado


esquerdo ( L e U ) e depois equacionando os resultados para o lado direito.
Recorrendo às regras de multiplicação de matrizes, e para matrizes 4x4 temos os
seguintes passos:

1º passo - Multiplicar as linhas de [L] pela 1ª coluna de [U].

l11 = a11 , l 21 = a 21 , l 31 = a31 , l41 = a 41

Como se pode observar a 1ª coluna de [L] é a 1ª coluna de [A]. Generalizando


este resultado temos :
li1 = ai1 , para i = 1,2,...,n

2º passo – A seguir a 1ª linha de [L] pode ser multiplicada pelas colunas de [U].
l11 = a11 , l11u12 = a12 , l11u13 = a13 , l11u14 = a14

O primeiro resultado ( l11 = a11 ) já foi estabelecido anteriormente. As restantes


relações podem ser generalizadas por:
a
u1 j = 1 j , para j = 2,3, ... ,n
l11

3º passo – Da 2ª à 4ª linha da matriz [L], vamos multiplicá-las pela 2ª coluna de


[U].
l21u12 + l22 = a22 , l31u12 + l32 = a32 , l41u12 + l42 = a42

Resolvendo estas equações em ordem a l22 , l32 , l42 e generalizando temos:

l i 2 = a i 2 − l i1u12 , para i = 2,3, ... ,n

4º passo – A seguir, os coeficientes da 2ª linha de [U] podem ser calculados


multiplicando a 2ª linha de [L] pela 3ª e 4ª coluna de [U].

l21u13 + l22 u23 = a23 , l 21 u14 + l 22 u 24 = a 24

Para o caso geral temos,


a −l u
u2 j = 2 j 21 1 j , para j =3,3, ... ,n
l22

Repetindo o processo podemos calcular os outros elementos das matrizes.

li 3 = ai 3 − li1u13 − li 2u 23 , para i = 3,4, ... , n

a3 j − l31u1 j − l32 u2 j
u3 j = , para j = 4,5, ..., n
l33

li 4 = ai 4 − li1u14 − li 2u24 − li 3u34 , para i = 4,5, ... , n

Inspeccionando as equações referentes aos termos gerais, refira-se as seguintes


fórmulas concisas para a implementação do método:

(1). li1 = ai1 , para i = 1,2, ... ,n


a
(2). u1 j = 1 j , para j = 2,3, ... , n
l11

Para j = 2,3, ... ,n-1

j −1
(3). lij = aij − ∑l
k =1
ik ukj , para i = j, ... , n
j −1
a jk − ∑l ji uik
(4). u jk =
i =1
, para k = j+1, j+2, ... , n
l jj

n−1

(5). lnn = ann − ∑ lnkukn


k =1

Observe-se o exemplo seguinte para melhor compreensão deste método.

 2 x − 5 y + z = 12

 − x + 3 y − z = −8
3 x − 4 y + 2 z = 16

De acordo com (1), a 1ª coluna de [L] é idêntica à 1ª coluna de [A].


l 11 = 2 ; l 21 = -1 ; l 31 = 3
A equação (2) pode ser usada para calcular a 1ª coluna de [U].
a12 a13
u12 = = -5/2 ; u13 = = 1/2
l11 l11
Usando a equação (3), podemos calcular:
l 22 = a22 − l 21u12 = 1/2 ; l 32 = a 32 − l 31u12 = 7/2

Usando a equação (4), podemos calcular o último elemento da matriz [U].


a −l u
u 23 = 23 21 13 = -1
l 22
Pela equação (5), vamos calcular o último elemento de [L].
l 33 = a 33 − l 31 u13 − l 32 u 23 = 4
2 0 0 1 − 5 / 2 1 / 2
então pode-se escrever L =  − 1 1 / 2 0 e U =
 0
 1 − 1  .
 3 7 / 2 4 0 0 1 

Facilmente se verifica que o produto entre estas duas matrizes é igual á matriz
[A].

Cadeira: Fisica Aplicada à Computação – 2000/2001 – 4º Ano - 2º Semestre

Autor: Manuel Eduardo Clemente Silva

You might also like