Você está na página 1de 55

Computação Científica II

(EEL7031)

Resolução de Sistemas de Equações Lineares

(Métodos Diretos)

1
Objetivos e Tópicos Principais
 Objetivos
 Estudar técnicas de resolução numérica de sistemas
de equações lineares algébricas, que surgem nas
mais diversas áreas do conhecimento científico.
 Tópicos principais
 Introdução.
 Sistemas triangulares
 Eliminação Gaussiana
 Pivoteamento
 Decomposição LU
 Conclusões
2
Introdução
 Aspectos Gerais
 Sistemas de equações são usados para representar problemas físicos
que envolvem a interação de várias propriedades.
 As variáveis no sistema representam as propriedades sob estudo e as
equações descrevem a interação entre elas.
 Em geral, é mais fácil de estudar sistemas em que todas as equações
são lineares.
 Freqüentemente, o número de equações é igual ao número de
variáveis e somente nestes casos é que existe solução única para o
sistema.
 Embora muitos problemas físicos não possam ser representados por
sistemas de equações lineares, em diversos casos são obtidos
resultados relevantes quando se utiliza uma representação
aproximada por sistemas lineares.
 Muitas vezes, é necessário apenas uma representação aproximada
que forneça informações qualitativas a respeito do sistema físico. 3
Introdução – Exemplo de Aplicação
 Componentes de força em treliça
∑ F = −αf − f + αf + f = 0
x 5 6 9 10
Junção  
∑ F = αf + f + αf − 15 = 0 
5
y 5 7 9

∑ F = − f − αf + f + αf = 0
x 8 9 12 13
Junção  
∑ F = −αf − f − αf = 0
6
y 9  11 13

∑ F = −αf + f + αf = 0


 Junção ∑
x 1 4 5  F = − f + f = 0
Junção  x 10

14Sistema Linear :
∑ F = −αf − f − αf = 0 
2
∑ F = f = 0
7
y 1 3 5
y 11  - 17 equações
onde : α = sin( 45 ) = cos(45 )
0 0
∑ F = − f + αf = 0 - 17 variáveis :
x 12 16
Junção  
∑ F = − f + f = 0
x 2 6 ∑ F = − f − αf = 0
8
y 15 ( f1 , f 2 ,… , f17 )
16
Junção  
∑ F = f − 10 = 0 
3
y 3 ∑ F = −αf − f + f = 0
x 13 14 17
Junção  
∑ F = − f + f = 0
x 4 8 ∑ F = αf + f − f = 0 
9
y 13 15 10
Junção  
∑ F = − f = 0 Junção {∑ F = −αf − f = 0}
4
y 7 
10 x 16 17
4
Introdução
 Representação geral de sistemas lineares
 Um sistema linear com m equações e n variáveis é escrito usualmente
na forma:
a11 x1 + a12 x2 + … + a1n xn = b1  aij − coeficientes 1 ≤ i ≤ m, 1 ≤ j ≤ n
a x + a x + … + a x = b 
 21 1 22 2 2n n 2  ∴ x j − variáveis j = 1,2,⋯ , n
 
 ⋮ ⋮ ⋮ ⋮  bi − constantes i − 1,2,⋯ , m
am1 x1 + am 2 x2 + … + amn xn = bm 
 O sistema pode ser escrito na seguinte notação matricial:
 A
  x  b

 a11 a12 ⋯ a1n   x1   b1  A − matriz de coeficientes


a a ⋯ a   x  b  ∴ x − vetor de variáveis
 21 22 2n   2 
• = 2
 ⋮ ⋮ ⋱ ⋮  ⋮  ⋮ b − vetor de constantes
     
a
 m1 a m1 ⋯ a mn   xm  bm  5
Introdução
 Classificação quanto ao número de soluções
 Compatível:
 Determinado – existe solução única (não-singular) det( A) ≠ 0
 Indeterminado – existem infinitas soluções (singular)
 Incompatível:
 Não apresenta solução

 Exemplo
 x1 + x2 = 0 0 
  Solução x =  
*

 x1 − x2 = 0 0 

Sistema compatível, homogêneo e determinado


6
Introdução
 Outros exemplos
 Sistema com solução única
2 x1 + x2 = 3  1
  Solução x =  
*

x
 1 − 3 x 2 = −2  1
det( A) ≠ 0
 Sistema com infinitas soluções
2 x1 + x2 = 3  2 1
  det( A) = det =0
4 x1 + 2 x2 = 6 4 2

α 
Solução x = 
*
 , ∀α ∈ ℜ
3 − 2α 

Sistema indeterminado – retas coincidentes 7


Introdução
 Outros exemplos (Cont.)
 Sistema com nenhuma solução

2 x1 + x2 = 3 
 
4
 1 x + 2 x 2 = 2 

2 1
det( A) = det =0
4 2

Sistema incompatível – retas paralelas

8
Sistemas Triangulares
 Sistema triangular superior
a11 x1 + a12 x2 + a13 x3 + … + a1,n −1 xn −1 + a1n xn = b1 
  aij = 0, se j < i
 a x + a x + … + a x + a x = b 

22 2 23 3 2 , n −1 n −1 2n n 2

