3) Raízes de Sistemas Lineares - comp.ita.brpauloac/cci22/cci22-cap3.pdf · Eliminação de Gauss,...

99
CCI-22 3) Raízes de Sistemas Lineares Eliminação de Gauss, Gauss-Jordan, Decomposição LU, Gauss-Jacobi, Gauss-Seidel

Transcript of 3) Raízes de Sistemas Lineares - comp.ita.brpauloac/cci22/cci22-cap3.pdf · Eliminação de Gauss,...

CCI-22

3) Raízes de Sistemas Lineares3) Raízes de Sistemas Lineares

Eliminação de Gauss, Gauss-Jordan, Decomposição LU, Gauss-Jacobi, Gauss-Seidel

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Métodos de resoluçãoMétodos de resolução

� Para a resolução de um sistema linear de equações, há dois grupos de métodos:� Métodos diretos: a solução é obtida através da aplicação de um número finito de operações aritméticas

Regra de Cramer� Regra de Cramer� Eliminação de Gauss e de Gauss-Jordan� Decomposição LU

� Métodos iterativos: a solução é obtida através de uma sequência de aproximações sucessivas, até se alcançar uma resposta que satisfaça a precisão exigida� Gauss-Jacobi� Gauss-Seidel

Sistemas de Equações LinearesSistemas de Equações Lineares

� Forma geral:onde:

aaijij são os coeficientesxxii são as incógnitasbbii são os termos independentesbbii são os termos independentesnn é a ordem do sistema

� Forma matricial:

Ax = bAx = b

=

nnnn

n

n

aaa

aaaaaa

A

L

MOMM

L

L

21

22221

11211

=

nb

bb

bM

2

1

=

nx

xx

xM

2

1

onde:onde:

ExemploExemplo

� Forma geral:

1x5x4x2 321 −=++

� Forma matricial:

=

1

2

5

.

542

514

542

3

2

1

xxx

Cálculo das forças em uma treliçaCálculo das forças em uma treliça

� Um exemplo:1

23

4

5

6

7

8

9

10

11

12

13

1415

16

171

2

3

4

5

6

7

8

9

10

F1 F2 F3

F1, F2 e F3 são dadas

F1 F2 F3

=−−−=

=++−=

=°++°−=

∑∑

0

0

045cos45cos

531

541

541

faffaF

faffaF

fffF

y

x

aax 4342143421

� Condições de equilíbrio:� Na junção 2: � Na junção 3:

=+−=

=+−=

∑∑

0

0

31

62

fFF

ffF

y

x

� Idem para demais junções

� Gerará um sistema de ordem 17

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Regra de CramerRegra de Cramer

� A aplicação da regra de Cramer, em um sistema de ordem n, exige o cálculo de quantos determinantes?� n para os numeradores e 1 para o denominador

Tempo de processamentoTempo de processamento� Seja m o tempo gasto para realizar uma multiplicação� Seja detn o número de multiplicações presentes no

cálculo do determinante de uma matriz de ordem n� Podemos calcular o tempo T gasto apenas com

