MS211 - Cálculo Numérico
Aula 2 – Eliminação de Gauss e Fatoração LU.Introdução
Na aula anterior, apresentamos o modelo de Leontief, que pode ser formulado 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 problema matemático encontrado em aplicações científicas e industriais.
Se um sistema linear não tem solução, diremos que ele é inconsistente.
Dizemos que um sistema linear é consistente se ele possui pelo menos uma solução.
Um sistema linear consistente pode ter ou uma única solução ou infinitas soluções.
O conjunto de todas as soluções de um sistema linear é chamado conjunto solução.
Dizemos que dois sistemas lineares são equivalentes se possuem o mesmo conjunto solução.
Nessa e nas próximas aulas, estudaremos sistemas lineares com n equações e n incógnitas, consistente e que admite uma única solução.
Notação Matricial
Para facilitar a exposição, identificamos o sistema linear a11x1+a12x2+ . . .a1nxn=b1, a21x1+a22x2+ . . .a2nxn=b1, . . . an1x1+an2x2+ . . .annxn=bn.
com a equação matricial a11 a12 . . . a1n a21 a22 . . . a2n .. . ... . .. ... an1 an2 . . . ann x1 x2 .. . xn = b1 b2 .. . bn , ou, equivalentemente, Ax = b.
Uma matrizA ∈ Rn×né não-singular se, e somente se, existe uma
matrizA−1, chamada inversa deA, tal que
AA−1=A−1A = I,
em queI ∈ Rn×n denota a matriz identidade.
Equivalentemente, uma matrizA ∈ Rn×n é não-singular se, e
somente se, det(A) 6= 0.
SeA é uma matriz não-singular, então a solução de Ax = b é x∗ =A−1b.
Logo, o sistema linearAx = b é admite uma única solução!
Apesar dessa considerações teóricas, não determinaremos a
solução deAx = b usando A−1pois o cálculo da inversa deA exige
No método da eliminação de Gauss, um sistema linearAx = b é
transformado num sistema linear equivalenteUx = c, que pode ser
resolvido facilmente usando a substituição reversa.
Para transformarAx = 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,
Sistema Triangular Superior
SeU ∈ Rn×n é uma matriz triangular superior não-singular, i.e,
U = u11 u12 u13 . . . u1n 0 u22 u23 . . . u2n 0 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ês back substitution). Formalmente, tem-se
xi = 1 uii ci− n X j=i+1 uijxj , para i = n, n − 1, . . . , 1.
Exemplo 1
Resolva o sistema triangular superiorUx = c, em que
U = 0.8 −0.2 −0.2 −0.3 0 +0.85 −0.25 −0.38 0 0 0.61 −0.48 0 0 0 0.21 e c = 0.5 0.53 0.72 0.89
Exemplo 1
Resolva o sistema triangular superiorUx = c, em que
U = 0.8 −0.2 −0.2 −0.3 0 +0.85 −0.25 −0.38 0 0 0.61 −0.48 0 0 0 0.21 e c = 0.5 0.53 0.72 0.89
Resposta: A solução do sistema Ux = c, que resolvemos na aula
anterior usando a substituição reversa, é
x∗ = 4.32 3.84 4.51 4.29
Sistema Triangular Inferior
SeL ∈ Rn×n é uma matriz triangular inferior não-singular, i.e,
L = l11 0 0 . . . 0 l21 l22 0 . . . 0 l31 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 = 1 lii bi− i−1 X j=1 lijxj , para i = 1, 2, . . . , n.
Exemplo 2
Resolva o sistema triangular inferiorLy = 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.5 0.4 0.3 0
Exemplo 2
Resolva o sistema triangular inferiorLy = 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.5 0.4 0.3 0
Resposta: A solução do sistema, obtida usando substituição
direta, éLy = b é y∗ = 0.50 0.53 0.72 0.89
Método da Eliminação de Gauss
No método da Eliminação de Gauss, aplicamos operações
elementares emAx = b de modo a obter um sistema equivalente
Ux = c, em que U é uma matriz triangular superior.
A i-ésima linha da matrizA 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, escrevemosA(0)=A e b(0)=b.
A cada estágio j = 0, 1, . . . , n − 1, operações elementares são aplicadas 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 .
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 a12(0) . . . a(0)1n | b(0)1 a(0)21 a22(0) . . . a(0)2n | b(0)2 .. . ... . .. ... | ... a(0)n1 an2(0) . . . a(0)nn | b(0)n → a(1)11 a(1)12 . . . a(1)1n | b1(1) 0 a(1)22 . . . a(1)2n | b2(1) .. . ... . .. ... | ... 0 a(1)n2 . . . a(1)nn | bn(1)
Formalmente, para i = 2, . . . , n, definimos mi1 =
a(0)i1 a(0)11
, b(1)i =bi(0)− 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 , bi(j)=bi(j−1)− mijb (j−1) j e a (j) i =a (j−1) i − mija (j−1) j , para i = j + 1, . . . , n.
Exemplo 3
Use o método da eliminação de Gauss para determinar a solução
do sistema linearAx = 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.5 0.4 0.3 0
Exemplo 3
Use o método da eliminação de Gauss para determinar a solução
do sistema linearAx = 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.5 0.4 0.3 0
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
No primeiro estágio do método da eliminação de Gauss, calculamos os multiplicadores m21= −0.2 0.8 = −0.25, m31 = −0.375 e m41 = −0.25. Note que b(1)2 =b2(0) − m12b1(0)=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) − m14b1(0)=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 .
Assim, ao final no primeiro estágio do método da eliminação de Gauss, 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.525 0 −0.375 0.725 −0.3125 | 0.4875 0 −0.25 −0.45 0.725 | 0.125
Procedendo de forma semelhante, no segundo estágio calculamos os 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.525 0 0 0.61471 −0.47794 | 0.71912 0 0 −0.52353 0.61471 | 0.27941
No último estágio (estágio 3), calculamos o multiplicador m43 = a(2)43 a(2)33 = −0.52353 0.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.525 0 0 0.61471 −0.47794 | 0.71912 0 0 0 0.20766 | 0.89187
Finalmente, usando a substituição reversa, a solução do sistema linear é x∗ = 4.3226 3.8387 4.5092 4.2949
Algoritmo da Eliminação de Gauss
Entrada: Matriz não-singular A ∈ Rn×n e vetor colunab ∈ 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
fim fim fim
Saída: Matriz triangular superior A e b.
No algoritmo acima,U e c são escritas sobre A e b para
Número de Operações da Eliminação de Gauss
No loop para j, efetuamos (#operações) =
n−1
X
j=1
(#operações efetuadas no estágio j).
O loop para i, resulta em outro somatório (#operações) = n−1 X j=1 n X 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 X j=1 n X i=j+1 2(n−j)+1 = 2 3n 3−3 2n 2−1 6n+1 = O(n 3).
Fatoração LU
Os multiplicadores mij podem ser organizados numa matrizL
triangular inferior com diagonal unitária:
L = 1 0 0 . . . 0 m21 1 0 . . . 0 m31 m32 1 . . . 0 .. . ... ... . .. ... mn1 mn2 mn3 . . . 1 .
A matriz originalA, a matriz triangular superior U obtida no final do
processo de eliminação e a matrizL triangular inferior com os
multiplicadores satisfazem:
A = LU,
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 .
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 | {z } L 0.80 −0.20 −0.20 −0.30 0.00 0.85 −0.25 −0.38 0.00 0.00 0.61 −0.48 0.00 0.00 0.00 0.21 | {z } U
O sistemaAx = b é resolvido da seguinte forma usando a fatoração
LU:
• Primeiro, resolve-seLy = b usando substituição direta (O(n2)).
• Depois, resolve-seUx = y usando substituição reversa (O(n2)).
Teoricamente e computacionalmente, a fatoração LU é equivalente
ao método da eliminação de Gauss! Ambas requerem O(n3)
operações aritméticas!
Na prática, na fatoração LU guardamos emL os multiplicadores
usados para transformarA numa matriz triangular superior U.
A informação contida emL é particularmente útil se precisamos
resolver um sistema linearAx = b0, com a mesma matrizA mas um
diferente vetor do lado direito pois não precisamos fatorar
Considerações Finais
Na aula de hoje, apresentamos uma breve revisão de aritmética
matricial e destacamos que tanto o produto matricialAx como a
solução de um sistema triangular requerem O(n2)operações.
Na aula de hoje também formalizamos o método da eliminação de Gauss que foi brevemente introduzido na aula anterior.
Observamos que o método da eliminação de Gauss é equivalente a
fatoração LU, no qual escrevemosA = LU. Tanto a eliminação de
Gauss como a fatoração LU requerem O(n3)operações.