Cálculo Numérico Solução de sistemas de equações...

167
alculo Num´ erico Solu¸c˜ ao de sistemas de equa¸c˜ oes lineares Prof. Daniel G. Alfaro Vigo [email protected] Departamento de Ciˆ encia da Computa¸c˜ ao IM – UFRJ D.G. Alfaro Vigo – www.dcc.ufrj.br/dgalfaro Solu¸ ao de sistemas lineares

Transcript of Cálculo Numérico Solução de sistemas de equações...

Calculo NumericoSolucao de sistemas de equacoes lineares

Prof. Daniel G. Alfaro [email protected]

Departamento de Ciencia da ComputacaoIM – UFRJ

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Parte I

Metodos diretos

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Motivacao: Circuito eletrico

A figura mostra um circuito eletrico simples. Queremos determinaras correntes que circulam no circuito, sabendo que R1 = 10 Ω,R2 = 20 Ω, R3 = 30 Ω, E1 = 3V e E2 = 4V

(Fonte: Wikipedia)

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Motivacao: Circuito eletrico

Usando as leis de Kirchhoff, temos pela Lei dos nos que

i1 − i2 − i3 = 0.

Da Lei das malhas, em s1 temos

−R1i1 − R2i2 + E1 = 0 =⇒ −R1i1 − R2i2 = −E1,

e em s2

−R3i3 − E2 − E1 + R2i2 = 0 =⇒ R2i2 − R3i3 = E2 + E1.

Assim, chegamos no sistema de equacoes linearesi1 − i2 − i3 = 0−10i1 − 20i2 = −3

20i2 − 30i3 = 7

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Motivacao: Circuito eletrico

Usando as leis de Kirchhoff, temos pela Lei dos nos que

i1 − i2 − i3 = 0.

Da Lei das malhas, em s1 temos

−R1i1 − R2i2 + E1 = 0 =⇒ −R1i1 − R2i2 = −E1,

e em s2

−R3i3 − E2 − E1 + R2i2 = 0 =⇒ R2i2 − R3i3 = E2 + E1.

Assim, chegamos no sistema de equacoes linearesi1 − i2 − i3 = 0−10i1 − 20i2 = −3

20i2 − 30i3 = 7

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Motivacao: Redes eletricas

Calculo de sistemas eletricos.Eletrônica de Potência para Geração, Transmissão e Distribuição de Energia Elétrica J. A. Pomilio

http://www.dsce.fee.unicamp.br/~antenor 8-2

Figura 8.1 Sistema elétrico convencional. Figura obtida em xi

Da década de 1970 para a década de 1990, a demanda crescente levou a um aumento do

número de usinas geradoras. Em algumas áreas, o abastecimento de eletricidade, especialmente em horários de pico, não poderia ser mantido com essa demanda crescente, resultando em uma piora na qualidade da energia elétrica fornecida, o que incluía oscilações de tensão, quedas, cortes de energia e até “apagões”. Cada vez mais a sociedade dependia de eletricidade para a indústria, condicionamento de ambientes, comunicação, iluminação e entretenimento, e os consumidores exigiram níveis cada vez mais elevados de confiabilidade.

Estabeleceram-se comportamentos de demanda de eletricidade mais críticos, levando a picos diários de demanda atendidos por geradores só utilizados por curtos períodos do dia. A relativamente baixa utilização destes geradores (normalmente turbinas a gás, devido ao seu custo de capital relativamente baixo e tempos de partida mais rápidos, ou então a óleo diesel), juntamente com a redundância necessária na rede elétrica, resultou em maiores custos para as concessionárias de eletricidade, custos estes que foram repassados aos consumidores.

Embora possa ter surgindo anteriormente, o termo smart grid, tem sido usado mais frequentemente desde 2005, a partir do artigo "Toward a Smart Grid" (Amin and Wollenberg, IEEE Power and Energy Magazine, v. 3, n. 5, p. 34-38, set./out. 2005).

Na década de 1980, a leitura automática de medidores foi usada para monitoramento de cargas de grandes clientes e evoluiu para uma infraestrutura avançada de monitoração. Medidores inteligentes passaram a adicionar comunicação em tempo real, tornando-se dispositivos de comando-resposta e comandos remotos com os usuários.

Transmissão

Geração

Distribuição

Indústria

Comércio

Residências

(Fonte: X. Yu et al.,The New Frontier of Smart Grids[ieeexplore.ieee.org])

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Motivacao: Calculo estrutural

Calculo de estruturas pelo metodo dos elementos finitos.