a33 x3 + … + a3,n −1 xn −1 + a3n xn = b3  para i, j = 1,2,⋯ , n
 
 ⋮ ⋮ ⋮ 
 an −1,n −1 xn −1 + an −1,n xn = bn −1 
 
 an ,n xn = bn 
 Algoritmo de solução
 xn = bn / ann 
  Substituição
  n  
 k  k ∑ kj j  kk
 
x = b − a ⋅ x / a , para k = n − 1, ⋯ , 2,1 retroativa ou
 inversa
  j = k +1   9
Sistemas Triangulares
 Sistema triangular inferior
a11 x1 = b1 
  ∴
a21 x1 + a22 x2 = b2 
  aij = 0, se j > i
⋮ ⋮ ⋮ 
a x + a x + a x + … + a = bn −1  para i, j = 1,2,⋯ , n
n −1, n −1 xn −1
 n −1,1 1 n −1, 2 2 n −1, 3 3

 an1 x1 + an 2 x2 + an 3 x3 + … + a1,n −1 xn −1 + a1n xn = bn 

 Algoritmo de solução

 x1 = b1 / a11 
  Substituição
  k −1   progressiva
 xk =  bk − ∑ akj ⋅ x j  / akk , para k = 2,3⋯ , n 
 
ou direta
  j =1  
10
Sistemas Triangulares
 Exemplo 1:
 x4 = 2 / 2 → x4 = 1 
3x1 + 4 x2 − 5 x3 + x4 = −10  3 + 5 (1 ) 
   x3 = → x3 = 2 
 x 2 + x 3 − 2 x 4 = − 1   4 
   
4 x − 5 x = 3 x
 2 = − 1 − 1( 2 ) + 2(1) → x = −1 
 3 4  2

 2 x4 = 2   − 10 − 4(−1) + 5(2) − 1(1) 


 x1 = → x1 = 1
 3 

 Portanto, a solução é:
1
− 1 Sistema
x* =   determinado
2
 
1 11
Sistemas Triangulares
 Exemplo 2:
 x4 = 2 / 2 → x4 = 1 
 3 + 5 (1) 
3x1 + 4 x2 − 5 x3 + x4 = −10  x3 = → x3 = 2 
   4 
 x − 2 x = 0   

3 4
  2 3
0 x + x − 2 x 4 = 0 → 0 x 2 = −2 + 2 (1) 
 4 x − 5 x = 3   
3 4
0 x2 = 0 → x2 = λ
 2 x4 = 2   
 − 4λ − 1
 x1 = (− 4λ + 5(2) − (1) − 10 ) / 3 = 3 
 Portanto:
− (1 + 4λ ) / 3
 λ  Sistema
x=  indeterminado
 2 
 
 1  12
Sistemas Triangulares
 Exemplo 3:
 x4 = 2 / 2 → x4 = 1 
3x1 + 4 x2 − 5 x3 + x4 = −10  
   x3 = 3 + 5 (1) 
 x − 2 x = − 1  → x3 = 2

3 4
  4 
 4 x 3 − 5 x 4 = 3  0 x2 + x3 − 2 x4 = −1 → 0 x2 = −1 − 2 + 2(1)
 2 x4 = 2   
 0 x2 = −1 

Sistema incompatível

13
Sistemas Lineares Equivalentes
 Teorema:
 Seja Ax = b um sistema linear. Aplicando-se sobre as equações
deste sistema uma seqüência de operações, escolhidas entre:
 intercambiar a posição de duas equações;
 multiplicar uma equação por uma constante não-nula;
 Adicionar um múltiplo de uma equação a uma outra equação;
~ ~
obtém-se um novo sistema A x = b equivalente ao sistema Ax = b

 Sistemas Lineares Equivalentes


~ ~
 Dois sistemas lineares, Ax = b e A x = b , são equivalentes se
qualquer solução de um é também solução do outro.

14
Eliminação Gaussiana
 Aspectos gerais
 Consiste em transformar convenientemente o sistema linear original,
por meio de operações elementares, num sistema triangular superior
equivalente, o qual se resolve facilmente por substituição retroativa.

 Procedimento geral
 Considere o sistema linear constituído por n equações:

 A
  x  b
E1: a11 x1 + a12 x2 + … + a1n xn = b1   a11 a12 ⋯ a1n   x1   b1 
E a x + a x + … + a x = b  a   x  b 
 2: 21 1 22 2 2n n 2 a ⋯ a
   21 22 2n   2 
• =  2
⋮ ⋮ ⋮ ⋮   ⋮ ⋮ ⋱ ⋮  ⋮  ⋮
E n: an1 x1 + an 2 x2 + … + ann xn = bn       
a
 n1 a n1 ⋯ a nn   xn  bn 
15
Eliminação Gaussiana
 Procedimento geral (Cont.)
 Forme a matriz aumentada
a11( 0 ) a12( 0 ) ⋯ a1(n0 ) b1( 0 ) 
 (0) (0) 
[A ]
(0)
a a22 ⋯ a2( 0n) b2 
(0)
, b(0) =  21
 ⋮ ⋮ ⋱ ⋮ ⋮ 
 (0) (0) 
an1 an( 02) (0)
⋯ ann bn 
 Estágio 1: Eliminar os elementos abaixo de a11 ≠ 0 como segue:
(0)

E1(1) = E1( 0 ) a11(1) a12(1) ⋯ a1(1n) b1(1) 


 (1) 
