DCC008 - C´alculo Num´erico
Resolu¸c˜ao de Sistemas de Equa¸c˜oes Lineares
Iury Igreja
Departamento de Ciˆencia da Computa¸c˜ao Universidade Federal de Juiz de Fora
Conte´udo
◮ Introdu¸c˜ao
◮ Conceitos fundamentais ◮ M´etodos diretos
◮ Sistemas triangulares ◮ Elimina¸c˜ao de Gauss ◮ Estrat´egias de Pivoteamento ◮ Decomposi¸c˜ao LU
◮ Decomposi¸c˜ao Cholesky ◮ Invers˜ao de Matriz
◮ M´etodos iterativos
◮ Introdu¸c˜ao
◮ M´etodos Iterativos Estacion´arios ◮ M´etodo de Jacobi
Introdu¸c˜ao
Iremos estudar agora m´etodos computacionais para resolver um sistema de equa¸c˜oes lineares da forma:
a11x1+a12x2+. . .+a1nxn=b1
a21x1+a22x2+. . .+a2nxn=b2
..
. ...
am1x1+am2x2+. . .+amnxn=bm
onde
aij ∈R, bi ∈R, xj ∈R, i= 1, . . . , m, j= 1, . . . , n
Introdu¸c˜ao
Exemplos de aplica¸c˜oesEm uma vasta gama de problemas de ciˆencias e engenharias a solu¸c˜ao de um sistema de equa¸c˜oes lineares ´e necess´aria. Podemos enumerar diversas ´areas e problemas t´ıpicos, tais como:
◮ Solu¸c˜ao de equa¸c˜oes diferenciais
◮ Solu¸c˜ao de EDPs atrav´es do m´etodo dos elementos finitos,
diferen¸cas finitas ou volumes finitos.
◮ Solu¸c˜ao de EDOs
◮ Programa¸c˜ao linear ◮ An´alise de estruturas
◮ Sistemas de equa¸c˜oes n˜ao-lineares ◮ Outros m´etodos num´ericos
◮ Interpola¸c˜ao, m´ınimos quadrados, etc.
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
Calcular as tens˜oes dos n´os do circuito el´etrico da figura abaixo:
Modelagem do problema:
◮ Lei de Kirchhoff: a soma das correntes que passam em cada n´o do circuito ´e nula.
◮ Lei de Ohm: a corrente do n´oj para o n´o k´e dada pela equa¸c˜ao
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
N´o 1: IA1+I21+I31+I41= 0 0−V1
1 +V
2−V1
1 +V
3−V1
2 +V
4−V1
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
N´o 1: IA1+I21+I31+I41= 0 0−V1
1 +V
2−V1
1 +V
3−V1
2 +V
4−V1
2 = 0
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
N´o 1: IA1+I21+I31+I41= 0 0−V1
1 +V
2−V1
1 +V
3−V1
2 +V
4−V1
2 = 0
−2V1+V2−V1+ V23 −V21 +V24 −V21 = 0
−4V1+ 2V2+V3−2V1+ 2V4= 0
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
N´o 1: IA1+I21+I31+I41= 0 0−V1
1 +V
2−V1
1 +V
3−V1
2 +V
4−V1
2 = 0
−2V1+V2−V1+ V23 −V21 +V24 −V21 = 0
−4V1+ 2V2+V3−2V1+ 2V4= 0
−6V1+ 2V2+V3+V4= 0
N´o 2:
3V1−4V2+V3 = 0
N´o 3:
3V1+ 2V2−13V2+ 6V4 =−254
N´o 4:
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
−6 2 1 1
3 −4 1 0
3 2 −13 6
1 0 2 −3
V1 V2 V3 V4
N´o 1: IA1+I21+I31+I41= 0 0−V1
1 +V
2−V1
1 +V
3−V1
2 +V
4−V1
2 = 0
−2V1+V2−V1+ V23 −V21 +V24 −V21 = 0
−4V1+ 2V2+V3−2V1+ 2V4= 0
−6V1+ 2V2+V3+V4= 0
N´o 2:
3V1−4V2+V3 = 0
N´o 3:
3V1+ 2V2−13V2+ 6V4 =−254
N´o 4:
Introdu¸c˜ao
Tens˜oes em circuito el´etrico
−6 2 1 1
3 −4 1 0
3 2 −13 6
1 0 2 −3
V1 V2 V3 V4 = 0 0 −254 0
Usando algum m´etodo que iremos estudar, encontramos a solu¸c˜ao deste sistema
V∗ =
25.7 31.75
49.6 41.6
Introdu¸c˜ao
EstruturasExemplo 1, Cap´ıtulo 3, P´agina, 105, Livro da Ruggiero. Determinar as for¸cas que atuam nesta treli¸ca.
Jun¸c˜ao 2:
X
Fx =−αf1+f4+αf5 = 0 X
Fy =−αf1−f3−αf5 = 0
Conceitos fundamentais
Conceitos fundamentais
Antes de estudar os m´etodos para solu¸c˜ao deste tipo de problema, vamos rever alguns conceitos fundamentais de ´Algebra Linear necess´arios para o desenvolvimento e an´alise dos m´etodos.
Matrizes
Uma matriz ´e um conjunto de elementos (n´umeros reais ou complexos) dispostos de forma retangular. O tamanho ou dimens˜ao ´e definido pelo seu n´umero de linhas e colunas. Uma matriz comm linhas encolunas ´e dita ser m×n(m por n) e se m=n, ent˜ao dizemos que a matriz ´e quadrada.
A=
a11 a12 . . . a1n a21 a22 . . . a2n
..
. . .. ... am1 am2 . . . amn
Conceitos fundamentais
Matrizes especiais◮ Matriz coluna e matriz linha
Matriz linha: 1×n
a11 a12 . . . a1n
Matriz coluna: n×1
a11
a21
.. . an1
◮ Matriz nula:
aij = 0, ∀i, j
◮ Matriz diagonal:
dij = 0, ∀i6=j
◮ Matriz identidade:
Conceitos fundamentais
Matrizes especiais◮ Matriz triangular inferior: acima da diagonal principal ´e nula
bij = 0, ∀i < j, Exemplo: B=
b11 0 0
b21 b22 0
b31 b32 b33
Conceitos fundamentais
Matrizes especiais◮ Matriz triangular inferior: acima da diagonal principal ´e nula
bij = 0, ∀i < j, Exemplo: B=
b11 0 0
b21 b22 0
b31 b32 b33
◮ Matriz triangular superior: abaixo da diagonal principal ´e nula
cij = 0, ∀i > j, Exemplo: C=
c11 c12 c13 0 c22 c23
0 0 c33
Conceitos fundamentais
Matrizes especiais◮ Matriz triangular inferior: acima da diagonal principal ´e nula
bij = 0, ∀i < j, Exemplo: B=
b11 0 0
b21 b22 0
b31 b32 b33
◮ Matriz triangular superior: abaixo da diagonal principal ´e nula
cij = 0, ∀i > j, Exemplo: C=
c11 c12 c13 0 c22 c23
0 0 c33
◮ Matriz sim´etrica:
Conceitos fundamentais
Opera¸c˜oes matriciaisTransposi¸c˜ao
A transposta de uma matrizA, denotada porAT, ´e uma matriz obtida trocando-se as suas linhas pelas colunas.
Exemplo:
A=
1 2 3
4 5 6
7 8 9
10 11 12
, A
T =
1 4 7 10 2 5 8 11 3 6 9 12
Conceitos fundamentais
Opera¸c˜oes matriciaisTransposi¸c˜ao
A transposta de uma matrizA, denotada porAT, ´e uma matriz obtida trocando-se as suas linhas pelas colunas.
Exemplo:
A=
1 2 3
4 5 6
7 8 9
10 11 12
, A
T =
1 4 7 10 2 5 8 11 3 6 9 12
Adi¸c˜ao e Subtra¸c˜ao
Conceitos fundamentais
Opera¸c˜oes matriciaisMultiplica¸c˜ao por escalar
SejaAuma matriz m×n e sejak∈R um escalar qualquer. Ent˜aoB=kA ´e tal que
Conceitos fundamentais
Opera¸c˜oes matriciaisMultiplica¸c˜ao por escalar
SejaAuma matriz m×n e sejak∈R um escalar qualquer. Ent˜aoB=kA ´e tal que
bij =k aij, ∀i, j
Multiplica¸c˜ao matriz-vetor
SejaAuma matriz m×n ex um vetorn×1, ent˜ao a multiplica¸c˜ao deA porx´e
v=Ax ⇒ vi= n
X
j=1
Conceitos fundamentais
Opera¸c˜oes matriciaisMultiplica¸c˜ao por escalar
SejaAuma matriz m×n e sejak∈R um escalar qualquer. Ent˜aoB=kA ´e tal que
bij =k aij, ∀i, j
Multiplica¸c˜ao matriz-vetor
SejaAuma matriz m×n ex um vetorn×1, ent˜ao a multiplica¸c˜ao deA porx´e
v=Ax ⇒ vi= n
X
j=1
aijxj, i= 1,2, . . . , m
Exemplo
1 2 3 4 5 6
1 2
=
5 11 17
Conceitos fundamentais
Opera¸c˜oes matriciaisMultiplica¸c˜ao matriz-matriz
SejaAuma matriz m×p e Buma matriz p×n. O resultado da multiplica¸c˜aoAB´e uma matriz Cde tamanho m×n.
cij = p
X
k=1
aikbkj, i= 1, . . . , m, j= 1, . . . , n
Exemplo:
A=
3 1 0
−1 6 4
, B=
−3 2
4 9
8 −1
C=AB=
−5 15
59 48
Conceitos fundamentais
Opera¸c˜oes matriciaisProduto Interno e Produto Externo
O produto interno ou escalar entre dois vetoresx ey, ambos de tamanhonresulta em um valor escalark dado por
k=xTy=x1y1+x2y2+. . .+xnyn= n
X
i=1
Conceitos fundamentais
Opera¸c˜oes matriciaisProduto Interno e Produto Externo
O produto interno ou escalar entre dois vetoresx ey, ambos de tamanhonresulta em um valor escalark dado por
k=xTy=x1y1+x2y2+. . .+xnyn= n
X
i=1
xiyi
O produto externo entrex(m×1)e y(n×1)resulta em uma matrizM de tamanhom×n dada por
Conceitos fundamentais
Opera¸c˜oes matriciaisProduto Interno e Produto Externo
O produto interno ou escalar entre dois vetoresx ey, ambos de tamanhonresulta em um valor escalark dado por
k=xTy=x1y1+x2y2+. . .+xnyn= n
X
i=1
xiyi
O produto externo entrex(m×1)e y(n×1)resulta em uma matrizM de tamanhom×n dada por
mij =xiyj, i= 1, . . . , m, j = 1, . . . , n
Exemplo: x= 5 −1 2 , y=
1 3 4
, xTy= 10, xyT =M=
5 15 20
−1 −3 −4
2 6 8
Conceitos fundamentais
Opera¸c˜oes matriciaisDeterminante
SejaAuma matriz quadrada de ordem n. Ent˜aoA possui um n´umero associado chamado de determinante, o qual pode ser calculado pela seguinte f´ormula:
det(A) =a11det(M11)−a12det(M12)+. . .+(−1)n+1a1ndet(M1n)
ondeMij´e a matriz resultante da remo¸c˜ao da linha ie da coluna
Conceitos fundamentais
Opera¸c˜oes matriciaisDeterminante
SejaAuma matriz quadrada de ordem n. Ent˜aoA possui um n´umero associado chamado de determinante, o qual pode ser calculado pela seguinte f´ormula:
det(A) =a11det(M11)−a12det(M12)+. . .+(−1)n+1a1ndet(M1n)
ondeMij´e a matriz resultante da remo¸c˜ao da linha ie da coluna
j da matrizA. Em particular
A= [a11]⇒ det(A) =a11, A=
a11 a12
a21 a22
⇒det(A) =a11a22−a12a21
A=
a11 a12 a13
a21 a22 a23
a31 a32 a33
det(A) =a11(a22a33−a32a23)
−a12(a21a33−a31a23)
Conceitos fundamentais
Opera¸c˜oes matriciaisDefini¸c˜ao (Matriz singular)
Conceitos fundamentais
Opera¸c˜oes matriciaisDefini¸c˜ao (Matriz singular)
Uma matriz comdet(A) = 0 ´e dita singular. Por outro lado quandodet(A)6= 0 dizemos que a matriz ´e n˜ao-singular.
Defini¸c˜ao (Vetores Linearmente Independentes)
Um conjunto de vetoresx1,x2, . . . ,xk´e dito ser linearmente independente (LI) se
c1x1+c2x2+. . .+ckxk= 0
somente sec1 =c2 =. . .=ck = 0. Caso contr´ario, isto ´e, quando c1, c2, . . . , ck n˜ao s˜ao todos nulos, dizemos que o conjunto de
Conceitos fundamentais
Opera¸c˜oes matriciaisDefini¸c˜ao (Posto)
Conceitos fundamentais
Opera¸c˜oes matriciaisDefini¸c˜ao (Posto)
O posto (ou rank) de uma matrizA de tamanhom×n´e definido como o n´umero m´aximo de vetores linhas (ou de vetores colunas) linearmente independentes deA. Escrevemos posto(A) =r e temos quer ≤min (m, n).
Defini¸c˜ao (Inversa)
A inversa de uma matrizA quadradan×n´e representada por
A−1 e definida de tal forma que
AA−1=A−1A=I
ondeI´e a matriz identidade de ordem n.
A=
2 1 4 3
, A−1=
3
2 −12
−2 1
Sistemas Lineares
Um sistema de equa¸c˜oes lineares consiste em um conjunto dem equa¸c˜oes polinomiais comnvari´aveis xi de grau um, isto ´e
a11x1+a12x2+. . .+a1nxn=b1
a21x1+a22x2+. . .+a2nxn=b2
..
. ...
am1x1+am2x2+. . .+amnxn=bm
o qual pode ser escrito da seguinte forma matricialAx=b onde
A=
a11 a12 . . . a1n a21 a22 . . . a2n
..
. . .. ... am1 am2 . . . amn
, x=
x1 x2 .. . xn
, b=
b1 b2 .. . bm
Classifica¸c˜ao de Sistemas
N´umero de Solu¸c˜oesVamos considerar apenas sistemas cujas matrizes dos coeficientes s˜ao quadradas, isto ´e, ondeA∈Rn×n.
Iremos tratar do caso ondeA n˜ao ´e uma matriz quadrada em > n mais adiante, quando estudarmos m´ınimos quadrados.
Para o sistemaAx=b, temos as seguintes possibilidades quanto ao n´umero de solu¸c˜oes:
(a) uma ´unica solu¸c˜ao
(b) infinitas solu¸c˜oes
(c) sem solu¸c˜ao
Classifica¸c˜ao de Sistemas
Caso (a) ´Unica solu¸c˜ao
x1+x2= 3
x1−x2=−1
1 1
1 −1 x1
x2
=
3
−1
⇒ x=
1 2
4 3 2 1 0 1 2 3 4
Classifica¸c˜ao de Sistemas
Caso (a) ´Unica solu¸c˜ao
x1+x2= 3
x1−x2=−1
1 1
1 −1 x1
x2
=
3
−1
⇒ x=
1 2
4 3 2 1 0 1 2 3 4
Classifica¸c˜ao de Sistemas
Caso (b) Infinitas Solu¸c˜oes
x1+x2 = 1 2x1+ 2x2 = 2
1 1 2 2
x1
x2
=
1 2
4 3 2 1 0 1 2 3 4
3 2 1 0 1 2 3 4 5
Classifica¸c˜ao de Sistemas
Caso (b) Infinitas Solu¸c˜oes
x1+x2 = 1 2x1+ 2x2 = 2
1 1 2 2
x1
x2
=
1 2
⇒ x=
1−θ θ
4 3 2 1 0 1 2 3 4
3 2 1 0 1 2 3 4 5
Classifica¸c˜ao de Sistemas
Caso (b) Infinitas Solu¸c˜oes
x1+x2 = 1 2x1+ 2x2 = 2
1 1 2 2
x1
x2
=
1 2
⇒ x=
1−θ θ
4 3 2 1 0 1 2 3 4
3 2 1 0 1 2 3 4 5
Classifica¸c˜ao de Sistemas
Caso (c) Sem Solu¸c˜ao
x1+x2= 1
x1+x2= 4
⇒ 6 ∃x tal queAx=b
4 3 2 1 0 1 2 3 4
4 2 0 2 4 6 8
Classifica¸c˜ao de Sistemas
Caso (c) Sem Solu¸c˜ao
x1+x2= 1
x1+x2= 4
⇒ 6 ∃x tal queAx=b
4 3 2 1 0 1 2 3 4
4 2 0 2 4 6 8
Existˆencia e unicidade da solu¸c˜ao
A equa¸c˜aoAx=b possui uma ´unica solu¸c˜ao se e somente se a matrizA for n˜ao-singular. O Teorema a seguir, caracteriza a n˜ao-singularidade da matrizA.
Teorema
SejaAuma matriz quadradan×n. As seguintes afirma¸c˜oes s˜ao equivalentes:
a) A−1 existe
b) N˜ao existe y n˜ao-zero tal queAy=0. Ou seja, a ´unica solu¸c˜ao do sistema homogˆeneo ´ey=0.
c) posto(A) =n
d) det(A)6= 0
e) Dado qualquer vetorb, existe exatamente um vetor xtal que
Ax=b (ou x=A−1b).
Prova
M´etodos para solu¸c˜ao de sistemas lineares
M´etodos para solu¸c˜ao de sistemas lineares
Iremos estudar agora diversos m´etodos num´ericos para a solu¸c˜ao de sistemas de equa¸c˜oes lineares. Vamos considerar queA´e quadrada e n˜ao-singular.
Os m´etodos de solu¸c˜ao de sistemas lineares geralmente envolvem a convers˜ao de um sistema quadrado em um sistema triangular que possui a mesma solu¸c˜ao que o original.
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
l11x1=b1 ⇒ x1=
b1
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
l11x1=b1 ⇒ x1=
b1
l11
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
l11x1=b1 ⇒ x1=
b1
l11
l21x1+l22x2=b2 ⇒ x2=
b2−l21x1
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
l11x1=b1 ⇒ x1=
b1
l11
l21x1+l22x2=b2 ⇒ x2=
b2−l21x1
l22
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
l11x1=b1 ⇒ x1=
b1
l11
l21x1+l22x2=b2 ⇒ x2=
b2−l21x1
l22
. . .
Sistema triangular inferior
Considere um sistema triangular inferior de ordemndado por
l11 0 0 . . . 0
l21 l22 0 . . . 0
..
. . ..
ln1 ln2 ln3 . . . lnn
x1 x2 .. . xn = b1 b2 .. . bn
A solu¸c˜ao deste sistema ´e feita atrav´es de um procedimento chamado desubstitui¸c˜ao(ou substitui¸c˜oes sucessivas):
l11x1=b1 ⇒ x1=
b1
l11
l21x1+l22x2=b2 ⇒ x2=
b2−l21x1
l22
. . .
ln1x1+ln2x2+. . .+lnnxn=bn ⇒ xn=
bn−ln1x1−ln2x2−. . .−lnn−1xn−1
Sistema triangular inferior
De forma geral paraLx=b temosxi=
bi− i−1 X
j=1
lijxj
,
Sistema triangular inferior
De forma geral paraLx=b temosxi=
bi− i−1 X
j=1
lijxj
,
lii i= 1, . . . , n
Exemplo
2 0 0 0
3 5 0 0
1 −6 8 0
−1 4 −3 9
Sistema triangular inferior
De forma geral paraLx=b temosxi=
bi− i−1 X
j=1
lijxj
,
lii i= 1, . . . , n
Exemplo
2 0 0 0
3 5 0 0
1 −6 8 0
−1 4 −3 9
x1 x2 x3 x4 = 4 1 48 0 Solu¸c˜ao
Sistema triangular inferior
De forma geral paraLx=b temosxi=
bi− i−1 X
j=1
lijxj
,
lii i= 1, . . . , n
Exemplo
2 0 0 0
3 5 0 0
1 −6 8 0
−1 4 −3 9
x1 x2 x3 x4 = 4 1 48 0 Solu¸c˜ao
2x1= 4 ⇒ x1 = 2
Sistema triangular inferior
De forma geral paraLx=b temosxi=
bi− i−1 X
j=1
lijxj
,
lii i= 1, . . . , n
Exemplo
2 0 0 0
3 5 0 0
1 −6 8 0
−1 4 −3 9
x1 x2 x3 x4 = 4 1 48 0 Solu¸c˜ao
2x1= 4 ⇒ x1 = 2
3x1+ 5x2 = 1 ⇒ x2 = 1−65 =−1
Sistema triangular inferior
De forma geral paraLx=b temosxi=
bi− i−1 X
j=1
lijxj
,
lii i= 1, . . . , n
Exemplo
2 0 0 0
3 5 0 0
1 −6 8 0
−1 4 −3 9
x1 x2 x3 x4 = 4 1 48 0 Solu¸c˜ao
2x1= 4 ⇒ x1 = 2
3x1+ 5x2 = 1 ⇒ x2 = 1−65 =−1
x1−6x2+ 8x3 = 48 ⇒ x3 = 48−2−68 = 5
Sistema triangular inferior
Algoritmoentrada: L∈Rn×n,b∈Rn
sa´ıda: x∈Rn
x(1) = b(1) / L(1,1);
parai=2, ..., n fa¸ca
s = b(i);
paraj=1, ..., i-1 fa¸ca
s = s - L(i,j) * x(j);
fim-para
x(i) = s/L(i,i);
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
unnxn=bn ⇒ xn= bn unn
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
unnxn=bn ⇒ xn= bn unn
un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
unnxn=bn ⇒ xn= bn unn
un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=
bn−1−un−1nxn un−1n−1
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
unnxn=bn ⇒ xn= bn unn
un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=
bn−1−un−1nxn un−1n−1
Sistema triangular superior
O algoritmo an´alogo para o caso de um sistema triangular superior Ux=b´e chamado de retro-substitui¸c˜ao(ou substitui¸c˜oes retroativas).
u11 u12 u13 . . . u1n
0 u22 u23 . . . u2n ..
. . ..
0 0 0 . . . unn
x1 x2 .. . xn = b1 b2 .. . bn
e assim temos
unnxn=bn ⇒ xn= bn unn
un−1n−1xn−1+un−1nxn=bn−1 ⇒ xn−1=
bn−1−un−1nxn un−1n−1
.. .
u11x1+u12x2+. . .+u1nxn=b1 ⇒ x1=
Sistema triangular superior
De forma geral paraUx=b temosxi=
bi− n
X
j=i+1
uijxj
,
Sistema triangular superior
De forma geral paraUx=b temosxi=
bi− n
X
j=i+1
uijxj
,
uii i=n, . . . ,1
Exemplo
2 4 −2
0 1 1
0 0 4
x1
x2
x3
=
2 4 8
Sistema triangular superior
De forma geral paraUx=b temosxi=
bi− n
X
j=i+1
uijxj
,
uii i=n, . . . ,1
Exemplo
2 4 −2
0 1 1
0 0 4
x1 x2 x3 = 2 4 8 Solu¸c˜ao
Sistema triangular superior
De forma geral paraUx=b temosxi=
bi− n
X
j=i+1
uijxj
,
uii i=n, . . . ,1
Exemplo
2 4 −2
0 1 1
0 0 4
x1 x2 x3 = 2 4 8 Solu¸c˜ao
4x3= 8 ⇒ x3= 2
Sistema triangular superior
De forma geral paraUx=b temosxi=
bi− n
X
j=i+1
uijxj
,
uii i=n, . . . ,1
Exemplo
2 4 −2
0 1 1
0 0 4
x1 x2 x3 = 2 4 8 Solu¸c˜ao
4x3= 8 ⇒ x3= 2
x2+x3 = 4 ⇒ x2= 2
Sistema triangular superior
Algoritmoentrada: U∈Rn×n,b∈Rn
sa´ıda: x∈Rn
x(n) = b(n)/U(n,n);
parai=n-1, ..., 1 fa¸ca
s = b(i);
paraj=i+1, ..., n fa¸ca
s = s - U(i,j) * x(j);
fim-para
x(i) = s/U(i,i);
Complexidade Computacional
Muitas vezes precisamos medir o custo de execu¸c˜ao de um algoritmo. Para isso usualmente definimos uma fun¸c˜ao de complexidade que pode ser uma medida do tempo para o algoritmo resolver um problema cuja instˆancia de entrada tem tamanhon(ou medir por exemplo o quanto de mem´oria seria necess´ario para execu¸c˜ao).
A complexidade de um algoritmo para solu¸c˜ao de um sistema linear de ordemn´e medida atrav´es do n´umero de opera¸c˜oes aritm´eticas como adi¸c˜ao, multiplica¸c˜ao e divis˜ao.
Lembrando que
n
X
i=1
Complexidade Computacional
Substitui¸c˜ao:Divis˜ao: n
Adi¸c˜ao: n
X
i=2
(i−1) =
n−1 X
i=1
i= n(n−1) 2
Multiplica¸c˜ao: n
X
i=2
(i−1) =
n−1 X
i=1
i= n(n−1) 2
No total o algoritmo de substitui¸c˜ao para sistemas triangulares inferiores realiza
n+n(n−1)
2 +
n(n−1)
2 =n+n
2−n=n2
Complexidade Computacional
Retro-substitui¸c˜ao:Divis˜ao: n
Adi¸c˜ao: n−1 X
i=1
(n−i) =n(n−1)−n(n−1)
2 =
n(n−1) 2
Multiplica¸c˜ao: n−1 X
i=1
(n−i) =n(n−1)−n(n−1)
2 =
n(n−1) 2
No total o algoritmo de retro-substitui¸c˜ao para sistemas triangulares superiores realiza
n+n(n−1)
2 +
n(n−1)
2 =n+n
2−n=n2
M´etodos para solu¸c˜ao de sistemas lineares
M´etodos para solu¸c˜ao de sistemas lineares
Existem dois tipos de m´etodos para a solu¸c˜ao de sistemas de equa¸c˜oes lineares:
◮ M´etodos diretos
◮ Os m´etodos diretos s˜ao aqueles que conduzem `asolu¸c˜ao
M´etodos para solu¸c˜ao de sistemas lineares
Existem dois tipos de m´etodos para a solu¸c˜ao de sistemas de equa¸c˜oes lineares:
◮ M´etodos diretos
◮ Os m´etodos diretos s˜ao aqueles que conduzem `asolu¸c˜ao
exataap´os um n´umero finito de passos a menos de erros de arredondamento introduzidos pela m´aquina.
◮ M´etodos iterativos
◮ S˜ao aqueles que se baseiam na constru¸c˜ao desequˆencias de
Elimina¸c˜ao de Gauss
O primeiro m´etodo direto que iremos estudar ´e o m´etodo da elimina¸c˜ao de Gauss. A id´eia fundamental do m´etodo ´e transformar a matrizAem uma matriz triangular superior
Elimina¸c˜ao de Gauss
O primeiro m´etodo direto que iremos estudar ´e o m´etodo da elimina¸c˜ao de Gauss. A id´eia fundamental do m´etodo ´e transformar a matrizAem uma matriz triangular superior
introduzindo zeros abaixo da diagonal principal, primeiro na coluna 1, depois na coluna 2 e assim por diante.
x x x x x x x x x x x x x x x x →
x x x x 0 x x x 0 x x x 0 x x x →
x x x x 0 x x x 0 0 x x 0 0 x x →
x x x x 0 x x x 0 0 x x 0 0 0 x
Elimina¸c˜ao de Gauss
O primeiro m´etodo direto que iremos estudar ´e o m´etodo da elimina¸c˜ao de Gauss. A id´eia fundamental do m´etodo ´e transformar a matrizAem uma matriz triangular superior
introduzindo zeros abaixo da diagonal principal, primeiro na coluna 1, depois na coluna 2 e assim por diante.
x x x x x x x x x x x x x x x x →
x x x x 0 x x x 0 x x x 0 x x x →
x x x x 0 x x x 0 0 x x 0 0 x x →
x x x x 0 x x x 0 0 x x 0 0 0 x
Elimina¸c˜ao de Gauss
Elimina¸c˜ao de Gauss
Na elimina¸c˜ao de Gauss, as opera¸c˜oes efetuadas para se obter a matriz triangular superior s˜ao tais que a matriz triangular obtida possui a mesma solu¸c˜ao que o sistema original.
Defini¸c˜ao (Sistema equivalente)
Elimina¸c˜ao de Gauss
Na elimina¸c˜ao de Gauss, as opera¸c˜oes efetuadas para se obter a matriz triangular superior s˜ao tais que a matriz triangular obtida possui a mesma solu¸c˜ao que o sistema original.
Defini¸c˜ao (Sistema equivalente)
Dois sistemas de equa¸c˜oes lineares s˜ao equivalentes quando possuem o mesmo vetor solu¸c˜ao.
Um sistema pode ser transformado em um outro sistema equivalente utilizando as seguintes opera¸c˜oes elementares:
◮ trocar a ordem de duas equa¸c˜oes
Elimina¸c˜ao de Gauss
Exemplo
3x1+ 5x2= 9 6x1+ 7x2= 4
Podemos subtrair da linha 2 um m´ultiplo da linha 1, isto ´e
L′2 =L2−2L1
Efetuando esta opera¸c˜ao obtemos o sistema equivalente
3x1+ 5x2 = 9
−3x2 =−14
7 6 5 4 3 2 1 0 1 1
0 1 2 3 4 5 6 7
7 6 5 4 3 2 1 0 1 1
Elimina¸c˜ao de Gauss
Exemplo
3x1+ 5x2= 9 6x1+ 7x2= 4
Podemos subtrair da linha 2 um m´ultiplo da linha 1, isto ´e
L′2 =L2−2L1
Efetuando esta opera¸c˜ao obtemos o sistema equivalente
3x1+ 5x2 = 9
−3x2 =−14
7 6 5 4 3 2 1 0 1 1
0 1 2 3 4 5 6 7
7 6 5 4 3 2 1 0 1 1
Elimina¸c˜ao de Gauss
Exemplo
3x1+ 5x2= 9 6x1+ 7x2= 4
Podemos subtrair da linha 2 um m´ultiplo da linha 1, isto ´e
L′2 =L2−2L1
Efetuando esta opera¸c˜ao obtemos o sistema equivalente
3x1+ 5x2 = 9
−3x2 =−14
7 6 5 4 3 2 1 0 1 1
0 1 2 3 4 5 6 7
7 6 5 4 3 2 1 0 1 1
Elimina¸c˜ao de Gauss
Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.
Exemplo
Seja o sistema
x1+x3 = 0
x1+x2 = 1 2x1+ 3x2+x3 = 1
Elimina¸c˜ao de Gauss
Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.
Exemplo
Seja o sistema
x1+x3 = 0
x1+x2 = 1 2x1+ 3x2+x3 = 1
1 0 1 1 1 0 2 3 1
x1
x2
x3
=
0 1 1
Elimina¸c˜ao de Gauss
Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.
Exemplo
Seja o sistema
x1+x3 = 0
x1+x2 = 1 2x1+ 3x2+x3 = 1
1 0 1 1 1 0 2 3 1
x1
x2
x3
=
0 1 1
Solu¸c˜ao
Elimina¸c˜ao de Gauss
Vamos primeiro estudar um exemplo simples para posteriormente generalizar a id´eia.
Exemplo
Seja o sistema
x1+x3 = 0
x1+x2 = 1 2x1+ 3x2+x3 = 1
1 0 1 1 1 0 2 3 1
x1 x2 x3 = 0 1 1 Solu¸c˜ao
Como podemos eliminar os coeficientes abaixo da diagonal principal na primeira coluna?
L′2 =L2−L1
L′3 =L3−2L1
1 0 1 0
0 1 −1 1 0 3 −1 1
Elimina¸c˜ao de Gauss
Exemplo - (cont.)
Elimina¸c˜ao de Gauss
Exemplo - (cont.)
Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?
L′′3 =L′3−3L′2
1 0 1 0
0 1 −1 1
0 0 2 −2
Elimina¸c˜ao de Gauss
Exemplo - (cont.)
Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?
L′′3 =L′3−3L′2
1 0 1 0
0 1 −1 1
0 0 2 −2
Elimina¸c˜ao de Gauss
Exemplo - (cont.)
Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?
L′′3 =L′3−3L′2
1 0 1 0
0 1 −1 1
0 0 2 −2
Agora podemos usar a retro-substitui¸c˜ao para encontrar facilmente a solu¸c˜ao deste sistema:
2x3=−2 ⇒ x3=−1
x2−x3= 1 ⇒ x2= 1 +x3 = 1−1 = 0
Elimina¸c˜ao de Gauss
Exemplo - (cont.)
Precisamos agora de eliminar os coeficientes abaixo da diagonal na segunda coluna (a32). Como?
L′′3 =L′3−3L′2
1 0 1 0
0 1 −1 1
0 0 2 −2
Agora podemos usar a retro-substitui¸c˜ao para encontrar facilmente a solu¸c˜ao deste sistema:
2x3=−2 ⇒ x3=−1
x2−x3= 1 ⇒ x2= 1 +x3 = 1−1 = 0
x1+x3= 0 ⇒ x1=−x3= 1
Revisitando a Elimina¸c˜ao de Gauss
Resolver o seguinte sistema
2 1 1
4 −6 0
−2 7 2
x1
x2
x3
=
5
−2 9
Revisitando a Elimina¸c˜ao de Gauss
Resolver o seguinte sistema
2 1 1
4 −6 0
−2 7 2
x1
x2
x3
=
5
−2 9
Passo 1
m21= aa2111 = 4/2 = 2 ⇒ L
′
Revisitando a Elimina¸c˜ao de Gauss
Resolver o seguinte sistema
2 1 1
4 −6 0
−2 7 2
x1
x2
x3
=
5
−2 9
Passo 1
m21= aa2111 = 4/2 = 2 ⇒ L
′
2 =L2−2L1
m31= aa3111 =−2/2 =−1 ⇒ L
′
Revisitando a Elimina¸c˜ao de Gauss
Resolver o seguinte sistema
2 1 1
4 −6 0
−2 7 2
x1 x2 x3 = 5 −2 9 Passo 1
m21= aa2111 = 4/2 = 2 ⇒ L
′
2 =L2−2L1
m31= aa3111 =−2/2 =−1 ⇒ L
′
3 =L3+L1
2 1 1 5
0 −8 −2 −12
0 8 3 14
Revisitando a Elimina¸c˜ao de Gauss
Passo 2
2 1 1 5
0 −8 −2 −12
0 8 3 14
m32= aa3222 = 8/−8 =−1 ⇒ L
′′
Revisitando a Elimina¸c˜ao de Gauss
Passo 2
2 1 1 5
0 −8 −2 −12
0 8 3 14
m32= aa3222 = 8/−8 =−1 ⇒ L
′′
3 =L′3+L′2
2 1 1 5
0 −8 −2 −12
0 0 1 2
Elimina¸c˜ao de Gauss
De forma geral
a11 a12 a13 . . . a1n b1
a21 a22 a23 . . . a2n b2
..
. ... ... . .. ... ... an1 an2 an3 . . . ann bn
Elimina¸c˜ao de Gauss
De forma geral
a11 a12 a13 . . . a1n b1
a21 a22 a23 . . . a2n b2
..
. ... ... . .. ... ... an1 an2 an3 . . . ann bn
Passo 1 (k=1): eliminamos os elementos abaixo da diagonal
Elimina¸c˜ao de Gauss
De forma geral
a11 a12 a13 . . . a1n b1
a21 a22 a23 . . . a2n b2
..
. ... ... . .. ... ... an1 an2 an3 . . . ann bn
Passo 1 (k=1): eliminamos os elementos abaixo da diagonal
principal na primeira coluna. Suponha quea116= 0. Ent˜ao:
m21=a21/a11
m31=a31/a11
.. .
mn1=an1/a11
ou seja
Elimina¸c˜ao de Gauss
De forma geral
a11 a12 a13 . . . a1n b1
a21 a22 a23 . . . a2n b2
..
. ... ... . .. ... ... an1 an2 an3 . . . ann bn
Passo 1 (k=1): eliminamos os elementos abaixo da diagonal
principal na primeira coluna. Suponha quea116= 0. Ent˜ao:
m21=a21/a11
m31=a31/a11
.. .
mn1=an1/a11
ou seja
Elimina¸c˜ao de Gauss
Agora, multiplicamos a 1a equa¸c˜ao pormi1 e subtraimos da
i-´esima equa¸c˜ao, isto ´e
Parai= 2 :n a(1)ij =a(0)ij −mi1 a(0)1j
Elimina¸c˜ao de Gauss
Agora, multiplicamos a 1a equa¸c˜ao pormi1 e subtraimos da
i-´esima equa¸c˜ao, isto ´e
Parai= 2 :n a(1)ij =a(0)ij −mi1 a(0)1j
b(1)i =b(0)i −mi1 b(0)1 , j= 1 :n
Observe que n˜ao alteramos a primeira linha, poisi= 2 :n, logo esta permanece inalterada:
Elimina¸c˜ao de Gauss
Agora, multiplicamos a 1a equa¸c˜ao pormi1 e subtraimos da
i-´esima equa¸c˜ao, isto ´e
Parai= 2 :n a(1)ij =a(0)ij −mi1 a(0)1j
b(1)i =b(0)i −mi1 b(0)1 , j= 1 :n
Observe que n˜ao alteramos a primeira linha, poisi= 2 :n, logo esta permanece inalterada:
a(1)1j =a(0)1j =a1j, b(1)1 =b (0) 1 =b1
Ap´os essa etapa zeramos todos os elementos abaixo da diagonal principal na 1a coluna.
a11 a12 a13 . . . a1n b1
0 a1 22 a
1
23 . . . a 1 2n b
1 2
0 a1 32 a
1
33 . . . a 1 3n b 1 3 .. . ... ... . .. ... ... 0 a1
n2 a 1
Elimina¸c˜ao de Gauss
Passo 2 (k=2): consiste em introduzir zeros abaixo da diagonal
principal na 2a coluna. Suponha a226= 0. Definimos
Elimina¸c˜ao de Gauss
Passo 2 (k=2): consiste em introduzir zeros abaixo da diagonal
principal na 2a coluna. Suponha a226= 0. Definimos
mi2 =ai2/a22, i= 3 :n
e assim
para i= 3 :n a(2)ij =a(1)ij −mi2 a(1)2j
Elimina¸c˜ao de Gauss
Passo 2 (k=2): consiste em introduzir zeros abaixo da diagonal
principal na 2a coluna. Suponha a226= 0. Definimos
mi2 =ai2/a22, i= 3 :n
e assim
para i= 3 :n a(2)ij =a(1)ij −mi2 a(1)2j
b(2)i =b(1)i −mi2 b(2)1 , j= 2 :n
o que resulta em
a11 a12 a13 . . . a1n b1 0 a1
22 a123 . . . a12n b12 0 0 a233 . . . a23n b23
..
. ... ... . .. ... ...
0 0 a2n3 . . . a2nn b2n
Elimina¸c˜ao de Gauss
Passo 3, Passo 4, ...
Passo k: Considerandoakk6= 0, temos
Elimina¸c˜ao de Gauss
Passo 3, Passo 4, ...
Passo k: Considerandoakk6= 0, temos
mik =aik/akk, i=k+ 1 :n
e assim fazemos
para i=k+ 1 :n a(ijk)=a(ijk−1)−mik a(kjk−1)
b(ik)=b(ik−1)−mik b(kk−1), j=k:n
Elimina¸c˜ao de Gauss
No processo de elimina¸c˜ao os elementosa11,a(1)22,a (2) 33,. . .,a
(k−1)
kk que aparecem na diagonal da matrizA s˜ao chamados de pivˆos.
Se os pivˆos n˜ao se anulam, isto ´e, se akk6= 0, k= 1 :n, durante o processo, ent˜ao a elimina¸c˜ao procede com sucesso e por fim chegamos ao seguinte sistema triangular superior
a11 a12 a13 . . . a1n−1 a1n b1 0 a122 a123 . . . a21n−1 a12n b12
0 0 a2
33 . . . a23n−1 a23n b23
..
. ... ... . .. ... ...
0 0 0 . . . 0 annn−1 bnn−1
Elimina¸c˜ao de Gauss
Algoritmoentrada: matriz A∈Rn×n, vetorb∈Rn
sa´ıda: vetor solu¸c˜ao x∈Rn
parak= 1 :n−1 fa¸ca parai=k+ 1 :n fa¸ca
m = A(i,k) / A(k,k);
paraj=k+ 1 :nfa¸ca
A(i,j) = A(i,j) - m * A(k,j);
fim-para
b(i) = b(i) - m * b(k);
fim-para fim-para
Elimina¸c˜ao de Gauss
Complexidade ComputacionalNovamente vamos contabilizar o n´umero de opera¸c˜oes aritm´eticas de ponto flutuante que s˜ao realizadas pelo algoritmo.
Para contar o n´umero de opera¸c˜oes realizadas na elimina¸c˜ao de Gauss, vamos dividir o processo nas seguintes etapas:
(1) A→U: o processo de transformar a matriz A em uma matriz triangular superior U
(2) b→g: modifica¸c˜oes no vetor b
(3) ResolverUx=g usando retro-substitui¸c˜ao
Elimina¸c˜ao de Gauss
Complexidade ComputacionalNovamente vamos contabilizar o n´umero de opera¸c˜oes aritm´eticas de ponto flutuante que s˜ao realizadas pelo algoritmo.
Para contar o n´umero de opera¸c˜oes realizadas na elimina¸c˜ao de Gauss, vamos dividir o processo nas seguintes etapas:
(1) A→U: o processo de transformar a matriz A em uma matriz triangular superior U
(2) b→g: modifica¸c˜oes no vetor b
(3) ResolverUx=g usando retro-substitui¸c˜ao
◮ J´a vimos que o n´umero de opera¸c˜oes deste algoritmo ´en2
No que segue iremos usar
n
X
i=1
i= n(n+ 1) 2
n
X
i=1
Elimina¸c˜ao de Gauss
Complexidade Computacional(1)A→U
◮ Divis˜oes n−1 X
k=1
n
X
i=k+1 1
!
=
n−1 X
k=1
(n−k)
=n(n−1)− n−1 X
k=1
k
=n(n−1)−n(n−1)
2
Elimina¸c˜ao de Gauss
Complexidade Computacional(1)A→U ◮ Adi¸c˜oes
n−1
X
k=1
n
X
i=k+1
n
X
j=k+1
1
=
n−1
X
k=1
n
X
i=k+1
(n−k)
!
=
n−1
X
k=1
(n−k)(n−k)
=
n−1
X
k=1
(n2−2kn+k2)
=n2(n−1)−2nn(n−1)
2 +
(n−1)(n−1+1)(2n−2+1) 6
=n(n−1)(2n−1)
6
◮ Multiplica¸c˜oes
Elimina¸c˜ao de Gauss
Complexidade Computacional(2)b→g
◮ Adi¸c˜oes
n−1
X
k=1
n
X
i=k+1
1
!
=
n−1
X
k=1
(n−k)
=n(n−1)−
n−1
X
k=1
k
=n(n−1)−n(n−1)
2
= n(n−1)
2
◮ Multiplica¸c˜oes
Elimina¸c˜ao de Gauss
Complexidade Computacional(Total)
Em cada etapa temos
(1) 23n3−n22 −n6
(2) n2−n
Assim nas etapas (1) e (2) temos um total de 23n3+n22 − 76n. Considerando que na etapa de retro-substitui¸c˜ao (3) temosn2
opera¸c˜oes, no total o algoritmo de elimina¸c˜ao de Gauss realiza um total de
2n3
3 +
n2
2 −
7n 6
| {z }
elimina¸c˜ao
+ n2
|{z}
retro-substitui¸c˜ao
= 2n 3
3 +
3n2
2 −
Elimina¸c˜ao de Gauss
Para um valor denmuito grande, o algoritmo realiza aproximadamente 23n3 opera¸c˜oes de ponto flutuante.
Exemplo
Se um sistema linear tem tamanhon= 100, ent˜ao:
◮ resolver o sistema triangular: 1002= 10 000opera¸c˜oes ◮ elimina¸c˜ao de gauss: 681 550opera¸c˜oes
Elimina¸c˜ao de Gauss
Mas, e sena etapa kda elimina¸c˜ao de Gauss, o pivˆo for zero?
Isso significa queakk= 0, e assim, ter´ıamos
mik= aik akk
⇒ divis˜ao por zero!
Nesse caso, se um pivˆo for zero, o processo de elimina¸c˜ao tem que parar, ou temporariamente ou permanentemente.
O sistema pode ou n˜ao ser singular.
Se o sistema for singular, i.e, det(A) = 0, e portanto como vimos o sistema n˜ao possui uma ´unica solu¸c˜ao.
Estrat´egia de Pivoteamento
Vamos ilustrar a id´eia do pivoteamento atrav´es de um exemplo. Considere a seguinte matriz.
A=
1 1 1 2 2 5 4 6 8
Estrat´egia de Pivoteamento
Vamos ilustrar a id´eia do pivoteamento atrav´es de um exemplo. Considere a seguinte matriz.
A=
1 1 1 2 2 5 4 6 8
Vamos proceder com a elimina¸c˜ao de Gauss.
m21= 2, a12j =a02j−2 a01j
Estrat´egia de Pivoteamento
Vamos ilustrar a id´eia do pivoteamento atrav´es de um exemplo. Considere a seguinte matriz.
A=
1 1 1 2 2 5 4 6 8
Vamos proceder com a elimina¸c˜ao de Gauss.
m21= 2, a12j =a02j−2 a01j
m31= 4, a13j =a30j−4 a01j, j= 1 : 3
Ent˜ao obtemos
1 1 1 0 0 3 0 2 4
Estrat´egia de Pivoteamento
No pr´oximo passo, o pivˆo ´e a22 e usamos ele para calcularm32.
Entretanto
m32=
a32
a22 = 2
0
Estrat´egia de Pivoteamento
No pr´oximo passo, o pivˆo ´e a22 e usamos ele para calcularm32.
Entretanto
m32=
a32
a22 = 2
0
Divis˜ao por zero! E agora, o que podemos fazer?
Estrat´egia de Pivoteamento
No pr´oximo passo, o pivˆo ´e a22 e usamos ele para calcularm32.
Entretanto
m32=
a32
a22 = 2
0
Divis˜ao por zero! E agora, o que podemos fazer?
Podemos realizar uma opera¸c˜ao elementar de troca de linhas. Como vimos este tipo de opera¸c˜ao quando realizado em um sistema, n˜ao altera a solu¸c˜ao. Sendo assim, vamos trocar as linhas 2 e 3.
1 1 1 0 0 3 0 2 4
⇒
1 1 1 0 2 4 0 0 3
Estrat´egia de Pivoteamento
A estrat´egia de pivoteamento ´e importante pois:
◮ evita a propaga¸c˜ao de erros num´ericos
◮ nos fornece meios de evitar problemas durante a elimina¸c˜ao de Gauss quando opivˆoakk no passo k´eigual a zeroe
precisamos calcular o multiplicador
mik = aik akk
Assim, atrav´es da troca de linhas, podemos encontrar uma linha de tal forma que o novo pivˆo ´e n˜ao-zero, permitindo que a elimina¸c˜ao de Gauss continue at´e obter uma matriz triangular superior.
Pivoteamento Parcial
No pivoteamento parcial, em cada passok,o pivˆo ´e escolhido
como o maior elemento em m´oduloabaixo de akk (inclusive),
isto ´e
Pivoteamento Parcial
No pivoteamento parcial, em cada passok,o pivˆo ´e escolhido
como o maior elemento em m´oduloabaixo de akk (inclusive),
isto ´e
Encontrarr tal que: |ark|= max|aik|, k≤i≤n
Feita a escolha do pivˆo, trocamos as linhasr e k e o algoritmo procede.
Isso evita a propaga¸c˜ao de erros num´ericos, pois: ◮ O pivoteamento parcial garante que
|mik| ≤1
◮ Se a
kk for muito pequeno, consequentementemik ser´a muito grande. Dessa forma, ap´os a multiplica¸c˜ao por mik podemos ampliar erros de arredondamento envolvidos no processo. ◮ Tamb´em evitamos o erro que pode ser causado quando
Pivoteamento Parcial
Exemplo
Aplique a elimina¸c˜ao de Gauss com pivoteamento parcial no seguinte sistema:
2 4 −2 2
4 9 −3 8
−2 −3 7 10
A cada passok:
◮ encontrar o pivˆo do passo k ◮ se necess´ario, trocar as linhas ◮ calcular multiplicador m
ik
◮ para i=k+ 1 :n, calcular
aij(k) =aij(k−1)−mik a(kjk−1)
Pivoteamento Parcial
Exemplo - (cont.) Passo 1
Escolha do pivˆo: max{2,4,2}= 4. Trocar as linhas 1 e 2.
2 4 −2 2
4 9 −3 8
−2 −3 7 10
⇒
4 9 −3 8
2 4 −2 2
−2 −3 7 10
Pivoteamento Parcial
Exemplo - (cont.) Passo 1
Escolha do pivˆo: max{2,4,2}= 4. Trocar as linhas 1 e 2.
2 4 −2 2
4 9 −3 8
−2 −3 7 10
⇒
4 9 −3 8
2 4 −2 2
−2 −3 7 10
m21= 2/4 = 1/2 ⇒ a21j =a02j−12a 0 1j m31=−2/4 =−1/2 ⇒ a13j =a03j+12a
0
Pivoteamento Parcial
Exemplo - (cont.) Passo 1
Escolha do pivˆo: max{2,4,2}= 4. Trocar as linhas 1 e 2.
2 4 −2 2
4 9 −3 8
−2 −3 7 10
⇒
4 9 −3 8
2 4 −2 2
−2 −3 7 10
m21= 2/4 = 1/2 ⇒ a21j =a02j−12a 0 1j m31=−2/4 =−1/2 ⇒ a13j =a03j+12a
0
1j, j= 1 : 3
4 9 −3 8
0 −12 −12 −2 0 32 112 14
Pivoteamento Parcial
Exemplo - (cont.) Passo 2
Escolha do pivˆo: max{12,32}= 32. Trocar as linhas 2 e 3.
4 9 −3 8
0 −12 −12 −2 0 32 112 14
⇒
4 9 −3 8
0 32 112 14 0 −12 −12 −2
Pivoteamento Parcial
Exemplo - (cont.) Passo 2
Escolha do pivˆo: max{12,32}= 32. Trocar as linhas 2 e 3.
4 9 −3 8
0 −12 −12 −2 0 32 112 14
⇒
4 9 −3 8
0 32 112 14 0 −12 −12 −2
m32=−1223 =−13 ⇒ a23j =a13j+13a 1
Pivoteamento Parcial
Exemplo - (cont.) Passo 2
Escolha do pivˆo: max{12,32}= 32. Trocar as linhas 2 e 3.
4 9 −3 8
0 −12 −12 −2 0 32 112 14
⇒
4 9 −3 8
0 32 112 14 0 −12 −12 −2
m32=−1223 =−13 ⇒ a23j =a13j+13a 1
2j, j= 2 : 3
4 9 −3 8
0 32 112 14 0 0 43 83
Pivoteamento Parcial
Exemplo - (cont.)
Retro-substitui¸c˜ao
4 9 −3 8
0 32 112 14 0 0 43 83
Pivoteamento Parcial
Exemplo - (cont.)
Retro-substitui¸c˜ao
4 9 −3 8
0 32 112 14 0 0 43 83
4
Pivoteamento Parcial
Exemplo - (cont.)
Retro-substitui¸c˜ao
4 9 −3 8
0 32 112 14 0 0 43 83
4
3x3 = 83 ⇒ x3= 2 3
2x2+ 2 11
Pivoteamento Parcial
Exemplo - (cont.)
Retro-substitui¸c˜ao
4 9 −3 8
0 32 112 14 0 0 43 83
4
3x3 = 83 ⇒ x3= 2 3
2x2+ 2 11
2 = 14 ⇒ x2= 2
Pivoteamento Parcial
Exemplo - (cont.)
Retro-substitui¸c˜ao
4 9 −3 8
0 32 112 14 0 0 43 83
4
3x3 = 83 ⇒ x3= 2 3
2x2+ 2 11
2 = 14 ⇒ x2= 2
4x1+ 9(2)−3(2) = 8 ⇒ x1 =−1
Pivoteamento Parcial
Exemplo (efeitos num´ericos)
Considere o seguinte sistema:
0.0001 1
1 1
x1
x2
=
1 2
Usando um sistema de ponto flutuanteF(10,3,−10,10)(sistema decimal com 3 d´ıgitos na mantissa), com arredondamento, encontre a solu¸c˜ao do sistema usando elimina¸c˜ao de Gauss sem pivoteamento.
Solu¸c˜ao (sem pivoteamento)
Temos que
m21= 1
0.0001 = 10000 ⇒ L
′
Pivoteamento Parcial
Solu¸c˜ao (sem pivoteamento) - Cont.
0.0001 1 1
0 −10000∗ −10000∗∗
Note que(∗) foi obtido como
1−10000×1 = 0.00001×105−0.10000×105
= 0.09999×105
= (arredondando) = 0.100×105
e de forma an´aloga para(∗∗), temos
2−10000×1 = 0.00001×105−0.10000×105
= 0.09998×105
Pivoteamento Parcial
Solu¸c˜ao (sem pivoteamento) - Cont.
Por fim, aplicando a retrosubstitui¸c˜ao obtemos uma
solu¸c˜ao errada, devido aos erros de aritm´etica em ponto flutuante cometidos em(∗) e(∗∗) durante a soma/subtra¸c˜ao de n´umeros muito pequenos com n´umeros muito grandes.
Pivoteamento Parcial
Solu¸c˜ao (sem pivoteamento) - Cont.
Por fim, aplicando a retrosubstitui¸c˜ao obtemos uma
solu¸c˜ao errada, devido aos erros de aritm´etica em ponto flutuante cometidos em(∗) e(∗∗) durante a soma/subtra¸c˜ao de n´umeros muito pequenos com n´umeros muito grandes.
Solu¸c˜ao obtida → xT = 0 1
A solu¸c˜ao exata ´e dada por
Pivoteamento Parcial
Solu¸c˜ao (com pivoteamento)
0.0001 1 1
1 1 2
⇒
1 1 2
0.0001 1 1
Neste caso, temos:
0.1×10−0.1×10−3 = 0.1×10−0.00001×10 = (arredondando) 0.100×10 0.1×10−0.2×10−3 = 0.1×10−0.00002×10
= (arredondando) 0.100×10
Logo
1 1 2 0 1 1