(Fonte: http://m3d.org.uk/)

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Sistema de equacoes lineares

Vamos estudar metodos para a solucao de um sistema de nequacoes com n incognitas

a11x1 + a12x2+ · · · +a1,n−1xn−1 + a1nxn = b1

a21x1 + a22x2+ · · · +a2,n−1xn−1 + a2nxn = b2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .an1x1 + an2x2+ · · · +an,n−1xn−1 + annxn = bn

Usando notacao matricial

A · x = b

onde a matriz dos coeficientes A, o vetor das incognitas x e o vetordo lado direito b sao dados por

A =

a11 a12 · · · a1,n−1 a1n

a21 a22 · · · a2,n−1 a2n...

......

...an1 an2 · · · an,n−1 ann

, x =

x1

x2...xn

e b =

b1

b2...bn

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Sistema de equacoes lineares

Vamos estudar metodos para a solucao de um sistema de nequacoes com n incognitas

a11x1 + a12x2+ · · · +a1,n−1xn−1 + a1nxn = b1

a21x1 + a22x2+ · · · +a2,n−1xn−1 + a2nxn = b2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .an1x1 + an2x2+ · · · +an,n−1xn−1 + annxn = bn

Usando notacao matricial

A · x = b

onde a matriz dos coeficientes A, o vetor das incognitas x e o vetordo lado direito b sao dados por

A =

a11 a12 · · · a1,n−1 a1n

a21 a22 · · · a2,n−1 a2n...

......

...an1 an2 · · · an,n−1 ann

, x =

x1

x2...xn

e b =

b1

b2...bn

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Sistema de equacoes lineares

Tambem usaremos a representacao do sistema atraves da matrizaumentada

[A|b] =

a11 a12 · · · a1,n−1 a1n b1

a21 a22 · · · a2,n−1 a2n b2...

......

......

an1 an2 · · · an,n−1 ann bn

.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Interpretacao geometrica de um sistema de equacoes

A solucao do sistema consiste dos pontos de intersecao no espacon-dimensional Rn dos n hiperplanos associados as equacoes dosistema.

-4.8 -4 -3.2 -2.4 -1.6 -0.8 0 0.8 1.6 2.4 3.2 4 4.8

-2.4

-1.6

-0.8

0.8

1.6

2.4a₁₁ x₁ + a₁₂ x₂ = b₁a₂₁ x₁ + a₂₂ x₂ = b₂

x₁

x₂

Caso bidimensional: Sistema de duas equacoes.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Numero de solucoes de um sistema de equacoes

Solucao unica

-4.8 -4 -3.2 -2.4 -1.6 -0.8 0 0.8 1.6 2.4 3.2 4 4.8

-2.4

-1.6

-0.8

0.8

1.6

2.4a₁₁ x₁ + a₁₂ x₂ = b₁a₂₁ x₁ + a₂₂ x₂ = b₂

x₁

x₂

Sistema de duas equacoes com uma unica solucao.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Numero de solucoes de um sistema de equacoes (cont.)

Infinitas solucoes

-4.8 -4 -3.2 -2.4 -1.6 -0.8 0 0.8 1.6 2.4 3.2 4 4.8

-2.4

-1.6

-0.8

0.8

1.6

2.4a₁₁ x₁ + a₁₂ x₂ = b₁

a₂₁ x₁ + a₂₂ x₂ = b₂

x₁

x₂

Sistema de duas equacoes com infinitas solucoes.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Numero de solucoes de um sistema de equacoes (cont.)

Nao existe solucao

-4.8 -4 -3.2 -2.4 -1.6 -0.8 0 0.8 1.6 2.4 3.2 4 4.8

-2.4

-1.6

-0.8

0.8

1.6

2.4

a₁₁ x₁ + a₁₂ x₂ = b₁

a₂₁ x₁ + a₂₂ x₂ = b₂

x₁

x₂

Sistema de duas equacoes sem solucao.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Numero de solucoes de um sistema de equacoes (cont.)

Unicidade da solucao

O sistema de n equacoes com n incognitas

A · x = b,

tera uma unica solucao, se e somente se o determinante da matrize nao nulo (det A 6= 0).Se det A = 0 o sistema podera ter um numero infinito de solucoesou nenhuma solucao.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Sistema de equacoes lineares

Estudaremos metodos para a resolucao de sistemas de n equacoescom n incognitas, no caso quando a solucao e unica.

Observamos que nas aplicacoes podemos ter sistemas comcentenas ou milhares de equacoes.

Classes de metodos

Metodos diretos: a solucao e obtida em um numero finito depassos;

Metodos iterativos: construımos uma sequencia deaproximacoes para a solucao.

Comecaremos estudando um metodo direito conhecido comometodo de eliminacao de Gauss.⇒ Esse metodo generaliza a tecnica de substituicao que e usadafrequentemente quando resolvemos sistemas com poucas equacoes.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Sistema de equacoes lineares

Estudaremos metodos para a resolucao de sistemas de n equacoescom n incognitas, no caso quando a solucao e unica.

Observamos que nas aplicacoes podemos ter sistemas comcentenas ou milhares de equacoes.

Classes de metodos

Metodos diretos: a solucao e obtida em um numero finito depassos;

Metodos iterativos: construımos uma sequencia deaproximacoes para a solucao.

Comecaremos estudando um metodo direito conhecido comometodo de eliminacao de Gauss.⇒ Esse metodo generaliza a tecnica de substituicao que e usadafrequentemente quando resolvemos sistemas com poucas equacoes.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Assim temos que resolver o sistemai1 − i2 − i3 = 0−10i1 − 20i2 = −3

20i2 − 30i3 = 7

Da primeira equacao: i1 = i2 + i3Substituindo na segunda equacao obtemos

−10i1 − 20i2 = −3

⇒ −10(i2 + i3)− 20i2 = −3

⇒ −30i2 − 10i3 = −3

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Assim temos que resolver o sistemai1 − i2 − i3 = 0−10i1 − 20i2 = −3

20i2 − 30i3 = 7

Da primeira equacao: i1 = i2 + i3Substituindo na segunda equacao obtemos

−10i1 − 20i2 = −3 ⇒ −10(i2 + i3)− 20i2 = −3

⇒ −30i2 − 10i3 = −3

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Assim temos que resolver o sistemai1 − i2 − i3 = 0−10i1 − 20i2 = −3

20i2 − 30i3 = 7

Da primeira equacao: i1 = i2 + i3Substituindo na segunda equacao obtemos

−10i1 − 20i2 = −3 ⇒ −10(i2 + i3)− 20i2 = −3

⇒ −30i2 − 10i3 = −3

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Agora nos focamos no sistema com duas equacoes−30i2 − 10i3 = −320i2 − 30i3 = 7

Da primeira equacao temos que i2 = −3+10i3−30 = 1

10 −13 i3.

Substituindo na segunda equacao obtemos

−20i2 − 30i3 = 7

⇒ −20( 110 −

13 i3)− 30i3 = 7 ⇒ −70

3 i3 = 9

Assim o sistema inicial foi reduzido na formai1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Agora nos focamos no sistema com duas equacoes−30i2 − 10i3 = −320i2 − 30i3 = 7

Da primeira equacao temos que i2 = −3+10i3−30 = 1

10 −13 i3.

Substituindo na segunda equacao obtemos

−20i2 − 30i3 = 7 ⇒ −20( 110 −

13 i3)− 30i3 = 7

⇒ −703 i3 = 9

Assim o sistema inicial foi reduzido na formai1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Agora nos focamos no sistema com duas equacoes−30i2 − 10i3 = −320i2 − 30i3 = 7

Da primeira equacao temos que i2 = −3+10i3−30 = 1

10 −13 i3.

Substituindo na segunda equacao obtemos

−20i2 − 30i3 = 7 ⇒ −20( 110 −

13 i3)− 30i3 = 7 ⇒ −70

3 i3 = 9

Assim o sistema inicial foi reduzido na formai1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Agora nos focamos no sistema com duas equacoes−30i2 − 10i3 = −320i2 − 30i3 = 7

Da primeira equacao temos que i2 = −3+10i3−30 = 1

10 −13 i3.

Substituindo na segunda equacao obtemos

−20i2 − 30i3 = 7 ⇒ −20( 110 −

13 i3)− 30i3 = 7 ⇒ −70

3 i3 = 9

Assim o sistema inicial foi reduzido na formai1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Para resolver esse sistema reduzidoi1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

comecamos pela ultima equacao e obtemos

−70

3i3 = 9 ⇒ i3 = −27

70.

Da segunda equacao temos

−30i2 − 10i3 = −3 ⇒ i2 =−3 + 10 · (−27

70 )

−30=

8

35

Finalmente, da primeira equacao temos

i1 − i2 − i3 = 0 ⇒ i1 =8

35+

(−27

70

)= −11

70

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Para resolver esse sistema reduzidoi1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

comecamos pela ultima equacao e obtemos

−70

3i3 = 9 ⇒ i3 = −27

70.

Da segunda equacao temos

−30i2 − 10i3 = −3 ⇒ i2 =−3 + 10 · (−27

70 )

−30=

8

35

Finalmente, da primeira equacao temos

i1 − i2 − i3 = 0 ⇒ i1 =8

35+

(−27

70

)= −11

70

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: circuito eletrico

Para resolver esse sistema reduzidoi1 − i2 − i3 = 0− 30i2 − 10i3 = −3

− 703 i3 = 9

comecamos pela ultima equacao e obtemos

−70

3i3 = 9 ⇒ i3 = −27

70.

Da segunda equacao temos

−30i2 − 10i3 = −3 ⇒ i2 =−3 + 10 · (−27

70 )

−30=

8

35

Finalmente, da primeira equacao temos

i1 − i2 − i3 = 0 ⇒ i1 =8

35+

(−27

70

)= −11

70

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de eliminacao de Gauss

Essa ideia pode ser aplicada no caso de um sistema geral.

Reduzimos o sistema de equacoes a um sistema equivalentemais simples (de facil solucao).

Resolvemos o sistema reduzido.

Para facilitar a notacao do processo o sistema a ser resolvido serarepresentado na forma A(0) · x = b(0), ou seja

a(0)11 x1 + a

(0)12 x2+ · · · +a

(0)1,n−1xn−1 + a

(0)1n xn = b

(0)1

a(0)21 x1 + a

(0)22 x2+ · · · +a

(0)2,n−1xn−1 + a

(0)2n xn = b

(0)2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a(0)n1 x1 + a

(0)n2 x2+ · · · +a

(0)n,n−1xn−1 + a

(0)nn xn = b

(0)n

No primeiro estagio, da primeira equacao temos que

x1 =b

(0)1

a(0)11

−a

(0)12

a(0)11

x2 − · · · −a

(0)1,n−1

a(0)11

xn−1 −a

(0)1n

a(0)11

xn

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de eliminacao de Gauss

Essa ideia pode ser aplicada no caso de um sistema geral.

Reduzimos o sistema de equacoes a um sistema equivalentemais simples (de facil solucao).

Resolvemos o sistema reduzido.

Para facilitar a notacao do processo o sistema a ser resolvido serarepresentado na forma A(0) · x = b(0), ou seja

a(0)11 x1 + a

(0)12 x2+ · · · +a

(0)1,n−1xn−1 + a

(0)1n xn = b

(0)1

a(0)21 x1 + a

(0)22 x2+ · · · +a

(0)2,n−1xn−1 + a

(0)2n xn = b

(0)2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a(0)n1 x1 + a

(0)n2 x2+ · · · +a

(0)n,n−1xn−1 + a

(0)nn xn = b

(0)n

No primeiro estagio, da primeira equacao temos que

x1 =b

(0)1

a(0)11

−a

(0)12

a(0)11

x2 − · · · −a

(0)1,n−1

a(0)11

xn−1 −a

(0)1n

a(0)11

xn

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de eliminacao de Gauss

Essa ideia pode ser aplicada no caso de um sistema geral.

Reduzimos o sistema de equacoes a um sistema equivalentemais simples (de facil solucao).

Resolvemos o sistema reduzido.

Para facilitar a notacao do processo o sistema a ser resolvido serarepresentado na forma A(0) · x = b(0), ou seja

a(0)11 x1 + a

(0)12 x2+ · · · +a

(0)1,n−1xn−1 + a

(0)1n xn = b

(0)1

a(0)21 x1 + a

(0)22 x2+ · · · +a

(0)2,n−1xn−1 + a

(0)2n xn = b

(0)2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a(0)n1 x1 + a

(0)n2 x2+ · · · +a

(0)n,n−1xn−1 + a

(0)nn xn = b

(0)n

No primeiro estagio, da primeira equacao temos que

x1 =b

(0)1

a(0)11

−a

(0)12

a(0)11

x2 − · · · −a

(0)1,n−1

a(0)11

xn−1 −a

(0)1n

a(0)11

xn

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao

Substituindo x1 na equacao j-esima (2 ≤ j ≤ n) temos

a(0)j1 x1 + a

(0)j2 x2 + · · ·+ a

(0)j ,n−1xn−1 + a

(0)jn xn = b

(0)j ⇒

a(0)j1

(b

(0)1

a(0)11

−a

(0)12

a(0)11

x2 − · · · −a

(0)1,n−1

a(0)11

xn−1 −a

(0)1n

a(0)11

xn

)+ a

(0)j2 x2 + · · ·+ a

(0)j ,n−1xn−1 + a

(0)jn xn = b

(0)j ,

donde, agrupando obtemos

a(0)j1

a(0)11

b(0)1 +

(a

(0)j2 − a

(0)j1

a(0)12

a(0)11

)x2 + · · ·

+

(a

(0)j ,n−1 − a

(0)j1

a(0)1,n−1

a(0)11

)xn−1 +

(a

(0)jn − a

(0)j1

a(0)1n

a(0)11

)xn = b

(0)j .

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao

Substituindo x1 na equacao j-esima (2 ≤ j ≤ n) temos

a(0)j1 x1 + a

(0)j2 x2 + · · ·+ a

(0)j ,n−1xn−1 + a

(0)jn xn = b

(0)j ⇒

a(0)j1

(b

(0)1

a(0)11

−a

(0)12

a(0)11

x2 − · · · −a

(0)1,n−1

a(0)11

xn−1 −a

(0)1n

a(0)11

xn

)+ a

(0)j2 x2 + · · ·+ a

(0)j ,n−1xn−1 + a

(0)jn xn = b

(0)j ,

donde, agrupando obtemos

a(0)j1

a(0)11

b(0)1 +

(a

(0)j2 − a

(0)j1

a(0)12

a(0)11

)x2 + · · ·

+

(a

(0)j ,n−1 − a

(0)j1

a(0)1,n−1

a(0)11

)xn−1 +

(a

(0)jn − a

(0)j1

a(0)1n

a(0)11

)xn = b

(0)j .

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Logo(a

(0)j2 − a

(0)j1 ·

a(0)12

a(0)11

)x2 + · · ·+

(a

(0)j ,n−1 − a

(0)j1 ·

a(0)1,n−1

a(0)11

)xn−1

+

(a

(0)jn − a

(0)j1 ·

a(0)1n

a(0)11

)xn = b

(0)j −

a(0)j1

a(0)11

b(0)1 ,

e introduzindo

mj1 =a

(0)j1

a(0)11

obtemos

(a

(0)j2 −mj1 · a

(0)12

)x2 + · · ·+

(a

(0)j ,n−1 −mj1 · a

(0)1,n−1

)xn−1

+(a

(0)jn −mj1 · a

(0)1n

)xn = b

(0)j −mj1b

(0)1

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Logo(a

(0)j2 − a

(0)j1 ·

a(0)12

a(0)11

)x2 + · · ·+

(a

(0)j ,n−1 − a

(0)j1 ·

a(0)1,n−1

a(0)11

)xn−1

+

(a

(0)jn − a

(0)j1 ·

a(0)1n

a(0)11

)xn = b

(0)j −

a(0)j1

a(0)11

b(0)1 ,

e introduzindo

mj1 =a

(0)j1

a(0)11

obtemos(a

(0)j2 −mj1 · a

(0)12

)x2 + · · ·+

(a

(0)j ,n−1 −mj1 · a

(0)1,n−1

)xn−1

+(a

(0)jn −mj1 · a

(0)1n

)xn = b

(0)j −mj1b

(0)1

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Ou seja, chegamos em

a(1)j2 x2 + · · ·+ a

(1)j ,n−1xn−1 + a

(1)jn xn = b

(1)j , j = 2, . . . , n,

ondea

(1)jl = a

(0)jl −mj1 · a

(0)1l ,

b(1)j = b

(0)j −mj1 · b

(0)1 ,

mj1 =a

(0)j1

a(0)11

,

j = 2, . . . , n,

l = 1, . . . , n.

O sistema inicial foi transformado em

a(0)11 x1 + a

(0)12 x2+ · · · +a

(0)1,n−1xn−1 + a

(0)1n xn = b

(0)1

0 · x1+a(1)22 x2+ · · · +a

(1)2,n−1xn−1 + a

(1)2n xn = b

(1)2

0 · x1+a(1)32 x2+ · · · +a

(1)3,n−1xn−1 + a

(1)3n xn = b

(1)3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

0 · x1+a(1)n2 x2+ · · · +a

(1)n,n−1xn−1 + a

(1)nn xn = b

(1)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Ou seja, chegamos em

a(1)j2 x2 + · · ·+ a

(1)j ,n−1xn−1 + a

(1)jn xn = b

(1)j , j = 2, . . . , n,

ondea

(1)jl = a

(0)jl −mj1 · a

(0)1l ,

b(1)j = b

(0)j −mj1 · b

(0)1 ,

mj1 =a

(0)j1

a(0)11

,

j = 2, . . . , n,

l = 1, . . . , n.

O sistema inicial foi transformado em

a(0)11 x1 + a

(0)12 x2+ · · · +a

(0)1,n−1xn−1 + a

(0)1n xn = b

(0)1

0 · x1+a(1)22 x2+ · · · +a

(1)2,n−1xn−1 + a

(1)2n xn = b

(1)2

0 · x1+a(1)32 x2+ · · · +a

(1)3,n−1xn−1 + a

(1)3n xn = b

(1)3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

0 · x1+a(1)n2 x2+ · · · +a

(1)n,n−1xn−1 + a

(1)nn xn = b

(1)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

O resultado do primeiro estagio fazemos as transformacoes

E(1)j = E

(0)j −mj1 · E

(0)1

onde mj1 =a

(0)j1

a(0)11

j = 2, . . . , n,

e obtemos um sistema com matriz aumentada

[A(1) |b(1)] =

a(0)11 a

(0)12 · · · a

(0)1,n−1 a

(0)1n b

(0)1

0 a(1)22 . . . a

(1)2,n−1 a

(1)2n b

(1)2

0 a(1)32 · · · a

(1)3,n−1 a

(1)3,n b

(1)3

......

......

...

0 a(1)n2 . . . a

(1)n,n−1 a

(1)nn b

(1)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

No segundo estagio, usando a segunda equacao temos que

x2 =b

(1)2

a(1)22

−a

(1)23

a(1)22

x3 − · · · −a

(1)2,n−1

a(1)22

xn−1 −a

(1)2n

a(1)22

xn.

Substituindo x2 na equacao j-esima (3 ≤ j ≤ n) obtemos

a(1)j2

(b

(1)2

a(1)22

−a

(1)23

a(1)22

x3 − · · · −a

(1)2,n−1

a(1)22

xn−1 −a

(1)2n

a(1)22

xn

)+ a

(1)j3 x3 + · · ·+ a

(1)j ,n−1xn−1 + a

(1)jn xn = b

(1)j ,

e agrupando

(a

(1)j3 − a

(1)j2

a(1)23

a(1)22

)x3 + · · ·+

(a

(1)j ,n−1 − a

(1)j2

a(1)2,n−1

a(1)22

)xn−1

+

(a

(1)jn − a

(1)j2

a(1)2n

a(1)22

)xn = b

(1)j −

a(1)j2

a(1)22

b(1)2 .

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

No segundo estagio, usando a segunda equacao temos que

x2 =b

(1)2

a(1)22

−a

(1)23

a(1)22

x3 − · · · −a

(1)2,n−1

a(1)22

xn−1 −a

(1)2n

a(1)22

xn.

Substituindo x2 na equacao j-esima (3 ≤ j ≤ n) obtemos

a(1)j2

(b

(1)2

a(1)22

−a

(1)23

a(1)22

x3 − · · · −a

(1)2,n−1

a(1)22

xn−1 −a

(1)2n

a(1)22

xn

)+ a

(1)j3 x3 + · · ·+ a

(1)j ,n−1xn−1 + a

(1)jn xn = b

(1)j ,

e agrupando(a

(1)j3 − a

(1)j2

a(1)23

a(1)22

)x3 + · · ·+

(a

(1)j ,n−1 − a

(1)j2

a(1)2,n−1

a(1)22

)xn−1

+

(a

(1)jn − a

(1)j2

a(1)2n

a(1)22

)xn = b

(1)j −

a(1)j2

a(1)22

b(1)2 .

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Assim, chegamos em

a(2)j3 x3 + · · ·+ a

(2)j ,n−1xn−1 + a

(2)jn xn = b

(2)j , j = 3, . . . , n,

ondea

(2)jl = a

(1)jl −mj2 · a

(1)2l ,

b(2)j = b

(1)j −mj2 · b

(1)2 ,

mj2 =a

(1)j2

a(1)22

,

j = 3, . . . , n,

l = 1, . . . , n.

O sistema inicial foi transformado em

a(0)11 x1 + a

(0)12 x2 + a

(0)13 x3+ · · · +a

(0)1,n−1xn−1 + a

(0)1n xn = b

(0)1

0 · x1+a(1)22 x2 + a

(1)23 x3+ · · · +a

(1)2,n−1xn−1 + a

(1)2n xn = b

(1)2

0 · x1 + 0 · x2+a(2)33 x3+ · · · +a

(2)3,n−1xn−1 + a

(2)3n xn = b

(2)3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

0 · x1 + 0 · x2+a(2)n3 x3+ · · · +a

(2)n,n−1xn−1 + a

(2)nn xn = b

(2)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

No segundo estagio fazemos as transformacoes

E(2)j = E

(1)j −mj2 · E

(1)2

onde mj2 =a

(1)j2

a(1)22

j = 3, . . . , n,

O sistema inicial foi transformado em

[A(2) |b(2)] =

a(0)11 a

(0)12 a

(0)13 · · · a

(0)1,n−1 a

(0)1n b

(0)1

0 a(1)22 a

(1)23 · · · a

(1)2,n−1 a

(1)2n b

(1)2

0 0 a(2)33 · · · a

(2)3,n−1 a

(2)3n b

(2)3

......

......

......

0 0 a(2)n3 · · · a

(2)n,n−1 a

(2)nn b

(2)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Repetindo esse processo no final do k-esimo estagio obtemos

a(0)11 x1 + a

(0)12 x2 + · · ·+ a

(0)1,k+1xk+1+ · · · +a

(0)1n xn = b

(0)1

0 · x1+a(1)22 x2 + · · ·+ a

(1)2,k+1xk+1+ · · · +a

(1)2n xn = b

(1)2

. . ....

......

0 · x1 + 0 · x2 + · · ·+a(k)k+1,k+1xk+1+ · · · +a

(k)k+1,nxn = b

(k)k+1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

0 · x1 + 0 · x2 + · · ·+a(k)n,k+1xk+1+ · · · +a

(k)nn xn = b

(k)n

onde

a(k)jl = a

(k−1)jl −mjk · a

(k−1)kl ,

b(k)j = b

(k−1)j −mjk · b

(k−1)k ,

mjk =a

(k−1)jk

a(k−1)kk

,

j = k + 1, . . . , n,

l = 1, . . . , n.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

No k-esimo estagio fazemos as transformacoes

E(k)j = E

(k−1)j −mjk · E

(k−1)k ,

onde mjk =a

(k−1)jk

a(k−1)kk

j = k + 1, . . . , n.

e obtemos o sistema com a matriz aumentada

[A(k) |b(k)] =

a(0)11 a

(0)12 · · · a

(0)1,k+1 · · · a

(0)1n b

(0)1

0 a(1)22 . . . a

(1)2,k+1 · · · a

(1)2n b

(1)2

......

. . ....

......

0 0 · · · a(k)k+1,k+1 · · · a

(k)k+1,n b

(k)k+1

......

......

...

0 0 · · · a(k)n,k+1 · · · a

(k)nn b

(k)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Observacoes

Durante o k-esimo estagio o elemento na diagonal da k-esima

linha, a(k−1)kk e chamado de elemento pivo do estagio.

Os numeros

mjk =a

(k−1)jk

a(k−1)kk

, j = k + 1, . . . , n,

sao chamados de multiplicadores.

Se o elemento pivo do k-esimo estagio e nao nulo, entao esseestagio podera ser finalizado com sucesso.

Se o elemento pivo do k-esimo estagio for nulo nao podemosdefinir os multiplicadores diretamente, e precisaremos fazerum pivoteamento para tentar contornar essa situacao.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Pivoteamento simples

Se antes de comecar o k-esimo estagio observamos que o elemento

pivo a(k−1)kk = 0, procuramos na k-esima coluna um elemento nao

nulo abaixo da diagonal, ou seja um a(k−1)pk 6= 0 com

p ∈ k + 1, . . . , n.Se esse elemento existe permutamos as posicoes da k-esima e ap-esima equacao, e procedemos a realizar o k-esimo estagio doprocesso de reducao a partir do sistema permutado.

Observacao

Se a(k−1)jk = 0 para j = k, . . . , n entao o sistema nao possui solucao

unica.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Pivoteamento simples

Se antes de comecar o k-esimo estagio observamos que o elemento

pivo a(k−1)kk = 0, procuramos na k-esima coluna um elemento nao

nulo abaixo da diagonal, ou seja um a(k−1)pk 6= 0 com

p ∈ k + 1, . . . , n.Se esse elemento existe permutamos as posicoes da k-esima e ap-esima equacao, e procedemos a realizar o k-esimo estagio doprocesso de reducao a partir do sistema permutado.

Observacao

Se a(k−1)jk = 0 para j = k, . . . , n entao o sistema nao possui solucao

unica.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: reducao (cont.)

Conclusao

Apos (n − 1)-estagios bem sucedidos obtemos o sistema reduzido

a(0)11 x1 + a

(0)12 x2 + · · ·+ a

(0)1,k+1xk+1+ · · · +a

(0)1n xn = b

(0)1

0 · x1+a(1)22 x2 + · · ·+ a

(1)2,k+1xk+1+ · · · +a

(1)2n xn = b

(1)2

. . ....

......

0 · x1 + 0 · x2 + · · ·+a(k)k+1,k+1xk+1+ · · · +a

(k)k+1,nxn = b

(k)k+1

. . ....

...

0 · x1 + 0 · x2 + · · ·+ 0 · xk+1 + · · · +a(n−1)nn xn = b

(n−1)n

Esse tipo de sistema de equacoes e chamado de sistematriangular superior, pois todos os elementos abaixo da diagonalprincipal sao nulos.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: substituicao reversa

Na fase final do metodo, resolvemos o sistema triangular superiorobtido no (n − 1)-esimo estagio. Aplicando a tecnica desubstituicao reversa ou regressiva.

Comecamos pela ultima equacao. Se a(n−1)nn 6= 0 obtemos que

xn =b

(n−1)n

a(n−1)nn

.

Depois na penultima equacao substituımos xn e calculamos xn−1

a(n−2)n−1,n−1xn−1+a

(n−2)n−1,n xn = b

(n−2)n−1 ⇒ xn−1 =

b(n−2)n−1 − a

(n−2)n−1,n xn

a(n−2)n−1,n−1

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: substituicao reversa

Na fase final do metodo, resolvemos o sistema triangular superiorobtido no (n − 1)-esimo estagio. Aplicando a tecnica desubstituicao reversa ou regressiva.

Comecamos pela ultima equacao. Se a(n−1)nn 6= 0 obtemos que

xn =b

(n−1)n

a(n−1)nn

.

Depois na penultima equacao substituımos xn e calculamos xn−1

a(n−2)n−1,n−1xn−1+a

(n−2)n−1,n xn = b

(n−2)n−1 ⇒ xn−1 =

b(n−2)n−1 − a

(n−2)n−1,n xn

a(n−2)n−1,n−1

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: substituicao reversa

Na fase final do metodo, resolvemos o sistema triangular superiorobtido no (n − 1)-esimo estagio. Aplicando a tecnica desubstituicao reversa ou regressiva.

Comecamos pela ultima equacao. Se a(n−1)nn 6= 0 obtemos que

xn =b

(n−1)n

a(n−1)nn

.

Depois na penultima equacao substituımos xn e calculamos xn−1

a(n−2)n−1,n−1xn−1+a

(n−2)n−1,n xn = b

(n−2)n−1 ⇒ xn−1 =

b(n−2)n−1 − a

(n−2)n−1,n xn

a(n−2)n−1,n−1

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: substituicao reversa (cont.)

Continuando esse processo apos calcularmos xn, xn−1, . . . , xk+1

podemos usar a k-esima equacao para calcular xk

a(k−1)kk xk + a

(k−1)k,k+1xk+1 + · · ·+ a

(k−1)k,n−1xn−1 + a

(k−1)k,n xn = b

(k−1)k

⇒ xk =b

(k−1)k − a

(k−1)k,k+1xk+1 − · · · − a

(k−1)k,n−1xn−1 − a

(k−1)k,n xn

a(k−1)kk

,

ou seja, temos que para k = n − 1, n − 2, . . . , 1

xk =b

(k−1)k −

∑nj=k+1 a

(k−1)kj xj

a(k−1)kk

.

Observacao: Se a(n−1)nn = 0 o sistema nao possui solucao unica. O

sistema possui infinitas solucoes se b(n−1)n = 0, e nenhuma solucao

se b(n−1)n 6= 0.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

M. de eliminacao de Gauss: substituicao reversa (cont.)

Continuando esse processo apos calcularmos xn, xn−1, . . . , xk+1

podemos usar a k-esima equacao para calcular xk

a(k−1)kk xk + a

(k−1)k,k+1xk+1 + · · ·+ a

(k−1)k,n−1xn−1 + a

(k−1)k,n xn = b

(k−1)k

⇒ xk =b

(k−1)k − a

(k−1)k,k+1xk+1 − · · · − a

(k−1)k,n−1xn−1 − a

(k−1)k,n xn

a(k−1)kk

,

ou seja, temos que para k = n − 1, n − 2, . . . , 1

xk =b

(k−1)k −

∑nj=k+1 a

(k−1)kj xj

a(k−1)kk

.

Observacao: Se a(n−1)nn = 0 o sistema nao possui solucao unica. O

sistema possui infinitas solucoes se b(n−1)n = 0, e nenhuma solucao

se b(n−1)n 6= 0.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: M. de eliminacao de Gauss (sem pivoteamento)

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-3

2 Se akk = 0 entao SAIDA:‘o metodo falhou’; PARE

3 Para j = k + 1, . . . , n, execute os passos 4-5

4 Faca m = ajk/akk5 Faca Ej = Ej −m · Ek

6 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE

7 Faca xn = bn/ann8 Para k = n − 1, . . . , 1, execute o passo 9

9 Faca xk = (bk −∑n

j=k+1 akj · xj)/akk10 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: M. de eliminacao de Gauss (sem pivoteamento)

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-3

2 Se akk = 0 entao SAIDA:‘o metodo falhou’; PARE

3 Para j = k + 1, . . . , n, execute os passos 4-5

4 Faca m = ajk/akk5 Faca Ej = Ej −m · Ek

6 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE

7 Faca xn = bn/ann8 Para k = n − 1, . . . , 1, execute o passo 9

9 Faca xk = (bk −∑n

j=k+1 akj · xj)/akk10 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: M. de eliminacao de Gauss (sem pivoteamento)

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-3

2 Se akk = 0 entao SAIDA:‘o metodo falhou’; PARE

3 Para j = k + 1, . . . , n, execute os passos 4-5

4 Faca m = ajk/akk5 Faca Ej = Ej −m · Ek

6 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE

7 Faca xn = bn/ann8 Para k = n − 1, . . . , 1, execute o passo 9

9 Faca xk = (bk −∑n

j=k+1 akj · xj)/akk10 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o Algoritmo

Re-escrevemos em detalhes os passos 5 e 9 do algoritmo.

Passo 5: Faca Ej = Ej −m · Ek

1 Faca bj = bj −m · bk2 Para l = k, . . . , n, execute o passo 3

3 Faca ajl = ajl −m · akl

Passo 9: Faca xk = (bk −∑n

j=k+1 akj · xj)/akk1 Faca s = 0

2 Para j = k + 1, . . . , n, execute o passo 3

3 Faca s = s + akj · xj4 Faca xk = (bk − s)/akk

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o Algoritmo

Re-escrevemos em detalhes os passos 5 e 9 do algoritmo.

Passo 5: Faca Ej = Ej −m · Ek

1 Faca bj = bj −m · bk2 Para l = k, . . . , n, execute o passo 3

3 Faca ajl = ajl −m · akl

Passo 9: Faca xk = (bk −∑n

j=k+1 akj · xj)/akk1 Faca s = 0

2 Para j = k + 1, . . . , n, execute o passo 3

3 Faca s = s + akj · xj4 Faca xk = (bk − s)/akk

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento simples

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que apk 6= 0

3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento simples

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que apk 6= 0

3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento simples

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que apk 6= 0

3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento simples

Entradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que apk 6= 0

3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o Algoritmo

Neste algoritmo o pivoteamento simples e realizado nos passos 2ao 4.Re-escrevemos esses passos em uma forma mais detalhada para aimplementacao computacional

Passos 2 ao 4 (pivoteamento simples)

1 Faca p = k

2 Enquanto p ≤ n e apk = 0 execute o passo 3

3 Faca p = p + 1

4 Se p > n entao SAIDA:‘sem solucao unica’; PARE

5 Se p 6= k execute os passos 6 e 8

6 Para l = k , . . . , n, execute o passo 7

7 Faca aux = akl , akl = apl , apl = aux

8 Faca aux = bk , bk = bp, bp = aux

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o metodo de eliminacao de Gauss

Aplicado para sistemas lineares de qualquer dimensao.

A solucao e obtida em um numero finito de passos.

Quantidade de operacoes aritmeticas

Etapa multiplicacoes/divisoes adicoes/subtracoes

Reducao 2n3+3n2−5n6

2n3−n3

Substituicao n2+n2

n2−n2

Total n3+3n2−n3

2n3+3n2−5n6

Exemplos de valores

n multiplicacoes/divisoes adicoes/subtracoes

10 430 375

50 44.150 42.875

100 343.300 338.250

1000 334.333.000 333.832.500

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Propagacao de erros e estrategias de pivoteamento

⇒ Na pratica, recorremos ao computador para fazer os calculose nesse caso obtemos apenas uma solucao aproximada.⇒ Para evitar a propagacao descontrolada dos erros dearredondamento sao usadas diferentes estrategias de pivoteamento.⇒ Essas estrategias, propoem usar, no inıcio de cada estagio,

um elemento pivo a(k−1)kk que nao seja muito proximo de zero.

⇒ Discutiremos duas estrategias basicas: o pivoteamentoparcial e o pivoteamento completo.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento parcial

Pivoteamento parcial

Antes de comecar o k-esimo estagio procuramos na coluna k , dadiagonal para baixo, o primeiro elemento com o modulo maximo epositivo. Ou seja, achamos o menor p ∈ k , . . . , n tal que

|a(k−1)pk | = max

k≤j≤n|a(k−1)

jk | 6= 0.

Se esse elemento existe permutamos as posicoes da k-esima e ap-esima equacao.

Observacao

maxk≤j≤n

|a(k−1)jk | = 0 =⇒ a

(k−1)jk = 0 para j = k , . . . , n.

=⇒ Entao nao existe solucao unica.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento parcial

Pivoteamento parcial

Antes de comecar o k-esimo estagio procuramos na coluna k , dadiagonal para baixo, o primeiro elemento com o modulo maximo epositivo. Ou seja, achamos o menor p ∈ k , . . . , n tal que

|a(k−1)pk | = max

k≤j≤n|a(k−1)

jk | 6= 0.

Se esse elemento existe permutamos as posicoes da k-esima e ap-esima equacao.

Observacao

maxk≤j≤n

|a(k−1)jk | = 0 =⇒ a

(k−1)jk = 0 para j = k , . . . , n.

=⇒ Entao nao existe solucao unica.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento parcial (cont.)

[A(k−1) |b(k−1)] =

a(0)11 a

(0)12 · · · a

(0)1,k · · · a

(0)1n b

(0)1

0 a(1)22 . . . a

(1)2,k · · · a

(1)2n b

(1)2

......

. . ....

......

0 0 · · · a(k−1)k,k · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 0 · · · a(k−1)p,k · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 0 · · · a(k−1)n,k · · · a

(k−1)nn b

(k−1)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento parcial (cont.)

[A(k−1) |b(k−1)] =

a(0)11 a

(0)12 · · · a

(0)1,k · · · a

(0)1n b

(0)1

0 a(1)22 . . . a

(1)2,k · · · a

(1)2n b

(1)2

......

. . ....

......

0 0 · · · a(k−1)k,k · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 0 · · · a(k−1)p,k · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 0 · · · a(k−1)n,k · · · a

(k−1)nn b

(k−1)n

|a(k−1)

pk | = maxk≤j≤n

|a(k−1)jk | 6= 0

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento parcial (cont.)

[A(k−1) |b(k−1)] =

a(0)11 a

(0)12 · · · a

(0)1,k · · · a

(0)1n b

(0)1

0 a(1)22 . . . a

(1)2,k · · · a

(1)2n b

(1)2

......

. . ....

......

0 0 · · · a(k−1)k,k · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 0 · · · a(k−1)p,k · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 0 · · · a(k−1)n,k · · · a

(k−1)nn b

(k−1)n

Ek ←→ Ep

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento parcial (cont.)

[A(k−1) |b(k−1)] =

a(0)11 a

(0)12 · · · a

(0)1,k · · · a

(0)1n b

(0)1

0 a(1)22 . . . a

(1)2,k · · · a

(1)2n b

(1)2

......

. . ....

......

0 0 · · · a(k−1)p,k · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 0 · · · a(k−1)k,k · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 0 · · · a(k−1)n,k · · · a

(k−1)nn b

(k−1)n

[A(k−1) |b(k−1)] −→ [A(k−1) |b(k−1)

]

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo

Pivoteamento completo

Antes de comecar o k-esimo estagio procuramos na submatriz comlinhas e colunas da k ate a n um elemento com o modulo maximoe positivo. Ou seja, achamos p, r ∈ k , . . . , n tais que

|a(k−1)pr | = max

k≤j , l≤n|a(k−1)

jl | 6= 0.

Se esse elemento existe permutamos as posicoes da k-esima e dap-esima equacao e depois da k-esima e da r -esima variaveis.(Ou seja, na matriz aumentada permutamos as linhas k e p, e ascolunas k e r .)

Observacao

maxk≤j , l≤n

|a(k−1)jl | = 0 =⇒ Entao nao existe solucao unica.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo

Pivoteamento completo

Antes de comecar o k-esimo estagio procuramos na submatriz comlinhas e colunas da k ate a n um elemento com o modulo maximoe positivo. Ou seja, achamos p, r ∈ k , . . . , n tais que

|a(k−1)pr | = max

k≤j , l≤n|a(k−1)

jl | 6= 0.

Se esse elemento existe permutamos as posicoes da k-esima e dap-esima equacao e depois da k-esima e da r -esima variaveis.(Ou seja, na matriz aumentada permutamos as linhas k e p, e ascolunas k e r .)

Observacao

maxk≤j , l≤n

|a(k−1)jl | = 0 =⇒ Entao nao existe solucao unica.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo (cont.)

[A(k−1) |b(k−1)] =

a(0)11 · · · a

(0)1,k · · · a

(0)1r · · · a

(0)1n b

(0)1

.... . .

......

......

0 · · · a(k−1)k,k · · · a

(k−1)kr · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 · · · a(k−1)p,k · · · a

(k−1)pr · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 · · · a(k−1)n,k · · · a

(k−1)nr · · · a

(k−1)nn b

(k−1)n

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo (cont.)

[A(k−1) |b(k−1)] =

a(0)11 · · · a

(0)1,k · · · a

(0)1r · · · a

(0)1n b

(0)1

.... . .

......

......

0 · · · a(k−1)k,k · · · a

(k−1)kr · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 · · · a(k−1)p,k · · · a

(k−1)pr · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 · · · a(k−1)n,k · · · a

(k−1)nr · · · a

(k−1)nn b

(k−1)n

|a(k−1)

pr | = maxk≤j , l≤n

|a(k−1)jl | 6= 0

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo (cont.)

[A(k−1) |b(k−1)] =

a(0)11 · · · a

(0)1,k · · · a

(0)1r · · · a

(0)1n b

(0)1

.... . .

......

......

0 · · · a(k−1)k,k · · · a

(k−1)kr · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 · · · a(k−1)p,k · · · a

(k−1)pr · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 · · · a(k−1)n,k · · · a

(k−1)nr · · · a

(k−1)nn b

(k−1)n

Ek ←→ Ep

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo (cont.)

[A(k−1) |b(k−1)

] =

a(0)11 · · · a

(0)1,k · · · a

(0)1r · · · a

(0)1n b

(0)1

.... . .

......

......

0 · · · a(k−1)p,k · · · a

(k−1)pr · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 · · · a(k−1)k,k · · · a

(k−1)kr · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 · · · a(k−1)n,k · · · a

(k−1)nr · · · a

(k−1)nn b

(k−1)n

[A(k−1) |b(k−1)] −→ [A(k−1) |b(k−1)

]

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo (cont.)

[A(k−1) |b(k−1)

] =

a(0)11 · · · a

(0)1,k · · · a

(0)1r · · · a

(0)1n b

(0)1

.... . .

......

......

0 · · · a(k−1)p,k · · · a

(k−1)pr · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 · · · a(k−1)k,k · · · a

(k−1)kr · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 · · · a(k−1)n,k · · · a

(k−1)nr · · · a

(k−1)nn b

(k−1)n

xk ←→ xr

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Pivoteamento completo (cont.)

[A(k−1) |b(k−1)

] =

a(0)11 · · · a

(0)1r · · · a

(0)1,k · · · a

(0)1n b

(0)1

.... . .

......

......

0 · · · a(k−1)pr · · · a

(k−1)p,k · · · a

(k−1)p,n b

(k−1)p

......

......

...

0 · · · a(k−1)kr · · · a

(k−1)k,k · · · a

(k−1)k,n b

(k−1)k

......

......

...

0 · · · a(k−1)nr · · · a

(k−1)n,k · · · a

(k−1)nn b

(k−1)n

A(k−1) · x = b

(k−1) −→ A(k−1) · x = b

(k−1)

onde xk = xr , xr = xk e xj = xj em c.c.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Estrategias de pivoteamento

Observacoes

As duas estrategias apresentadas ajudam no controle dapropagacao dos erros de arredondamento mas o pivoteamentocompleto, em geral, produz resultados de melhor qualidade.

Por outro lado, no pivoteamento completo precisamos oelemento de modulo maximo dentre (n− k + 1)2 coeficientessentanto que no pivoteamento parcial sera apenas dentren − k + 1 coeficientes.

A implementacao computacional do pivoteamento parcial ebem mais simples do que o pivoteamento completo.

Essas estrategias podem ser combinadas com outras tecnicaspara se obter melhores resultados.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.

⇒ Primeiro sem pivoteamentoTemos que

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

m21 ←5.291 · 100

3.000 · 10−3= 1.76366 . . . · 103

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

a22 ← − 6.130 · 100 − (1.764 · 103)(5.914 · 101)

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

a22 ← − 6.130 · 100 − 1.0432296 · 105

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

a22 ← 6.130 · 100 − 1.043 · 105

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

a22 ← −1.0430613 · 105

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

⇒ a22 ← −1.043 · 105

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

⇒ a22 ← −1.043 · 105

b2 ← 4.678 · 101 − (1.764 · 103)(5.917 · 101)

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

O sistema3.000 · 10−3x1 + 5.914 · 101x2 = 5.917 · 101

5.291 · 100x1 − 6.130 · 100x2 = 4.678 · 101

possui a solucao exata e x1 = 10 e x2 = 1. Vamos resolve-lousando aritmetica de ponto flutuante com 4 dıgitos de precisao(na base decimal) pelo metodo de eliminacao de Gauss.⇒ Primeiro sem pivoteamentoTemos que

⇒ m21 ← 1.764 · 103

⇒ a22 ← −1.043 · 105

⇒ b2 ← −1.044 · 105

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]