E2(1) = E2( 0 ) − m21 E1( 0 )
[A ]
(1)
0 a22 ⋯ a2(1n) b2 
(1)
, b (1) =
⋮  ⋮ ⋮ ⋱ ⋮ ⋮ 
 (1) 
En(1) = En( 0 ) − mn1 E1( 0 )  0 an(12) ⋯ ann
(1)
bn 

∴ mk1 = ak( 01) / a11( 0) , k = 2,3,⋯ , n (0)


O elemento a11 é dito pivô do estágio 1 16
Eliminação Gaussiana
 Procedimento geral (Cont.)
 Estágio 2: Eliminar os elementos abaixo de a22 ≠ 0 como segue:
(1)

E ( 2)
=E (1)
=E (0) a11( 2 ) a12( 2 ) ⋯ a1(n2 ) b1( 2 ) 
1 1 1  ( 2) 
E ( 2)
=E (1)
 0 a22 ⋯ a2( 2n) b2( 2 ) 
2


2
[A ( 2)
, b ( 2) ] = 0 0 ⋯ a3( 2n) b3( 2 ) 
 
En( 2 ) = En(1) − mn 2 E2(1)  ⋮ ⋮ ⋱ ⋮ ⋮ 
 0 0 ( 2)
⋯ ann bn( 2 ) 

∴ mk 2 = ak(12) / a22(1) , k = 3,⋯ , n (1)
O elemento a22 é dito pivô do estágio 2
 Estágios subseqüentes:
 O procedimento descrito é aplicado subseqüentemente para as
colunas i = 3,… , n − 1 usando-se mki = aki( i −1) / aii( i −1) e
Ek( i ) = Ek(i −1) − mki Ei( i −1) ; k > i 17
Eliminação Gaussiana
 Exemplo
 Resolver o sistema linear abaixo por eliminação Gaussiana:
3x1 + 2 x2 + 4 x3 = 1  3 2 4 1
 
+
 1 2
x x + 2 x3 = 2  [
A( 0 ) , b ( 0 ) = 1 1 2 ] 2
4 x + 3 x − 2 x = 3
 1 2 3  4 3 − 2 3
(0)
 Estágio 1: pivô:a11 = 3 ; multiplicadores: m21 = a21 ( 0)
/ a11( 0) = 1/ 3
m31 = a31
(0)
/ a11( 0 ) = 4 / 3

E1(1) = E1( 0 ) 3 2 4 1 
E (1)
2 =E (0)
2 −m E21 1
(0) [A (1)
, b (1) ] = 0 1 / 3 2 / 3 5 / 3
E (1)
=E (0)
−m E (0) 0 1 / 3 − 22 / 3 5 / 3
3 3 31 1

18
Eliminação Gaussiana
 Exemplo (Cont.)
1/ 3
 Estágio 2: pivô: a22
(1)
= 1/ 3
; multiplicador: m32 = a (1)
32 / a (1)
11 =
1/ 3
E1( 2 ) = E1(1) = E1( 0 ) 3 2 4 1 
E2( 2 ) = E2(1) [A ( 2)
, b( 2) ] = 0 1 / 3 2 / 3 5 / 3
E3( 2 ) = E3(1) − m32 E2(1) 0 0 −8 0 
 Substituição retroativa:
 x3 = 0 
3x1 + 2 x2 + 4 x3 = 1   
  (1 / 3) x 2 = 5 / 3 ⇒ x 2 = 5 
 1
0 x + (1 / 3) x + ( 2 / 3) x = 5 / 3 3x + 2(5) = 0 ⇒ x = −3
2
0 x + 0 x − 8 x = 0
3
  1 1 
 1 2 3 
− 3
x* =  5 
 0  19
Eliminação Gaussiana
 Algoritmo Para k = 1,2,⋯ , n − 1
 Seja o sistema linear: Para i = k + 1,⋯ , n
Ax = b, A : n × n, m = aik / akk
x : n ×1 e b : n ×1 aik = 0
 Supor que: Para j = k + 1,⋯ , n
a ij = aij − m ⋅ akj
akk ≠ 0, k = 1,2,⋯ , n − 1
bi = bi − m ⋅ bk
xn = bn / ann
Para l = n − 1,⋯ ,2,1
 n 
xl =  bl − ∑ alj ⋅ x j  / all

 j =l +1 
20
Eliminação Gaussiana
 Quantidade de operações aritméticas
 O número de operações aritméticos do método de eliminação
Gausssina depende do tamanho n do sistema, como segue:

n3 n n 3 n 2 5n
Multiplicações/divisões : + n 2 − Adições/subtrações : + −
3 3 3 2 6
 Para n grande o número total de cada classe de operações acima é
3
aproximadamente n / 3 , ou seja, O( n 3 ).
 Portanto, o número de operações e o tempo computacional aumentam
3
com n em proporção aproximada a n / 3 , com mostra a tabela abaixo:

21
Eliminação Gaussiana
 Estratégias de Pivoteamento
 Evitar pivôs nulos pois inviabilizam a resolução do sistema
 Evitar pivôs de valor próximo de zero:
 geram multiplicadores de valor elevado;
 amplificam os erros de arredondamento.
 Exemplo
