C´
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
Motiva¸c˜
ao: Circuito el´
etrico
A figura mostra um circuito el´etrico simples. Queremos determinar as correntes que circulam no circuito, sabendo que R1 = 10 Ω,
R2 = 20 Ω, R3 = 30 Ω, E1 = 3 V e E2 = 4 V
Motiva¸c˜
ao: Circuito el´
etrico
Usando as leis de Kirchhoff, temos pela Lei dos n´os 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. i1 − i2 − i3 = 0 −10i1 − 20i2 = −3 20i2 − 30i3 = 7
Motiva¸c˜
ao: Circuito el´
etrico
Usando as leis de Kirchhoff, temos pela Lei dos n´os 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 equa¸c˜oes lineares i1 − i2 − i3 = 0 −10i1 − 20i2 = −3 20i2 − 30i3 = 7
C´alculo de sistemas el´etricos.
Eletrônica de Potência para Geração, Transmissão e Distribuição de Energia Elétrica J. A. Pomilio
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])
Motiva¸c˜
ao: C´
alculo estrutural
C´alculo de estruturas pelo m´etodo dos elementos finitos.
Sistema de equa¸c˜
oes lineares
Vamos estudar m´etodos para a solu¸c˜ao de um sistema de n equa¸c˜oes com n inc´ognitas
a11x1+ a12x2+ · · · +a1,n−1xn−1+ a1nxn = b1 a21x1+ a22x2+ · · · +a2,n−1xn−1+ a2nxn = b2 . . . . an1x1+ an2x2+ · · · +an,n−1xn−1+ annxn = bn A · x = b
onde a matriz dos coeficientes A, o vetor das inc´ognitas x e o vetor do lado direito b s˜ao 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
Sistema de equa¸c˜
oes lineares
Vamos estudar m´etodos para a solu¸c˜ao de um sistema de n equa¸c˜oes com n inc´ognitas
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 nota¸c˜ao matricial
A · x = b
onde a matriz dos coeficientes A, o vetor das inc´ognitas x e o vetor do lado direito b s˜ao 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
Tamb´em usaremos a representa¸c˜ao do sistema atrav´es da matriz aumentada [A|b] = a11 a12 · · · a1,n−1 a1n b1 a21 a22 · · · a2,n−1 a2n b2 .. . ... ... ... ... an1 an2 · · · an,n−1 ann bn .
Interpreta¸c˜
ao geom´
etrica de um sistema de equa¸c˜
oes
A solu¸c˜ao do sistema consiste dos pontos de interse¸c˜ao no espa¸co n-dimensional Rn dos n hiperplanos associados `as equa¸c˜oes do sistema. -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₂
Solu¸c˜ao ´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.4 a₁₁ x₁ + a₁₂ x₂ = b₁ a₂₁ x₁ + a₂₂ x₂ = b₂ x₁ x₂
N´
umero de solu¸c˜
oes de um sistema de equa¸c˜
oes (cont.)
Infinitas solu¸c˜oes
-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₂
N˜ao existe solu¸c˜ao -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₂
N´
umero de solu¸c˜
oes de um sistema de equa¸c˜
oes (cont.)
Unicidade da solu¸c˜ao
O sistema de n equa¸c˜oes com n inc´ognitas A · x = b,
ter´a uma ´unica solu¸c˜ao, se e somente se o determinante da matriz ´e n˜ao nulo (det A 6= 0).
Se det A = 0 o sistema poder´a ter um n´umero infinito de solu¸c˜oes ou nenhuma solu¸c˜ao.
Sistema de equa¸c˜
oes lineares
Estudaremos m´etodos para a resolu¸c˜ao de sistemas de n equa¸c˜oes com n inc´ognitas, no caso quando a solu¸c˜ao ´e ´unica.
Observamos que nas aplica¸c˜oes podemos ter sistemas com centenas ou milhares de equa¸c˜oes.
Classes de m´etodos
M´etodos diretos: a solu¸c˜ao ´e obtida em um n´umero finito de passos;
M´etodos iterativos: constru´ımos uma sequˆencia de aproxima¸c˜oes para a solu¸c˜ao.
⇒ Esse m´etodo generaliza a t´ecnica de substitui¸c˜ao que ´e usada
Sistema de equa¸c˜
oes lineares
Estudaremos m´etodos para a resolu¸c˜ao de sistemas de n equa¸c˜oes com n inc´ognitas, no caso quando a solu¸c˜ao ´e ´unica.
Observamos que nas aplica¸c˜oes podemos ter sistemas com centenas ou milhares de equa¸c˜oes.
Classes de m´etodos
M´etodos diretos: a solu¸c˜ao ´e obtida em um n´umero finito de passos;
M´etodos iterativos: constru´ımos uma sequˆencia de aproxima¸c˜oes para a solu¸c˜ao.
Come¸caremos estudando um m´etodo direito conhecido como
m´etodo de elimina¸c˜ao de Gauss.
⇒ Esse m´etodo generaliza a t´ecnica de substitui¸c˜ao que ´e usada
Exemplo: circuito el´
etrico
Assim temos que resolver o sistema i1 − i2 − i3 = 0 −10i1 − 20i2 = −3 20i2 − 30i3 = 7
Da primeira equa¸c˜ao: i1 = i2+ i3
Substituindo na segunda equa¸c˜ao obtemos −10i1− 20i2 = −3
Exemplo: circuito el´
etrico
Assim temos que resolver o sistema i1 − i2 − i3 = 0 −10i1 − 20i2 = −3 20i2 − 30i3 = 7
Da primeira equa¸c˜ao: i1 = i2+ i3
Substituindo na segunda equa¸c˜ao obtemos
−10i1− 20i2 = −3 ⇒ −10(i2+ i3) − 20i2= −3
Assim temos que resolver o sistema i1 − i2 − i3 = 0 −10i1 − 20i2 = −3 20i2 − 30i3 = 7
Da primeira equa¸c˜ao: i1 = i2+ i3
Substituindo na segunda equa¸c˜ao obtemos
−10i1− 20i2 = −3 ⇒ −10(i2+ i3) − 20i2= −3
Exemplo: circuito el´
etrico
Agora nos focamos no sistema com duas equa¸c˜oes
−30i2 − 10i3 = −3
20i2 − 30i3 = 7
Da primeira equa¸c˜ao temos que i2= −3+10i−30 3 = 101 −13i3.
Substituindo na segunda equa¸c˜ao obtemos −20i2− 30i3 = 7 ⇒ −20(1 10− 1 3i3) − 30i3 = 7 ⇒ − 70 3 i3= 9
Assim o sistema inicial foi reduzido na forma i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 70 3i3 = 9
Exemplo: circuito el´
etrico
Agora nos focamos no sistema com duas equa¸c˜oes
−30i2 − 10i3 = −3
20i2 − 30i3 = 7
Da primeira equa¸c˜ao temos que i2= −3+10i−30 3 = 101 −13i3.
Substituindo na segunda equa¸c˜ao obtemos −20i2− 30i3 = 7 ⇒ −20(101 −13i3) − 30i3 = 7
Assim o sistema inicial foi reduzido na forma i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 70 3i3 = 9
Exemplo: circuito el´
etrico
Agora nos focamos no sistema com duas equa¸c˜oes
−30i2 − 10i3 = −3
20i2 − 30i3 = 7
Da primeira equa¸c˜ao temos que i2= −3+10i−30 3 = 101 −13i3.
Substituindo na segunda equa¸c˜ao obtemos
−20i2− 30i3 = 7 ⇒ −20(101 −13i3) − 30i3 = 7 ⇒ −703 i3= 9
Assim o sistema inicial foi reduzido na forma i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 70 3i3 = 9
Agora nos focamos no sistema com duas equa¸c˜oes
−30i2 − 10i3 = −3
20i2 − 30i3 = 7
Da primeira equa¸c˜ao temos que i2= −3+10i−30 3 = 101 −13i3.
Substituindo na segunda equa¸c˜ao obtemos
−20i2− 30i3 = 7 ⇒ −20(101 −13i3) − 30i3 = 7 ⇒ −703 i3= 9
Assim o sistema inicial foi reduzido na forma i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 70 3i3 = 9
Exemplo: circuito el´
etrico
Para resolver esse sistema reduzido i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 703i3 = 9
come¸camos pela ´ultima equa¸c˜ao e obtemos −70
3 i3= 9 ⇒ i3 = −
27 70.
Da segunda equa¸c˜ao temos
−30i2− 10i3= −3 ⇒ i2 = −3 + 10 · (−27 70) −30 = 8 35 Finalmente, da primeira equa¸c˜ao temos
i1−i2−i3 = 0 ⇒ i1= 8 35+ −27 70 = −11 70
Exemplo: circuito el´
etrico
Para resolver esse sistema reduzido i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 703i3 = 9
come¸camos pela ´ultima equa¸c˜ao e obtemos −70
3 i3= 9 ⇒ i3 = −
27 70. Da segunda equa¸c˜ao temos
−30i2− 10i3= −3 ⇒ i2 = −3 + 10 · (−27 70) −30 = 8 35 i1−i2−i3 = 0 ⇒ i1= 8 35+ − 27 70 = − 11 70
Exemplo: circuito el´
etrico
Para resolver esse sistema reduzido i1 − i2 − i3 = 0 − 30i2 − 10i3 = −3 − 703i3 = 9
come¸camos pela ´ultima equa¸c˜ao e obtemos −70
3 i3= 9 ⇒ i3 = −
27 70. Da segunda equa¸c˜ao temos
−30i2− 10i3= −3 ⇒ i2 = −3 + 10 · (−27 70) −30 = 8 35 Finalmente, da primeira equa¸c˜ao temos
i1−i2−i3 = 0 ⇒ i1= 8 35+ −27 70 = −11 70
M´
etodo de elimina¸c˜
ao de Gauss
Essa ideia pode ser aplicada no caso de um sistema geral. Reduzimos o sistema de equa¸c˜oes a um sistema equivalente mais simples (de f´acil solu¸c˜ao).
Resolvemos o sistema reduzido.
a(0)11x1+ a(0)12x2+ · · · +a(0)1,n−1xn−1+ a(0)1nxn = b1(0) a(0)21x1+ a(0)22x2+ · · · +a(0)2,n−1xn−1+ a(0)2nxn = b2(0) . . . . a(0)n1x1+ a(0)n2x2+ · · · +a(0)n,n−1xn−1+ a(0)nnxn = bn(0)
No primeiro est´agio, da primeira equa¸c˜ao 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
M´
etodo de elimina¸c˜
ao de Gauss
Essa ideia pode ser aplicada no caso de um sistema geral. Reduzimos o sistema de equa¸c˜oes a um sistema equivalente mais simples (de f´acil solu¸c˜ao).
Resolvemos o sistema reduzido.
Para facilitar a nota¸c˜ao do processo o sistema a ser resolvido ser´a representado na forma A(0)· x = b(0), ou seja
a(0)11x1+ a(0)12x2+ · · · +a(0)1,n−1xn−1+ a(0)1nxn = b1(0) a(0)21x1+ a(0)22x2+ · · · +a(0)2,n−1xn−1+ a(0)2nxn = b2(0) . . . . a(0)n1x1+ a(0)n2x2+ · · · +a(0)n,n−1xn−1+ a(0)nnxn = bn(0)
No primeiro est´agio, da primeira equa¸c˜ao 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
Essa ideia pode ser aplicada no caso de um sistema geral. Reduzimos o sistema de equa¸c˜oes a um sistema equivalente mais simples (de f´acil solu¸c˜ao).
Resolvemos o sistema reduzido.
Para facilitar a nota¸c˜ao do processo o sistema a ser resolvido ser´a representado na forma A(0)· x = b(0), ou seja
a(0)11x1+ a(0)12x2+ · · · +a(0)1,n−1xn−1+ a(0)1nxn = b1(0) a(0)21x1+ a(0)22x2+ · · · +a(0)2,n−1xn−1+ a(0)2nxn = b2(0) . . . . a(0)n1x1+ a(0)n2x2+ · · · +a(0)n,n−1xn−1+ a(0)nnxn = bn(0)
No primeiro est´agio, da primeira equa¸c˜ao 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
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao
Substituindo x1 na equa¸c˜ao j -´esima (2 ≤ j ≤ n) temos
a(0)j 1 x1+ a(0)j 2 x2+ · · · + aj ,n−1(0) xn−1+ a(0)jn xn= b(0)j ⇒ a(0)j 1 b (0) 1 a(0)11 −a (0) 12 a(0)11 x2 − · · · −a (0) 1,n−1 a11(0) xn−1 −a (0) 1n a(0)11 xn ! + a(0)j 2 x2+ · · · + a(0)j ,n−1xn−1+ a(0)jn xn= bj(0),
donde, agrupando obtemos
a(0)j 1 a(0)11 b (0) 1 + a (0) j 2 − a (0) j 1 a(0)12 a(0)11 ! x2+ · · · + aj ,n−1(0) − a(0)j 1 a (0) 1,n−1 a(0)11 ! xn−1+ a(0)jn − a (0) j 1 a(0)1n a(0)11 ! xn= b(0)j .
Substituindo x1 na equa¸c˜ao j -´esima (2 ≤ j ≤ n) temos a(0)j 1 x1+ a(0)j 2 x2+ · · · + aj ,n−1(0) xn−1+ a(0)jn xn= b(0)j ⇒ a(0)j 1 b (0) 1 a(0)11 −a (0) 12 a(0)11 x2 − · · · −a (0) 1,n−1 a11(0) xn−1 −a (0) 1n a(0)11 xn ! + a(0)j 2 x2+ · · · + a(0)j ,n−1xn−1+ a(0)jn xn= bj(0),
donde, agrupando obtemos a(0)j 1 a(0)11 b (0) 1 + a (0) j 2 − a (0) j 1 a(0)12 a(0)11 ! x2+ · · · + aj ,n−1(0) − a(0)j 1 a (0) 1,n−1 a(0)11 ! xn−1+ a(0)jn − a(0)j 1 a(0)1n a(0)11 ! xn= b(0)j .
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
Logo a(0)j 2 −a(0)j 1 ·a (0) 12 a(0)11 ! x2+ · · · + a(0)j ,n−1−aj 1(0)· a(0)1,n−1 a(0)11 ! xn−1 + a(0)jn −a(0)j 1 ·a (0) 1n a(0)11 ! xn = bj(0)− aj 1(0) a11(0) b(0)1 , e introduzindo mj 1= a(0)j 1 a(0)11 obtemos a(0)j 2 −mj 1· a(0)12x2+ · · · + a(0)j ,n−1−mj 1· a(0)1,n−1xn−1 +ajn(0)−mj 1· a(0)1n xn= b(0)j −mj 1b1(0)Logo a(0)j 2 −a(0)j 1 ·a (0) 12 a(0)11 ! x2+ · · · + a(0)j ,n−1−aj 1(0)· a(0)1,n−1 a(0)11 ! xn−1 + a(0)jn −a(0)j 1 ·a (0) 1n a(0)11 ! xn = bj(0)− aj 1(0) a11(0) b(0)1 , e introduzindo mj 1= a(0)j 1 a(0)11 obtemos a(0)j 2 −mj 1· a(0)12x2+ · · · + a(0)j ,n−1−mj 1· a(0)1,n−1xn−1 +ajn(0)−mj 1· a(0)1n xn= b(0)j −mj 1b1(0)
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
Ou seja, chegamos em a(1)j 2 x2+ · · · + aj ,n−1(1) xn−1+ a(1)jn xn= b(1)j , j = 2, . . . , n, onde a(1)jl = a(0)jl − mj 1· a(0)1l , b(1)j = bj(0)− mj 1· b(0)1 , mj 1= a(0)j 1 a(0)11 , j = 2, . . . , n, l = 1, . . . , n.O sistema inicial foi transformado em a(0)11x1+ a(0)12x2+ · · · +a(0)1,n−1xn−1+ a(0)1nxn = b1(0) 0 · x1+a(1)22x2+ · · · +a(1)2,n−1xn−1+ a(1)2nxn = b2(1) 0 · x1+a(1)32x2+ · · · +a(1)3,n−1xn−1+ a(1)3nxn = b3(1) . . . . 0 · x1+a(1)n2x2+ · · · +a(1)n,n−1xn−1+ a(1)nnxn = bn(1)
Ou seja, chegamos em a(1)j 2 x2+ · · · + aj ,n−1(1) xn−1+ a(1)jn xn= b(1)j , j = 2, . . . , n, onde a(1)jl = a(0)jl − mj 1· a(0)1l , b(1)j = bj(0)− mj 1· b(0)1 , mj 1= a(0)j 1 a(0)11 , j = 2, . . . , n, l = 1, . . . , n.
O sistema inicial foi transformado em a(0)11x1+ a(0)12x2+ · · · +a(0)1,n−1xn−1+ a(0)1nxn = b1(0) 0 · x1+a(1)22x2+ · · · +a(1)2,n−1xn−1+ a(1)2nxn = b2(1) 0 · x1+a(1)32x2+ · · · +a(1)3,n−1xn−1+ a(1)3nxn = b3(1) . . . . 0 · x1+a(1)n2x2+ · · · +a(1)n,n−1xn−1+ a(1)nnxn = bn(1)
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
O resultado do primeiro est´agio fazemos as transforma¸c˜oes Ej(1) = Ej(0)− mj 1· E1(0) onde mj 1= aj 1(0) a11(0) 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
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
No segundo est´agio, usando a segunda equa¸c˜ao temos que
x2 = b2(1) a(1)22 −a (1) 23 a22(1)x3 − · · · −a (1) 2,n−1 a(1)22 xn−1 −a (1) 2n a(1)22 xn. Substituindo x2 na equa¸c˜ao j -´esima (3 ≤ j ≤ n) obtemos
a(1)j 2 b (1) 2 a(1)22 −a (1) 23 a(1)22 x3 − · · · −a (1) 2,n−1 a22(1) xn−1 −a (1) 2n a(1)22 xn ! + a(1)j 3 x3+ · · · + a(1)j ,n−1xn−1+ a(1)jn xn= bj(1), e agrupando a(1)22 a(1)22 + a(1)jn −a(1)j 2 a (1) 2n a22(1) ! xn= bj(1)− aj 2(1) a22(1) b(1)2 .
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
No segundo est´agio, usando a segunda equa¸c˜ao temos que
x2 = b2(1) a(1)22 −a (1) 23 a22(1)x3 − · · · −a (1) 2,n−1 a(1)22 xn−1 −a (1) 2n a(1)22 xn. Substituindo x2 na equa¸c˜ao j -´esima (3 ≤ j ≤ n) obtemos
a(1)j 2 b (1) 2 a(1)22 −a (1) 23 a(1)22 x3 − · · · −a (1) 2,n−1 a22(1) xn−1 −a (1) 2n a(1)22 xn ! + a(1)j 3 x3+ · · · + a(1)j ,n−1xn−1+ a(1)jn xn= bj(1), e agrupando a(1)j 3 −a(1)j 2 a (1) 23 a(1)22 ! x3+ · · · + a(1)j ,n−1−a(1)j 2 a2,n−1(1) a(1)22 ! xn−1 + a(1)jn −a(1)j 2 a (1) 2n a(1)22 ! xn = bj(1)− aj 2(1) a22(1) b(1)2 .
Assim, chegamos em a(2)j 3 x3+ · · · + aj ,n−1(2) xn−1+ a(2)jn xn= b(2)j , j = 3, . . . , n, onde a(2)jl = a(1)jl − mj 2· a(1)2l , b(2)j = bj(1)− mj 2· b(1)2 , mj 2= a(1)j 2 a(1)22 , j = 3, . . . , n, l = 1, . . . , n.
O sistema inicial foi transformado em a11(0)x1+ a(0)12x2+ a(0)13x3+ · · · +a(0)1,n−1xn−1+ a1n(0)xn = b(0)1 0 · x1+a(1)22x2+ a(1)23x3+ · · · +a(1)2,n−1xn−1+ a2n(1)xn = b(1)2 0 · x1+ 0 · x2+a(2)33x3+ · · · +a(2)3,n−1xn−1+ a3n(2)xn = b(2)3 . . . . 0 · x1+ 0 · x2+a(2)n3x3+ · · · +a(2)n,n−1xn−1+ a(2)nnxn = b(2)n
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
No segundo est´agio fazemos as transforma¸c˜oes Ej(2) = Ej(1)− mj 2· E2(1) onde mj 2= aj 2(1) a22(1) 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
Repetindo esse processo no final do k-´esimo est´agio obtemos a(0)11x1+ a(0)12x2+ · · · + a(0)1,k+1xk+1+ · · · +a(0)1nxn = b(0)1 0 · x1+a(1)22x2+ · · · + a2,k+1(1) xk+1+ · · · +a(1)2nxn = 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)nnxn = bn(k) onde a(k)jl = a(k−1)jl − mjk· a(k−1)kl , b(k)j = bj(k−1)− mjk· bk(k−1), mjk = a(k−1)jk a(k−1)kk , j = k + 1, . . . , n, l = 1, . . . , n.
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
No k-´esimo est´agio fazemos as transforma¸c˜oes Ej(k)= Ej(k−1)− mjk· Ek(k−1), 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)] = a11(0) a(0)12 · · · a1,k+1(0) · · · a(0)1n b1(0) 0 a(1)22 . . . a2,k+1(1) · · · a(1)2n b2(1) .. . ... . .. ... ... ... 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
Observa¸c˜oes
Durante o k-´esimo est´agio o elemento na diagonal da k-´esima linha, a(k−1)kk ´e chamado de elemento pivˆo do est´agio. Os n´umeros mjk = a(k−1)jk a(k−1)kk , j = k + 1, . . . , n, s˜ao chamados de multiplicadores.
Se o elemento pivˆo do k-´esimo est´agio ´e n˜ao nulo, ent˜ao esse est´agio poder´a ser finalizado com sucesso.
Se o elemento pivˆo do k-´esimo est´agio for nulo n˜ao podemos definir os multiplicadores diretamente, e precisaremos fazer
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
Pivoteamento simples
Se antes de come¸car o k-´esimo est´agio observamos que o elemento pivˆo a(k−1)kk = 0, procuramos na k-´esima coluna um elemento n˜ao nulo abaixo da diagonal, ou seja um a(k−1)pk 6= 0 com
p ∈ {k + 1, . . . , n}.
Se esse elemento existe permutamos as posi¸c˜oes da k-´esima e a p-´esima equa¸c˜ao, e procedemos a realizar o k-´esimo est´agio do processo de redu¸c˜ao a partir do sistema permutado.
Observa¸c˜ao
Se a(k−1)jk = 0 para j = k, . . . , n ent˜ao o sistema n˜ao possui solu¸c˜ao ´
Pivoteamento simples
Se antes de come¸car o k-´esimo est´agio observamos que o elemento pivˆo a(k−1)kk = 0, procuramos na k-´esima coluna um elemento n˜ao nulo abaixo da diagonal, ou seja um a(k−1)pk 6= 0 com
p ∈ {k + 1, . . . , n}.
Se esse elemento existe permutamos as posi¸c˜oes da k-´esima e a p-´esima equa¸c˜ao, e procedemos a realizar o k-´esimo est´agio do processo de redu¸c˜ao a partir do sistema permutado.
Observa¸c˜ao
Se a(k−1)jk = 0 para j = k, . . . , n ent˜ao o sistema n˜ao possui solu¸c˜ao ´
M. de elimina¸c˜
ao de Gauss: redu¸c˜
ao (cont.)
Conclus˜ao
Ap´os (n − 1)-est´agios bem sucedidos obtemos o sistema reduzido a(0)11x1+ a(0)12x2+ · · · + a1,k+1(0) xk+1+ · · · +a(0)1nxn = b1(0) 0 · x1+a(1)22x2+ · · · + a2,k+1(1) xk+1+ · · · +a(1)2nxn = b2(1) . .. ... ... ... 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 equa¸c˜oes ´e chamado de sistema
triangular superior, pois todos os elementos abaixo da diagonal principal s˜ao nulos.
M. de elimina¸c˜
ao de Gauss: substitui¸c˜
ao reversa
Na fase final do m´etodo, resolvemos o sistema triangular superior obtido no (n − 1)-´esimo est´agio. Aplicando a t´ecnica de
substitui¸c˜ao reversa ou regressiva.
xn=
bn(n−1)
ann(n−1)
.
Depois na pen´ultima equa¸c˜ao substitu´ımos xn e calculamos xn−1
an−1,n−1(n−2) xn−1+a(n−2)n−1,nxn= b(n−2)n−1 ⇒ xn−1 =
bn−1(n−2)− a(n−2)n−1,nxn a(n−2)n−1,n−1
M. de elimina¸c˜
ao de Gauss: substitui¸c˜
ao reversa
Na fase final do m´etodo, resolvemos o sistema triangular superior obtido no (n − 1)-´esimo est´agio. Aplicando a t´ecnica de
substitui¸c˜ao reversa ou regressiva.
Come¸camos pela ´ultima equa¸c˜ao. Se a(n−1)nn 6= 0 obtemos que
xn=
bn(n−1)
a(n−1)nn
.
Depois na pen´ultima equa¸c˜ao substitu´ımos xn e calculamos xn−1
an−1,n−1(n−2) xn−1+a(n−2)n−1,nxn= b(n−2)n−1 ⇒ xn−1 =
bn−1(n−2)− a(n−2)n−1,nxn a(n−2)n−1,n−1
Na fase final do m´etodo, resolvemos o sistema triangular superior obtido no (n − 1)-´esimo est´agio. Aplicando a t´ecnica de
substitui¸c˜ao reversa ou regressiva.
Come¸camos pela ´ultima equa¸c˜ao. Se a(n−1)nn 6= 0 obtemos que
xn=
bn(n−1)
a(n−1)nn
.
Depois na pen´ultima equa¸c˜ao substitu´ımos xn e calculamos xn−1
an−1,n−1(n−2) xn−1+a(n−2)n−1,nxn= b(n−2)n−1 ⇒ xn−1 =
bn−1(n−2)− a(n−2)n−1,nxn a(n−2)n−1,n−1
M. de elimina¸c˜
ao de Gauss: substitui¸c˜
ao reversa (cont.)
Continuando esse processo ap´os calcularmosxn, xn−1, . . . , xk+1 podemos usar a k-´esima equa¸c˜ao para calcular xk
akk(k−1)xk + a(k−1)k,k+1xk+1+ · · · + ak,n−1(k−1)xn−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− ak,n(k−1)xn
a(k−1)kk ,
ou seja, temos que para k = n − 1, n − 2, . . . , 1
xk = b(k−1)k −Pn j =k+1a (k−1) kj xj a(k−1)kk .
Observa¸c˜ao: Se ann(n−1)= 0 o sistema n˜ao possui solu¸c˜ao ´unica. O
sistema possui infinitas solu¸c˜oes se b(n−1)n = 0, e nenhuma solu¸c˜ao
Continuando esse processo ap´os calcularmosxn, xn−1, . . . , xk+1 podemos usar a k-´esima equa¸c˜ao para calcular xk
akk(k−1)xk + a(k−1)k,k+1xk+1+ · · · + ak,n−1(k−1)xn−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− ak,n(k−1)xn
a(k−1)kk ,
ou seja, temos que para k = n − 1, n − 2, . . . , 1
xk = b(k−1)k −Pn j =k+1a (k−1) kj xj a(k−1)kk .
Observa¸c˜ao: Se a(n−1)nn = 0 o sistema n˜ao possui solu¸c˜ao ´unica. O
sistema possui infinitas solu¸c˜oes se b(n−1)n = 0, e nenhuma solu¸c˜ao
Algoritmo: M. de elimina¸c˜
ao de Gauss (sem pivoteamento)
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
1 Para k = 1, . . . , n − 1, execute opasso 2-3
2 Se akk = 0 ent˜ao SA´IDA:‘o m´etodo falhou’; PARE
3 Para j = k + 1, . . . , n, execute ospassos 4-5
4 Fa¸ca m = ajk/akk
5 Fa¸ca Ej = Ej − m · Ek
6 Se ann = 0 ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE 7 Fa¸ca xn= bn/ann
8 Para k = n − 1, . . . , 1, execute opasso 9
9 Fa¸ca xk = (bk −Pn
j =k+1akj · xj)/akk
Algoritmo: M. de elimina¸c˜
ao de Gauss (sem pivoteamento)
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
1 Para k = 1, . . . , n − 1, execute opasso 2-3
2 Se akk = 0 ent˜ao SA´IDA:‘o m´etodo falhou’; PARE
3 Para j = k + 1, . . . , n, execute ospassos 4-5
4 Fa¸ca m = ajk/akk
5 Fa¸ca Ej = Ej − m · Ek
Fa¸ca xn= bn/ann
8 Para k = n − 1, . . . , 1, execute opasso 9
9 Fa¸ca xk = (bk −Pn
j =k+1akj · xj)/akk
Algoritmo: M. de elimina¸c˜
ao de Gauss (sem pivoteamento)
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
1 Para k = 1, . . . , n − 1, execute opasso 2-3
2 Se akk = 0 ent˜ao SA´IDA:‘o m´etodo falhou’; PARE
3 Para j = k + 1, . . . , n, execute ospassos 4-5
4 Fa¸ca m = ajk/akk
5 Fa¸ca Ej = Ej − m · Ek
6 Se ann = 0 ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE 7 Fa¸ca xn= bn/ann
8 Para k = n − 1, . . . , 1, execute opasso 9
9 Fa¸ca xk = (bk −Pn
j =k+1akj· xj)/akk
Observa¸c˜
oes sobre o Algoritmo
Re-escrevemos em detalhes os passos 5 e 9 do algoritmo.
Passo 5: Fa¸ca Ej = Ej − m · Ek
1 Fa¸ca bj = bj− m · bk
2 Para l = k, . . . , n, execute o passo 3 3 Fa¸ca ajl = ajl − m · akl
1 Fa¸ca s = 0
2 Para j = k + 1, . . . , n, execute o passo 3
3 Fa¸ca s = s + akj· xj
Observa¸c˜
oes sobre o Algoritmo
Re-escrevemos em detalhes os passos 5 e 9 do algoritmo.
Passo 5: Fa¸ca Ej = Ej − m · Ek
1 Fa¸ca bj = bj− m · bk
2 Para l = k, . . . , n, execute o passo 3 3 Fa¸ca ajl = ajl − m · akl
Passo 9: Fa¸ca xk = (bk −
Pn
j =k+1akj· xj)/akk
1 Fa¸ca s = 0
2 Para j = k + 1, . . . , n, execute o passo 3
3 Fa¸ca s = s + akj· xj
Algoritmo: Elimina¸c˜
ao de Gauss com pivoteamento simples
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
3 Se n˜ao existe tal p ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE
4 Se p 6= k ent˜ao troque Ek e Ep
5 Para j = k + 1, . . . , n, execute ospassos 6-7
6 Fa¸ca m = ajk/akk
7 Fa¸ca Ej = Ej − m · Ek
8 Se ann = 0 ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE 9 Fa¸ca xn= bn/ann
10 Para k = n − 1, . . . , 1, execute opasso 11
11 Fa¸ca xk = (bk −Pn
j =k+1akj · xj)/akk
Algoritmo: Elimina¸c˜
ao de Gauss com pivoteamento simples
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
1 Para k = 1, . . . , n − 1, execute opasso 2-5
2 Fa¸ca p = menor inteiro em {k, . . . , n} tal que apk 6= 0
3 Se n˜ao existe tal p ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE
4 Se p 6= k ent˜ao troque Ek e Ep
5 Para j = k + 1, . . . , n, execute ospassos 6-7
6 Fa¸ca m = ajk/akk
7 Fa¸ca Ej = Ej − m · Ek
8 Se ann = 0 ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE 9 Fa¸ca xn= bn/ann
10 Para k = n − 1, . . . , 1, execute opasso 11
11 Fa¸ca xk = (bk −Pn
j =k+1akj · xj)/akk
Algoritmo: Elimina¸c˜
ao de Gauss com pivoteamento simples
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
1 Para k = 1, . . . , n − 1, execute opasso 2-5
2 Fa¸ca p = menor inteiro em {k, . . . , n} tal que apk 6= 0
3 Se n˜ao existe tal p ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE
4 Se p 6= k ent˜ao troque Ek e Ep
5 Para j = k + 1, . . . , n, execute ospassos 6-7
6 Fa¸ca m = ajk/akk
7 Fa¸ca Ej = Ej − m · Ek
n n nn
10 Para k = n − 1, . . . , 1, execute opasso 11
11 Fa¸ca xk = (bk −Pn
j =k+1akj · xj)/akk
Algoritmo: Elimina¸c˜
ao de Gauss com pivoteamento simples
Entradas: dimens˜ao do sistema n; matriz A = [aij]; vetor b = [bi]
(i , j = 1, . . . , n)
Sa´ıda: solu¸c˜ao x1, . . . , xn ou mensagem de erro
1 Para k = 1, . . . , n − 1, execute opasso 2-5
2 Fa¸ca p = menor inteiro em {k, . . . , n} tal que apk 6= 0
3 Se n˜ao existe tal p ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE
4 Se p 6= k ent˜ao troque Ek e Ep
5 Para j = k + 1, . . . , n, execute ospassos 6-7
6 Fa¸ca m = ajk/akk
7 Fa¸ca Ej = Ej − m · Ek
8 Se ann = 0 ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE 9 Fa¸ca xn= bn/ann
10 Para k = n − 1, . . . , 1, execute opasso 11 11 Fa¸ca xk = (bk −Pn
j =k+1akj· xj)/akk
Neste algoritmo o pivoteamento simples ´e realizado nos passos 2 ao 4.
Re-escrevemos esses passos em uma forma mais detalhada para a implementa¸c˜ao computacional
Passos 2 ao 4(pivoteamento simples)
1 Fa¸ca p = k
2 Enquanto p ≤ n e apk = 0 execute opasso 3
3 Fa¸ca p = p + 1
4 Se p > n ent˜ao SA´IDA:‘sem solu¸c˜ao ´unica’; PARE
5 Se p 6= k execute os passos 6 e 8
6 Para l = k, . . . , n, execute opasso 7
7 Fa¸ca aux = akl, akl = apl, apl = aux
Observa¸c˜
oes sobre o m´
etodo de elimina¸c˜
ao de Gauss
Aplicado para sistemas lineares de qualquer dimens˜ao. A solu¸c˜ao ´e obtida em um n´umero finito de passos. Quantidade de opera¸c˜oes aritm´eticas
Etapa multiplica¸c˜oes/divis˜oes adi¸c˜oes/subtra¸c˜oes
Redu¸c˜ao 2n3+3n62−5n 2n33−n
Substitui¸c˜ao n22+n n22−n
Total n3+3n32−n 2n3+3n62−5n
Exemplos de valores
n multiplica¸c˜oes/divis˜oes adi¸c˜oes/subtra¸c˜oes
10 430 375
50 44.150 42.875
100 343.300 338.250
⇒ Na pr´atica, recorremos ao computador para fazer os c´alculos
e nesse caso obtemos apenas uma solu¸c˜ao aproximada.
⇒ Para evitar a propaga¸c˜ao descontrolada dos erros de
arredondamento s˜ao usadas diferentes estrat´egias de pivoteamento. ⇒ Essas estrat´egias, prop˜oem usar, no in´ıcio de cada est´agio, um elemento pivˆo a(k−1)kk que n˜ao seja muito pr´oximo de zero.
⇒ Discutiremos duas estrat´egias b´asicas: o pivoteamento
Pivoteamento parcial
Pivoteamento parcial
Antes de come¸car o k-´esimo est´agio procuramos na coluna k, da
diagonal para baixo, o primeiro elemento com o modulo m´aximo e
positivo. 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 posi¸c˜oes da k-´esima e a p-´esima equa¸c˜ao.
Observa¸c˜ao max k≤j ≤n{|a (k−1) jk |} = 0 =⇒ a (k−1) jk = 0 para j = k, . . . , n.
Pivoteamento parcial
Antes de come¸car o k-´esimo est´agio procuramos na coluna k, da
diagonal para baixo, o primeiro elemento com o modulo m´aximo e
positivo. 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 posi¸c˜oes da k-´esima e a p-´esima equa¸c˜ao.
Observa¸c˜ao max k≤j ≤n{|a (k−1) jk |} = 0 =⇒ a (k−1) jk = 0 para j = k, . . . , n.
Pivoteamento parcial (cont.)
[A(k−1)|b(k−1)] = a(0)11 a(0)12 · · · a(0)1,k · · · a(0)1n b1(0) 0 a(1)22 . . . a(1)2,k · · · a(1)2n b2(1) .. . ... . .. ... ... ... 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)|b(k−1)] = a(0)11 a(0)12 · · · a(0)1,k · · · a(0)1n b1(0) 0 a(1)22 . . . a(1)2,k · · · a(1)2n b2(1) .. . ... . .. ... ... ... 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 | = max k≤j ≤n{|a (k−1) jk |} 6= 0
Pivoteamento parcial (cont.)
[A(k−1)|b(k−1)] = a(0)11 a(0)12 · · · a(0)1,k · · · a(0)1n b1(0) 0 a(1)22 . . . a(1)2,k · · · a(1)2n b2(1) .. . ... . .. ... ... ... 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[ ˜A(k−1)|˜b(k−1)] = a(0)11 a(0)12 · · · a(0)1,k · · · a(0)1n b1(0) 0 a(1)22 . . . a(1)2,k · · · a(1)2n b2(1) .. . ... . .. ... ... ... 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)]
Pivoteamento completo
Pivoteamento completoAntes de come¸car o k-´esimo est´agio procuramos na submatriz com
linhas e colunas da k at´e a n um elemento com o modulo m´aximo
e 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 posi¸c˜oes da k-´esima e da p-´esima equa¸c˜ao e depois da k-´esima e da r -´esima vari´aveis. (Ou seja, na matriz aumentada permutamos as linhas k e p, e as colunas k e r .)
Observa¸c˜ao
max
k≤j , l ≤n{|a (k−1)
Pivoteamento completo
Antes de come¸car o k-´esimo est´agio procuramos na submatriz com
linhas e colunas da k at´e a n um elemento com o modulo m´aximo
e 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 posi¸c˜oes da k-´esima e da p-´esima equa¸c˜ao e depois da k-´esima e da r -´esima vari´aveis. (Ou seja, na matriz aumentada permutamos as linhas k e p, e as colunas k e r .)
Observa¸c˜ao
max
k≤j , l ≤n{|a (k−1)
Pivoteamento completo (cont.)
[A(k−1)|b(k−1)] = a11(0) · · · a(0)1,k · · · a1r(0) · · · a(0)1n b1(0) .. . . .. ... ... ... ... 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)|b(k−1)] = a11(0) · · · a(0)1,k · · · a1r(0) · · · a(0)1n b1(0) .. . . .. ... ... ... ... 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 | = max k≤j , l ≤n{|a (k−1) jl |} 6= 0
Pivoteamento completo (cont.)
[A(k−1)|b(k−1)] = a11(0) · · · a(0)1,k · · · a1r(0) · · · a(0)1n b1(0) .. . . .. ... ... ... ... 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[ ˜A(k−1)|˜b(k−1)] = a11(0) · · · a(0)1,k · · · a1r(0) · · · a(0)1n b1(0) .. . . .. ... ... ... ... 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)]
Pivoteamento completo (cont.)
[ ˜A(k−1)|˜b(k−1)] = a11(0) · · · a(0)1,k · · · a1r(0) · · · a(0)1n b1(0) .. . . .. ... ... ... ... 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[ ˆA(k−1)|ˆb(k−1)] = a(0)11 · · · a(0)1r · · · a(0)1,k · · · a(0)1n b1(0) .. . . .. ... ... ... ... 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.
Estrat´
egias de pivoteamento
Observa¸c˜oes
As duas estrat´egias apresentadas ajudam no controle da
propaga¸c˜ao dos erros de arredondamento mas o pivoteamento
completo, em geral, produz resultados de melhor qualidade. Por outro lado, no pivoteamento completo precisamos o elemento de modulo m´aximo dentre (n − k + 1)2 coeficientess entanto que no pivoteamento parcial ser´a apenas dentre n − k + 1 coeficientes.
A implementa¸c˜ao computacional do pivoteamento parcial ´e bem mais simples do que o pivoteamento completo.
Essas estrat´egias podem ser combinadas com outras t´ecnicas para se obter melhores resultados.
Exemplo
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
Exemplo
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
m21←
5.291 · 100
3.000 · 10−3 =1.76366 . . . · 10
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
Exemplo
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
Exemplo
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
Exemplo
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
⇒ a22← −1.043 · 105
Exemplo
O sistema (
3.000 · 10−3x1+ 5.914 · 101x2 = 5.917 · 101
5.291 · 100x1− 6.130 · 100x2 = 4.678 · 101
possui a solu¸c˜ao exata ´e x1 = 10 e x2 = 1. Vamos resolve-lo
usando aritm´etica de ponto flutuante com 4 d´ıgitos de precis˜ao (na base decimal) pelo m´etodo de elimina¸c˜ao de Gauss.
⇒ Primeiro sem pivoteamento
Temos que
⇒ m21← 1.764 · 103
⇒ a22← −1.043 · 105
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 ⇒ x1 ← −1.000 · 101
A solu¸c˜ao 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 epsilon
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 solu¸c˜ao 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 epsilon
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
A solu¸c˜ao 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 epsilon
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 solu¸c˜ao 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 epsilon
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
A solu¸c˜ao 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 epsilon
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 solu¸c˜ao 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 epsilon
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
A solu¸c˜ao 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 epsilon
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 solu¸c˜ao 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 epsilon
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 solu¸c˜ao 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 epsilon
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
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 # .
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
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
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)
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
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
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
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
Exemplo (cont.)
b2 ← 5.917 · 101− (5.670 · 10−4)(4.678 · 101)
Obtemos a matriz aumentada
[A(1)|b(1)] =5.291 · 100 −6.130 · 100 4.678 · 101
5.914 · 101 5.914 · 101
.
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
.
Exemplo (cont.)
⇒ b2← 5.914 · 101
Obtemos a matriz aumentada [A(1)|b(1)] =5.291 · 10
0 −6.130 · 100 4.678 · 101
5.914 · 101 5.914 · 101
.
Exemplo (cont.)
⇒ b2← 5.914 · 101
Obtemos a matriz aumentada [A(1)|b(1)] =5.291 · 10 0 −6.130 · 100 4.678 · 101 5.914 · 101 5.914 · 101 . Logo x2← 5.914 · 101 5.914 · 101
⇒ b2← 5.914 · 101
Obtemos a matriz aumentada [A(1)|b(1)] =5.291 · 10 0 −6.130 · 100 4.678 · 101 5.914 · 101 5.914 · 101 . Logo ⇒ x2 ← 1.000 · 100
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
⇒ 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
Exemplo (cont.)
⇒ b2← 5.914 · 101
Obtemos a matriz aumentada [A(1)|b(1)] =5.291 · 10 0 −6.130 · 100 4.678 · 101 5.914 · 101 5.914 · 101 . Logo ⇒ x2 ← 1.000 · 100 ⇒ x1 ← 1.000 · 101