Logo

⇒ x2 ← 1.001 · 100

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

x2 ←−1.044 · 105

−1.043 · 105= 1.000958773

⇒ x2 ← 1.001 · 100

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

x1 ←5.917 · 101 − (5.914 · 101)(1.001 · 100)

3.000 · 10−3

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

x1 ←5.917 · 101 − 5.919914 · 101

3.000 · 10−3

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

x1 ←5.917 · 101 − 5.920 · 101

3.000 · 10−3

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

x1 ←−3.000 · 10−2

3.000 · 10−3

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos a matriz aumentada

[A(1) |b(1)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

0.000 · 100 −1.043 · 105 −1.044 · 105

]Logo

⇒ x2 ← 1.001 · 100

⇒ x1 ← −1.000 · 101

A solucao aproximada obtida x1 = −10 e x2 = 1.001 e muito ruim!

Temos os erros relativos εx1 = 2 e εx2 = 10−3.Observe que o erro de x1 e muito grande comparado com o epsilonda maquina εmaq = 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

m21 ←3.000 · 10−3

5.291 · 100= 5.67000567 . . . · 10−4

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

⇒ m21 ← 5.670 · 10−4

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

⇒ m21 ← 5.670 · 10−4

a22 ← 5.914 · 101 − (5.670 · 10−4)(−6.130 · 100)

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