0.0002 x1 + 2 x2 = 5 0.2 ⋅10 −3 0.2 ⋅101 0.5 ⋅101 
  [A (0)
,b ( 0 ) ] = 
2 x1 + 2 x2 = 6  0.2 ⋅10 0.2 ⋅101 0.6 ⋅101 
1

Pivô : a11( 0) = 0.2 ⋅10 −3 , multiplicador : m21 = a21
(0)
/ a11( 0 ) = 0.1⋅105 Não satisfaz a
equação 2
0.2 ⋅10 −3 0.2 ⋅101 0.5 ⋅101  0.0
[A (1)
,b (1)
] =  x = 
*

 0 − 0.2 ⋅105 − 0.5 ⋅105  2.5 22


Eliminação Gaussiana
 Estratégias de Pivoteamento Parcial
 Escolher para pivô, no início do estágio k, o elemento de maior
módulo entre os coeficientes aikk −1 , i = k , k + 1,… , n
 Trocar as linhas k e i, caso necessário:
 Exemplo
0.0002 x1 + 2 x2 = 5 0.2 ⋅10 −3 0.2 ⋅101 0.5 ⋅101 

2 x + 2 x = 6
 A ,b =  [ (0) (0)
] 1
 1 2   0.2 ⋅ 101
0.2 ⋅ 101
0.6 ⋅ 10 
 Matriz aumentada a partir da troca das linhas 1 e 2 Maior módulo
da coluna 1
 0.2 ⋅10 0.2 ⋅10 0.6 ⋅10 
[A ]
1 1 1
(0)
,b (0)
= −3 
0.2 ⋅10 0.2 ⋅101 0.5 ⋅101 

Pivô : a11( 0 ) = 0.2 ⋅101 ,


multiplicador : m21 = a21
(0)
/ a11( 0) = 0.1 ⋅10 −3 23
Eliminação Gaussiana
 Exemplo (Cont.) 0.0002 x1 + 2 x2 = 5
SL. original :  
2
 1 x + 2 x 2 = 6 
 Estágio 1:

0.2 ⋅101 0.2 ⋅101 0.6 ⋅101 


[A (1)
,b (1)
] = 1
 0 0 . 19998 ⋅ 101
0 . 49995 ⋅ 10 

2 x1 + 2 x2 = 6 
SL. triangular equivalente :  
0
 1x + 1. 9998 x 2 = 4 . 9995
O uso do pivoteamento parcial faz com que
Solução correta os multiplicadores, em módulo, estejam no
0.5 intervalo [0,1], evitando a ampliação dos
x = 
*
erros de arredondamento.
2.5 24
Eliminação Gaussiana
 Estratégias de Pivoteamento Completo
 Escolher para pivô, no início do estágio k, o elemento de maior
módulo entre todos os coeficientes que ainda atuam no processo de
eliminação. Pivô = max aij( k −1)
∀i,j ≥ k
 Realizar as trocas de linhas e colunas necessárias
 Exemplo
 Determinar, para a matriz aumentada apresentada abaixo, o pivô do
estágio k = 2 e realize as trocas de linhas e colunas necessárias.

3 2 1 −1 5  3 − 1 1 2 5
0 1  0 7 − 5 − 3 6 
[ ]
A(1) , b (1) = 
0 3 7  [A (1)
, b (1) ]
pivot . =
0 3 0 1 7

0 − 3 − 5 7 6   
   0 0 4 2 15
 0 2 4 0 15 
pivô = a34 = 7 Realizar a eliminação p/
o estágio 2 e repetir o
permutar linhas 3 e 2 permutar colunas 4 e 2 processo p/ o estágio 3. 25
Fatoração LU
 Aspectos gerais
 Consiste em decompor um SL em dois sistemas lineares triangulares
cujas soluções podem ser obtidas, respectivamente, por processos de
substituições progressiva (forward) e retroativa (backward).
 Procedimento geral
 Seja o sistema linear Ax = b
 Decompor A = LU onde:
L: matriz triangular inferior com diagonal unitária;
U: matriz triangular superior.
 Resolver Ax = LUx = b em duas etapas:
Etapa 1: supondo Ux = y , resolver Ly = b
Etapa 2: resolver Ux = y

A fatoração LU é largamente aplicada em resoluções repetitivas, ou seja,


para sistemas lineares com a mesma matriz A e diferentes vetores b. 26
Fatoração LU
 Cálculo dos fatores LU por eliminação gaussiana
 Considere o sistema:
a11 x1 + a12 x2 + a13 x3 = b1  a11( 0 ) a12( 0 ) a13( 0 ) 
   (0) (0) 
a x +
 21 1 22 2 13 3
a x + a x = b 2
A( 0 ) = a21 (0)
a22 a23 
a x + a x + a x = b  a31
(0) (0)
a32 (0) 
a33
 31 1 32 2 33 3 3  
 Estágio 1: pivô= a11 ≠ 0, multiplicadores: m21 = a21 / a11 ; m31 = a31 / a11
(0) (0) (0) (0) (0)

 Novos coeficientes:

a1(1j) = a1( 0j ) , p/ j = 1,2,3 aij(1) = aij( 0 ) − mi1 ⋅ aij( 0 ) , p/ i = 2,3 e j = 1,2,3


 Operações equivalentes a representação matricial abaixo

 1 0 0 a11( 0 ) a12( 0 ) a13( 0 )  a11(1) a12(1) a13(1) 


   (0) (0)   (1) 
