cálculo numérico solução de sistemas de equações...
TRANSCRIPT
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
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