⇒ m21 ← 5.670 · 10−4

a22 ← 5.914 · 101 + 3.47571 · 10−3

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

⇒ m21 ← 5.670 · 10−4

a22 ← 5.914 · 101 + 3.476 · 10−3

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

⇒ m21 ← 5.670 · 10−4

a22 ← 5.9143476 · 101

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Agora vamos usar pivoteamento parcial.A matriz aumentada do sistema e

[A(0) |b(0)] =

[3.000 · 10−3 5.914 · 101 5.917 · 101

5.291 · 100 −6.130 · 100 4.678 · 101

].

Aplicamos o pivoteamento parcial: E1 ↔ E2, e obtemos

[A(0) |b(0)

] =

[5.291 · 100 −6.130 · 100 4.678 · 101

3.000 · 10−3 5.914 · 101 5.917 · 101

].

Logo

⇒ m21 ← 5.670 · 10−4

⇒ a22 ← 5.914 · 101

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

b2 ← 5.917 · 101 − (5.670 · 10−4)(4.678 · 101)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

x2 ←5.914 · 101

5.914 · 101

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

⇒ x2 ← 1.000 · 100

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

⇒ x2 ← 1.000 · 100

x1 ←4.678 · 101 + (6.130 · 100)(1.000 · 100)

5.291 · 100

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