A(1) = M ( 0 ) ⋅ A( 0 ) = − m21 1 0 ⋅ a21 (0)
a22 a23  =  0 (1)
a22 a23 
− m31 0 1 a31
(0) (0)
a32 (0) 
a33 
  0
(1)
a32 a (1) 
27 33 
Fatoração LU
 Cálculo dos fatores LU (cont.)
 Estágio 2: pivô= a22 ≠ 0 , multiplicadores: m32 = a32 / a22
(1) (1) (1)

a11(1) a12(1) a13(1)  a1( 2j ) = a1(1j) , p/ j = 1,2,3


 (1) 
A(1) = 0 (1)
a22 a23  a2( 2j) = a2(1j) , p/ j = 2,3
 0 (1)
a32 (1) 
a33
  a32 j = a3(1j) − m32 ⋅ a12 j , p/ j = 2,3
 Operações equivalentes a representação matricial abaixo

1 0 0 a11(1) a12(1) a13(1)  a11( 2 ) a12( 2 ) a13( 2 ) 


 (1)   ( 2) 
A( 2 ) = M (1) ⋅ A(1) = 0 1 0 ⋅  0 (1)
a22 a23 =
  0
( 2)
a22 a23 
0 − m32 1  0 (1)
a32 (1) 
a33  
 0 0 ( 2) 
a33 
 Portanto:

A ( 2)
=M (1)
⋅A (1)
=M (1)
⋅M (0)
⋅A (0) ∴ A( 2 ) é triangular superior 28
Fatoração LU
 Análise do resultado A( 2 ) = M (1) ⋅ A(1) = M (1) ⋅ M ( 0 ) ⋅ A( 0 )
 Lembrando que A( 0 ) = A , pode-se escrever
A( 2 ) = M (1) ⋅ M ( 0 ) ⋅ A (
A = M (1) ⋅ M ( 0 ) )
−1
⋅ A( 2 )
 Portanto:
A= M ( ) ⋅ (M )
( 0 ) −1 (1) −1
⋅ A( 2 )
 Considerando que:
 1 0 0
(M )
(0) −1
= m21 1 0  1 0 0
m31 0 1 (M ) ⋅ (M )
( 0 ) ( −1) (1) −1
= m21 1 0
m31 m32 1
1 0 0
(M )(1) −1
= 0 1 0
0 m32 1 29
Fatoração LU
 Portanto:

 1 0 0 a11( 2 ) a12( 2 ) a13( 2 ) 


 ( 2) 
(
A = M (0) ) ⋅ (M )
−1 (1) −1
⋅ A( 2 ) = m21 1 0 ⋅  0 ( 2)
a22 a23  = LU
m31 m32 1  0 0 ( 2) 
a33 
 onde:
 1 0 0
(
L = M (0) ) ⋅ (M )
( −1) (1) −1
= m21 1 0
m31 m32 1

a11( 2 ) a12( 2 ) a13( 2 ) 


 ( 2) 
U = A( 2 ) = 0 ( 2)
a22 a23 
 0 0 ( 2) 
a33
  30
Fatoração LU
 Exemplo
 Resolva o sistema linear abaixo usando a fatoração LU
3x1 + 2 x2 + 4 x3 = 1   3 2 4
 
 1+
x x 2 + 2 x3 = 2  A( 0 ) = 1 1 2
4 x + 3x + 2 x = 3 4 3 2
 1 2 3 
 Estágio 1: pivô : a11
(0)
= 3 multiplicadores : m21 = a21
(0)
/ a11( 0 ) = 1 / 3;
m31 = a31
(0)
/ a11( 0 ) = 4 / 3
 Portanto:
a1(1j) = a1( 0j ) , p/ j = 1,2,3 aij(1) = aij( 0 ) − mi1 ⋅ a1( 0j ) , p/ i = 2,3 e j = 1,2,3

 1 0 0   3 2 4  3 2 4 
A(1) = M ( 0 ) ⋅ A( 0 ) =  − 1 / 3 1 0 ⋅ 1 1 2 = 0 1 / 3 2 / 3 
− 4 / 3 0 1 4 3 2 0 1 / 3 − 10 / 3 31
Fatoração LU
 Exemplo (cont.)
 Estágio 2: (1)
pivô : a22 = 1/ 3
3 2 4 
= 0 1 / 3 2 / 3 
1/ 3
A(1) multiplicador : m32 = a32
(1) (1)
/ a22 = =1
1/ 3
0 1 / 3 − 10 / 3

 Portanto: a1( 2j ) = a1(1j) , p/ j = 1,2,3


a2( 2j) = a2(1j) , p/ j = 2,3
a32 j = a3(1j) − m32 ⋅ a12 j , p/ j = 2,3

1 0 0 3 2 4  3 2 4 
A( 2 ) = M (1) ⋅ A(1) = 0 1 0 ⋅ 0 1 / 3 2 / 3  = 0 1 / 3 2 / 3
0 − 1 1 0 1 / 3 − 10 / 3 0 0 − 4 
32
Fatoração LU
 Exemplo (cont.)
 Fatores LU:  1 0 0 3 2 4 
L = 1 / 3 1 0 ⋅ U = 0 1 / 3 2 / 3
4 / 3 1 1 0 0 − 4 
 Solução:

 y1 =1  3 x1 + 2 x2 + 4 x3 = 1 
   
