2. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Sistemas de equações lineares
Uma equação é linear se cada termo contém não mais do que uma variável e cada variável se encontra na primeira
potência. Um conjunto de equações lineares cujas variáveis estão relacionadas é denominado de sistema de equações
lineares, por exemplo
x + 2y + z = 8
x + y − 2z = −3
x + y − z = 0
=⇒
1 2 1
1 1 −2
1 1 −1
x
y
z
=
8
−3
0
O sistema acima pode ser escrito na forma compacta como Ax = b onde A é a matriz de coeficientes, b é o vetor de
termos independentes e x é o vetor de incognitas ou vetor solução.
Vários problemas de engenharia podem ser interpretados e resolvidos
por meio de sistemas de equações lineares. Dentre deles, podem ser
citados:
1. Cálculo da razão de escoamento de um sistema hidráulico.
2. Determinação das forças das barras de uma treliça.
3. Determinação de potência em redes elétricas.
4. Previsão da concentração de reagentes sujeitos à reações quími-
cas simultâneas, etc.
? Você sabia?
Análises de tensão e deformação em
sólidos precisam da solução de sis-
temas com miles e a até milhões
de equações. Tais sistemas são im-
possíveis de serem resolvidos sem o
auxílio do computador.
Raul
Durand 1
3. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Classificação
A classificação de um sistema é dado em função das suas possíveis
soluções.
Sistema consistente: É um sistema que possui pelo menos uma
solução. Ele ainda pode ser:
Determinado: Possui apenas uma solução.
(
x + y = 3
x − y = 2
Indeterminado: Possui infinitas soluções. O determinante da
matriz de coeficientes é igual a zero.
(
x + y = 2
2x + 2y = 4
Sistema inconsistente: Sistema sem solução.
(
x − y = 1
−2x + 2y = 4
0 1 2 3 4
−2
0
2 x + y = 3
x − y = 2
x
y
Sistema determinado
0 1 2 3 4
−2
0
2
0
x + y = 2
2x + 2y = 4
x
y
Sistema indeterminado
0 1 2 3 4
2
4
6
x − y = 1
−2x + 2y = 4
x
y
Sistema inconsistente
Raul
Durand 2
4. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Métodos de solução
Métodos exatos ou diretos:
São métodos que fornecem a solução exata do sistema utilizando
um número finito de operações. Entre os métodos de solução
diretos estão:
1. Solução por inversão da matriz de coeficientes
2. Método de eliminação de Gauss.
Métodos iterativos:
São aqueles que permitem determinar a solução do sistema
com uma dada precisão através da aplicação de um processo
repetitivo convergente. Entre os métodos iterativos estão os
seguintes:
1. Método Gauss-Jacobi
2. Métod o Gauss-Seidel
3. Gradientes conjugados
4. Outros.
? Você sabia?
2000 A.C. os babilônios conheciam um
método para resolver sistemas lineares 2×2.
Posteriormente, o Livro Os nove capítu-
los da arte matemática, escrito na China
arredor de 200 A.C., apresenta um método
para resolver sistemas lineares 3 × 3.
Raul
Durand 3
5. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Sistemas triangulares
Um sistema no qual a matriz de coeficientes corresponde a uma matriz triangular superior ou inferior é chamado de
sistema triangular.
a11 a12 a13 · · · a1n
0 a22 a23 · · · a2n
0 0 a33 · · · a3n
.
.
.
.
.
.
.
.
.
...
.
.
.
0 0 0 · · · ann
x1
x2
x3
.
.
.
xn
=
b1
b2
b3
.
.
.
bn
com aii ̸= 0.
A solução de um sistema triangular superior pode ser obtida pelo processo chamado de retro-substituição. Este processo
pode ser expresso matematicamente como:
xn = bn
ann
xi =
bi−
Pn
j=i+1
aij xj
aii
para i = n−1 . . . 1
Sistemas não triangulares podem ser reduzidos a sistemas triangulares equivalentes. Sistemas equivalentes são aqueles
sistemas de equações que embora apresentem coeficientes diferentes possuem o mesmo vetor solução.
Raul
Durand 4
6. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Eliminação de Gauss
O método de Gauss é um método direto que consiste em transformar o sis-
tema de equações em um sistema triangular superior equivalente através de
operações elementares sobre as linhas do sistema original. Estas operações
são:
1. Multiplicação de uma linha por um escalar diferente de zero.
2. Adição a uma linha o múltiplo de outra.
3. Troca de duas linhas
O número de operações para resolver um sistema de equações usando a elim-
inação de Gauss é proporcional a n3
onde n é o número de equações. Assim
é dito que a complexidade aritmética deste método é O(n3
).
Exemplo
Determine a solução do sistema de equações utilizando o método de eliminação
de Gauss e retro-substituição.
3 2 4
1 1 2
4 3 2
x1
x2
x3
=
1
2
3
Matriz aumentada:
[A|b] =
"
3 2 4 1
1 1 2 2
4 3 2 3
#
Eliminação:
m21 = 1/3, m31 = 4/3
L2 ← L2 − m21L1
L3 ← L3 − m31L1
"
3 2 4 1
0 1/3 2/3 5/3
0 1/3 − 10/3 5/3
#
m32 = 1
L3 ← L3 − m32L2
"
3 2 4 1
0 1/3 2/3 5/3
0 0 −4 0
#
Retro-substituição:
x =
−3
5
0
!
Raul
Durand 5
7. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Função que realiza a eliminação de Gauss
function eliminar!(A, B)
# A: matriz de coeficientes
# B: vetor de termos independentes
# Esta função modifica os argumentos A e B
n = size(A,1) # número de linhas
# eliminação simples (sem pivoteamento)
for k in 1:n-1 # iteração nos pivôs
pivo = A[k,k]
for i in k+1:n # iteração nas linhas por baixo do pivô
m = A[i,k]/pivo
# eliminação na matriz de coeficientes
for j=1:n
A[i,j] = A[i,j] - m*A[k,j] # subtração de linhas
end
# eliminação no vetor de termos independentes
B[i] = B[i] - m*B[k]
end
end
end
Raul
Durand 6
8. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Função que realiza a retro-substituição
function retrosubstituir(A, B)
# A: matriz de coeficientes (triangular superior)
# B: vetor de termos independentes
# A e B já devem ter passado pela eliminação
# Esta função retorna a solução do sistema
n = size(A,1) # número de linhas
# Inicialização do vetor solução
X = zeros(n)
# retro-substituição
X[n] = B[n]/A[n,n]
for i in n-1:-1:1
soma = 0.0
for j=i+1:n
soma = soma + A[i,j]*X[j]
end
X[i] = (B[i] - soma)/ A[i,i]
end
return X
end
Raul
Durand 7
9. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Pivoteamento
Se durante o processo de eliminação se apresenta um pivô igual a zero, então é necessário utilizar a estratégia do
pivoteamento de forma a evitar a divisão por zero.
Se o pivô tem valor pequeno em relação aos outros elementos da matriz é também conveniente utilizar o pivoteamento
de forma a minimizar a propagação de erros de truncamento e/ou arredondamento na solução.
Existem dois tipos de pivoteamento:
Pivoteamento parcial: Na eliminação de uma coluna, procura-se o termo com maior valor absoluto debaixo do pivô.
Quando achado troca-se a linha correspondente com a linha do pivô. Desta forma o pivô é substituído.
3x1 + 2x2 + 1x3 − 1x4 = 5
0x1 + 1x2 + 0x3 + 3x4 = 6
0x1 − 3x2 − 5x3 + 7x4 = 7
0x1 + 2x2 + 4x3 + 0x4 = 8
parcial
−
−
−
−
−
→
3x1 + 2x2 + 1x3 − 1x4 = 5
0x1 − 3x2 − 5x3 + 7x4 = 7
0x1 + 1x2 + 0x3 + 3x4 = 6
0x1 + 2x2 + 4x3 + 0x4 = 8
Pivoteamento total: Neste caso procura-se o termo com maior valor absoluto não somente abaixo do pivô senão
também nas colunas restantes.
3x1 + 2x2 + 1x3 − 1x4 = 5
0x1 + 1x2 + 0x3 + 3x4 = 6
0x1 − 3x2 − 5x3 + 7x4 = 7
0x1 + 2x2 + 4x3 + 0x4 = 8
total
−
−
−
→
3x1 − 1x4 + 1x3 + 2x2 = 5
0x1 + 7x4 − 5x3 − 3x2 = 7
0x1 + 3x4 + 0x3 + 1x2 = 6
0x1 + 0x4 + 4x3 + 2x2 = 8
Raul
Durand 8
11. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exercícios 5.1
1. Quais são os tipos de sistemas de equações lineares?
Descreva cada um deles.
2. Qual é a diferença entre sistemas determinados e
não determinados?
3. Como se classificam os métodos de solução de sis-
temas lineares?
4. O que é um sistema triangular?
5. Para que serve o processo de retro-substituição?
6. Quais são as operações elementares que podem ser
realizadas na solução de um sistema de equações
pelo método de Gauss?
7. Qual é a diferença entre pivoteamento parcial e piv-
oteamento total?
8. Em que casos se deve usar pivoteamento?
9. Qual é a vantagem dos métodos iterativos sobre os
métodos de solução diretos?
10. Utilizando o método de Gauss (sem pivoteamento)
determine o vetor solução dos sistemas abaixo.
x1 − x2 + x3 = 1
x1 + x2 + 4x3 = 8
3x1 + 2x2 − x3 = 9
5x1 − 3x2 − 7x3 = 4
10x1 + 6x2 − 12x3 = 0
5x1 − 5x2 − 4x3 = 12
11. Utilizando o método de Gauss com pivoteamento
parcial determine o vetor solução dos sistema
abaixo.
2x1 + 2x2 − x3 = 3
3x1 + 3x2 + x3 = 7
x1 − x2 − 5x3 = −5
x1 + 3x2 + x3 =
x1 + 2x2 + x3 − 4x4 =
− x2 + 3x4 =
4x2 − x3 + 8x4 =
Raul
Durand 10
12. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Decomposição LU
O método de decomposição ou fatoração LU é um método
direto para a solução de sistemas lineares.
Uma matriz quadrada pode ser decomposta no produto de
outras duas matrizes, a primeira triangular inferior L e a
segunda triangular superior U tal que:
A = LU
Se o determinante de uma matriz quadrada é diferente de
zero, então existem várias possíveis combinações de fatores
LU. Contudo , existe apenas uma única decomposição A =
LU onde L possui a diagonal principal unitária.
Uma das formas de determinar os fatores L e U é por meio do
processo de eliminação de Gauss. A complexidade aritmética
da decomposição LU é O(n3
).
Solução de um sistema usando decomposição
LU
Considerando que A = LU, um sistema Ax = b é
reescrito como
LUx = b
Seja y = Ux, a solução deste sistema acima pode ser
obtido pela solução dos sistemas abaixo:
Ly = b com subst. para frente (O(n2
))
Ux = y com retro-substituição (O(n2
))
A determinação dos fatores L e U é especialmente
útil no caso em que se queira resolver vários sistemas
de equações com a mesma matriz de coeficientes A.
Raul
Durand 11
13. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exemplo
Determine a decomposição LU da matriz de coeficientes do sistema abaixo. Posteriormente determine a solução do
sistema utilizando os fatores L e U.
3x1 + 2x2 + 4x3 = 1
x1 + x2 + 2x3 = 2
4x1 + 3x2 + 2x3 = 3
Solução:
Matriz de coeficientes:
3 2 4
1 1 2
4 3 2
Matriz de coeficientes após eliminação:
3 2 4
0 1/3 2/3
0 0 −4
Armazenamento dos coeficientes utilizados na eliminação
nos locais previamente zerados:
3 2 4
1/3 1/3 2/3
4/3 1 −4
Os fatores L e U são dados por:
L =
1 0 0
1/3 1 0
4/3 1 1
U =
3 2 4
0 1/3 2/3
0 0 −4
Raul
Durand 12
15. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Decomposição LU com pivoteamento parcial
Dado que a solução de alguns sistemas precisa de pivoteamento, a fatoração LU com pivoteamento parcial leva em conta
a troca de linhas da matriz de coeficientes por meio da matriz de permutação P . Assim um um sistema Ax = b pode
ser reescrito como
LUx = P b
Uma matriz de permutação quando multiplicada a outra matriz permite trocar a ordem das linhas desta última. Por
exemplo:
P =
0 1 0
0 0 1
1 0 0
A =
1 10 100
2 20 200
3 30 300
P A =
2 20 200
3 30 300
1 10 100
Solução de um sistema
Uma vez obtidos os fatores L, U e P da matriz de coeficientes de um sistema, o vetor solução x pode ser obtido pela
solução dos seguintes sistemas triangulares
Ly = P b utilizando substituição para frente (O(n2
))
Ux = y utilizando retro-substituição (O(n2
))
Raul
Durand 14
16. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exemplo
Determine a decomposição LU da matriz de coeficientes do sistema abaixo. Posteriormente determine a solução do
sistema utilizando os fatores P , L e U.
3x1 − 4x2 + x3 = 9
x1 + 2x2 + 2x3 = 3
4x1 − 3x3 + = −2
Solução:
Matriz de coeficientes:
3 −1 1
1 2 2
4 0 −2
Matriz aumentada:
3 −1 1 1 0 0
1 2 2 0 1 0
4 0 −2 0 0 1
Matriz aumentada após decomposição e permutação:
4 0 −3 0 0 1
3/4 −4 13/4 1 0 0
1/4 −1/2 35/8 0 1 0
onde os valores em vermelho representam os coeficientes utilizados durante a
eliminação.
Os fatores L, U e P são dados por:
L =
1 0 0
3/4 1 0
1/4 −1/2 1
U =
4 0 −3
0 −4 13/4
0 0 35/8
P =
0 0 1
1 0 0
0 1 0
Raul
Durand 15
18. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exercícios 5.2
1. Em que casos é conveniente o uso da decomposição
LU na solução de sistemas lineares?
2. Em que caso os fatores da decomposição LU é única?
3. O que é uma matriz de permutação?
4. Os sistemas abaixo apresentam a mesma matriz de
coeficientes. Determina a solução desses sistemas
utilizando a decomposição LU (sem pivoteamento).
2x1 − x2 − 2x3 = −11
2x1 + x2 + 3x3 = 5
3x1 + x2 − x3 = −5
2x1 − x2 − 2x3 = 5
2x1 + x2 + 3x3 = 12
3x1 + x2 − x3 = 12
5. Os sistemas abaixo apresentam a mesma matriz de
coeficientes. Se resolvidos pelo método da elimi-
nação de Gauss haverá a necessidade de utilizar piv-
oteamento. Determina a solução desses sistemas uti-
lizando a decomposição LU com pivoteamento par-
cial.
2x2 + x3 = 7
3x1 − 4x2 + 3x3 = 4
−2x1 + 2x2 = 2
2x2 + x3 = 5
3x1 − 4x2 + 3x3 = 4
−2x1 + 2x2 = −
Raul
Durand 17
19. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Métodos iterativos
Métodos iterativos permitem calcular aproximações sucessivas da solução de um sistema a partir de um vetor com valores
iniciais.
Seja o sistema Ax = b, este pode ser rescrito na forma x = Cx + G, onde C é uma matriz n × n e G é um vetor. Esta
equação pode ser colocada como uma equação de recorrência
xi = Cxi−1 + G
O processo é repetido até que a diferença entre duas aproximações sucessivas para cada incognita seja menor a uma dada
tolerância. Assim o erro na iteração i pode ser calculado por
E = max(|xi − xi−1|) < tol
Entre os métodos iterativos utilizados para resolver sistemas lineares têm-se: Gauss- Jacobi, Gauss-Seidel, Gradientes
conjugados, etc.
Métodos iterativos são particularmente úteis na solução de sistema esparsos. Nestes sistemas, a maioria dos valores na
matriz de coeficientes são iguais a zero.
Raul
Durand 18
20. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Método Gauss-Jacobi
Este método será apresentado para sistemas de 3 equações; contudo pode ser extendido para sistemas de qualquer número
de equações.
Seja o sistema Ax = b onde x = [x y z]T
, ele pode ser escrito como:
a11x + a12y + a13z = b1
a21x + a22y + a23z = b2
a31x + a32y + a33z = b3
da onde as incognitas podem ser isoladas como
x = 1
a11
(b1 − a12y − a13z) y = 1
a22
(b2 − a21x − a23z) z = 1
a33
(b3 − a31x − a32y)
Colocando as equações de forma recorrente obtem-se
xk = 1
a11
(b1 − a12yk−1 − a13zk−1)
yk = 1
a22
(b2 − a21xk−1 − a13zk−1)
zk = 1
a33
(b3 − a31xk−1 − a32yk−1)
Aproximações sucessivas a partir de valores iniciais para as incognitas (x0, y0 e z0).
Raul
Durand 19
21. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Matriz diagonal dominante
Uma condição suficiente mas não necessária para a convergência é que a matriz de coeficientes dos sistema seja diagonal
dominante. Uma matriz é diagonal dominante se para cada equação i, o escalar αi atenda a condição
αi =
Pn
j=1,j̸=i |aij|
|aii|
≤ 1
Esta condição é também conhecida como critério das linhas. Caso uma matriz atenda o critério das linhas, o método
Gauss-Jacobi será convergente. Já no caso em que uma matriz não atenda este critério, é possivel que o método ainda
seja convergente.
Em algúns casos, um sistema de equações cuja matriz de coeficientes não é diagonal dominante, pode ser convertido
em um a partir da conveniente troca de linhas. Ao mesmo tempo, a conveniente troca de linhas pode fazer com que o
método Gauss-Jacobi seja convergente em sistemas que não antendem o critério das linhas.
Toda matriz diagonal dominante é não singular. Desta forma, um sistema cuja matriz de coeficientes é uma matriz
diagonal dominante é, portanto, um sistema determinado.
Raul
Durand 20
22. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exemplo
Resolva o sistema de equações abaixo pelo método Gauss-Jacobi utilizando os valores iniciais x0 = 0, y0 = 0 e z0 = 0,
com tolerância de 0.01.
4x − 2y + z = 21
x + 8y − 2z = −23
x − y + 5z = 30
Solução:
Pode facilmente ser verificado que o sistema é diagonal
dominante. Assim,tem-se a certeza de que o método
Gauss-Jacobi é convergente para este sistema. A seguir
realiza-se o cálculo de aproximações do vetor solução uti-
lizando as equações de recorrência. O processo é repetido
até que o erro para todas incognitas seja menor ou igual
que a tolerância.
Resultados:
Método Gauss-Jacobi
1: X = [5.25, -2.875, 6.0] Erro máx = 6.0
2: X = [2.312, -2.031, 4.375] Erro máx = 2.9375
3: X = [3.141, -2.07, 5.131] Erro máx = 0.8281
4: X = [2.932, -1.985, 4.958] Erro máx = 0.2086
5: X = [3.018, -2.002, 5.017] Erro máx = 0.0861
6: X = [2.995, -1.998, 4.996] Erro máx = 0.0233
7: X = [3.002, -2.0, 5.001] Erro máx = 0.0071
O vetor solução do sistema é: [3.002, -2.0004, 5.0014]
Raul
Durand 21
23. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Método Gauss-Seidel
Este método é semelhante ao método Gauss-Jacobi, porem as equações de recorrência são um pouco diferentes. Em lugar
de considerar somente valores aproximados na iteração anterior, este método considera valores que já foram obtidos na
iteração atual. Desta forma o método Gauss-Seidel tende a ser mais rápido que o método Gauss-Jacobi.
Seja, por exemplo, o sistema Ax = b onde x = [x y z]T
:
a11x + a12y + a13z = b1
a21x + a22y + a23z = b2
a31x + a32y + a33z = b3
As equações de recorrência são dadas por:
xk = 1
a11
(b1 − a12yk−1 − a13zk−1)
yk = 1
a22
(b2 − a21xk − a23zk−1)
zk = 1
a33
(b3 − a31xk − a32yk)
Se a matriz de coeficientes é diagonal dominante o método Gauss-Seidel é sempre convergente, caso contrário, há ainda
a possibilidade de que o método possa ser convergente.
Raul
Durand 22
24. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exemplo
Resolva o sistema de equações abaixo pelo método Gauss-Seidel utilizando os valores iniciais x0 = 0, y0 = 0 e z0 = 0
com tolerância de 0.01.
4x − 2y + z = 21
x + 8y − 2z = −23
x − y + 5z = 30
Solução:
O método Gauss-Seidel é convergente pois a matriz de
coeficientes do sistema é diagonal dominante. As incong-
nitas são aproximadas sucessivamente através do uso das
equações de recorrência utilizando sempre os valores cal-
culados mais recentes. O processo é repetido até que o
erro para todas incognitas seja menor ou igual que a tol-
erância.
Resultados:
1: X = [5.25, -3.531, 4.244] Erro máx = 5.25
2: X = [2.423, -2.117, 5.092] Erro máx = 2.8266
3: X = [2.919, -1.967, 5.023] Erro máx = 0.4951
4: X = [3.011, -1.996, 4.999] Erro máx = 0.0923
5: X = [3.003, -2.001, 4.999] Erro máx = 0.0083
O vetor solução do sistema é: [3.0025, -2.0006, 4.9994]
Raul
Durand 23
25. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Sistemas mal condicionados
Existem sistemas de equações cujas soluções são muito sensíveis às variações dos coeficientes. Este fenômeno é chamado
de mal condicionamento e está relacionado a que a matriz de coeficientes é muito próxima de uma matriz singular
(determinante nulo). De esta forma o determinante da matriz de coeficientes é próximo de zero ou seu valor é muito
pequeno comparado aos coeficientes.
Considere os dois sistemas abaixo cujos determinantes são respectivamente -0.03 e 0.05:
5.0 3.0
5.01 3.0
x1
x2
=
15
15
e
5.0 3.0
5.0 3.01
x1
x2
=
15
15
A solução do primeiro sistema é x1 = 0 e x2 = 5 Já a solução do segundo sistema é x1 = 3 e x2 = 0 Sendo os
sistemas acima muito semelhantes, na prática, pode-se dizer que as eventuais diferenças podem ter sua origem em erros
de aproximação. Entretanto, pequenas variações nos coeficientes podem causar grandes variações nos resultados.
Sistemas mal condicionados podem ser originados por erros de aproximações ou truncamentos dos números no computa-
dor. Também podem ser originados por uma interpretação ou implementação errônea do problema a ser resolvido
Sistemas mal condicionados requerem tratamento cuidadoso como uso de pivoteamento, maior precisão nas operações
aritméticas e reorganização do sistema.
Raul
Durand 24
26. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Número de condicionamento
O número de condicionamento é uma propriedade da matriz de coeficientes de um sistema de equações e é definido como
κ = ||A||∞ · ||A−1
||∞
onde || · ||∞ representa a norma infinita. Esta norma é definida como:
Vetores : ||V ||∞ = max({|Vi| para i = 1 . . . n})
Matrizes : ||M||∞ = max({
n
X
j=1
|Mij| para i = 1 . . . n})
O número de condicionamento não depende do algoritmo numérico ou da precisão do ponto flutuante usado na hora de
resolver o sistema correspondente. Ele é utilizado para identificar matrizes mal condicionadas.
Em geral, um valor baixo para o número de condicionamento indica que o sistema é bem condicionado, contudo isto
depende do grau de precisão que se espera na solução do sistema.
Se o número de condicionamento é colocado como κ(A) ≈ 10m
, então m representa aproximadamente o número de
digitos de precisão perdidos ao resolver um sistema Ax = b. Por exemplo se m = 3 e a precisão dos componentes de b é
10−5
, a precisão dos componentes de x será de 10−5+3
= 10−2
.
Raul
Durand 25
27. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Análise de perturbação
A análise de perturbação é uma forma simples de avaliar se um sistema é mal condicionado. Dado um sistema Ax = b, o
nível de mal condicionamento de A pode ser avaliado através da solução do sistema com o vetor de termos independentes
alterado, e.g. b + δb
Ax̄ = b + δb
onde x̄ = x + δx. Após a solução deste sistema, um coeficiente de perturbação pode ser obtido como
p =
∥δx∥∞/∥x∥∞
∥δb∥∞/∥b∥∞
p representa a razão de variação do vetor x em função da variação do vetor b.
O número n = log10
∥δx∥∞
∥δb∥∞
representa aproximadamente o número de digitos de precisão pedidos em x devido à pertur-
bação em b. Por exemplo, se n = 2 e a perturbação nos componentes de b for da ordem de 10−3
, então a precisão dos
componentes de x após resolver o sistema Ax = b será de aproximadamente 10−3+2
= 10−1
.
Raul
Durand 26
28. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exemplo
O vetor de termos independentes do sistema abaixo possui precisão de 10−4
. Através de uma análise de perturbação,
determine se o sistema é mal condicionado considerando que os componentes da solução requerem precisão de pelo menos
10−2
. Repita a análise através do cálculo do número de condicionamento.
1.320 2.250
1.980 3.373
x1
x2
=
4.48211
6.72315
Solução:
A solução do sistema Ax = b fornece x = [3.38275 0.0075]T
. Por outro lado, considerando δb = [10−4
10−4
]T
, a solução
do sistema perturbado Ax = b + δb fornece x̄ = [3.34022 0.03245]T
. Portanto, δx = [−0.042538 0.025]T
.
Na sequência, o coeficiente de perturbação é dado por p = ∥δx∥∞/∥x∥∞
∥δb∥∞/∥b∥∞
= 845.431 e n = log10
∥δx∥∞
∥δb∥∞
= 2.629 da onde
n ≈ 3. Desta forma, a precisão dos componentes de x é aproximadamente de 10−4+3
= 10−1
que é menor à precisão
desejada. Assim, o sistema é considerado mal condicionado.
Por outro lado, utilizando a abordagem do número de condicionamento tem-se κ = 11401.48 ≈ 1.1×104
. Logo, a precisão
dos componentes de x seria de aproximadamente 10−4+4
= 100
, o que também leva à conclusão de que o sistema é mal
condicionado para a precisão desejada.
Raul
Durand 27
29. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Exercícios 5.3
1. Qual é a diferença entre os métodos Gauss-Jacobi e
Gauss-Seidel?
2. Programe uma função que determine se uma matriz
é diagonal dominante. Teste a função.
3. Modifique o programa Gauss-Seidel para o método
possa ser utilizado como uma função, por exemplo
gauss_seidel(A, B, X0) onde X0 contém os valores ini-
ciais. Teste a função com um exemplo.
4. O que é um sistema mal condicionado e o que é
número de condicionamento?
5. Qual é a utilidade de uma análise de perturbação?
6. Determine a solução do sistema utilizando o método
Gauss-Jacobi com precisão de 10−1
. Posteriormente
utilize o método Gauss-Seidel e compare o número
de iterações.
4x + 2y = 2
5y + z = −5
4w + y − 15z = 3
2w + 3z = 2
7. O vetor de termos independentes do sistema abaixo
foi determinado com precisão de 10−3
. Através de
uma análise de perturbação, determine se o sistema
é mal condicionado considerando que os compo-
nentes da solução requerem precisão de pelo menos
10−1
. Repita a análise utilizando o número de condi-
cionamento.
x1 − 3.000x2 + 2.001x3 = 1.299
3.999x1 + 2.000x2 + x3 = 2.788
2.500x1 − 0.499x2 + 1.500x3 = 0.111
8. Programe uma função que determine a norma in-
Raul
Durand 28
30. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
finita de uma matriz. Teste a função com um exem-
plo.
9. Programe uma função que determine o coeficiente
de perturbação de um sistema de equações. Teste a
função.
Raul
Durand 29
31. Métodos
Computacionais Sistemas de equações lineares 5 Sistemas de equações lineares
Logic will get you from A to B.
Imagination will take you everywhere.
Albert Einstein
Raul
Durand 30