⇒ x2 ← 1.000 · 100

x1 ←4.678 · 101 + 6.130 · 100

5.291 · 100=

5.291 · 101

5.291 · 100

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

⇒ x2 ← 1.000 · 100

⇒ x1 ← 1.000 · 101

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

⇒ b2 ← 5.914 · 101

Obtemos a matriz aumentada

[A(1) |b(1)] =

[5.291 · 100 −6.130 · 100 4.678 · 101

5.914 · 101 5.914 · 101

].

Logo

⇒ x2 ← 1.000 · 100

⇒ x1 ← 1.000 · 101

Usando o pivoteamento parcial chegamos na solucao exata x1 = 10e x2 = 1!

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento parcialEntradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que |apk | 6= 0

atinge o maximo3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento parcialEntradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que |apk | 6= 0

atinge o maximo3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento parcialEntradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que |apk | 6= 0

atinge o maximo3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Algoritmo: Eliminacao de Gauss com pivoteamento parcialEntradas: dimensao do sistema n; matriz A = [aij ]; vetor b = [bi ](i , j = 1, . . . , n)Saıda: solucao x1, . . . , xn ou mensagem de erro

1 Para k = 1, . . . , n − 1, execute o passo 2-52 Faca p = menor inteiro em k , . . . , n tal que |apk | 6= 0

atinge o maximo3 Se nao existe tal p entao SAIDA:‘sem solucao unica’; PARE4 Se p 6= k entao troque Ek e Ep

5 Para j = k + 1, . . . , n, execute os passos 6-76 Faca m = ajk/akk7 Faca Ej = Ej −m · Ek

8 Se ann = 0 entao SAIDA:‘sem solucao unica’; PARE9 Faca xn = bn/ann

10 Para k = n − 1, . . . , 1, execute o passo 1111 Faca xk = (bk −

∑nj=k+1 akj · xj)/akk

12 SAIDA: x1, . . . , xn; FIM

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o Algoritmo