L ⋅ y = b ⇒ (1 / 3) y1+ y2 = 2 U ⋅ x = y ⇒ (1/3) x2 + (2 / 3) x3 = 5 / 3
(4 / 3) y + y + y = 3  − 4 x3 = 0 
 1 2 3   

 1  − 3
y = 5 / 3 x =  5 
 0   0 
33
Fatoração LU
 Fórmulas gerais (fase de fatoração)
 Gerar a primeira coluna de L e a primeira linha de U usando:
e a j1 a1 j
l11u11 = a11 l j1 = e u1 j = ; j = 2,3,… , n
u11 l11

 Para cada i = 2,3,… , n − 1 selecione os elementos diagonais uii e lii e


gere os demais elementos da i-ésima coluna de L e i-ésima linha de U
usando as equações: i −1
lii uii = aii − ∑ lik uki
k =1

i −1 i −1
1   1 
e l ji = a ji − ∑ l jk uki  e uij = l aij − ∑ lik ukj ; j = i + 1,… , n
uii  k =1  ii  k =1 
n −1
 Finalmente, determinar lnnunn = ann − ∑ lnk ukn
k =1 34
Fatoração LU
 Fórmulas gerais (fases de substituição em LUx = b)
 Solução de Ly = b:

b1 1  i −1 
y1 = e yi = bi − ∑ lij y j ; i = 2,3,… , n
l11 lii  j =1 

 Solução para Ux = y:

y
xn = n 1  n 
unn
e xi =  yi − ∑ uij x j ; i = n − 1, n − 2,… ,1
uii  j =i +1 

35
Pivoteamento Parcial Aplicado à
Fatoração LU
 Matriz de permutação:
 É uma matriz quadrada de ordem n obtida da matriz identidade de
ordem n, permutando-se suas linhas e/ou colunas.
 Seja a matriz identidade:
1 0 0
I = 0 1 0,
0 0 1

 Uma matriz de permutação das linhas 1→3, 3→2 e 2→1 é


representada por:
0 1 0 
P = 0 0 1.
1 0 0

36
Pivoteamento Parcial Aplicado à
Fatoração LU
 Permutação de linhas de uma matriz A
 Pré-multiplicando-se uma matriz A por uma matriz de permutação P,
obtém-se a matriz A com as linhas permutadas, sendo esta
permutação de linhas igual a permutação de linhas efetuadas na
matriz identidade.
 Exemplo:
 3 1 4
 Seja 0 1 0 
A = 1 5 9.
P = 0 0 1, e
2 6 5
1 0 0

0 1 0   3 1 4  1 5 9 
P ⋅ A = 0 0 1 ⋅ 1 5 9  P ⋅ A = 2 6 5
1 0 0 2 6 5 3 1 4
37
Pivoteamento Parcial Aplicado à
Fatoração LU
 Aplicação à fatoração LU
 Seja o sistema Ax = b e seja L e U obtidos por eliminação
gaussiana com pivoteamento parcial.
 L e U serão fatores de A’ se e somente se A′ = P ⋅ A
 Da mesma forma, devem ser realizadas as permutações sobre o vetor
de constantes do sistema linear, ou seja, b′ = Pb .
 Portanto, A′x = b′ ⇔ Ax = b
 Tomando-se A′ = LU , tem-se:

A′x = b′ PAx = Pb LUx = Pb


 Finalmente, resolvem-se os sistemas triangulares:

Ly = Pb e Ux = y
38
Pivoteamento Parcial Aplicado à
Fatoração LU
 Exemplo:
 Resolva o SL abaixo por fatoração LU usando pivoteamento parcial.

3x1 − 4 x2 + x3 = 9  3 − 4 1  1 0 0
 
 1x + 2 x 2 + 2 x 3 = 3  A( 0 ) = 1 2 2  e P (0) = 0 1 0
4 x − 3 x = −2  4 0 − 3 0 0 1
 1 3 
 Estágio 1:
(0)
pivô : a31 =4 0 0 1  4 0 − 3
P (1) = 0 1 0 e A′( 0) = 1 2 2 
1 0 0 3 − 4 1 
permutar linhas 1 e 3
 Portanto: pivô : a′( 0 ) = 4
11
4 0 −3 
′( 0 ) / a11
multiplicadores : m21 = a21 ′( 0 ) = 1 / 4; A(1) = 0 2 11 / 4 
′( 0 ) / a11
m31 = a31 ′( 0 ) = 3 / 4 0 − 4 13 / 4 39
Pivoteamento Parcial Aplicado à
Fatoração LU
 Exemplo (cont.)
 Estágio 2:

4 0 −3  (1)
pivô : a32 = −4 permutar linhas 2 e 3
A(1) = 0 2 11 / 4 
0 − 4 13 / 4 0 0 1  4 0 −3 
P ( 2) = 1 0 0 e A′(1) = 0 − 4 13 / 4
0 1 0 0 2 11 / 4 
 Portanto:

pivô : a′22(1) = −4
4 0 −3 
multiplicador :
A( 2 ) = 0 − 4 13 / 4 
′(1) / a22
m32 = a32 ′(1) = 2 /( −4) = −1 / 2
0 0 35 / 8
40
Pivoteamento Parcial Aplicado à
Fatoração LU
 Exemplo (cont.) −3 
 1 0 0 4 0
 Fatores LU:
