26
MS211 - Cálculo Numérico Aula 2 – Eliminação de Gauss e Fatoração LU. Marcos Eduardo Valle Marcos Eduardo Valle MS211 - Cálculo Numérico 1 / 22

Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 2: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 3: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 4: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 5: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 6: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 7: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 8: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 9: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 10: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 11: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 12: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 13: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 14: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 15: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 16: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 17: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 18: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 19: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 20: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 21: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 22: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 23: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 24: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 25: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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

Page 26: Instituto de Matemática, Estatística e Computação …valle/Teaching/MS211/Aula02.pdfMétodo da Eliminação de Gauss No método da Eliminação de Gauss, aplicamos operações

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