Neste algoritmo o pivoteamento parcial e feito nos passos 2 ao 4.Re-escrevemos esses passos em uma forma mais detalhada para aimplementacao computacional

Passos 2 ao 4 (pivoteamento parcial)

1 Faca max = 0

2 Para j = k , . . . , n execute o passo 3

3 Se |ajk | > max entao faca p = j e max = |ajk |4 Se max = 0 entao SAIDA: ‘sem solucao unica’; PARE

5 Se p 6= k execute os passos 6 e 8

6 Para l = k , . . . , n, execute o passo 7

7 Faca aux = akl , akl = apl , apl = aux

8 Faca aux = bk , bk = bp, bp = aux

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de fatoracao LU

O metodo de fatoracao LU consiste em escrever a matriz doscoeficientes na forma de um produto de duas matrizes

A = LU,

onde L e uma matriz triangular inferior e U e uma matriztriangular superior.

Dessa forma para resolver o sistema Ax = b, primeiroresolvemos o sistema Ly = b e depois o sistema Ux = y.

Em muitas aplicacoes praticas e preciso resolver variossistemas de equacoes que possuem a mesma matriz doscoeficientes. Nessa situacao e muito vantajoso usar o metodode fatoracao LU.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Eliminacao de Gauss e fatoracao LU

Teorema 1: Fatoracao LU

Se a etapa de reducao no metodo de eliminacao de Gauss sempivoteamento e realizada com sucesso, entao temos que

A = LU,

onde L e uma matriz triangular inferior com a diagonal principalunitaria e os multiplicadores abaixo dessa diagonal e U = A(n−1) ea matriz triangular superior obtida durante a etapa de reducao. Ouseja,

L =

1 0 · · · 0

m21 1 · · · 0...

. . .. . .

...mn1 · · · mn,n−1 1

, U =

a

(0)11 a

(0)12 · · · a

(0)1n

0 a(1)22 · · · a

(1)2n

.... . .

. . ....

0 · · · 0 a(n−1)nn

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Eliminacao de Gauss e fatoracao LU (cont.)

Teorema 2: Fatoracao LU com pivoteamento parcial/simples

Se a etapa de reducao no metodo de eliminacao de Gauss erealizada com sucesso aplicando pivoteamento parcial/simples,entao temos que

P A = LU,

onde L e uma matriz triangular inferior com a diagonal principalunitaria e os multiplicadores abaixo da diagonal, U = A(n−1) e amatriz triangular superior obtida durante a etapa de reducao e P euma matriz associada com as permutacoes de linhas realizadasdurante o processo de reducao (matriz de permutacoes).

Resolucao do sistema

Nesse caso, para resolver o sistema Ax = b, primeiro resolvemos osistema Ly = Pb e em seguida o sistema Ux = y.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: fatoracao LU com pivoteamento parcial

Resolver o sistema 3x1 − 4x2 + x3 = 9

x1 + 2x2 + 2x3 = 3

4x1 + 0 x2 − 3x3 = −2

Comecamos fazendo o pivoteamento 3 −4 11 2 2

4 0 −3

, L1 ↔ L3 =⇒

4 0 −31 2 23 −4 1

Tambem temos que montar a matriz de permutacoes

Aplicando L1 ↔ L3 em

1 0 00 1 00 0 1

=⇒ P =

0 0 10 1 01 0 0

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: fatoracao LU com pivoteamento parcial

Resolver o sistema 3x1 − 4x2 + x3 = 9

x1 + 2x2 + 2x3 = 3

4x1 + 0 x2 − 3x3 = −2

Comecamos fazendo o pivoteamento 3 −4 11 2 2

4 0 −3

, L1 ↔ L3 =⇒

4 0 −31 2 23 −4 1

Tambem temos que montar a matriz de permutacoes

Aplicando L1 ↔ L3 em

1 0 00 1 00 0 1

=⇒ P =

0 0 10 1 01 0 0

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: fatoracao LU com pivoteamento parcial

Resolver o sistema 3x1 − 4x2 + x3 = 9

x1 + 2x2 + 2x3 = 3

4x1 + 0 x2 − 3x3 = −2

Comecamos fazendo o pivoteamento 3 −4 11 2 2

4 0 −3

, L1 ↔ L3 =⇒

4 0 −31 2 23 −4 1

Tambem temos que montar a matriz de permutacoes

Aplicando L1 ↔ L3 em

1 0 00 1 00 0 1

=⇒

P =

0 0 10 1 01 0 0

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo: fatoracao LU com pivoteamento parcial

Resolver o sistema 3x1 − 4x2 + x3 = 9

x1 + 2x2 + 2x3 = 3

4x1 + 0 x2 − 3x3 = −2

Comecamos fazendo o pivoteamento 3 −4 11 2 2

4 0 −3

, L1 ↔ L3 =⇒

4 0 −31 2 23 −4 1

Tambem temos que montar a matriz de permutacoes

Aplicando L1 ↔ L3 em

1 0 00 1 00 0 1

=⇒ P =

0 0 10 1 01 0 0

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Zeramos na primeira coluna e armazenamos os multiplicadores.

4 0 −31 2 23 −4 1

,

m21 = 1/4,

L2 ← L2 − 1/4L1

m31 = 3/4,

L3 ← L3 − 3/4L1

4 0 −31/4 2 11/43/4 −4 13/4

Fazemos o pivoteamento na segunda coluna 4 0 −3

1/4 2 11/4

3/4 −4 13/4

, L2 ↔ L3 ⇒

4 0 −3

3/4 −4 13/4

1/4 2 11/4

, P ←0 0 1

1 0 00 1 0

Zeramos na segunda coluna 4 0 −3

3/4 −4 13/4

1/4 2 11/4

, m32 = −1/2,

L3 ← L3 + 1/2L2

4 0 −33/4 −4 13/41/4 −1/2 35/8

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Zeramos na primeira coluna e armazenamos os multiplicadores.

4 0 −31 2 23 −4 1

,

m21 = 1/4,

L2 ← L2 − 1/4L1

m31 = 3/4,

L3 ← L3 − 3/4L1

⇒ 4 0 −3

1/4 2 11/43/4 −4 13/4

Fazemos o pivoteamento na segunda coluna 4 0 −31/4 2 11/4

3/4 −4 13/4

, L2 ↔ L3 ⇒

4 0 −3

3/4 −4 13/4

1/4 2 11/4

, P ←0 0 1

1 0 00 1 0

Zeramos na segunda coluna 4 0 −3

3/4 −4 13/4

1/4 2 11/4

, m32 = −1/2,

L3 ← L3 + 1/2L2

4 0 −33/4 −4 13/41/4 −1/2 35/8

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Zeramos na primeira coluna e armazenamos os multiplicadores.

4 0 −31 2 23 −4 1

,

m21 = 1/4,

L2 ← L2 − 1/4L1

m31 = 3/4,

L3 ← L3 − 3/4L1

⇒ 4 0 −3

1/4 2 11/43/4 −4 13/4

Fazemos o pivoteamento na segunda coluna 4 0 −3

1/4 2 11/4

3/4 −4 13/4

, L2 ↔ L3 ⇒

4 0 −3

3/4 −4 13/4

1/4 2 11/4

, P ←0 0 1

1 0 00 1 0

Zeramos na segunda coluna 4 0 −3

3/4 −4 13/4

1/4 2 11/4

, m32 = −1/2,

L3 ← L3 + 1/2L2

4 0 −33/4 −4 13/41/4 −1/2 35/8

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Zeramos na primeira coluna e armazenamos os multiplicadores.

4 0 −31 2 23 −4 1

,

m21 = 1/4,

L2 ← L2 − 1/4L1

m31 = 3/4,

L3 ← L3 − 3/4L1

⇒ 4 0 −3

1/4 2 11/43/4 −4 13/4

Fazemos o pivoteamento na segunda coluna 4 0 −3

1/4 2 11/4

3/4 −4 13/4

, L2 ↔ L3 ⇒

4 0 −3

3/4 −4 13/4

1/4 2 11/4

, P ←0 0 1

1 0 00 1 0

Zeramos na segunda coluna 4 0 −3

3/4 −4 13/4

1/4 2 11/4

, m32 = −1/2,

L3 ← L3 + 1/2L2

4 0 −33/4 −4 13/41/4 −1/2 35/8

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Zeramos na primeira coluna e armazenamos os multiplicadores.

4 0 −31 2 23 −4 1

,

m21 = 1/4,

L2 ← L2 − 1/4L1

m31 = 3/4,

L3 ← L3 − 3/4L1

⇒ 4 0 −3

1/4 2 11/43/4 −4 13/4

Fazemos o pivoteamento na segunda coluna 4 0 −3

1/4 2 11/4

3/4 −4 13/4

, L2 ↔ L3 ⇒

4 0 −3

3/4 −4 13/4

1/4 2 11/4

, P ←0 0 1

1 0 00 1 0

Zeramos na segunda coluna 4 0 −3

3/4 −4 13/4

1/4 2 11/4

, m32 = −1/2,

L3 ← L3 + 1/2L2

4 0 −33/4 −4 13/41/4 −1/2 35/8

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Zeramos na primeira coluna e armazenamos os multiplicadores.

4 0 −31 2 23 −4 1

,

m21 = 1/4,

L2 ← L2 − 1/4L1

m31 = 3/4,

L3 ← L3 − 3/4L1

⇒ 4 0 −3

1/4 2 11/43/4 −4 13/4

Fazemos o pivoteamento na segunda coluna 4 0 −3

1/4 2 11/4

3/4 −4 13/4

, L2 ↔ L3 ⇒

4 0 −3

3/4 −4 13/4

1/4 2 11/4

, P ←0 0 1

1 0 00 1 0

Zeramos na segunda coluna 4 0 −3

3/4 −4 13/4

1/4 2 11/4

, m32 = −1/2,

L3 ← L3 + 1/2L2

4 0 −33/4 −4 13/41/4 −1/2 35/8

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos as matrices

P =

0 0 11 0 00 1 0

, L =

1 0 03/4 1 01/4 −1/2 1

, U =

4 0 −30 −4 13/40 0 35/8

.Daı

Pb =

0 0 11 0 00 1 0

93−2

=

−293

Logo

Ly = Pb =⇒

y1 + 0 · y2 + 0 · y3 = −2

3/4 y1 + y2 + 0 · y3 = 9

1/4 y1 − 1/2 y2 + y3 = 3

=⇒ y =

−221/235/4

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Obtemos as matrices

P =

0 0 11 0 00 1 0

, L =

1 0 03/4 1 01/4 −1/2 1

, U =

4 0 −30 −4 13/40 0 35/8

.Daı

Pb =

0 0 11 0 00 1 0

93−2

=

−293

Logo

Ly = Pb =⇒

y1 + 0 · y2 + 0 · y3 = −2

3/4 y1 + y2 + 0 · y3 = 9

1/4 y1 − 1/2 y2 + y3 = 3