L = 1/ 4 1 0  e U = 0 − 4 13 / 4 
3 / 4 −1/ 2 1  0 0 35 / 8
 Resolução dos sistemas triangulares:
Ly = Pb

0 0 1   9   − 2   1 0 0   y1   −2   −2 
Pb = 1 0 0  3  =  9  1/ 4
 1 0 y  =  9 
 2   y = 19 / 2 
0 1 0 − 2  3  3 / 4 −1/ 2 1   y3   3  37 / 4 

 Portanto:
−3   x1   −2   38 / 35 
4 0
Ux = y  0 −4 13 / 4   x  = 19 / 2  x =  −23 / 35
  2    74 / 35 
 0 0 35 / 8  x3  37 / 4  41
Técnicas para Matrizes Especiais
 Matriz de diagonal estritamente dominante
 A matriz A, n × n, é dita ser de diagonal estritamente dominante quando:
n
aii > ∑ aij , para i = 1,2,… , n
j =1
j ≠i

 Exemplo - Considere as matrizes:


7 2 0 d1 : 7 > 2 + 0 A Matriz A é não-
A = 3 5 − 1 ∴ d : 5 > 3 + −1 simétrica e de diagonal
2 estritamente dominante
0 5 − 6
d3 : − 6 > 0 + 5
e
− 3 A Matriz B é simétrica,
6 4
B =  4 − 2 0  ∴ d1 : 6 < 4 + − 3 porém não diagonal
estritamente dominante
− 3 0 1  42
Técnicas para Matrizes Especiais
 Matriz de diagonal estritamente dominante
 Uma matriz A de diagonal estritamente dominante tem uma inversa.

 Para uma matriz A de diagonal estritamente dominante, a eliminação


gaussiana pode ser realizada em qualquer sistema linear da forma Ax=b,
para obter a sua solução única, sem a necessidade do intercâmbio de
linhas e colunas.

 Neste caso, a computação é estável em relação ao crescimento dos


erros de arredondamento.

43
Técnicas para Matrizes Especiais
 Matriz positiva definida
 Uma matriz A é positiva definida se for simétrica e se x t Ax > 0 para
qualquer vetor coluna n-dimensional x ≠ 0 .

 Propriedades de uma matriz positiva definida


 Se A, n × n, é uma matriz positiva definida, então:
 A tem inversa;
 aii > 0 para cada i = 1,2,… , n ;
 max1≤ k , j ≤ n akj ≤ max1≤i ≤ n aii ;
 (a ) < aii a jj para cada i ≠ j .
2
ij

Nota: Alguns autores definem matriz positiva definida sem a


exigência de que ela seja simétrica. 44
Técnicas para Matrizes Especiais
 Equivalências para uma matriz positiva definida
I. A é positiva definida.
II. A eliminação gaussiana pode ser realizada com todos os elementos
pivôs positivos no sistema linear Ax=b.
III. A condição anterior também assegura que a computação será estável
em relação ao crescimento dos erros de arredondamento.
IV. A matriz A pode ser fatorada na forma LLt, onde L é triangular inferior
com elementos da diagonal positivos.
V. A matriz A pode ser fatorada na forma LDLt, onde L é triangular inferior
com elementos da diagonal iguais a 1 e D é uma matriz diagonal com
elementos positivos. a  11
a ⋯ a 12 1i
VI. Para cada i = 1,2,… , n , tem-se: a21 a22 ⋯ a2i 
det  >0
 ⋮ ⋮ ⋱ ⋮ 
 
 ai1 ai 2 aii  45
Técnicas para Matrizes Especiais
 Fatoração de Choleski
 A fatoração da matriz A na forma LLt pode ser realizada pelo método
denominado de fatoração de Choleski, como segue:
 Faça l11 = a11 e gere o restante da primeira coluna de L usando a
equação
l j1 = a j1 / l11 para cada j = 2,3,… , n

 Para cada i = 2,3,… , n − 1 determine a i-ésima coluna de L por:


i −1 1/ 2
 
lii =  aii − ∑ lik2  i −1
  1 
l ji =  a ji − ∑ l jk lik 
k =1

e para cada j = i + 1, i + 2,… , n por: lii  k =1 

n −1 1/ 2
 
 Finalmente, determine: lnn =  ann − ∑ lnk2 
 k =1  46
Técnicas para Matrizes Especiais
 Fatoração LDLt
 Faça d1 = a11 e l j1 = a j1 / d11 para cada j = 2,3,… , n
 Para cada i = 2,3,… , n − 1 determine a i-ésima coluna de L como
segue:
i −1 i −1
1   , j = i + 1, i + 2,… , n
d i = aii − ∑ l d j e
2
ij l ji =  ji ∑ jk ik k 
a − l l d
j =1 di  k =1 

 Finalmente, determine: n −1
d n = ann − ∑ lnj2 d j
j =1

47
Técnicas para Matrizes Especiais
 Exemplo:
4 −1 1 
 
 A matriz A = − 1 4.25 2.75 é positiva definida.
 1 2.75 3.5 

 A fatoração LDLt de A é:
 1 0 0 4 0 0 1 − 0.25 0.25
