MS211 - Cálculo NuméricoAula 2 – Eliminação de Gauss e Fatoração LU.
Marcos Eduardo Valle
Marcos Eduardo Valle MS211 - Cálculo Numérico 1 / 22
Introdução
Na aula anterior, apresentamos o modelo de Leontief, que pode serformulado como um sistema linear com n equações e n incógnitas:
a11x1 + a12x2 + . . . a1nxn = b1,
a21x1 + a22x2 + . . . a2nxn = b1,
. . .
an1x1 + an2x2 + . . . annxn = bn.
Sistemas lineares é provavelmente o mais importante problemamatemático encontrado em aplicações científicas e industriais.
Marcos Eduardo Valle MS211 - Cálculo Numérico 2 / 22
Se um sistema linear não tem solução, diremos que ele éinconsistente.
Dizemos que um sistema linear é consistente se ele possui pelomenos uma solução.
Um sistema linear consistente pode ter ou uma única solução ouinfinitas soluções.
O conjunto de todas as soluções de um sistema linear é chamadoconjunto solução.
Dizemos que dois sistemas lineares são equivalentes se possuem omesmo conjunto solução.
Nessa e nas próximas aulas, estudaremos sistemas lineares com nequações e n incógnitas, consistente e que admite uma únicasolução.
Marcos Eduardo Valle MS211 - Cálculo Numérico 3 / 22
Notação Matricial
Para facilitar a exposição, identificamos o sistema lineara11x1 + a12x2 + . . . a1nxn = b1,
a21x1 + a22x2 + . . . a2nxn = b1,
. . .
an1x1 + an2x2 + . . . annxn = bn.
com a equação matriciala11 a12 . . . a1na21 a22 . . . a2n
......
. . ....
an1 an2 . . . ann
x1x2...
xn
=
b1b2...
bn
,
ou, equivalentemente,Ax = b.
Marcos Eduardo Valle MS211 - Cálculo Numérico 4 / 22
Uma matriz A ∈ Rn×n é não-singular se, e somente se, existe umamatriz A−1, chamada inversa de A, tal que
AA−1 = A−1A = I,
em que I ∈ Rn×n denota a matriz identidade.
Equivalentemente, uma matriz A ∈ Rn×n é não-singular se, esomente se, det(A) 6= 0.
Se A é uma matriz não-singular, então a solução de Ax = b é
x∗ = A−1b.
Logo, o sistema linear Ax = b é admite uma única solução!
Apesar dessa considerações teóricas, não determinaremos asolução de Ax = b usando A−1 pois o cálculo da inversa de A exigeum número desnecessário de operações aritméticas!
Marcos Eduardo Valle MS211 - Cálculo Numérico 5 / 22
No método da eliminação de Gauss, um sistema linear Ax = b étransformado num sistema linear equivalente Ux = c, que pode serresolvido facilmente usando a substituição reversa.
Para transformar Ax = b em Ux = c, efetuamos as operações:
Operações Elementares
• Permutar duas equações.• Multiplicar uma equação por uma constante não-nula.• Adicionar (ou subtrair) um múltiplo de uma equação à outra.
Operações elementares não afetam a solução do sistema, ou seja,os sistemas Ax = b e Ux = c possuem a mesma solução!
Marcos Eduardo Valle MS211 - Cálculo Numérico 6 / 22
Sistema Triangular Superior
Se U ∈ Rn×n é uma matriz triangular superior não-singular, i.e,
U =
u11 u12 u13 . . . u1n0 u22 u23 . . . u2n0 0 u33 . . . u3n...
......
. . ....
0 0 0 . . . unn
,
com uii 6= 0 para todo i = 1, . . . ,n, então a solução de Ux = c édeterminada usando a chamada substituição reversa (do inglêsback substitution). Formalmente, tem-se
xi =1uii
ci −n∑
j=i+1
uijxj
, para i = n,n − 1, . . . ,1.
A substituição reversa efetua O(n2) operações aritméticas.Marcos Eduardo Valle MS211 - Cálculo Numérico 7 / 22
Exemplo 1
Resolva o sistema triangular superior Ux = c, em que
U =
0.8 −0.2 −0.2 −0.30 +0.85 −0.25 −0.380 0 0.61 −0.480 0 0 0.21
e c =
0.5
0.530.720.89
Marcos Eduardo Valle MS211 - Cálculo Numérico 8 / 22
Exemplo 1
Resolva o sistema triangular superior Ux = c, em que
U =
0.8 −0.2 −0.2 −0.30 +0.85 −0.25 −0.380 0 0.61 −0.480 0 0 0.21
e c =
0.5
0.530.720.89
Resposta: A solução do sistema Ux = c, que resolvemos na aulaanterior usando a substituição reversa, é
x∗ =
4.323.844.514.29
Marcos Eduardo Valle MS211 - Cálculo Numérico 8 / 22
Sistema Triangular Inferior
Se L ∈ Rn×n é uma matriz triangular inferior não-singular, i.e,
L =
l11 0 0 . . . 0l21 l22 0 . . . 0l31 l32 l33 . . . 0...
......
. . ....
ln1 ln2 ln3 . . . lnn
,
com lii 6= 0 para todo i = 1, . . . ,n, então a solução de Ly = b édeterminada usando a chamada substituição direta:
yi =1lii
bi −i−1∑j=1
lijxj
, para i = 1,2, . . . ,n.
A substituição direta também requer O(n2) operações.Marcos Eduardo Valle MS211 - Cálculo Numérico 9 / 22
Exemplo 2
Resolva o sistema triangular inferior Ly = b, em que
L =
1.00 0.00 0.00 0.00−0.25 1.00 0.00 0.00−0.38 −0.44 1.00 0.00−0.25 −0.29 −0.85 1.00
e b =
0.50.40.30
Marcos Eduardo Valle MS211 - Cálculo Numérico 10 / 22
Exemplo 2
Resolva o sistema triangular inferior Ly = b, em que
L =
1.00 0.00 0.00 0.00−0.25 1.00 0.00 0.00−0.38 −0.44 1.00 0.00−0.25 −0.29 −0.85 1.00
e b =
0.50.40.30
Resposta: A solução do sistema, obtida usando substituiçãodireta, é Ly = b é
y∗ =
0.500.530.720.89
Marcos Eduardo Valle MS211 - Cálculo Numérico 10 / 22
Método da Eliminação de Gauss
No método da Eliminação de Gauss, aplicamos operaçõeselementares em Ax = b de modo a obter um sistema equivalenteUx = c, em que U é uma matriz triangular superior.
A i-ésima linha da matriz A será denotada por ai , ou seja,
ai =[ai1 ai2 . . . ain
], i = 1, . . . ,n.
Denotaremos por [A|b] a matriz A concatenada com o vetor b.
Inicialmente, escrevemos A(0) = A e b(0) = b.
A cada estágio j = 0,1, . . . ,n − 1, operações elementares sãoaplicadas no par [A(j)|b(j)] para obter um novo par [A(j+1)|b(j+1)]
com zeros abaixo do elemento a(j)jj .
Marcos Eduardo Valle MS211 - Cálculo Numérico 11 / 22
No primeiro estágio, introduzimos zeros abaixo de a(0)11 subtraindo
da j-ésima linha um múltiplo mi1 da primeira linha.a(0)
11 a(0)12 . . . a(0)
1n | b(0)1
a(0)21 a(0)
22 . . . a(0)2n | b(0)
2...
.... . .
... |...
a(0)n1 a(0)
n2 . . . a(0)nn | b(0)
n
→
a(1)11 a(1)
12 . . . a(1)1n | b(1)
10 a(1)
22 . . . a(1)2n | b(1)
2...
.... . .
... |...
0 a(1)n2 . . . a(1)
nn | b(1)n
Formalmente, para i = 2, . . . ,n, definimos
mi1 =a(0)
i1
a(0)11
, b(1)i = b(0)
i −mi1b(0)1 e a(1)
i = a(0)i −mi1a(0)
1 .
No j-ésimo estágio, introduzimos zeros abaixo de a(j)jj , ou seja,
mij =a(j−1)
ij
a(j−1)jj
, b(j)i = b(j−1)
i −mijb(j−1)j e a(j)
i = a(j−1)i −mija
(j−1)j ,
para i = j + 1, . . . ,n.Marcos Eduardo Valle MS211 - Cálculo Numérico 12 / 22
Exemplo 3
Use o método da eliminação de Gauss para determinar a soluçãodo sistema linear Ax = b, em que
A =
0.8 −0.2 −0.2 −0.3−0.2 0.9 −0.2 −0.3−0.3 −0.3 0.8 −0.2−0.2 −0.2 −0.4 0.8
e b =
0.50.40.30
Marcos Eduardo Valle MS211 - Cálculo Numérico 13 / 22
Exemplo 3
Use o método da eliminação de Gauss para determinar a soluçãodo sistema linear Ax = b, em que
A =
0.8 −0.2 −0.2 −0.3−0.2 0.9 −0.2 −0.3−0.3 −0.3 0.8 −0.2−0.2 −0.2 −0.4 0.8
e b =
0.50.40.30
Resposta: Primeiramente, definimos
[A(0)|b(0)] =
0.8 −0.2 −0.2 −0.3 | 0.5−0.2 0.9 −0.2 −0.3 | 0.4−0.3 −0.3 0.8 −0.2 | 0.3−0.2 −0.2 −0.4 0.8 | 0
Marcos Eduardo Valle MS211 - Cálculo Numérico 13 / 22
No primeiro estágio do método da eliminação de Gauss, calculamosos multiplicadores
m21 =−0.20.8
= −0.25, m31 = −0.375 e m41 = −0.25.
Note que b(1)2 = b2(0)−m12b(0)
1 = 0.4 + (0.25)(0.5) = 0.525 e
a(1)2 = a(0)
2 + m12a(0)1
=[−0.2 0.9 −0.2 −0.3
]+ 0.25
[0.8 −0.2 −0.2 −0.3
]=[0 0.85 −0.25 −0.375
].
Analogamente, b(1)3 = b3(0)−m13b(0)
1 = 0.4875,
b(1)4 = b4(0)−m14b(0)
1 = 0.125,
a(1)3 = a(0)
3 + m13a(0)1 =
[0 −0.375 0.725 −0.3125
]e
a(1)4 = a(0)
4 + m14a(0)1 =
[0 −0.25 −0.45 0.725
].
Marcos Eduardo Valle MS211 - Cálculo Numérico 14 / 22
Assim, ao final no primeiro estágio do método da eliminação deGauss, temos a matriz aumentada:
[A(1)|b(1)] =
0.80 −0.20 −0.20 −0.30 | 0.50
0 0.85 −0.25 −0.375 | 0.5250 −0.375 0.725 −0.3125 | 0.48750 −0.25 −0.45 0.725 | 0.125
Procedendo de forma semelhante, no segundo estágio calculamosos multiplicadores
m32 =a(1)
32
a(1)22
=−0.375
0.85= −0.44118 e m42 =
a(1)42
a(1)22
= −0.29412.
e, com eles, encontramos a matriz aumentada
[A(2)|b(2)] =
0.80 −0.20 −0.20 −0.30 | 0.50
0 0.85 −0.25 −0.375 | 0.5250 0 0.61471 −0.47794 | 0.719120 0 −0.52353 0.61471 | 0.27941
Marcos Eduardo Valle MS211 - Cálculo Numérico 15 / 22
No último estágio (estágio 3), calculamos o multiplicador
m43 =a(2)
43
a(2)33
=−0.523530.61471
= −0.85167,
e determinamos a matriz aumentada
[A(3)|b(3)] ==
0.80 −0.20 −0.20 −0.30 | 0.50
0 0.85 −0.25 −0.375 | 0.5250 0 0.61471 −0.47794 | 0.719120 0 0 0.20766 | 0.89187
Finalmente, usando a substituição reversa, a solução do sistemalinear é
x∗ =
4.32263.83874.50924.2949
Marcos Eduardo Valle MS211 - Cálculo Numérico 16 / 22
Algoritmo da Eliminação de Gauss
Entrada: Matriz não-singular A ∈ Rn×n e vetor coluna b ∈ Rn.para j = 1 até n − 1 faça
para i = j + 1 até n faça• mij =
aij
ajj.
• bi = bi −mijbj .para k = j + 1 até n faça• aik = aik −mijajk
fimfim
fimSaída: Matriz triangular superior A e b.
No algoritmo acima, U e c são escritas sobre A e b paraeconomizar espaço na memória.
Marcos Eduardo Valle MS211 - Cálculo Numérico 17 / 22
Número de Operações da Eliminação de Gauss
No loop para j , efetuamos
(#operações) =n−1∑j=1
(#operações efetuadas no estágio j).
O loop para i , resulta em outro somatório
(#operações) =n−1∑j=1
n∑i=j+1
(operações efetuadas na linha i).
Na linha i , efetuamos 1+2+2(n− (j +1)) = 2(n− j)+1 operações.Assim, o número de operações efetuadas na eliminação de Gauss é
(#operações) =n−1∑j=1
n∑i=j+1
[2(n−j)+1
]=
23
n3−32
n2−16
n+1 = O(n3).
Marcos Eduardo Valle MS211 - Cálculo Numérico 18 / 22
Fatoração LU
Os multiplicadores mij podem ser organizados numa matriz Ltriangular inferior com diagonal unitária:
L =
1 0 0 . . . 0
m21 1 0 . . . 0m31 m32 1 . . . 0
......
.... . .
...mn1 mn2 mn3 . . . 1
.
A matriz original A, a matriz triangular superior U obtida no final doprocesso de eliminação e a matriz L triangular inferior com osmultiplicadores satisfazem:
A = LU,
chamada fatoração LU de A.Marcos Eduardo Valle MS211 - Cálculo Numérico 19 / 22
Exemplo 4
Determine a fatoração LU da matriz
A =
0.8 −0.2 −0.2 −0.3−0.2 0.9 −0.2 −0.3−0.3 −0.3 0.8 −0.2−0.2 −0.2 −0.4 0.8
.
Marcos Eduardo Valle MS211 - Cálculo Numérico 20 / 22
Exemplo 4
Determine a fatoração LU da matriz
A =
0.8 −0.2 −0.2 −0.3−0.2 0.9 −0.2 −0.3−0.3 −0.3 0.8 −0.2−0.2 −0.2 −0.4 0.8
.
Resposta: Com base nos exemplos anteriores, tem-se
A =
1.00 0.00 0.00 0.00−0.25 1.00 0.00 0.00−0.38 −0.44 1.00 0.00−0.25 −0.29 −0.85 1.00
︸ ︷︷ ︸
L
0.80 −0.20 −0.20 −0.300.00 0.85 −0.25 −0.380.00 0.00 0.61 −0.480.00 0.00 0.00 0.21
︸ ︷︷ ︸
U
Marcos Eduardo Valle MS211 - Cálculo Numérico 20 / 22
O sistema Ax = b é resolvido da seguinte forma usando a fatoraçãoLU:• Primeiro, resolve-se Ly = b usando substituição direta (O(n2)).• Depois, resolve-se Ux = y usando substituição reversa (O(n2)).
Teoricamente e computacionalmente, a fatoração LU é equivalenteao método da eliminação de Gauss! Ambas requerem O(n3)operações aritméticas!
Na prática, na fatoração LU guardamos em L os multiplicadoresusados para transformar A numa matriz triangular superior U.
A informação contida em L é particularmente útil se precisamosresolver um sistema linear Ax = b′, com a mesma matriz A mas umdiferente vetor do lado direito pois não precisamos fatorarnovamente a matriz A.
Marcos Eduardo Valle MS211 - Cálculo Numérico 21 / 22
Considerações Finais
Na aula de hoje, apresentamos uma breve revisão de aritméticamatricial e destacamos que tanto o produto matricial Ax como asolução de um sistema triangular requerem O(n2) operações.
Na aula de hoje também formalizamos o método da eliminação deGauss que foi brevemente introduzido na aula anterior.
Observamos que o método da eliminação de Gauss é equivalente afatoração LU, no qual escrevemos A = LU. Tanto a eliminação deGauss como a fatoração LU requerem O(n3) operações.
Muito grato pela atenção!
Marcos Eduardo Valle MS211 - Cálculo Numérico 22 / 22
Top Related