=⇒ y =

−221/235/4

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Finalmente temos

Ux = y =⇒

4 x1 + 0 · x2 − 3 x3 = −2

0 · x1 − 4 x2 + 13/4 x3 = 21/2

0 · x1 + 0 · x2 + 35/8 x3 = 35/4

=⇒ x =

1−12

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Consideracoes computacionais

⇒ Na implementacao computacional do metodo (e ate mesmoquando fazemos as contas a mao) e interessante montar asmatrizes L e U em conjunto como foi mostrado no exemplo. Issoapresenta varias vantagens.

Usamos de uma forma eficiente a memoria do computadorpois nas entradas da matriz inicial que sao zeradas, agoraarmazenam os multiplicadores correspondentes.

Os multiplicadores sao alocados nas suas linhascorrespondentes, assim as proximas permutacoes preservamessa correspondencia.

⇒ Do ponto de vista computacional e mais eficiente usar ovetor de permutacoes no lugar da matriz de permutacoes. Essevetor pode ser definido por p = P z onde z = [1, 2, . . . , n]t . Dessaforma para a j-esima componente do vetor P b temos

(P b)j = bk onde k = pj .

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Consideracoes computacionais

⇒ Na implementacao computacional do metodo (e ate mesmoquando fazemos as contas a mao) e interessante montar asmatrizes L e U em conjunto como foi mostrado no exemplo. Issoapresenta varias vantagens.

Usamos de uma forma eficiente a memoria do computadorpois nas entradas da matriz inicial que sao zeradas, agoraarmazenam os multiplicadores correspondentes.

Os multiplicadores sao alocados nas suas linhascorrespondentes, assim as proximas permutacoes preservamessa correspondencia.

⇒ Do ponto de vista computacional e mais eficiente usar ovetor de permutacoes no lugar da matriz de permutacoes. Essevetor pode ser definido por p = P z onde z = [1, 2, . . . , n]t . Dessaforma para a j-esima componente do vetor P b temos

(P b)j = bk onde k = pj .

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Parte II

Metodos iterativos

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodos iterativos para sistemas lineares

Os metodos iterativos sao metodos de ponto fixo, em que afuncao de iteracao e linear (ou seja e um polinomio deprimeiro grau em relacao a qualquer uma das variaveisx1, x2, . . . , xn) .

Da equivalencia A x = b ⇐⇒ x = C x + g, onde C e umamatriz e g um vetor, obtemos o metodo iterativo (linear)

x(k+1) = C x(k) + g, k ≥ 0,

para gerar uma sequencia de aproximacoes a partir daaproximacao inicial x(0).

O objetivo e gerar uma sequencia que convirja para a solucaodo sistema de equacoes, isso significa que queremos que

limk→∞

x(k) = x∗,

onde x∗ e solucao do sistema A x = b.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodos iterativos para sistemas lineares

Os metodos iterativos sao metodos de ponto fixo, em que afuncao de iteracao e linear (ou seja e um polinomio deprimeiro grau em relacao a qualquer uma das variaveisx1, x2, . . . , xn) .

Da equivalencia A x = b ⇐⇒ x = C x + g, onde C e umamatriz e g um vetor, obtemos o metodo iterativo (linear)

x(k+1) = C x(k) + g, k ≥ 0,

para gerar uma sequencia de aproximacoes a partir daaproximacao inicial x(0).

O objetivo e gerar uma sequencia que convirja para a solucaodo sistema de equacoes, isso significa que queremos que

limk→∞

x(k) = x∗,

onde x∗ e solucao do sistema A x = b.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodos iterativos para sistemas lineares

Os metodos iterativos sao metodos de ponto fixo, em que afuncao de iteracao e linear (ou seja e um polinomio deprimeiro grau em relacao a qualquer uma das variaveisx1, x2, . . . , xn) .

Da equivalencia A x = b ⇐⇒ x = C x + g, onde C e umamatriz e g um vetor, obtemos o metodo iterativo (linear)

x(k+1) = C x(k) + g, k ≥ 0,

para gerar uma sequencia de aproximacoes a partir daaproximacao inicial x(0).

O objetivo e gerar uma sequencia que convirja para a solucaodo sistema de equacoes, isso significa que queremos que

limk→∞

x(k) = x∗,

onde x∗ e solucao do sistema A x = b.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodos iterativos para sistemas lineares (cont.)

O limite deve ser interpretado como um limite componente acomponente, ou seja

limk→∞

x(k) = x∗ ⇐⇒ limk→∞

x(k)j = x∗j , j = 1, . . . , n.

Na pratica, podemos fazer apenas um numero finito deiteracoes e por isso precisamos de algum criterio de parada.

Criterios de parada

A aproximacao x(k) e suficientemente boa quando

C.1 ⇒ Ek = max1≤j≤n

|x (k)j − x

(k−1)j | < εtol

C.2 ⇒ εk =max1≤j≤n |x

(k)j − x

(k−1)j |

max1≤j≤n |x(k)j |

< εtol

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodos iterativos para sistemas lineares (cont.)

O limite deve ser interpretado como um limite componente acomponente, ou seja

limk→∞

x(k) = x∗ ⇐⇒ limk→∞

x(k)j = x∗j , j = 1, . . . , n.

Na pratica, podemos fazer apenas um numero finito deiteracoes e por isso precisamos de algum criterio de parada.

Criterios de parada

A aproximacao x(k) e suficientemente boa quando

C.1 ⇒ Ek = max1≤j≤n

|x (k)j − x

(k−1)j | < εtol

C.2 ⇒ εk =max1≤j≤n |x

(k)j − x

(k−1)j |

max1≤j≤n |x(k)j |

< εtol

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodos iterativos para sistemas lineares (cont.)

O limite deve ser interpretado como um limite componente acomponente, ou seja

limk→∞

x(k) = x∗ ⇐⇒ limk→∞

x(k)j = x∗j , j = 1, . . . , n.

Na pratica, podemos fazer apenas um numero finito deiteracoes e por isso precisamos de algum criterio de parada.

Criterios de parada

A aproximacao x(k) e suficientemente boa quando

C.1 ⇒ Ek = max1≤j≤n

|x (k)j − x

(k−1)j | < εtol

C.2 ⇒ εk =max1≤j≤n |x

(k)j − x

(k−1)j |

max1≤j≤n |x(k)j |

< εtol

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Jacobi

Usando a decomposicao A = L0 + D + U0 em que D e uma matrizdiagonal, L0 e triangular inferior com diagonal principal nula e U0

e triangular superior com diagonal principal nula, chegamos em

A x = b ⇐⇒ (L0 + D + U0)x = b

A x = b ⇐⇒ D x + (L0 + U0)x = b

A x = b ⇐⇒ D x = b− (L0 + U0)x

A x = b ⇐⇒ x = D−1 b− (L0 + U0)x

Metodo de Gauss-Jacobi

A partir da aproximacao inicial x(0) obtemos novas aproximacoescalculando

x(k+1) = D−1

b− (L0 + U0)x(k), k ≥ 0.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Jacobi

Usando a decomposicao A = L0 + D + U0 em que D e uma matrizdiagonal, L0 e triangular inferior com diagonal principal nula e U0

e triangular superior com diagonal principal nula, chegamos em

A x = b ⇐⇒ (L0 + D + U0)x = b

A x = b ⇐⇒ D x + (L0 + U0)x = b

A x = b ⇐⇒ D x = b− (L0 + U0)x

A x = b ⇐⇒ x = D−1 b− (L0 + U0)x

Metodo de Gauss-Jacobi

A partir da aproximacao inicial x(0) obtemos novas aproximacoescalculando

x(k+1) = D−1

b− (L0 + U0)x(k), k ≥ 0.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Jacobi (cont.)

Observacoes⇒ O metodo pode ser aplicado se D−1 esta bem definida, ouseja se D e nao singular. Isso acontece se e somente se all 6= 0,para l = 1, . . . , n.

⇒ Nesse caso temos C = −D−1(L0 + U0) e g = D−1b.

⇒ Alem disso

L0+U0 =

0 a12 · · · a1n

a21 0. . .

......

. . .. . . an−1,n

an1 · · · an,n−1 0

, D−1 =

1a11

0 · · · 0

0 1a22

. . ....

.... . .

. . . 00 · · · 0 1

ann

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Jacobi (cont.)

⇒ Logo o metodo pode ser escrito por extenso como

x(k+1)1 =

b1 − a12x(k)2 − · · · − a1nx

(k)n

a11=

1

a11

b1 −n∑

j=2

a1jx(k)j

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

x(k+1)l =

bl − al1x(k)1 − · · · − al ,l−1x

(k)l−1 − al ,l+1x

(k)l+1 − · · · − alnx

(k)n

all

=1

all

bl −n∑

j=1j 6=l

aljx(k)j

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

x(k+1)n =

bn − an1x(k)1 − · · · − an,n−1x

(k)n−1

ann=

1

ann

bn −n−1∑j=1

anjx(k)j

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Convergencia do Metodo de Gauss-Jacobi

Teorema 3 [Criterio das linhas]

Considere o sistema linear A x = b onde os elementos da matriz eo vetor sao dados por aij , bi (i , j = 1 . . . , n) respectivamente.Defina para l = 1, . . . , n,

αl =|al1|+ · · ·+ |al ,l−1|+ |al ,l+1|+ · · ·+ |aln|

|all |=

1

|all |

n∑j=1j 6=l

|alj |

e α = max1≤l≤n

αl .

Entao, se α < 1 o metodo de Gauss-Jacobi converge para a unicasolucao do sistema independentemente da escolha da aproximacaoinicial.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o criterio das linhas

Esse criterio fornece apenas uma condicao suficiente para aconvergencia, e existem casos em que ela nao e valida mas ometodo converge.

O criterio e muito simples e pode ser aplicado sem grandesdificuldades em muitos problemas praticos.

Em geral, a convergencia do metodo sera mais rapida quandoα for menor.

Quando permutamos de posicao as equacoes do sistema, ovalor de α correspondente pode mudar (aumentar oudiminuir). Por isso, as vezes trocando as equacoes de posicaoe possıvel garantirmos a convergencia.

Se uma matriz satisfaz o criterio das linhas, ela e dita(estritamente) diagonal dominante.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Seidel

De novo, usando a decomposicao A = L0 + D + U0 em que D euma matriz diagonal, L0 e triangular inferior com diagonalprincipal nula e U0 e triangular superior com diagonal principalnula, chegamos em

A x = b ⇐⇒ (L0 + D + U0)x = b

A x = b ⇐⇒ (D + L0)x + U0x = b

A x = b ⇐⇒ (D + L0)x = b−U0x

A x = b ⇐⇒ x = (D + L0)−1 (b−U0 x)

Metodo de Gauss-Seidel

A partir da aproximacao inicial x(0) obtemos novas aproximacoescalculando

x(k+1) = (D + L0)−1(

b−U0 x(k)), k ≥ 0.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Seidel