multiplicações, no caso de 17 equações:� T = m.18.det17� T = m.18.det17� T = m.18.(17 + 17.det16)� T = m.18.(17 + 17.(16 + 16.det15)) � T = m.18.(17 + 17.(16 + 16.(15 + 15.det14))) � T = m.18.(17 + 17.(16 + 16.(15 + 15.(14 + 14.(... (3 + 3.(2)...)))))

Lembrando:

Tempo de processamentoTempo de processamento

T = m.18.(17 + 17.(16 + 16.(15 + 15.(...(3 + 3.(2)...)))))

T = m.( 2 . 3 . 4 . 5 . .... . 17 . 18 ++ 3 . 4 . 5 . .... . 17 . 18 ++ 4 . 5 . .... . 17 . 18 + + 5 . .... . 17 . 18 + : :+ 16 . 17 . 18 ++ 17 . 18 )

T = m.18!.(1 + (1/2!) + (1/3!) + ... + (1/16!))

T ≈ m . 9,6 . 1015

Tempo de processamentoTempo de processamento

� Quantidade de multiplicações: ≈ 9,6 . 1015

� Utilizando um supercomputador atual:� 1011 multiplicações por segundo� Tempo gasto: 9,6 . 104 s ≈ 1 dia

� Se o sistema fosse de ordem 20, exigiria cerca de 28 anos de processamento nesse mesmo computador!

� Um algoritmo bem mais eficiente é o Método da Eliminação de Gauss, que gasta tempo O(n3)

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Método da Eliminação de GaussMétodo da Eliminação de Gauss

� Objetivo:� Transformação do sistema linear a ser resolvido

em um sistema linear triangular

� Operações válidas:Troca da ordem das linhas � Troca da ordem das linhas

� Troca da ordem das colunas (com exceção dos termos independentes)

� Multiplicação de uma equação por um número real não nulo

� Substituição de uma equação por uma combinação linear entre ela mesma e outra equação

Sistemas lineares triangularesSistemas lineares triangulares� Triangular inferior:

� Triangular superior:

=

nn

n

n

n

a

aaaaaaaaa

A

K

MOMMM

K

K

K

000

00

0

333

22322

1131211

nnnnn aaaa K

MOMMM

321

Resolução de um sistema triangularResolução de um sistema triangular

� Exemplo:

� Passos da resolução:� Passos da resolução:

2x315x43x5x4

3

3

43

=

=⋅−

=−

1x1122x1x2xx

2

2

432

−=

−=⋅−+

−=−+

1x10125)1(4x3

10xx5x4x3

1

1

4321

=

−=+⋅−−⋅+

−=+−+

122x4 ==

PassosPassos� Considere a matriz aumentada [Ab]:

� Passo 1: anular os coeficientes de x nas linhas L a L

Linha L1Linha L2

Linha Ln� Passo 1: anular os coeficientes de x1 nas linhas L2 a Ln

� Substituir a linha L2 pela combinação linear:

11

21211212 ,

aamondeLmL =⋅−

� Se a11 = 0, trocar L1 com Lk, onde ak1 ≠ 0� Se Lk não existir, então o sistema não tem solução

� Continuar analogamente para linhas Lj , 2 < j ≤ n� Passo i, 1 < i < n: anular os coeficientes de xi nas linhas Li+1 a Ln

Conhecido como pivô

Exemplo 1Exemplo 1

[ ]

−−

=

1132

3344

5132

Ab

[ ] [ ]513223344L −⋅−−=2aam,LmLL11

212112122 ==⋅−= [ ] [ ]

[ ]7120L513223344L

2

2

−−−=

−⋅−−=

1aam,LmLL11

313113133 ==⋅−= [ ] [ ]

[ ]6260

513211132

3

3

−−=

−⋅−−−=

LL

[ ]

−−

−−−

=

6260

7120

5132

Ab

Exemplo 1Exemplo 1

3aam,LmLL22

323223233 ==⋅−=

[ ] [ ][ ]15500

712036260

3

3

=

−−−⋅−−−=

LL [ ]

−−−

=

15500

7120

5132

Ab

=⇒=⇒=−+⇒=−⋅+

=⇒−=−−⇒−=−−

=⇒=

1x2x2536x25xx3x22x73x27xx2

3x15x5

111321

2232

33

� Sistema linear Ax = b de ordem n:

AlgoritmoAlgoritmo

EliminaçãodeGauss {

para k=1 até n-1 para i=k+1 até n {

m = aik/akk // akk ≠ 0aik = 0para j=k+1 até n Eliminaçãopara j=k+1 até n

aij = aij – m.akjbi = bi – m.bk

}

xn = bn/annpara k=n-1 até 1 {

s = 0para j=k+1 até n

s = s + akj.xjxk = (bk – s)/akk

}}

Sistema triangular

Complexidade de tempo: O(n3)

Exemplo 2Exemplo 2

−=

3814222134311027575241

]Ab[

Nos cálculos a seguir, consideraremos F(10,3,-5,5):

[ ] [ ][ ]

[ ] ( ) [ ][ ]12101130860L

5752411/223814222LmLL1410140020L

575241)1/27(134311027LmLL

3

13133

2

12122

−−−=

⋅−=⋅−=

−−=

⋅−−=⋅−=

−−−

−−=

121011308601410140020575241

]Ab[

Exemplo 2Exemplo 2

[ ]618006130000L3 −−=

−−

−−=

618006130000

1410140020

575241

][Ab

x3 = -61800/(-61300) = 1,01

x2 = [-1410 – (-1400)⋅1,01]/2 = 0,0

x1 = [57 - 52⋅1,01 - 4⋅0,0]/1 = 4,5

No entanto, a solução exata é:� x1 = 1� x2 = 1� x3 = 1

Apenas 3 algarismossão representados

PivoteamentosPivoteamentos parcial e completoparcial e completo� Pivôs pequenos geram multiplicadores grandes, que

aumentam os erros de arredondamento...� Uma simples alteração na Eliminação de Gauss é

escolher como pivô o elemento de maior módulo :� em cada coluna (pivoteamento parcial) (tempo total da

Eliminação de Gauss será O(n3))� dentre todos os elementos possíveis no processo � dentre todos os elementos possíveis no processo

(pivoteamento completo): exige um maior esforço computacional (tempo total da Eliminação de Gauss será O(n4))

� Voltemos a resolver o exemplo anterior com precisão de 3 casas decimais, mas com pivoteamento parcial:

3814222

134311027

575241

3814222

575241

134311027

Exemplo 2 com Exemplo 2 com pivoteamentopivoteamento parcialparcial

−−

715,166,870521,5207,00134311027

−−

521,5207,00715,166,870

134311027

]1,521,5200[L]715,166,870[)6,87/07,0(]521,5207,00[LmLL

3

23233

=

−−⋅−−=⋅−=

−−

1,521,5200715,166,870

134311027 x3 = 52,1/52,1 = 1x2 = [-71-16,5⋅1]/(-87,6) = 0,999x1 = [134 – (-3)⋅1 – 110⋅0,999]/27 = 1,00

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Método de GaussMétodo de Gauss--JordanJordan

� Consiste em efetuar operações sobre as equações do sistema com a finalidade de transformá-lo em um sistema diagonal equivalente, isto é, são nulos todos os coeficientes aik, quando i≠kcoeficientes aik, quando i≠k

=

nna

aa

a

A

K

KOMMM

L

K

K

000

000

000

000

33

22

11

ExemploExemplo

[ ]

=

423223251151

Ab

423211512325Pivoteamento

[ ]6040640L2 ,,,=

[ ] [ ][ ]2380220L

2325524232LmLL

3

13133

,,,

)/(

=

⋅−=⋅−=

[ ]

=

238022060406401325

Ab,,,

,,,

Exemplo (GaussExemplo (Gauss--Jordan)Jordan)

[ ] [ ][ ]9132609000L

604064064222380220LmLL

3

23233

,,

,,,),/,(,,,

=

⋅−=⋅−=

[ ]9132609000L3 ,,=

[ ]

=

913260900060406401325

Ab,,

,,,

[ ] [ ][ ]31310640L

91326090006090406040640LmLL

2

32322

,,

,,),/,(,,,

−=

⋅−=⋅−=

Exemplo (GaussExemplo (Gauss--Jordan)Jordan)

[ ] [ ][ ]5711305L

313106406421325L1 ,,),/(

=

−⋅−=

[ ]5711305L1 ,=

[ ] [ ][ ]7812005L

9132609000609035711305L

1

1

,

,,),/(,

−=

⋅−=

[ ]

=

9132609000313106407812005

Ab,,

,,

,A solução é:

� x1 = -2,556� x2 = -0,2854� x3 = 4,783

Outra aplicaçãoOutra aplicação

� Uma variação do método de Gauss-Jordan pode ser utilizada para se encontrar a inversa de uma matriz A quadrada de ordem n

� Basta transformar a matriz A na correspondente matriz identidade, aplicando correspondente matriz identidade, aplicando essas mesmas operações em uma matriz identidade de ordem n

[A|I] [I|A-1]Gauss-Jordan

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Refinamento por resíduosRefinamento por resíduos

� Se x(1) for encontrado como solução do sistema Ax = b, então o erro dessa solução é x – x(1)

� Multiplicando esse erro por A:� A(x - x(1)) = b – Ax(1) = r(1)

� O resíduo pode ser utilizado para se encontrar resíduo

� O resíduo pode ser utilizado para se encontrar uma solução melhorada x(2):� x(2) = x(1) + δ(1), onde δ(1) é um vetor de correção� Ax(2) = b ⇔ A(x(1) + δ(1)) = b ⇔ Aδ(1) = b - Ax(1) = r(1)

� δ(1) é encontrado resolvendo-se o sistema Aδ = r(1)

� Esses cálculos permitem um processo de refinamento da solução do sistema Ax = b

ExemploExemplo� Considere o sistema abaixo, que será resolvido em uma máquina que trabalha com apenas dois dígitos decimais significativos :

5,5x5,2x0,3 21 =+

� Através da Eliminação de Gauss, podemos encontrar a solução abaixo:

� Cálculo do resíduo:

=−=

15,030,0

Axbr )1()1( Não estábom...

=

94,00,1

x )1(

ExemploExemplo� Cálculo do vetor de correção δ(1):

� Vetor de correção:Arredondamento

aqui� Vetor de correção:

=

058,000063,0

δ )1(

� Solução melhorada:

=+=

0,10,1

δxx )1()1()2(

� Novo resíduo:Portanto, x(2)

é solução exata

=−=

0,00,0

Axbr )2()2(

Melhor aproximaçãoMelhor aproximação� Dado um sistema Ax = b, sejam y e z duas aproximações

da solução exata x. Como saber qual delas é melhor?� A estratégia mais lógica parece ser comparar os

respectivos resíduos: o menor seria da melhor solução� Infelizmente, isso nem sempre é verdade...� Exemplo na mesma máquina de 2 dígitos decimais:� Exemplo na mesma máquina de 2 dígitos decimais:

=++

=++

=++

640x250x210x150520x240x160x120840x120x360x240

321

321

321

,,,,

,,,,

,,,,

� Conclusão: nem sempre a aproximação de menor resíduo é a mais exata

� Se a busca por resíduos menores não garante melhores soluções, como saber se o processo de refinamento por resíduos funciona?

−=

11425

y

=

043

z

=

080000000

ry,

,

,

=

250240120

rz,

,

,

=

143

x

Condicionamento de sistemasCondicionamento de sistemas� Um sistema linear é dito mal condicionado se pequenas alterações

nos dados de entrada (A ou b) ocasionam grandes erros no resultado final

� Exemplo em outra máquina de 3 dígitos decimais:

Solução: x=1,00 e y=-0,998

Suponha que os valores desse sistema sejam obtidos � Suponha que os valores desse sistema sejam obtidos experimentalmente, e por isso os termos independentes possam variar de ±0,001:

=+

=+

060,0y422,0x481,0120,0y844,0x961,0

Valor perturbado

Solução: x=0,00 e y=0,142

Erro na entrada: (|0,119-0,120|/|0,119|) ≈ 0,8%Erro no resultado: (|-0,998-0,142|/|-0,998|) ≈ 114%

� Quando há mal condicionamento, alta precisão nos cálculos não significa quase nada, pois os resultados obtidos não são confiáveis...

Interpretação geométricaInterpretação geométrica

� Considere os seguintes sistemas:

Solução: x=2 e y=3 Solução: x=10,28 e y=0,24

(a)(b)

(a)(c)

x

y

(a)

(c)

(b)

Uma métrica de condicionamentoUma métrica de condicionamento

� Em máquinas com grande precisão, geralmente não faz sentido refinar os resultados...

� No entanto, empiricamente, os refinamentos ajudam a identificar o condicionamento de um sistema linear:� Se as correções δ(1), δ(2), ..., δ(n) forem grandes, então o � Se as correções δ , δ , ..., δ forem grandes, então o

sistema será mal condicionado

� Em sistemas bem condicionados, bastam dois refinamentos: δ(3), ..., δ(n) serão próximos do épsilon da máquina

� Importante: nesse processo de verificação, o vetor b não pode ser nulo � Caso contrário, mesmo em um sistema mal condicionado, a

solução exata será nula, com correções também nulas...

ExemploExemplo� Considere o sistema abaixo em F(10,5,-98,100):

� Primeiro refinamento em F(10,10,-98,100):

� Resolução de Aδ = r(1):

� Primeiro refinamento em F(10,10,-98,100):

=

=−=

000076696,0000055377,000012180,0

678823304,0047355377,1064821801,0

6789,00473,10647,0

Axbr )1()1(

0000577650000025110000000422820

1

,

,

,)(

� Solução melhorada x(2) = x(1) + δ(1):

−=

24419007172

84051x 2

,

,

,)(

Resíduos pequenos

Correções relativamente

pequenas

Outra métrica de condicionamentoOutra métrica de condicionamento� Mostraremos agora outra maneira de identificar o mal

condicionamento de um sistema linear não singular Ax = b� Vamos supor que os dados estão sujeitos a certas

perturbações, e analisaremos seus efeitos na solução� Inicialmente, seja b + ∆b uma perturbação no vetor de

termos independentestermos independentes� Desse modo, a solução também será perturbada, ou seja,

teremos A(x + ∆x) = b + ∆b� Desejamos encontrar uma relação entre ∆x e ∆b, pois,

conhecendo o tamanho da perturbação ∆b, poderemos estimar ∆x, e verificar então se o sistema é ou não mal condicionado

� Para isso, teremos que rever o conceito de normas

Normas de vetoresNormas de vetores

� Dado um vetor x do espaço vetorial E, chama-se norma de x (denotada por ||x||) qualquer função definida em E com valores em R que satisfaz as seguintes condições: � ||x|| ≥ 0� ||x|| = 0 se e somente se x for o vetor nulo� ||λx|| = |λ|.||x||, para todo escalar λ� ||x+y|| ≤ ||x|| + ||y||, onde y є E

� Exemplos de normas de vetores em E = Rn:� ||x||∞ = máxi |xi|� ||x||1 = Σi|xi|� ||x||E = (Σixi

2)1/2

Normas de matrizesNormas de matrizes

� Dada uma matriz A do espaço vetorial E de matrizes quadradas de ordem n, chama-se norma de A (denotada por ||A||) qualquer função definida em E com valores emR que satisfaz as seguintes condições: � ||A|| ≥ 0� ||A|| = 0 se e somente se A for a matriz nula� ||A|| = 0 se e somente se A for a matriz nula� ||λA|| = |λ|.||A||, para todo escalar λ� ||A+B|| ≤ ||A|| + ||B||, onde B є E

� Exemplos de normas de matrizes, onde A = (aij):� Norma linha: ||A||∞ = máxi Σj|aij| � Norma coluna: ||A||1 = máxj Σi|aij| � Norma euclidiana: ||A||E = (Σi,jaij2)1/2

Usando normasUsando normas� Desenvolvendo a equação A(x + ∆x) = b + ∆b :

� Ax + A∆x = b + ∆b� Como Ax = b, então A∆x = ∆b� Desde que A é não singular, então ∆x = A-1∆b

� Se uma norma de matriz e uma norma de vetor estão relacionadas de tal modo que satisfaça a desigualdade relacionadas de tal modo que satisfaça a desigualdade ||Ax|| ≤ ||A||.||x||, para qualquer vetor x de ordem n, então dizemos que as duas normas são consistentes

� Usando normas consistentes:� ||∆x|| ≤ ||A-1||.||∆b||� De Ax = b, também temos ||b|| ≤ ||A||.||x||

� Multiplicando as inequações membro a membro:� ||∆x||.||b|| ≤ ||A||.||A-1||.||∆b||.||x||

Número de condiçãoNúmero de condição� ||∆x||.||b|| ≤ ||A||.||A-1||.||∆b||.||x||� ||∆x||/||x|| ≤ ||A||.||A-1||.||∆b||/||b||� ||∆x||/||x|| ≤ cond(A).||∆b||/||b||� Observações:

� Número de condição de A: � Número de condição de A: cond(A) = ||A||.||A-1|| ≥ ||A.A-1|| = ||I|| = 1

� ||∆b||/||b|| é uma medida do erro relativo em b� O erro em ||∆x||/||x|| dependerá de cond(A), que é maior ou

igual a 1� Se cond(A) for grande, então pequenas perturbações relativas

em b produzirão grandes perturbações relativas em x, e o sistema Ax = b será mal condicionado

� Geralmente, sistemas com cond(A) ≥ 104 são considerados mal condicionados

Outro caso possívelOutro caso possível� Consideremos agora outro caso possível: o vetor b é

conhecido exatamente, mas ocorre uma perturbação na matriz A. Teremos, portanto, (A + ∆A)(x + ∆x) = b

� Desenvolvendo:� (x + ∆x) = (A + ∆A)-1b Equação (*)� Como x = A-1b, temos: ∆x = (A + ∆A)-1b - A-1b� Como x = A b, temos: ∆x = (A + ∆A) b - A b� ∆x = [(A + ∆A)-1 - A-1]b = [B-1 – A-1]b, onde A + ∆A = B� B-1 – A-1 = (A-1A)B-1 – A-1(BB-1) = A-1(A – B)B-1

� ∆x = (B-1 - A-1)b = [A-1(A – B)B-1]b = [A-1(A – (A + ∆A))(A + ∆A)-1]b� ∆x = -A-1∆A(A + ∆A)-1b� Utilizando a equação (*): ∆x = -A-1∆A(x + ∆x)

� Aplicando normas consistentes em ambos os membros: � ||∆x|| ≤ ||A-1||.||∆A||.||(x + ∆x)||� ||∆x|| /||(x + ∆x)|| ≤ cond(A).||∆A||/||A||: semelhante ao anterior

ExemploExemplo� Analisar o sistema linear abaixo:

� Através de Gauss-Jordan, podemos calcular A-1:

=

1440,08642,0

xx

1441,02161,08648,02969,1

2

1

−=−

2969,12161,08648,01441,0

10A 81

� Usando a norma linha, que é consistente:� ||A||∞ = 2,1617� ||A-1||∞ = 1,5130.108

� cond(A) = ||A||∞.||A-1||∞ ≈ 3,3.108

� Conclusão: sistema mal condicionado

� Um sistema é mal condicionado se for excessivamente sensível a perturbações em seus dados de entrada

� A solução de um sistema mal condicionado, mesmo calculada com grande precisão, pode ser pouco exata

� Geralmente, essa situação pode ser detectada quando: � no processo de refinamento, as correções permanecem grandes

Alguns comentáriosAlguns comentários

� no processo de refinamento, as correções permanecem grandes � o número de condição da matriz A for muito maior que a unidade

� Importante:� Resíduos pequenos não garantem a qualidade de uma solução� A precisão da máquina influi no condicionamento do sistema� Há sistemas lineares em que o processo de refinamento

converge para uma solução, mas a matriz A tem um número de condição grande (por exemplo, da ordem de 102 ou 103). Nestes casos, o sistema está próximo de ser mal condicionado, ou seja, a solução encontrada pode não ser confiável...

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Outra forma de ver a Eliminação de GaussOutra forma de ver a Eliminação de Gauss......

� Consideremos o sistema de 3 equações Ax = b:

� Após a primeira fase da Eliminação de Gauss:� Após a primeira fase da Eliminação de Gauss:

−==

=

10m01m001

MondeAMaa0aa0aaa

A

31

21000

133

132

123

122

113

112

111

1 )()()(

)()(

)()(

)()()(

)( ,.

� Após a segunda fase da Eliminação de Gauss:

==

=

1m0010001

MondeAMa00aa0aaa

A

32

111

233

223

222

213

212

211

2 )()()(

)(

)()(

)()()(

)( ,.

Outra forma de ver...Outra forma de ver...� Resumindo:

� A = A(0)

� A(1) = M(0).A(0) = M(0).A� A(2) = M(1).A(1) = M(1).M(0).A� A = (M(1).M(0))-1.A(2)

� A = (M(0))-1.(M(1))-1.A(2)� A = (M ) .(M ) .A

� É fácil comprovar que:

=−−

1

01

001

)()(

3231

21

1)1(1)0(

mmmMM

� Portanto:

ULa00aa0aaa

1mm01m001

A233

223

222

213

212

211

3231

21 .)(

)()(

)()()(

=

=

Decomposição LUDecomposição LU� A comprovação anterior pode ser generalizada para

matrizes de ordem n, em um Teorema

nn3n2n1n u0001mmm KK

� Dada uma matriz quadrada de ordem n, seja Ak a matriz constituída das primeiras k linhas e colunas de A. Suponha que det(Ak) ≠ 0, 1 ≤ k ≤ n. Então:� Existe uma única matriz triangular inferior L=(mij), com mii = 1,

1 ≤ i ≤ n. Os demais são os multiplicadores da Eliminação de Gauss � Existe uma única matriz triangular superior U=(uij), tais que

L.U = A� det(A) = u11.u22. ... .unn

Decomposição LU Decomposição LU –– Resolução do SistemaResolução do Sistema� Portanto, dados o sistema linear Ax = b e a

decomposição (ou fatoração) LU da matriz A, temos:� Ax = b ⇔ (L.U)x = b

� Chamando Ux = y, o sistema original passa a ser Ly = b, ou seja, surgem dois sistemas triangulares

� Por outro lado, é fácil verificar que y = L-1.b é o vetor b acumulando as operações da Eliminação de Gauss

� Por outro lado, é fácil verificar que y = L .b é o vetor b acumulando as operações da Eliminação de Gauss

� Por exemplo, no caso de um sistema com 3 equações:� Como L = (M(0))-1.(M(1))-1, então L-1 = M(1).M(0)

� Portanto, y = M(1).M(0).b� Vantagem da decomposição A = L.U: uma vez calculadas

as matrizes L e U (em tempo cúbico), resolvemos mais rapidamente (em tempo quadrático) outros sistemas com a mesma matriz A. Isso é útil, por exemplo, no refinamento por resíduos

ExemploExemplo

3x2x3x42x2xx1x4x2x3

321

321

321

=++

=++

=++

423 423 423 423

multiplicadores

=

234211423

A

− 31031032310

423

//

//

− 4134323131

423

/

///

=

11340131001

L/

/

=

40032310

423U //

− 3103134323131

423

///

///

Tempo cúbico

ExemploExemplo

3x2x3x42x2xx1x4x2x3

321

321

321

=−+

=++

=++

=

11340131001

L/

/

=

40032310

423U //

Ax = b LUx = b

3yyy342yy31

1y

321

21

1

=++

=+

=

/

/

=

035

1y /

=

053

x0x4

35x32x311x4x2x3

3

32

321

=−

=+

=++

///

Ax = b LUx = b

Ly = b

Ux = y

Tempo quadrático

Outra aplicação Outra aplicação -- InversaInversa

� A decomposição LU também é útil no cálculo da matriz inversa

� Resolver o sistema AX = B, onde A, X e B são matrizes de ordem n, é o mesmo que resolver n sistemas Ax = b, onde x e b são vetores de n sistemas Ax = b, onde x e b são vetores de tamanho n

� A inversa A-1 da matriz A pode ser encontrada através da resolução do sistema AX = I, onde I é a matriz identidade

� Nesse caso, basta realizar uma única vez a decomposição LU da matriz A, e depois utilizá-la na resolução de n sistemas

Decomposição LU com pivoteamentoDecomposição LU com pivoteamento� É possível incorporar as estratégias de pivoteamento

parcial ou completo à decomposição LU� Uma matriz quadrada P de ordem n é uma matriz de

permutação se for obtida da correspondente matriz identidade através de permutações em suas linhas ou colunascolunas

� As eventuais permutações de linhas ou colunas na matriz A(k), obtida em um passo intermediário da Eliminação de Gauss, podem ser realizadas através da multiplicação por uma matriz de permutação

� Exemplo:

=

=

413562951

562951413

001100010

AP k .. )(

=

562951413

A k )(

Exemplo com pivoteamento parcialExemplo com pivoteamento parcial

2x3x43x2x2x9xx4x3

31

321

321

−=−

=++

=+−

− 143 100 −304

=

304221143

A 0)(

=

413443411241304

A 1

//

//)(

=

001010100

P 0)(

==

143221304

A.PA )0()0()0('

=

010100001

P 1)(

==

411241413443304

APA 111

//

//. )()()('

Exemplo com pivoteamento parcialExemplo com pivoteamento parcial

=

8352141413443304

A 2

///

//)(

= 0143001

L /

= 41340304

U /

=

121410143L

//

/

−=

8350041340U

/

/

� L.U = A’ = P.A, onde P = P(1).P(0):

−=

==

221143304

304221143

010001100

APA ..'

� A’x = b’ ⇔ PAx = Pb ⇔ LUx = Pb

Exemplo com pivoteamento parcialExemplo com pivoteamento parcial

2x3x43x2x2x9xx4x3

31

321

321

−=−

=++

=+−

=

121410143001

L//

/

=

8350041340304

U/

/

Ax = b LUx = Pb

=

4352212

y/

/

−=

211

x

=

− 239

010001100

yyy

121410143001

3

2

1

..

//

/

=

4/35

2/21

2

.

8/3500

4/1340

304

3

2

1

x

x

x

Ax = b LUx = Pb

Ly = Pb

Ux = y

� Decomposição LU com pivoteamento parcial em um sistema de ordem n

� Saída: matriz D = L+U-I e matriz de permutação P

AlgoritmoAlgoritmo

LUPivotParcial {

D = A // matriz de ordem nP = I // identidade de ordem nP = I // identidade de ordem n

para j=1 até n-1 {

q = jmax = |djj|para k=j+1 até n {

se |dkj| > max então {max = |dkj|q = k

}

\\ continua...

Escolha do pivô

Algoritmo (continuação)Algoritmo (continuação)// continuação LUPivotParcial {

se q ≠ j então {para k=1 até n {

t = djkdjk = dqkdqk = t

}

Troca das linhas q e j ( q é a linha do novo pivot)

}// trocar linhas q e j em P!!se |djj| = 0 então parar //(A é singular)senão {

r = 1/djjpara i=j+1 até n {

m = dij.rdij = mpara k=j+1 até n

dik = dik – m.djk}

}}return D, P

}

Eliminação

Complexidade de tempo: O(n3)

� No MatLab 7.8 (2009), os números reais são armazenados em 64 bits (precisão dupla da IEEE), ou seja, possuem 16 dígitos decimais

� A\b� Vetor coluna com a solução do sistema linear Ax = b

� inv(A)� Inversa da matriz A

MatLabMatLab

� Inversa da matriz A

� [L,U] = lu(A)� Matrizes L e U recebem a decomposição LU da matriz A, usando pivoteamento

parcial, onde L acumula a permutação

� [L,U,P] = lu(A)� Idem, retornando também a matriz de permutação P tal que P.A = L.U

� linsolve(A,b)� Vetor coluna com a solução de Ax = b, usando LU com pivoteamento parcial

� cond(A,x)� Número de condição da matriz A (x =1: norma coluna ; x = Inf: norma linha)

MatrizesMatrizes EspeciaisEspeciais

� Há matrizes especiais que tem métodos de resolução mais eficientes que LU, dois exemplos são:� Matrizes de Banda

� Algoritmo de Thomas

� Matrizes Simétricas

� Vejamos um método especial para Matrizes Simétricas: Fatoração de Cholesky

FatoraçãoFatoração de de CholeskyCholesky

� A fatoração de Cholesky é aplicável apenas a um tipo particular de matriz, a matriz simétrica e definida positiva� Uma matriz é dita simétrica, se a = a para todo i e jUma matriz é dita definida positiva, isto é se os � Uma matriz é dita definida positiva, isto é se os determinantes das submatrizes principais forem todos positivos. Formalmente:� seja Ak a matriz constituída das primeiras k linhas e colunas de A. Se det(Ak) > 0, 1 ≤ k ≤ n. então A é definida positiva

� Se aplicável, a fatoração de Cholesky é muito mais eficiente que a fatoração LU

FatoraçãoFatoração de de CholeskyCholesky

� Se A é simétrica e definida positiva, ela pode ser fatorada em um produto da matriz g e sua transposta, tal que:

� Observe que det(A) poderia ser facilmente calculado pelo produtório de gii2

FatoraçãoFatoração de de CholeskyCholesky

� Aplicando o produto, obtem-se:

FatoraçãoFatoração de de CholeskyCholesky

FatoraçãoFatoração de de CholeskyCholesky

ExemploExemplo

� Logo, conclui-se que pode-se decompor A

ExemploExemplo

ExemploExemploComo resolver o sistema Ax=b usando a fatoração de Cholesky?Temos:A= G.GA= G.Gt

Ax=b G.Gtx=b Gy = beGtx = y

Para Para pensarpensar emem casa…casa…

� Dada uma matriz A com determinante não zero mas que seja não simétrica e definida positiva…

� Seria possível achar um sistema equivalente a � Seria possível achar um sistema equivalente a Ax=b, onde a matriz de coeficientes fosse simétrica e definida positiva?

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Métodos iterativosMétodos iterativos

� Como foi inicialmente comentado, os métodos iterativos para resolução de sistemas lineares consistem em encontrar uma sequência de aproximações sucessivas

� Dada uma estimativa inicial x(0), calcula-se a sequência x(1), x(2), x(3) ..., até que determinado critério de parada seja satisfeitoseja satisfeito

� O sistema Ax = b é transformado em x(k) = Cx(k-1) + g, k>0, onde C é uma matriz e g um vetor

� Possíveis critérios de parada:� máximo erro absoluto ou relativo

� número de iterações

� Principais métodos: Gauss-Jacobi e Gauss-Seidel

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Método de GaussMétodo de Gauss--JacobiJacobi

� Considere o sistema linear em sua forma inicial:

nnnn22n11n bxaxaxa =+++ ...

� Isolando a i-ésima incógnita na i-ésima equação:� x1 = (b1 - a12 x2 - ... - a1n xn)/a11� x2 = (b2 - a21 x1 - ... - a2n xn)/a22...� xn = (bn - an1 x1 - ... - an,n-1 xn-1)/ann

Método de GaussMétodo de Gauss--JacobiJacobi

� Dessa forma, seja x(k) = Cx(k-1) + g, onde k>1:

=222

111

abab

g/

/

iteração calculada iteração anterior

−−

−−=

0aaaa

aa0aaC

nn2nnn1n

22n22221

L

MOMM

L

//

//

=

nnn

222

ab

abg

/

/

M

� Exemplos de critérios de parada:� Erro absoluto: d(k) = máx1≤i≤n|xi

(k) – xi(k-1)| < ε

� Erro relativo: dr(k) = d(k)/(máx1≤i≤n|xi

(k)|) < ε

ExemploExemplo

7,0

−−

−−

−−

=

010351510511011020

C//

//

//

−=

10/65/8

10/7g

6x10x3x28xx5x7xx2x10

321

321

321

=++

−=++

=++

960,g

6,06,17,0

x )0( =

−=ε = 0,05

−=+=

940861960

gCxx 01

,

,

,)()(

|x1(1) – x1

(0)| = 0,26

|x2(1) – x2

(0)| = 0,26

|x3(1) – x3

(0)| = 0,34

dr(1) = 0,34/(máx |xi

(1)|) = 0,1828 > ε

escolha arbitrária

ExemploExemplo

−−

−−

−−

=

010351510511011020

C//

//

//

=

10658107

g/

/

/

−=

940861960

x 1

,

,

,)(

9780,d = 0,12/1,98 = 0,0606 > ε

−=+=

9660981

9780gCxx 12

,

,

,)()( dr

(2) = 0,12/1,98 = 0,0606 > ε

dr(3) = 0,0324/1,9888 = 0,0163 < ε

−=+=

998409888199940

gCxx 23

,

,

,)()(

Critério das linhasCritério das linhas

� Em um método iterativo, a convergência para a solução exata não é garantida: é preciso que o sistema satisfaça alguns requisitos

� Há uma condição suficiente para a convergência do Método de Gauss-Jacobi, conhecido como o do Método de Gauss-Jacobi, conhecido como o critério das linhas :

n,...,2,1ipara,aa ii

n

ij1j

ij =<∑≠=

ExemplosExemplos

6x10x3x28xx5x7xx2x10

321

321

321

=++

−=++

=++

� Considere o exemplo anterior:2+1 < 101+1 < 5

2+3 < 10

Garantia de convergência

� Considere o exemplo abaixo:

3x3x3xx

21

21

−=−

=+

� Considere o exemplo abaixo:

1 = 11 < 3

Não há garantia de convergência

� No entanto, o método de Gauss-Jacobi converge neste sistema para a solução exata x1 = x2 = 3/2. Verifique!

� Isso mostra que o critério das linhas é suficiente, mas não necessário

DemonstraçãoDemonstração� Sejam:

� x* = [x1, x2, ..., xn]T: a solução exata de Ax = b� x(k) = [x(k)

1, x(k)2, ..., x(k)

n]T: a k-ésima aproximação de x*� e(k) = x(k) – x*: erro na k-ésima aproximação

� Queremos garantir que limk→∞ e(k)i = 0, 1≤i≤n� Sabemos que:� Sabemos que:

� x*1 = (b1 - (a12x*2 + a13x*3 + ... + a1nx*n))/a11� x(k)

1 = (b1 - (a12x(k-1)2 + a13x(k-1)

3 + ... + a1nx(k-1)n)/a11

� Calculando e(k)1 = x(k)1 – x*1, temos:

� e(k)1 = -(a12e(k-1)2 + a13e(k-1)3 + ... + a1ne(k-1)n)/a11� Analogamente:

� e(k)2 = -(a21e(k-1)1 + a23e(k-1)3 + ... + a2ne(k-1)n)/a22� e(k)n = -(an1e(k-1)1 + an2e(k-1)2 + ... + an(n-1)e(k-1)n-1)/ann

Demonstração (continuação)Demonstração (continuação)� Sejam:

� E(k) = máx1≤i≤n{|e(k)i|}� αi = (|ai1| + ... + |ai(i-1)| + |ai(i+1)| + ... + |ain|)/|aii|, 1≤i≤n

Quando o critério das linhas é satisfeito, αi < 1� Quando k→∞, x(k)→x* é equivalente a E(k)→0� Demonstraremos que E(k) ≤ α.E(k-1), onde α = máx1≤i≤n{αi}

Para 1 ≤ i ≤ n:1≤i≤n i

� Para 1 ≤ i ≤ n:� e(k)i = -(ai1e(k-1)1 + ... + ai(i-1)e(k-1)i-1 + ai(i+1)e(k-1)i+1 + ... + aine(k-1)n)/aii� |e(k)i| ≤ (|ai1|.|e(k-1)1| + ... + |ai(i-1)|.|e(k-1)i-1| + |ai(i+1)|.|e(k-1)i+1| + ... +

|ain|.|e(k-1)n|)/|aii|� |e(k)i| ≤ (|ai1| + ... + |ai(i-1)| + |ai(i+1)| + ... + |ain|).E(k-1)/|aii|� |e(k)i| ≤ αi.E(k-1)

� Portanto, E(k) ≤ α.E(k-1)

� Consequentemente, E(k)/E(k-1) ≤ αComo α<1, então E(k)→0 quando k→∞: há convergência!

Mais um exemploMais um exemplo

6x8x63x2x2x52xx3x

32

321

321

−=+

=++

−=++

� Considere o sistema a seguir:3+1 > 15+2 > 2

6 < 8

Não há garantia de convergência

� No entanto, uma permutação entre as duas primeiras linhas � No entanto, uma permutação entre as duas primeiras linhas garante a convergência:

6x8x62xx3x3x2x2x5

32

321

321

−=+

−=++

=++ 2+2 < 51+1 < 3

6 < 8

Garantia de convergência

� Quando o critério das linhas não for satisfeito, convém tentar uma permutação de linhas e/ou colunas

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Método de Método de GaussGauss--SeidelSeidel

� Analogamente ao Método de Gauss-Jacobi, calcula-se x(k) = Cx(k-1) + g:

=222

111

abab

g/

/

−−

=

0aaaa

C

nn2nnn1n L

MOMM

//

=

nnn ab

g

/

M

� No entanto, utiliza-se no cálculo de :� valores da iteração anterior: � valores calculados na mesma iteração:

)k(ix

)k(1i

)k(1 x,...,x −

)1k(n

)1k(1i x,...,x −−

+

ExemploExemplo

=

000

x 0)(ε = 0,05

0x6x3x36xx4x3

5xxx5

321

321

321

=++

=++

=++

−−

25,0075,02,02,00

C

= 5,11

g

� Processo iterativo:

)k(2

)k(1

)k(3

)1k(3

)k(1

)k(2

)1k(3

)1k(2

)k(1

x5,0x5,0xx25,0x75,05,1x

x2,0x2,01x

−−=

−−=

−−=

−−

−−

−=

05,05,025,0075,0C

=

05,1g

ExemploExemplo

� Primeira iteração:

)k(2

)k(1

)k(3

)1k(3

)k(1

)k(2

)1k(3

)1k(2

)k(1

x5,0x5,0xx25,0x75,05,1x

x2,0x2,01x

−−=

−−=

−−=

−−

875075050150x7500175051x

1001x

13

12

11

,,.,.,

,.,,

)(

)(

)(

−=−−=

=−−=

=−−=

|x1(1) – x1

(0)| = 1

|x2(1) – x2

(0)| = 0,75

|x3(1) – x3

(0)| = 0,875

dr(1) = 1/(máx |xi

(1)|) = 1 > ε

=

87507501

x 1

,

,)(

ExemploExemplo

� Segunda iteração:

)k(2

)k(1

)k(3

)1k(3

)k(1

)k(2

)1k(3

)1k(2

)k(1

x5,0x5,0xx25,0x75,05,1x

x2,0x2,01x

−−=

−−=

−−=

−−

9875095050025150x9508750250025175051x

0251875020750201x

23

22

21

,,.,,.,

,),.(,,.,,

,),.(,,.,

)(

)(

)(

−=−−=

=−−−=

=−−−=

|x1(2) – x1

(1)| = 0,025

|x2(2) – x2

(1)| = 0,20

|x3(2) – x3

(1)| = 0,1125

dr(2) = 0,2/(máx |xi

(2)|) = 0,1951 > ε

=

987509500251

x 2

,

,

,)(

ExemploExemplo

� Terceira iteração:

)k(2

)k(1

)k(3

)1k(3

)k(1

)k(2

)1k(3

)1k(2

)k(1

x5,0x5,0xx25,0x75,05,1x

x2,0x2,01x

−−=

−−=

−−=

−−

9993099120500075150x99120987502500075175051x

007519875020950201x

33

32

31

,,.,,.,

,),.(,,.,,

,),.(,,.,

)(

)(

)(

−=−−=

=−−−=

=−−−=

|x1(3) – x1

(2)| = 0,0175

|x2(3) – x2

(2)| = 0,0412

|x3(3) – x3

(2)| = 0,0118

dr(3) = 0,0412/(máx |xi

(3)|) = 0,0409 < ε

=

999309912000751

x 3

,

,

,)(

Critério de SassenfeldCritério de Sassenfeld� Sejam os seguintes valores:

∑=

⋅=βn

2jj1

111 a

a1

+β⋅⋅=β ∑∑− n

ij

1i

jiji aaa1

, para 1 < i ≤ n

� Se β < 1, então o Método de Gauss-Seidel gera uma sequência convergente, qualquer que seja x(0)

� Quanto menor for β, mais rápida será a convergência

+β⋅⋅=β ∑∑+== 1ij

ij1j

jijii

i aaa , para 1 < i ≤ n

β = máx {βj}, 1 ≤ j ≤ n

ExemploExemplo

010x4x80x21x4001x20xx20x10

87x30x60x3x6040x20x20xx2

4321

4321

4321

4321

,,,,

,,,,

,,,,

,,,

−=+++

=++−−

−=−−+

=+−+

010x4x80x21x40 4321 −=+++

β1 = (1 + 0,2 + 0,2)/2 = 0,7

β2 = (0,6.0,7 + 0,6 + 0,3)/3 = 0,44

β3 = (0,1.0,7 + 0,2.0,44 + 0,2)/1 = 0,358

β4 = (0,4.0,7 + 1,2.0,44 + 0,8.0,358)/4 = 0,2736

β = 0,7 < 1

DemonstraçãoDemonstração� Sejam:

� x* = [x1, x2, ..., xn]T: a solução exata de Ax = b� x(k) = [x(k)

1, x(k)2, ..., x(k)

n]T: a k-ésima aproximação de x*� e(k) = x(k) – x*: erro na k-ésima aproximação

� Queremos garantir que limk→∞ e(k)i = 0, 1≤i≤nNo método de Gauss-Seidel, podemos constatar que: � No método de Gauss-Seidel, podemos constatar que: � e(k)1 = -(a12e(k-1)2 + a13e(k-1)3 + ... + a1ne(k-1)n)/a11� e(k)2 = -(a21e(k)1 + a23e(k-1)3 + ... + a2ne(k-1)n)/a22� e(k)n = -(an1e(k)1 + an2e(k)2 + ... + an(n-1)e(k)n-1)/ann

� Sejam:� E(k) = máx1≤i≤n{|e(k)i|}� β1 = (|a12| + |a13| + ... + |a1n|)/|a11|� βi = (β1.|ai1| + ... + βi-1.|ai(i-1)| + |ai(i+1)| + ... + |ain|)/|aii|, 1<i≤n

Demonstração (continuação)Demonstração (continuação)� Quando k→∞, x(k)→x* é equivalente a E(k)→0� Demonstraremos por indução no índice i (1≤i≤n) que E(k) ≤ β.E(k-1),

onde β = máx1≤i≤n{βi}� Base (i=1):

� |e(k)1| ≤ (|a12|.|e(k-1)2| + |a13|.|e(k-1)3| + ... + |a1n|.|e(k-1)n|)/|a11|� |e(k)1| ≤ [(|a12| + |a13| + ... + |a1n|)/|a11|].máx1≤i≤n{|e(k-1)i|}|e 1| ≤ [(|a12| + |a13| + ... + |a1n|)/|a11|].máx1≤i≤n{|e i|}� |e(k)1| ≤ β1.E(k-1) ≤ β.E(k-1)

� Hipótese (1<i≤n): |e(k)i-1| ≤ βi-1.E(k-1) ≤ β.E(k-1)

� Passo (1<i≤n):� |e(k)i| ≤ (|ai1|.|e(k)1| + ... + |ai(i-1)|.|e(k)i-1| + |ai(i+1)|.|e(k-1)i+1| + ... +

|ain|.|e(k-1)n|)/|aii|� |e(k)i| ≤ (|ai1|.β1 + ... + |ai(i-1)|.βi-1 + |ai(i+1)| + ... + |ain|).E(k-1)/|aii|� |e(k)i| ≤ βi.E(k-1) ≤ β.E(k-1)

� Portanto, E(k)/E(k-1) ≤ β� Como β<1, então E(k)→0 quando k→∞: há convergência!

ExemplosExemplos

3x3x3xx

21

21

−=−

=+

� Considere o sistema abaixo, anteriormente visto:

� No entanto, o Método de Gauss-Seidel converge neste sistema para a solução exata x1 = x2 = 3/2. Verifique!

( )1

31311111

2

1

==β

==β

//.

/Não há garantia de convergência

para a solução exata x1 = x2 = 3/2. Verifique!� Isso mostra que o critério de Sassenfeld, como o critério das

linhas, é suficiente, mas não necessário

18x2x623xx10

21

21

=−

=+

� Considere outro sistema:

( )130

30210610101

2

1

<=β

==β

==β

,

,/,.

,/

� Neste caso, o critério de Sassenfeld garante a convergência, mas o critério das linhas, não...

Relação entre os critériosRelação entre os critérios� Se um sistema satisfaz o critério das linhas, então

também satisfará o critério de Sassenfeld� Demonstração:

� Seja α = máx1≤i≤n{αi} < 1, onde αi = (|ai1| + ... + |ai(i-1)| + |ai(i+1)| + ... + |ain|)/|aii|

� Vamos provar por indução em i que βi ≤ αi < 1, 1≤i≤n� Vamos provar por indução em i que βi ≤ αi < 1, 1≤i≤n� Base (i=1):

� β1 = (|a12| + |a13| + ... + |a1n|)/|a11| = α1 < 1

� Hipótese (1<i≤n): βi-1 ≤ αi-1 < 1� Passo (1<i≤n):

� βi = (β1.|ai1| + ... + βi-1.|ai(i-1)| + |ai(i+1)| + ... + |ain|)/|aii|� βi ≤ (|ai1| + ... + |ai(i-1)| + |ai(i+1)| + ... + |ain|)/|aii| = αi < 1

� Portanto, α < 1 ⇒ β < 1

� A volta nem sempre é verdadeira...

CCICCI--2222

� Introdução

� Métodos diretos� Regra de Cramer

� Eliminação de Gauss

� Gauss-Jordan� Gauss-Jordan

� Resíduos e Condicionamento de Sistemas

� Decomposição LU

� Métodos iterativos� Gauss-Jacobi

� Gauss-Seidel

� Considerações finais

Considerações finaisConsiderações finais

� Tanto o critério das linhas como o critério de Sassenfeld são condições suficientes para a convergência, mas não necessárias

� Em sistemas esparsos (com grande número de coeficientes nulos), o Método da Eliminação de coeficientes nulos), o Método da Eliminação de Gauss não é apropriado, pois não preserva esta vantajosa qualidade. Nesses casos, convém utilizar métodos iterativos

� Os métodos iterativos são menos suscetíveis ao acúmulo de erros de arredondamento

Métodos diretos Métodos diretos versusversus iterativositerativos

� Convergência� Diretos: não faz sentido considerar essa questão, pois calculam a solução exata

� Iterativos: ocorre sob determinadas condições

� Esparsidade da matriz de coeficientes� Esparsidade da matriz de coeficientes� Diretos: alteram a estrutura da matriz� Iterativos: utilizam sempre a matriz inicial

� Erros de arredondamento� Diretos: ocorrem a cada etapa e acumulam-se� Iterativos: somente os erros da última etapa afetam a solução