Resolu¸c˜ ao de sistemas de equa¸c˜ oes lineares:
M´ etodo de elimina¸c˜ ao de Gauss
Marina Andretta/Franklina Toledo
ICMC-USP
5 de maio de 2015
Baseado no livro An´ alise Num´ erica, de R. L. Burden e J. D. Faires.
Sistemas de equa¸c˜ oes lineares
Estamos interessados em resolver o problema de encontrar uma solu¸ c˜ ao para um sistema de equa¸c˜ oes lineares da forma
E
1: a
11x
1+ a
12x
2+ ... + a
1nx
n= b
1, E
2: a
21x
1+ a
22x
2+ ... + a
2nx
n= b
2, .. .
E
n: a
n1x
1+ a
n2x
2+ ... + a
nnx
n= b
n,
com a
ije b
jconstantes dadas.
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares
H´ a algumas opera¸c˜ oes que podem ser realizadas em um sistema de equa¸ c˜ oes lineares, sem que sua solu¸ c˜ ao seja alterada. S˜ ao elas:
A equa¸c˜ ao E
ipode ser multiplicada por qualquer constante λ n˜ ao-nula e a equa¸ c˜ ao resultante pode ser usada no lugar de E
i. Denotamos esta opera¸ c˜ ao por (λE
i) → (E
i).
A equa¸c˜ ao E
jpode ser multiplicada por qualquer constante λ n˜ ao-nula, adicionada ` a equa¸ c˜ ao E
ie a equa¸ c˜ ao resultante pode ser usada no lugar de E
i. Denotamos esta opera¸ c˜ ao por
(λE
j+ E
i) → (E
i).
As equa¸ c˜ oes E
ie E
jpodem trocar de posi¸ c˜ oes. Denotamos esta
opera¸ c˜ ao por (E
i) ↔ (E
j).
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Queremos determinar os valores de x
1, x
2, x
3e x
4que satisfa¸ cam as equa¸c˜ oes
E
1: x
1+ x
2+ 3x
4= 4,
E
2: 2x
1+ x
2− x
3+ x
4= 1,
E
3: 3x
1− x
2− x
3+ 2x
4= −3,
E
4: −x
1+ 2x
2+ 3x
3− x
4= 4.
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Primeiramente, usamos a equa¸c˜ ao E
1para eliminar a inc´ ognita x
1das equa¸c˜ oes E
2, E
3e E
4.
Isso ´ e feito executando os seguintes passos:
(E
2− 2E
1) → (E
2),
(E
3− 3E
1) → (E
3),
(E
4+ E
1) → (E
4).
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
O sistema resultante ´ e
E
1: x
1+ x
2+ 3x
4= 4, E
2: − x
2− x
3− 5x
4= −7, E
3: − 4x
2− x
3− 7x
4= −15, E
4: 3x
2+ 3x
3+ 2x
4= 8.
Neste novo sistema, usamos a equa¸ c˜ ao E
2para eliminar a inc´ ognita x
2das
equa¸ c˜ oes E
3e E
4.
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Fazemos isso executando os passos (E
3− 4E
2) → (E
3) e (E
4+ 3E
2) → (E
4).
O sistema resultante ´ e
E
1: x
1+ x
2+ 3x
4= 4, E
2: − x
2− x
3− 5x
4= −7,
E
3: 3x
3+ 13x
4= 13,
E
4: − 13x
4= −13.
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Agora o sistema se tornou triangular e ele pode ser resolvido usando um processo de substitui¸ c˜ ao regressiva.
Pela equa¸c˜ ao E
4, temos que x
4= 1.
Substituindo o valor de x
4na equa¸ c˜ ao E
3, temos que
x
3= 13 − 13x
43 = 0.
Manipula¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Usando os valores de x
3e x
4na equa¸ c˜ ao E
2, temos que
x
2= 7 − x
3− 5x
4= 7 − 0 − 5 = 2.
Finalmente, substituindo os valores de x
2, x
3e x
4na equa¸ c˜ ao E
1, temos que
x
1= 4 − x
2− 3x
4= 4 − 2 − 3 = −1.
Portanto, x
1= −1, x
2= 2, x
3= 0 e x
4= 1.
Representa¸c˜ ao de sistemas de equa¸c˜ oes lineares
Para realizar as opera¸c˜ oes descritas no exemplo anterior, n˜ ao precisamos escrever todas as equa¸ c˜ oes a cada passo, j´ a que as vari´ aveis n˜ ao se alteram. Os ´ unicos valores que mudam de um passo a outro s˜ ao os coeficientes das vari´ aveis e os valores no lado direito das equa¸ c˜ oes.
Por isso, para facilitar a nota¸c˜ ao, escrevemos os sistemas usando matrizes.
Representa¸c˜ ao de sistemas de equa¸c˜ oes lineares
Usando este formato, um sistema do tipo
a
11x
1+ a
12x
2+ ... + a
1nx
n= b
1, a
21x
1+ a
22x
2+ ... + a
2nx
n= b
2, .. .
a
n1x
1+ a
n2x
2+ ... + a
nnx
n= b
n, fica escrito como Ax = b, onde
A =
a
11a
12. . . a
1na
21a
22. . . a
2n.. . .. . . .. .. . a
n1a
n2. . . a
nn
, x =
x
1x
2.. . x
n
, b =
b
1b
2.. . b
n
.
Representa¸c˜ ao de sistemas de equa¸c˜ oes lineares
Uma nota¸ c˜ ao alternativa ´ e a de matriz aumentada
[A, b] =
a
11a
12. . . a
1nb
1a
21a
22. . . a
2nb
2.. . .. . . .. .. . .. . a
n1a
n2. . . a
nnb
n
,
na qual a linha vertical ´ e utilizada para separar os elementos da matriz A e
do vetor b.
Representa¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Note que o sistema do exemplo, usando a nota¸ c˜ ao de matriz aumentada, fica
1 1 0 3 4
2 1 −1 1 1
3 −1 −1 2 −3
−1 2 3 −1 4
.
Representa¸c˜ ao de sistemas de equa¸c˜ oes lineares - exemplo
Usando as opera¸c˜ oes para tornar o sistema triangular, temos as seguintes matrizes aumentadas:
1 1 0 3 4
0 −1 −1 −5 −7
0 −4 −1 −7 −15
0 3 3 2 8
,
1 1 0 3 4
0 −1 −1 −5 −7
0 0 3 13 13
0 0 0 −13 −13
.
M´ etodo de elimina¸c˜ ao de Gauss
O m´ etodo usado para resolver o sistema do exemplo ´ e chamado de M´ etodo de elimina¸c˜ ao de Gauss com substitui¸c˜ ao regressiva.
Para um sistema
E
1: a
11x
1+ a
12x
2+ ... + a
1nx
n= b
1, E
2: a
21x
1+ a
22x
2+ ... + a
2nx
n= b
2, .. .
E
n: a
n1x
1+ a
n2x
2+ ... + a
nnx
n= b
n,
o M´ etodo de elimina¸ c˜ ao de Gauss procede da seguinte maneira.
M´ etodo de elimina¸c˜ ao de Gauss
Primeiramente, forme a matriz aumentada
A ˜ = [A, b] =
a
11a
12. . . a
1na
1(n+1)a
21a
22. . . a
2na
2(n+1).. . .. . . .. .. . .. . a
n1a
n2. . . a
nna
n(n+1)
, (1)
com a
i(n+1)= b
i, 1 ≤ i ≤ n.
M´ etodo de elimina¸c˜ ao de Gauss
Se a
116= 0, as opera¸c˜ oes correspondentes a (E
j− (
aaj111
)E
1) → (E
j) s˜ ao executadas para cada j = 2, 3, ..., n, para que os coeficientes de x
1nas linhas diferentes de 1 passem a ser nulos.
Embora os elementos das linhas 2, 3, ..., n depois destas opera¸ c˜ oes sejam possivelmente diferentes dos elementos correspondentes na matriz ˜ A original, eles ser˜ ao denotados da mesma forma, apenas para facilitar a nota¸c˜ ao.
Executamos, ent˜ ao, este mesmo procedimento para i = 2, 3, ..., n − 1, efetuando a opera¸ c˜ ao (E
j− (
aajiii
)E
i) → (E
j) para cada
j = i + 1, i + 2, ..., n, somente quando a
ii6= 0.
M´ etodo de elimina¸c˜ ao de Gauss
Isso faz com que os coeficientes de x
isejam anulados para todas as linhas abaixo da linha i , para 1 ≤ i ≤ n − 1.
A matriz resultante deste processo de elimina¸ c˜ ao de Gauss tem a forma
˜ ˜ A =
a
11a
12. . . a
1na
1(n+1)0 a
22. . . a
2na
2(n+1).. . .. . . .. .. . .. .
0 0 . . . a
nna
n(n+1)
,
na qual n˜ ao se espera que os valores de a
ijcoincidam com os valores
correpondentes na matriz original ˜ A.
M´ etodo de elimina¸c˜ ao de Gauss
A matriz A ˜ ˜ representa um sistema linear que tem o mesmo conjunto solu¸ c˜ ao do sistema original (1).
Como o novo sistema ´ e triangular,
a
11x
1+ a
12x
2+ ... + a
1nx
n= b
1, a
22x
2+ ... + a
2nx
n= b
2,
.. .
a
nnx
n= b
n,
podemos utilizar a substitui¸ c˜ ao regressiva para resolvˆ e-lo.
M´ etodo de substitui¸c˜ ao regressiva
Isolando x
nna n-´ esima equa¸ c˜ ao, temos
x
n= a
n(n+1)a
nn.
Isolando x
n−1na (n − 1)-´ esima equa¸ c˜ ao, temos
x
n−1= a
(n−1)(n+1)− a
(n−1)nx
na
(n−1)(n−1).
M´ etodo de substitui¸c˜ ao regressiva
De forma geral, temos que
x
i=
ai(n+1)−ainxn−ai(n−1)axn−1−...−ai(i+1)xi+1ii
=
ai(n+1)−Pn j=i+1aijxj
aii
,
para i = n − 1, n − 2, ..., 1.
M´ etodo de elimina¸c˜ ao de Gauss
O M´ etodo de elimina¸ c˜ ao de Gauss pode ser representado de maneira mais precisa formando uma sequˆ encia de matrizes aumentadas ˜ A
(1), ˜ A
(2), ..., A ˜
(n), na qual ˜ A
(1)´ e a matriz original ˜ A e ˜ A
(k), para k = 2, 3, ..., n tem elementos a
(kij )dados por
a
(k)ij=
a
(k−1)ij, se i = 1, 2, ..., k − 1 e j = 1, 2, ..., n + 1,
0, se i = k, k + 1, ..., n e
j = 1, 2, ..., k − 1, a
(k−1)ij−
a(k−1) i(k−1)
a(k−1)(k−1)(k−1)
a
(k−1)(k−1)j, se i = k, k + 1, ..., n e
j = k, k + 1, ..., n + 1.
M´ etodo de elimina¸c˜ ao de Gauss
Assim,
A ˜
(k)=
a
(1)11a
(1)12. . . a
(1)1(k−1)a
(1)1k. . . a
(1)1na
(1)1(n+1)0 a
(2)22. . . a
(2)2(k−1)a
(2)2k. . . a
(2)2na
(2)2(n+1).. . .. . . . . .. . .. . . . . .. . .. .
0 0 . . . a
(k−1)(k−1)(k−1)a
(k−1)(k−1)k. . . a
(k−1)(k−1)na
(k(k−1)(n+1)−1)0 0 . . . 0 a
(kkk). . . a
(kkn)a
(k)k(n+1).. . .. . . . . .. . .. . . . . .. . .. .
0 0 . . . 0 a
(knk). . . a
(knn)a
(kn(n+1))
representa o sistema linear equivalente no qual a vari´ avel x
k−1acabou de
ser eliminada das equa¸ c˜ oes E
k, E
k+1, ..., E
n.
M´ etodo de elimina¸c˜ ao de Gauss
Note que este processo falha quando um dos elementos a
(1)11, a
(2)22, ..., a
(n)nnfor nulo, pois o passo
E
i− a
ik(k)a
kk(k)E
k!
→ E
in˜ ao pode ser realizado ou a substitui¸c˜ ao regressiva n˜ ao poder´ a ser aplicada.
Neste caso, o sistema ainda pode ter solu¸ c˜ ao, mas o algoritmo ter´ a de
sofrer uma pequena altera¸ c˜ ao.
M´ etodo de elimina¸c˜ ao de Gauss - exemplo
Considere o sistema linear
E
1: x
1− x
2+ 2x
3− x
4= −8,
E
2: 2x
1− 2x
2+ 3x
3− 3x
4= −20,
E
3: x
1+ x
2+ x
3= −2,
E
4: x
1− x
2+ 4x
3+ 3x
4= 4.
M´ etodo de elimina¸c˜ ao de Gauss - exemplo
A matriz aumentada ´ e dada por
A ˜ = ˜ A
(1)=
1 −1 2 −1 −8
2 −2 3 −3 −20
1 1 1 0 −2
1 −1 4 3 4
.
M´ etodo de elimina¸c˜ ao de Gauss - exemplo
Efetuando as opera¸c˜ oes (E
2− 2E
1) → (E
2), (E
3− E
1) → (E
3) e (E
4− E
1) → (E
4), temos
A ˜
(2)=
1 −1 2 −1 −8
0 0 −1 −1 −4
0 2 −1 1 6
0 0 2 4 12
.
M´ etodo de elimina¸c˜ ao de Gauss - exemplo
Como a
22(2)(chamado de elemento pivˆ o) ´ e nulo, o procedimente n˜ ao pode continuar.
Mas a opera¸ c˜ ao (E
i) ↔ (E
j) ´ e permitida. Ent˜ ao, procuramos um elemento na coluna 2, abaixo da linha 2, que n˜ ao seja nulo. Neste caso, o elemento a
(2)32.
Efetuamos, ent˜ ao, a opera¸ c˜ ao (E
2) ↔ (E
3), gerando a matriz aumentada
A ˜
(2)0=
1 −1 2 −1 −8
0 2 −1 1 6
0 0 −1 −1 −4
0 0 2 4 12
.
M´ etodo de elimina¸c˜ ao de Gauss - exemplo
Como x
2j´ a foi eliminado das equa¸ c˜ oes E
3e E
4, ˜ A
(3)ser´ a igual a ˜ A
(2)0. Efetuando a opera¸c˜ ao (E
4+ 2E
3) → (E
4), temos
A ˜
(4)=
1 −1 2 −1 −8
0 2 −1 1 6
0 0 −1 −1 −4
0 0 0 2 4
.
M´ etodo de elimina¸c˜ ao de Gauss - exemplo
Por fim, a substitui¸ c˜ ao regressiva ´ e aplicada:
x
4= 4 2 = 2, x
3= −4 + x
4−1 = 2, x
2= 6 − x
4+ x
32 = 3,
x
1= −8 + x
4− 2x
3+ x
21 = −7.
Algoritmo
M´ etodo de elimina¸ c˜ ao de Gauss: dados o n´ umero n de equa¸ c˜ oes e vari´ aveis, uma matriz aumentada [A, b], com n linhas e n + 1 colunas, devolve um sistema linear triangular superior equivalente ao sistema inicial ou emite uma mensagem de erro.
Passo 1: Para i = 1, ..., n − 1, execute os passos 2 a 3:
Passo 2: Se a
ii= 0, ent˜ ao tome o menor ´ındice k, i < k ≤ n, tal que a
ki6= 0.
Passo 3: Se k existe, permute as linhas i e k.
Sen˜ ao, escreva “n˜ ao existe uma solu¸ c˜ ao ´ unica” e pare.
Passo 4: Para j = i + 1, ..., n, execute os passos 4 e 5:
Passo 5: Fa¸ ca m
ji←
aajiii
.
Passo 6: Fa¸ ca (E
j− m
jiE
i) → (E
j).
Passo 7: Devolva [A, b] como solu¸ c˜ ao e pare.
Algoritmo
M´ etodo de substitui¸ c˜ ao regressiva: dados o n´ umero n de equa¸ c˜ oes e vari´ aveis, uma matriz aumentada [A, b], com n linhas, n + 1 colunas e A triangular superior, resolve o sistema linear ou emite uma mensagem dizendo que a solu¸ c˜ ao do sistema linear n˜ ao ´ e ´ unica.
Passo 1: Se a
nn= 0, ent˜ ao escreva “n˜ ao existe uma solu¸ c˜ ao ´ unica” e pare.
Passo 2: Fa¸ca x
n←
an(n+1)ann
.
Passo 3: Para i = n − 1, ..., 1, , execute os passos 4 e 5:
Passo 4: Se a
ii= 0, ent˜ ao
escreva “n˜ ao existe uma solu¸ c˜ ao ´ unica” e pare.
Passo 5: Fa¸ ca x
i←
ai(n+1)−Pn j=i+1aijxj
aii
.
Exemplo
Vejamos agora um exemplo do que pode acontecer quando o M´ etodo de elimina¸c˜ ao de Gauss com substitui¸c˜ ao regressiva falha.
Considere os sistemas
x
1+ x
2+ x
3= 4, 2x
1+ 2x
2+ x
3= 6, x
1+ x
2+ 2x
3= 6
e
x
1+ x
2+ x
3= 4,
2x
1+ 2x
2+ x
3= 4,
x
1+ x
2+ 2x
3= 6.
Exemplo
As matrizes aumentadas geradas s˜ ao
A ˜
(1)=
1 1 1 4 2 2 1 6 1 1 2 6
e A ˜
(1)=
1 1 1 4 2 2 1 4 1 1 2 6
.
Exemplo
Realizando as opera¸c˜ oes (E
2− 2E
1) → (E
2) e (E
3− E
1) → (E
3), temos
A ˜
(2)=
1 1 1 4
0 0 −1 −2
0 0 1 2
e A ˜
(2)=
1 1 1 4
0 0 −1 −4
0 0 1 2
.
Como, em ambos os sistemas, a
(2)22= a
(2)32= 0, o algoritmo para dizendo
que n˜ ao h´ a solu¸ c˜ ao ´ unica.
Exemplo
De fato, se analisarmos os sistemas, temos que:
No primeiro sistema, h´ a infinitas solu¸ c˜ oes. Sempre que x
3= 2, x
2= 2 − x
1e x
1´ e qualquer n´ umero real, temos uma solu¸ c˜ ao para o sistema.
No segundo sistema, n˜ ao h´ a solu¸ c˜ ao. Note que temos a contradi¸ c˜ ao
x
3= 2 e x
3= 4.
M´ etodo de elimina¸c˜ ao de Gauss
Apesar de podermos pensar que o M´ etodo de elimina¸ c˜ ao de Gauss constr´ oi uma sequˆ encia de matrizes aumentadas, os elementos das novas matrizes podem ser armazenados na pr´ opria matriz original.
Al´ em disso, os multiplicadores m
jipodem ser armazenados na por¸ c˜ ao
triangular inferior da matriz, no lugar dos zeros.
An´ alise dos algoritmos
O tempo gasto para a execu¸ c˜ ao do M´ etodo de elimina¸ c˜ ao de Gauss com substitui¸c˜ ao regressiva depende do n´ umero de opera¸c˜ oes que s˜ ao
executadas.
No M´ etodo de elimina¸ c˜ ao de Gauss, s˜ ao realizadas opera¸ c˜ oes apenas nos passos 5 e 6. No Passo 5 ´ e realizada uma divis˜ ao para cada valor de j = i + 1, ..., n, ou seja, s˜ ao realizadas (n − i) divis˜ oes.
No Passo 6, a substitui¸ c˜ ao da equa¸ c˜ ao E
jpor (E
j− m
jiE
i) exige que sejam
realizadas (n − i )(n − i + 1) multiplica¸ c˜ oes e a mesma quantidade de
subtra¸ c˜ oes.
An´ alise dos algoritmos
Como os passos 5 e 6 s˜ ao executados para cada valor de i, i = 1, ..., n − 1, a quantidade de multiplica¸ c˜ oes/divis˜ oes executadas ´ e dada por
n−1
X
i=1
(n − i)(n − i + 2) =
n−1
X
i=1
(n
2− 2ni + i
2+ 2n − 2i ) =
(n
2+ 2n)
n−1
X
i=1
1 − 2(n + 1)
n−1
X
i=1
i +
n−1
X
i=1
i
2= 2n
3+ 3n
2− 5n
6 .
An´ alise dos algoritmos
E a quantidade de adi¸c˜ oes/subtra¸ c˜ oes executadas ´ e dada por
n−1
X
i=1
(n − i)(n − i + 1) =
n−1
X
i=1
(n
2− 2ni + i
2+ n − i ) =
(n
2+ n)
n−1
X
i=1
1 − (2n + 1)
n−1
X
i=1
i +
n−1
X
i=1
i
2= n
3− n
3 .
An´ alise dos algoritmos
Para a substitui¸c˜ ao regressiva, ´ e executada uma divis˜ ao no Passo 2.
No Passo 5, s˜ ao realizadas (n − i) multiplica¸c˜ oes e (n − i − 1) adi¸ c˜ oes para cada termo da somat´ oria e, a seguir, uma subtra¸ c˜ ao e uma divis˜ ao.
Como o Passo 5 ´ e executado para cada valor de i , i = n − 1, ..., 1, a quantidade de multiplica¸c˜ oes/divis˜ oes executadas ´ e dada por
1 +
n−1
X
i=1
((n − i ) + 1) = n
2+ n
2 .
An´ alise dos algoritmos
E a quantidade de adi¸c˜ oes/subtra¸ c˜ oes executadas ´ e dada por
n−1
X
i=1