De novo, usando a decomposicao A = L0 + D + U0 em que D euma matriz diagonal, L0 e triangular inferior com diagonalprincipal nula e U0 e triangular superior com diagonal principalnula, chegamos em

A x = b ⇐⇒ (L0 + D + U0)x = b

A x = b ⇐⇒ (D + L0)x + U0x = b

A x = b ⇐⇒ (D + L0)x = b−U0x

A x = b ⇐⇒ x = (D + L0)−1 (b−U0 x)

Metodo de Gauss-Seidel

A partir da aproximacao inicial x(0) obtemos novas aproximacoescalculando

x(k+1) = (D + L0)−1(

b−U0 x(k)), k ≥ 0.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Seidel (cont.)

Observacoes⇒ O metodo pode ser aplicado se a matriz D + L0 e naosingular. Isso acontece se e somente se all 6= 0, para l = 1, . . . , n.

⇒ Nesse caso temos C = −(D + L0)−1U0 e g = (D + L0)−1b.

⇒ Alem disso

D + L0 =

a11 0 · · · 0

a21 a22. . .

......

.... . . 0

an1 an2 · · · ann

, U0 =

0 a12 · · · a1n

0 0. . .

......

.... . . an−1,n

0 0 · · · 0

⇒ Nao e preciso calcular a inversa da matriz D + L0 paracalcular x(k+1), como essa matriz e triangular inferior basta apenasusar o metodo de substituicao (direta) no sistema

(D + L0) x(k+1) =(

b−U0 x(k)).

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Seidel (cont.)

Observacoes⇒ O metodo pode ser aplicado se a matriz D + L0 e naosingular. Isso acontece se e somente se all 6= 0, para l = 1, . . . , n.

⇒ Nesse caso temos C = −(D + L0)−1U0 e g = (D + L0)−1b.

⇒ Alem disso

D + L0 =

a11 0 · · · 0

a21 a22. . .

......

.... . . 0

an1 an2 · · · ann

, U0 =

0 a12 · · · a1n

0 0. . .

......

.... . . an−1,n

0 0 · · · 0

⇒ Nao e preciso calcular a inversa da matriz D + L0 paracalcular x(k+1), como essa matriz e triangular inferior basta apenasusar o metodo de substituicao (direta) no sistema

(D + L0) x(k+1) =(

b−U0 x(k)).

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Metodo de Gauss-Seidel (cont.)

⇒ Logo o metodo pode ser escrito por extenso como

x(k+1)1 =

b1 − a12x(k)2 − · · · − a1nx

(k)n

a11=

1

a11

b1 −n∑

j=2

a1jx(k)j

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

x(k+1)l =

bl−al1x(k+1)1 − · · · − al ,l−1x

(k+1)l−1 − al ,l+1x

(k)l+1 − · · · − alnx

(k)n

all

=1

all

bl−l−1∑j=1

aljx(k+1)j −

n∑j=l+1

aljx(k)j

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

x(k+1)n =

bn−an1x(k+1)1 − · · · − an,n−1x

(k+1)n−1

ann=

bn−∑n−1

j=1 anjx(k+1)j

ann

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Convergencia do Metodo de Gauss-Seidel

Teorema 4 [Criterio de Sassenfeld]

Considere o sistema linear A x = b onde os elementos da matriz eo vetor sao dados por aij , bi (i , j = 1 . . . , n) respectivamente.Defina β = max1≤l≤n βl , onde

β1 =|a12|+ · · ·+ |a1n|

|a11|=

1

|a11|

n∑j=2

|a1j |, e para l = 2, . . . , n,

βl =|al1|β1 + · · ·+ |al ,l−1|βl−1 + |al ,l+1|+ · · ·+ |aln|

|all |

=

∑l−1j=1 |alj |βj +

∑nj=l+1 |alj |

|all |.

Entao, se β < 1 o metodo de Gauss-Seidel converge para a unicasolucao do sistema independentemente da escolha da aproximacaoinicial.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes sobre o criterio de Sassenfeld

Esse criterio fornece apenas uma condicao suficiente para aconvergencia.

O criterio e muito facil de ser aplicado.

Em geral, a convergencia do metodo sera mais rapida quandoo valor de β for menor.

Quando permutamos de posicao as equacoes do sistema, ovalor de β correspondente pode mudar (aumentar oudiminuir). Por isso, as vezes trocando as equacoes de posicaoe possıvel garantirmos a convergencia.

Se o criterio das linhas for satisfeito entao β ≤ α < 1, eportanto o criterio de Sassenfeld tambem sera satisfeito.

Existem casos em que o criterio de Sassenfeld e satisfeito maso criterio das linhas nao.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

5x1 − x2 + x3 = 5

3x1 − 4x2 + x3 = 6

3x1 − 3x2 + 6x3 = 0

Observe que

α1 = (|−1|+|1|)/|5| = 0.4, α2 = (|3|+|1|)/|−4| = 1 =⇒ α ≥ 1,

por outro lado

β1 = 0.4, β2 =|3|β1 + |1|| − 4|

= 0.55, β3 =|3|β1 + | − 3|β2

|6|= 0.475

=⇒ β = 0.55 < 1.

Entao podemos aplicar o metodo de Gauss-Seidel.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

5x1 − x2 + x3 = 5

3x1 − 4x2 + x3 = 6

3x1 − 3x2 + 6x3 = 0

Observe que

α1 = (|−1|+|1|)/|5| = 0.4, α2 = (|3|+|1|)/|−4| = 1 =⇒ α ≥ 1,

por outro lado

β1 = 0.4, β2 =|3|β1 + |1|| − 4|

= 0.55, β3 =|3|β1 + | − 3|β2

|6|= 0.475

=⇒ β = 0.55 < 1.

Entao podemos aplicar o metodo de Gauss-Seidel.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo

5x1 − x2 + x3 = 5

3x1 − 4x2 + x3 = 6

3x1 − 3x2 + 6x3 = 0

Observe que

α1 = (|−1|+|1|)/|5| = 0.4, α2 = (|3|+|1|)/|−4| = 1 =⇒ α ≥ 1,

por outro lado

β1 = 0.4, β2 =|3|β1 + |1|| − 4|

= 0.55, β3 =|3|β1 + | − 3|β2

|6|= 0.475

=⇒ β = 0.55 < 1.

Entao podemos aplicar o metodo de Gauss-Seidel.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Consideramos o chute inicial x(0) = [0, 0, 0]t e as formulas dometodo

x(k+1)1 = 1 + 0.2x

(k)2 − 0.2x

(k)3

x(k+1)2 = −1.5 + 0.75x

(k+1)1 + 0.25x

(k)3

x(k+1)3 = −0.5x

(k+1)1 + 0.5x

(k+1)2

obtemos

k x(k)1 x

(k)2 x

(k)3 Ek (≈ εk)

1 1.0 −0.75 −0.875 1.0 · 100

2 1.025 −0.95 −0.9875 2.0 · 10−1

3 1.0075 −0.99125 −0.999375 4.1 · 10−2

4 1.001625 −0.998625 −1.000125 7.4 · 10−3

Comparando com a solucao exata x = [1,−1,−1]t obtemos o erro

maxj=1,2,3 |xj − x(4)j | ≈ 1.4 · 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Exemplo (cont.)

Consideramos o chute inicial x(0) = [0, 0, 0]t e as formulas dometodo

x(k+1)1 = 1 + 0.2x

(k)2 − 0.2x

(k)3

x(k+1)2 = −1.5 + 0.75x

(k+1)1 + 0.25x

(k)3

x(k+1)3 = −0.5x

(k+1)1 + 0.5x

(k+1)2

obtemos

k x(k)1 x

(k)2 x

(k)3 Ek (≈ εk)

1 1.0 −0.75 −0.875 1.0 · 100

2 1.025 −0.95 −0.9875 2.0 · 10−1

3 1.0075 −0.99125 −0.999375 4.1 · 10−2

4 1.001625 −0.998625 −1.000125 7.4 · 10−3

Comparando com a solucao exata x = [1,−1,−1]t obtemos o erro

maxj=1,2,3 |xj − x(4)j | ≈ 1.4 · 10−3.

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes finais

Os metodos de Gauss-Jacobi e Gauss-Seidel sao muitosemelhantes, o metodo de Gauss-Seidel introduz uma melhoriano metodo de Gauss-Jacobi. Nesse metodo, no calculo decada componente usamos as componentes que ja foramobtidas nessa iteracao e o resultado da iteracao anterior.

Em geral, as aproximacoes pelo metodo de Gauss-Seidel saomelhores que as do metodo de Gauss-Jacobi.

Esses metodos, assim como outros metodos iterativos, saomuito aplicados na solucao de sistemas de grande porte (ouseja com um numero muito grande de equacoes). Pois, emgeral, os erros de arredondamento sao mantidos controlados.

Esses metodos podem ser mais eficientes que os metodosdiretos. Isso ocorre, por exemplo quando a matriz do sistemae esparsa (ou seja, possui uma grande quantidade deelementos nulos).

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes finais

Os metodos de Gauss-Jacobi e Gauss-Seidel sao muitosemelhantes, o metodo de Gauss-Seidel introduz uma melhoriano metodo de Gauss-Jacobi. Nesse metodo, no calculo decada componente usamos as componentes que ja foramobtidas nessa iteracao e o resultado da iteracao anterior.

Em geral, as aproximacoes pelo metodo de Gauss-Seidel saomelhores que as do metodo de Gauss-Jacobi.

Esses metodos, assim como outros metodos iterativos, saomuito aplicados na solucao de sistemas de grande porte (ouseja com um numero muito grande de equacoes). Pois, emgeral, os erros de arredondamento sao mantidos controlados.

Esses metodos podem ser mais eficientes que os metodosdiretos. Isso ocorre, por exemplo quando a matriz do sistemae esparsa (ou seja, possui uma grande quantidade deelementos nulos).

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares

Observacoes finais

Os metodos de Gauss-Jacobi e Gauss-Seidel sao muitosemelhantes, o metodo de Gauss-Seidel introduz uma melhoriano metodo de Gauss-Jacobi. Nesse metodo, no calculo decada componente usamos as componentes que ja foramobtidas nessa iteracao e o resultado da iteracao anterior.

Em geral, as aproximacoes pelo metodo de Gauss-Seidel saomelhores que as do metodo de Gauss-Jacobi.

Esses metodos, assim como outros metodos iterativos, saomuito aplicados na solucao de sistemas de grande porte (ouseja com um numero muito grande de equacoes). Pois, emgeral, os erros de arredondamento sao mantidos controlados.

Esses metodos podem ser mais eficientes que os metodosdiretos. Isso ocorre, por exemplo quando a matriz do sistemae esparsa (ou seja, possui uma grande quantidade deelementos nulos).

D.G. Alfaro Vigo – www.dcc.ufrj.br/∼dgalfaro Solucao de sistemas lineares