A = LDLt = − 0.25 1 0 0 4 0 0 1 0.75
 0.25 0.75 1 0 0 1 0 0 1 
 A fatoração de Choleski de A é:

 2 0 0 2 − 0.5 0.5
A = LLt = − 0.5 2 0 0 2 1.5 
 0.5 1.5 1 0 0 1  48
Técnicas para Matrizes Especiais
 Resolução do sistema linear Ax=b quando A é positiva definida
 Usando fatoração de Choleski: Ax = b ⇒ LLt x = b

 Define-se, então:  Lt x = y 
 
 Ly = b 
b1
 Assim, por substituição progressiva: y1 = e
l11
1  i −1 
yi = bi − ∑ lij y j ; i = 2,3,… , n
lii  j =1 
 Por substituição retroativa, obtém-se:

y
xn = n 1  n 
 yi − ∑ l ji x j ; i = n − 1, n − 2,… ,1
e xi =
lnn lii  j =i +1 
49
Técnicas para Matrizes Especiais
 Resolução do sistema linear Ax=b quando A é positiva definida
 Usando fatoração LDLt: Ax = b ⇒ LDLt x = b

 Define-se, então:  DLt x = y   Ly = b 


   
 Ly = b   Dz = y 
 Lt x = z 
 Assim, por substituição progressiva:  
i −1
y1 = b1 e yi = bi − ∑ lij y j ; i = 2,3,… , n zi = yi / d i ; i = 1,2,3,… , n
j =1

 Por substituição retroativa, obtém-se:


n
xn = z n e xi = zi − ∑l
j = i +1
ji x j ; i = n − 1, n − 2,… ,1

Qualquer matriz simétrica para a qual a eliminação gaussiana possa ser


50
usada sem intercambiar linhas e colunas pode ser fatorada na forma LDLt
Técnicas para Matrizes Especiais
 Matrizes de banda
 Uma matriz A, n × n, é denominada matriz de banda se existirem
números inteiros p e q, 1 < p, q < n, tais que aij = 0 sempre que
p ≤ j − i ou q ≤ i − j
 O número p descreve o número de diagonais acima, incluindo a
diagonal principal e o número q descreve o número de diagonais abaixo,
incluindo a diagonal principal.
 A largura de banda da matriz w = p + q − 1 indica o número de diagonais
que podem conter elementos não-nulos.
 Exemplo:
7 2 1 0 p=3
3 5 − 3 − 2 q=2
A=
0 4 6 − 1 w=4
 
0 0 5 8 51
Técnicas para Matrizes Especiais
 Matrizes de banda tridiagonais ( p = q = 2 )
 Exemplo: α1 γ 1 0 0 
β α γ 0 
 2 2 2 
A =  0 β3 α3 0 
 
 γ n −1 
 0 0 β n α n 
 Pode-se fatorar a matriz como segue:

 l1 0 0 0 1 u1 0 0 
β l2 0  0 1 u  Conhecida como
 2  2 0 
e forma de Crout.
L=0 β 3 l3 0 U = 0 1 0 
   
 0 un −1 

 0 0 βn ln  0 0 1 
52
Técnicas para Matrizes Especiais
 Resolução de sistemas tridiagonal
 Fatoração na forma de Crout:
γ1
l1 = α1 e u1 =
l1
γi
li = α i - β i un −1 e u1 = ; i = 2,3,… , n − 1 e ln = α n - β n un −1
li
 O sistema Ax = LUx = b é resolvido como segue:

b1 1
Para Ly = b y1 = e yi = [bi − β i yi −1 ]; i = 2,3,… , n
l1 li

Para Ux = y xn = y n e xi = yi − ui xi +1
53
Técnicas para Matrizes Especiais
 Resolução de sistemas tridiagonal
 Exemplo: 2 x − x =1   2 −1 0 0 
1 2
− x + 2 x − x  − 1 2 − 1 0 
 1 2 3 = 0  A= 
   0 − 1 2 − 1
 -x + 2 x − x = 0 
2 3 4
 
 − x3 + 2 x4 = 1   0 0 −1 2 

2 0 0 0  1 − 1 / 2 0 0  1
− 1 3 / 2 0  0  1
0 1 − 2 / 3 0 x= 
A = LU =  ⋅ 
1
 0 − 1 4 / 3 0  0 0 1 − 3 / 4
    
 0 0 − 1 5 / 4   0 0 0 1  1

Em muitas aplicações as matrizes de banda são também


positiva definida ou de diagonal estritamente dominante. 54
Conclusões
 A resolução de sistemas algébricos lineares produz solução exata se
todos os cálculos forem feitos usando aritmética exata.
 O sistema linear Ax = b tem solução única se e somente se existe A−1 , o
que é equivalente a det A ≠ 0.
 São empregadas técnicas de pivoteamento para minimizar os erros de
arredondamento, os quais podem dominar a solução quando são
utilizados métodos diretos.
 Recomenda-se, na maioria dos casos, o uso de pivoteamento parcial,
visto que decresce o efeito dos erros de arredondamento sem adicionar
elevado esforço computacional.
 O emprego da fatoração LU é vantajoso computacionalmente quando é
necessário resolver sistemas lineares com a mesma matriz de coeficientes
e diferentes vetores independentes.
 Em matrizes positiva definidas podem ser utilizados esquemas de
55
fatoração mais simples tais como a fatoração de Choleski.

Você também pode gostar