Você está na página 1de 60

Universidade Federal de Uberlândia

Faculdade de Computação

Sistemas lineares

Prof. Renato Pimentel

2020/2

GBC051 Comp. Cient. Otim. 2020/2 1 / 120

Sumário

1 Sistemas lineares

GBC051 Comp. Cient. Otim. 2020/2 2 / 120


Sistemas lineares

Sistemas lineares são capazes de modelar diversos problemas, como


(FRANCO, 2006):
Determinação do potencial em redes elétricas;
Cálculos de tensão em estruturas metálicas;
cálculo da razão de escoamento num sistema hidráulico com
derivações (ramificações)
Previsão da concentração de reagentes sujeitos a reações químicas
simultâneas
Métodos numéricos para resolução de problemas de equações
diferenciais

GBC051 Comp. Cient. Otim. 2020/2 3 / 120

O modelo matemático em tais exemplos se reduz ao problema de resolver


um sistema com equações simultâneas.
Mais difícil quando as equações são não-lineares;
Maioria das aplicações, entretanto, envolve o caso linear.
▶ Deve-se então escolher o método numérico apropriado para preservar
a precisão e acurácia, quando em sistemas de grande porte.

GBC051 Comp. Cient. Otim. 2020/2 4 / 120


Equação linear

Uma equação é linear quando cada termo possui no máximo uma


variável, e as variáveis aparecem somente na primeira potência.
A equação 3x + 4y − 10z = 3, por exemplo, é linear;
Já xy − 3z = −3 não é linear, pois embora x e y apareçam no
primeiro termo com potência 1, somente uma delas poderia estar
presente
x 3 + y − z = 0 também é não-linear, devido à presença da potência 3
em x no primeiro termo.

GBC051 Comp. Cient. Otim. 2020/2 5 / 120

Sistema linear

Um sistema linear, de forma geral, é definido por m equações lineares e


envolvendo n variáveis ou incógnitas.
Uma solução para tal sistema é um conjunto de valores para as n
variáveis de modo que quando tais valores são substituídos nas m
equações elas se satisfazem simultaneamente.

GBC051 Comp. Cient. Otim. 2020/2 6 / 120


Por exemplo, o sistema linear
x +y +z =1



x −y −z =1

2x + 3y − 4z = 9

possui solução x = 1, y = 1 e z = −1.


▶ Ao substituir os valores acima no sistema, todas as igualdades são
satisfeitas.

GBC051 Comp. Cient. Otim. 2020/2 7 / 120

Forma matricial

O sistema do exemplo pode ser escrito na forma matricial como

1 1 1 1
    
x
1 −1 −1y  = 1
    

2 3 −4 z 9

Quando se efetua a multiplicação da matriz pelo vetor do lado


esquerdo, obtém-se o sistema na forma de equações anterior.

GBC051 Comp. Cient. Otim. 2020/2 8 / 120


Forma geral de um sistema linear
Um sistema linear com m equações e n variáveis tem a forma geral

a11 x1 + a12 x2 + · · · + a1n xn = b1





 a21 x1 + a22 x2 + · · · + a2n xn = b2



..
.





am1 x1 + am2 x2 + · · · + amn xn = bm

e respectiva forma matricial


    
a11 a12 a1n x1 b1
 a21 a22 a2n 
x2   b2 
    
  = 
    
    
am1 am2 amn xn bm
ou Ax = b, onde A é a matriz dos coeficientes, b é o vetor do termo
independente e x é o vetor solução.

GBC051 Comp. Cient. Otim. 2020/2 9 / 120

Classificação de sistemas lineares

Sistemas lineares são classificados de acordo com o número de soluções:


Sistema possível ou consistente:
▶ Determinado (SPD): admite solução única;
▶ Indeterminado (SPI): admite mais de uma solução.
Sistema impossível ou inconsistente: Não admite solução (solução
inexistente).

GBC051 Comp. Cient. Otim. 2020/2 10 / 120


Sistema possível e determinado

O sistema

x +y =6
(

x −y =2
admite como solução x = 4 e y = 2 (sistema possível).
Como nenhum outro par de valores x e y satisfaz o problema, então o
sistema acima é sistema possível e determinado (SPD).

GBC051 Comp. Cient. Otim. 2020/2 11 / 120

Sistema possível e indeterminado

Já o sistema

x +y =1
(

2x + 2y = 2
admite infinitas soluções do tipo (x , 1 − x )t , ou seja, basta escolher um
valor real de x e tomar y = 1 − x .
Exemplos de soluções são (0, 1)t , (1, 0)t , (1/2, 1/2)t , (π, 1 − π)t ,
(100, −99)t , etc.
Logo o sistema acima é possível e indeterminado (SPI).

GBC051 Comp. Cient. Otim. 2020/2 12 / 120


Sistema impossível

Por fim, o sistema

x +y =1
(

x +y =4
não admite solução.
Não é possível determinar valores de x e y de modo que
simultaneamente x + y = 1 e x + y = 4.
Logo o sistema acima é impossível (SI).

GBC051 Comp. Cient. Otim. 2020/2 13 / 120

Sistemas homogêneos e solução trivial

Sistema homogêneo
Um sistema é homogêneo se possui o lado direito (termo independente)
nulo, ou seja, temos Ax = 0.

Todo sistema homogêneo é possível, pois há pelo menos uma solução,


a solução x = 0.
A solução acima é denominada solução trivial do sistema
homogêneo.

GBC051 Comp. Cient. Otim. 2020/2 14 / 120


Exemplo: o sistema

x +y =0
(

2x + 3y = 0
é homogêneo. Note que x = 0 e y = 0 são valores de x , y que satisfazem
ambas as equações do sistema simultaneamente.

GBC051 Comp. Cient. Otim. 2020/2 15 / 120

Observações importantes
Embora para os exemplos vistos, considerou-se duas equações lineares e
duas variáveis, a classificação de sistemas é válida no caso geral m × n.
Neste curso serão discutidos métodos numéricos para a resolução de
sistemas lineares n × n – i.e. número de equações igual ao número de
variáveis.
Uma breve discussão teórica para o caso geral m × n pode ser
encontrada em (RUGGIERO; LOPES, 1996).

GBC051 Comp. Cient. Otim. 2020/2 16 / 120


Exercício

Para cada um dos 4 sistemas exemplificados anteriormente, trace no plano


cartesiano (x , y ) as retas correspondentes a cada uma de suas equações.
Em cada caso, o que se observa em relação a tais retas?

GBC051 Comp. Cient. Otim. 2020/2 17 / 120

Sistemas triangulares
Sistema triangular inferior
Um sistema Ax = b é triangular inferior quando todas as entradas da
matriz n × n de coeficientes acima da diagonal principal são nulas, ou seja,

aij = 0, i < j, ∀i = 1, . . . , n − 1, ∀j = 1, . . . , n

Logo,

0 0
 
a11
 
a a22 
 21 
A = a31 a32 a33
 

 
0 
 

an1 an2 an3 ann
Possibilidade de resolução de forma direta.

GBC051 Comp. Cient. Otim. 2020/2 18 / 120


Sistema triangular superior
Um sistema Ax = b é triangular superior quando todas as entradas da
matriz n × n de coeficientes abaixo da diagonal principal são nulas, ou
seja,

aij = 0, i > j, ∀i = 1, . . . , n, ∀j = 1, . . . , n − 1

Logo,
 
a11 a12 a13 a1n
 0 a
 22 a23 a2n 

 
A= a33 a3n 
 
 
 
 
0 0 ann
Possibilidade de resolução de forma retroativa.

GBC051 Comp. Cient. Otim. 2020/2 19 / 120

Solução retroativa

Exemplo: dado o sistema

3x1 + 4x2 − 5x3 + x4 = −10





x2 + x3 − 2x4 = −1





 4x3 − 5x4 = 3
2x4 = 2

Primeiro passo para resolução:


2
x4 = =1
2

GBC051 Comp. Cient. Otim. 2020/2 20 / 120


Segundo passo para resolução:

4x3 − 5x4 = 3
4x3 − 5 · 1 = 3
x3 = 2

Terceiro passo para resolução:

x2 + x3 − 2x4 = −1
x2 + 2 − 2 · 1 = −1
x2 = −1

Quarto e último passo para resolução:

3x1 + 4x2 − 5x3 + x4 = −10


3x1 + 4(−1) − 5 · 2 + 1 = −10
x1 = 1

GBC051 Comp. Cient. Otim. 2020/2 21 / 120

No caso geral:
x [ n ]= b [ n ]/ a [ n ][ n ]
para k = n -1 : 1
s = 0
para j = k +1 at é n
s = s + a [ k ][ j ]* x [ j ]
x [ k ] = ( b [ k ] - s ) / a [ k ][ k ]

GBC051 Comp. Cient. Otim. 2020/2 22 / 120


Sistemas equivalentes

Dois sistemas lineares são equivalentes quando admitem a mesma solução

Por exemplo, os sistemas

x1 + x2 = 6
(

x1 − x2 = 2
e

2x1 + 2x2 = 12
(

2x2 = 4
possuem a mesma solução (4, 2)t
Note que o segundo sistema é triangular superior.

GBC051 Comp. Cient. Otim. 2020/2 23 / 120

Métodos numéricos

A resolução numérica de sistemas lineares n × n compreende duas classes


de métodos numéricos:
1 Métodos diretos: Solução pode ser encontrada, de forma exata – a
menos de erros de truncamento/arredondamento – a partir de um
número finito de passos. Exemplos:
▶ Método da eliminação de Gauss.
▶ Fatoração LU (Decomposição LU).
2 Métodos iterativos: Solução a partir de uma sequência de
aproximações para o valor do vetor solução x, até que seja obtido
um valor x∗ que satisfaça à precisão pré-estabelecida, sob certas
condições. Exemplos:
▶ Método de Jacobi;
▶ Método de Gauss-Seidel.

GBC051 Comp. Cient. Otim. 2020/2 24 / 120


Método da eliminação de Gauss

Princípio:
Transformação do sistema linear a ser resolvido em um sistema linear
triangular superior equivalente;
Resolução do sistema linear triangular de forma retroativa.

GBC051 Comp. Cient. Otim. 2020/2 25 / 120

A transformação do sistema linear em triangular superior equivalente


envolve algumas etapas, como:
Troca da ordem das linhas;
Multiplicação de uma das equações por um número real não nulo;
Substituição de uma das equações por uma combinação linear dela
mesma com outra equação.

GBC051 Comp. Cient. Otim. 2020/2 26 / 120


Matriz aumentada

A matriz aumentada do sistema, de ordem n × (n + 1), é o ponto de


partida do método da eliminação de Gauss, sendo dada por
(0) (0) (0) (0)
 
a11 a12 ... a1n b1
 (0) (0) (0) (0) 
 a21 a22 ... a2n b2 
A |b = A|b = 
(0) (0)
.. .. .. .. .. ,
 

 . . . . . 

(0) (0) (0) (0)
an1 an2 . . . ann bn
onde o superíndice (0) denota que estamos no passo inicial do método.
Assume-se que det(A) ̸= 0, de forma que seja sempre possível reescrever o
(0)
sistema de modo que a11 ̸= 0.

GBC051 Comp. Cient. Otim. 2020/2 27 / 120

Etapa 1
Deve-se eliminar x1 das equações i = 2, 3, . . . , n.
Para isto, da i-ésima equação subtrai-se a 1a. equação multiplicada
por um multiplicador
(0)
ai1
mi1 = (0)
, i = 2, . . . , n ,
a11
(0)
onde o termo a11 ̸= 0 é denominado pivô para esta etapa.
Ao final, obtém-se
(1) (1) (1) (1)
 
a11 a12 ... a1n b1
 (1) (1) (1) 
 0 a22 ... a2n b2 
A |b = 
(1) (1)
.. .. .. .. ..
 
.


 . . . . 

(1) (1) (1)
0 an2 . . . ann bn

GBC051 Comp. Cient. Otim. 2020/2 28 / 120


A matriz acima é tal que:
A primeira linha se mantém:

(1) (0)
a1j = a1j , j = 1, . . . , n
(1) (0)
b1 = b1 .

Para as linhas i = 2, . . . , n:
(1)
ai1 = 0,
(1) (0) (0)
aij = aij − mi1 a1j , j = 2, . . . , n
(1) (0) (0)
bi = bi − mi1 b1 .

GBC051 Comp. Cient. Otim. 2020/2 29 / 120

Etapa 2

(1)
Existe ao menos um elemento ai2 ̸= 0, para i = 2, . . . , n. Caso
contrário, det(A(1) ) = 0, o que leva a det(A) = 0, contrariando a
hipótese inicial.
Logo, é possível reescrever a matriz A(1) |b(1) de forma que o novo
(1)
pivô, a22 , seja não nulo (troca-se a segunda linha por outra linha
abaixo da mesma, caso necessário).
Elimina-se x2 das equações i = 3, . . . , n, subtraindo-se da i-ésima
linha da matriz aumentada a 2a. linha multiplicada por
(1)
aai2
mi2 = (1)
, i = 3, . . . , n.
a22

GBC051 Comp. Cient. Otim. 2020/2 30 / 120


Ao final do processo, obtém-se
 
(2) (2) (2) (2) (2)
a11 a12 a13 ... a1n b1
(2) (2) (2) (2)
 

 0 a22 a23 ... a2n b2 

(2) (2) (2)
A(2) |b(2) =  0  , onde
 
0 a33 ... a3n b3
.. .. .. .. .. ..
 
. . . . . .
 
 
 
(2) (2) (2)
0 0 an3 . . . ann bn

(2) (1)
aij = aij , i = 1, 2 e j = 1, . . . , n
(2) (1)
bi = bi , i = 1, 2.
Para as linhas i = 3, . . . , n:
(2)
ai2 = 0,
(2) (1) (1)
aij = aij − mi2 a2j , j = 3, . . . , n
(2) (1) (1)
bi = bi − mi2 b2 .
GBC051 Comp. Cient. Otim. 2020/2 31 / 120

Sistema triangular equivalente

Após (n − 1) etapas obtém-se

 
(n−1) (n−1) (n−1) (n−1) (n−1)
a11 a12 a13 ... a1n b1
(n−1) (n−1) (n−1) (n−1)
 

 0 a22 a23 ... a2n b2 

(n−1) (n−1) (n−1)
A(n−1) |b(n−1) =  0 0
 
a33 ... a3n b3 .
.. .. .. .. .. ..
 
. . . . . .
 
 
 
(n−1) (n−1)
0 0 0 . . . ann bn

O sistema A(n−1) x = b(n−1) é triangular superior e equivalente ao sistema


original Ax = b.

GBC051 Comp. Cient. Otim. 2020/2 32 / 120


Exemplo (RUGGIERO; LOPES, 1996)

3x1 + 2x2 + 4x3 = 1




x1 + x2 + 2x3 = 2

4x1 + 3x2 − 2x3 = 3

GBC051 Comp. Cient. Otim. 2020/2 33 / 120

Etapa 1: eliminar x1 das eqs. 2 e 3


Matriz aumentada inicial:

 
(0) (0) (0) (0)
3 2 4 1
 
a11 a12 a13 b1
A(0) |b(0) =  (0) (0) (0) (0) = 1 1 2 2 
  
 a21 a22 a23 b2  
(0)
a31
(0)
a32
(0)
a33
(0)
b3 4 3 −2 3

Dados:

(0)
Pivô: a11 = 3 m21 = 1/3 m31 = 4/3

Operações:

L2 ← L2 − m21 L1 L3 ← L3 − m31 L1

GBC051 Comp. Cient. Otim. 2020/2 34 / 120


Etapa 2: eliminar x2 da eq. 3
Matriz aumentada após etapa 1:

 
(1) (1) (1) (1)
3 2 4 1
 
a11 a12 a13 b1
A(1) |b(1) =  0 1/3 2/3 5/3  = 
 0
(1) (1) (1)
  
a22 a23 b2
 

0 1/3 −22/3 5/3 0
(1)
a32
(1)
a33
(1)
b3

Dados:

(1) 1/3
Pivô: a22 = 1/3 m32 = =1
1/3

Operação:

L3 ← L3 − m32 L2

GBC051 Comp. Cient. Otim. 2020/2 35 / 120

Sistema triangular equivalente

Após as 2 etapas anteriores, obtém-se

3 2 4 1
 

A(2) |b(2) =  0 1/3 2/3 5/3 


 

0 0 −8 0
Logo, resolver Ax = b é equivalente a resolver o sistema

3x1 + 2x2 + 4x3 = 1




1/3x2 + 2/3x3 = 5/3

−8x3 = 0

A solução do sistema é dada por x∗ = (−3, 5, 0)t .

GBC051 Comp. Cient. Otim. 2020/2 36 / 120


Exemplo (FRANCO, 2006)

3x1 + 3x2 + x3 = 7


2x1 + 2x2 − x3 = 3

x1 − x2 + 5x3 = 5

Matriz aumentada inicial:

3 3 1 7
 

A(0) |b(0) =  2 2 −1 3 
 

1 −1 5 5

GBC051 Comp. Cient. Otim. 2020/2 37 / 120

Após a etapa 1, obtém-se

3 3 1 7
 

A (1) (1)
|b = 0 0 −5/3 −5/3 
 

0 −2 14/3 8/3
(1)
O elemento a22 = 0. Neste caso, é necessário permutar as linhas L2 e
L3 da matriz para prosseguir.
Após a permutação, obtém-se a matriz aumentada

3 3 1 7
 

A(1) |b(1) =  0 −2 14/3 8/3 


 

0 0 −5/3 −5/3
Como o sistema já está na forma triangular superior, pode-se fazer a
solução retroativa imediatamente, o que resulta na solução
x∗ = (1, 1, 1)t .

GBC051 Comp. Cient. Otim. 2020/2 38 / 120


Algoritmo da eliminação de Gauss
// Elimina ç ã o
para k = 1 : n -1
para i = k +1 : n
m = a [ i ][ k ]/ a [ k ][ k ]
a [ i ][ k ]=0
para j = k +1 : n
a [ i ][ j ] = a [ i ][ j ] - m * a [ k ][ j ]
b[i] = b[i] - m*b[k]

// Solu ç ã o retroativa
x [ n ]= b [ n ]/ a [ n ][ n ]
para k = n -1 : 1
s = 0
para j = k +1 : n
s = s + a [ k ][ j ]* x [ j ]
x [ k ] = ( b [ k ] - s ) / a [ k ][ k ]

GBC051 Comp. Cient. Otim. 2020/2 39 / 120

Estratégias de pivotamento

A cada etapa k do método da eliminação de Gauss requer a definição


de multiplicadores
(k−1)
aik
mik = (k−1)
, i = k + 1, . . . , n
akk
O pivô, que aparece no denominador de tais multiplicadores, deve ser
não nulo. Viu-se um exemplo em que uma permutação de linhas foi
necessária.
Quando o pivô não é nulo, mas é próximo de zero, resultados
imprecisos poderão ocorrer, devido à aritmética de precisão finita dos
cálculos computacionais (situação de mal condicionamento).
Estratégias de pivotamento podem contornar tais problemas.

GBC051 Comp. Cient. Otim. 2020/2 40 / 120


Pivotamento parcial

No início da etapa k, escolhe para pivô o elemento de maior módulo


entre os coeficientes
(k−1)
aik , i = k, k + 1, . . . , n
Trocam-se as linhas i e k, caso necessário.

GBC051 Comp. Cient. Otim. 2020/2 41 / 120

Exemplo (RUGGIERO; LOPES, 1996)

Seja o seguinte caso, após etapa 1:

3 2 1 −1 5
 
 0 1 0 3 6 
A (1) (1)
|b =
 
0 −3 −5 7 7

 
0 2 4 0 15

Para etapa k = 2:
Escolher novo pivô:
(1) (1)
max |ai2 | = |a32 | = 3
i=2,3,4

(1)
Logo, pivô é a32 = −3, encontrado na linha i = 3.

GBC051 Comp. Cient. Otim. 2020/2 42 / 120


Trocam-se as linhas k = 2 e i = 3, obtendo

3 2 1 −1 5
 
 0 −3 −5 7 7 
A (1) (1)
|b = .
 
 0 1 0 3 6 
0 2 4 0 15
Os multiplicadores são

1 2
m32 = = −1/3 m42 = = −2/3 .
−3 −3
O módulo dos multiplicadores é sempre menor que 1, o que evita a
ampliação de erros de arredondamento.

GBC051 Comp. Cient. Otim. 2020/2 43 / 120

Exemplo (RUGGIERO; LOPES, 1996)


Seja agora o sistema

0, 0002x1 + 2x2 = 5
(

2x1 + 2x2 = 6
Considerando-se aritmética de 3 dígitos, e a princípio sem usar o
pivotamento parcial:
!
0, 2 × 10−3 0, 2 × 1010, 5 × 101
A(0) |b(0) =
0, 2 × 101 0, 2 × 10 0, 6 × 101
1

Na etapa 1:

−3 0, 2 × 101 (1)
Pivô: 0, 2 × 10 m21 = = 0, 1 × 105
a21 = 0
0, 2 × 10−3

GBC051 Comp. Cient. Otim. 2020/2 44 / 120


Calculando-se a linha 2:

(1) (0) (0)


a22 = a22 − a12 × m21 = 0, 2 × 101 − (0, 2 × 101 ) × (0, 1 × 105 )
= 0, 2 × 101 − 0, 2 × 105 = −0, 2 × 105
(1) (0) (0)
b2 = b2 − b1 × m21 = 0, 6 × 101 − (0, 5 × 101 ) × (0, 1 × 105 )
= 0, 6 × 101 − 0, 5 × 105 = −0, 5 × 105

Logo,
!
0, 2 × 10−3 0, 2 × 101 0, 5 × 101
A(1) |b(1) =
0 −0, 2 × 105 −0, 5 × 105

GBC051 Comp. Cient. Otim. 2020/2 45 / 120

A solução do sistema A(1) x = b(1) é

−0, 2 × 105 x2 = −0, 5 × 105 ⇒ x2 = (0, 5)/(0, 2) = 0, 25 × 101

0, 2 × 10−3 x1 + 0, 2 × 101 × 0, 25 × 101 = 0, 5 × 101


⇒ 0, 2 × 10−3 x1 = 0, 5 × 101 − 0, 5 × 101 = 0

Logo, x∗ = (0, 2, 5)t .


x∗ não satisfaz equação 2:

2 × 0 + 2 × 2, 5 = 5 ̸= 6 .

GBC051 Comp. Cient. Otim. 2020/2 46 / 120


Exercício

Refaça a solução, usando o pivotamento parcial. Verifique se a solução


obtida satisfaz ambas as equações do sistema.

GBC051 Comp. Cient. Otim. 2020/2 47 / 120

Fatoração LU

O objetivo da fatoração LU é fatorar a matriz dos coeficientes A do


sistema linear em um produto de duas matrizes L (triangular inferior –
lower triangular ) e U (triangular superior – upper triangular )):

1 0 0
  
u u12 u13 u1n
 11
 0

ℓ
 21 1  u22 u23 u2n 


LU = 
  
ℓ31 ℓ32  
 
 
0 un−1,n 
  

ℓn1 ℓn2 ℓn,n−1 1 0 0 unn

Uma vez que A = LU, resolver o sistema linear Ax = b é equivalente


a resolver o sistema Ly = b, e em seguida o sistema Ux = y.

GBC051 Comp. Cient. Otim. 2020/2 48 / 120


Ax = b ⇒
(LU)x = b ⇒
L(Ux) = b

O produto Ux gera um vetor coluna n × 1, tal como o próprio vetor x.


Referindo-se a tal vetor como y e substituindo-se na última passagem:

Ly = b .
A resolução deste sistema é direta (matriz triangular inferior com
diagonal unitária) e fornece as componentes y1 , . . . , yn do vetor
coluna y.
Agora, basta resolver de forma retroativa o sistema

Ux = y ,
uma vez que U é matriz triangular superior, e obter a solução do
sistema original, x.
GBC051 Comp. Cient. Otim. 2020/2 49 / 120

Considerações

Teoricamente e computacionalmente, a fatoração LU é equivalente ao


método da eliminação de Gauss. Ambos requerem O(n3 ) operações
aritméticas.
Na prática, na fatoração LU guardamos em L os multiplicadores
usados para transformar A numa matriz triangular superior U.
A informação contida em L é particularmente útil se precisamos
resolver um sistema linear Ax = b′ , com a mesma matriz A mas um
diferente vetor do lado direito, pois não precisamos fatorar novamente
a matriz A como no MEG – bastante comum em aplicações!

GBC051 Comp. Cient. Otim. 2020/2 50 / 120


Obtenção dos fatores L e U

A obtenção dos fatores podem ser feitas de duas formas:


1 Através de fórmulas para os elementos ℓij e uij ;
2 Usando a ideia básica do método da eliminação de Gauss
(RUGGIERO; LOPES, 1996)

GBC051 Comp. Cient. Otim. 2020/2 51 / 120

Fórmulas para os elementos ℓij e uij

1a. linha de U: Faz-se o produto da 1a. linha de L por todas as


colunas de U, e a iguala com todos os elementos da 1a. linha de A,
assim:

1 · u11 = a11 ⇒ u11 = a11 ,





 1 · u12 = a12 ⇒ u12 = a12 ,



..



 .
1 · u1n = a1n ⇒ u1n = a1n ,

ou seja,

u1j = a1j , j = 1, 2, . . . , n .

GBC051 Comp. Cient. Otim. 2020/2 52 / 120


1a. coluna de L: Faz-se o produto de todas as linhas de L (da 2a.
até a n-ésima, pois ℓ11 = 1) pela primeira coluna de U, e a iguala com
todos os elementos da 1a. coluna de A (abaixo da diagonal principal):

a21

 ℓ21 · u11 = a 21 ⇒ ℓ21 = ,


 u 11
a


31
 ℓ31 · u11 = a31 ⇒ ℓ31 =


 ,
u11
..
.





an1


ℓn1 · u11 = an1 ⇒ ℓn1 =


 ,
u11
ou seja,

ai1
ℓi1 = , i = 2, . . . , n .
u11

GBC051 Comp. Cient. Otim. 2020/2 53 / 120

2a. linha de U: Faz-se o produto da 2a. linha de L por todas as


colunas de U, (da 2a. até a n-ésima, pois u21 = 0), e iguala com os
elementos da 2a. linha de A, (da diagonal principal em diante):

ℓ21 · u12 + u22 = a22 ⇒ u22 = a22 − ℓ21 u12 ,





 ℓ21 · u13 + u23 = a23 ⇒ u23 = a23 − ℓ21 u13 ,



..



 .
ℓ21 · u1n + u2n = a2n ⇒ u2n = a2n − ℓ21 u1n ,

ou seja,

u2j = a2j − ℓ21 u1j , j = 2, . . . , n .

GBC051 Comp. Cient. Otim. 2020/2 54 / 120


2a. coluna de L: Faz-se o produto de todas as linhas de L (da 3a.
até a n-ésima, pois ℓ12 = 0 e ℓ22 = 1) pela primeira coluna de U, e a
iguala com todos os elementos da 1a. coluna de A (abaixo da
diagonal principal):

a32 − ℓ31 · u12
+ = =


 ℓ 31 · u12 ℓ 32 · u22 a 32 ⇒ ℓ 32 ,
u




 22

a42 − ℓ41 · u12
 ℓ41 · u12 + ℓ42 · u22 = a42 ⇒ ℓ42 =

,


u22
 ..
.







an2 − ℓn1 · u12
ℓn1 · u12 + ℓn2 · u22 = an2 ⇒ ℓn2 =

,



u22
ou seja,

ai2 − ℓi1 · u12


ℓi2 = , i = 3, . . . , n .
u22

GBC051 Comp. Cient. Otim. 2020/2 55 / 120

Estendendo-se os cálculos para a 3a. linha de U, depois para a 3a.


coluna de L, 4a. linha de U, depois para a 4a. coluna de L, etc.,
chega-se às fórmulas gerais da i-ésima linha de U e da j-ésima coluna
de L:

i−1
uij = aij − j ≥i;
 X
ℓik ukj ,





k=1

 
 j−1 
ℓ = aij −
 X
ℓik ukj  ujj , i >j.

 ij



k=1

GBC051 Comp. Cient. Otim. 2020/2 56 / 120


Método 2: eliminação de Gauss

Considerando-se o método de Gauss, e partindo de um sistema teórico de


dimensão 3:

a11 x1 + a12 x2 + a13 x3 = b1




a21 x1 + a22 x2 + a23 x3 = b2

a31 x1 + a32 x2 + a33 x3 = b3

Diferente do método original, considera-se somente a matriz de


coeficientes:
 
(0) (0) (0)
a11 a12 a13
A(0) = =A
 (0) (0) (0) 
a a22 a23 
 21 
(0) (0) (0)
a31 a32 a33

GBC051 Comp. Cient. Otim. 2020/2 57 / 120

(0)
Supondo-se a11 ̸= 0, os multiplicadores da etapa 1 são:

(0) (0)
a21 a31
m21 = (0)
m31 = (0)
a11 a11

Para eliminar x1 das linhas i = 2, 3, multiplica-se a linha 1 por mi1 e


subtrai-se o resultado da linha i:

(1) (0)
a1j = a1j para j = 1, 2, 3
(1) (0) (0)
aij = aij − mi1 a1j para i = 2, 3 e j = 1, 2, 3

GBC051 Comp. Cient. Otim. 2020/2 58 / 120


Exercício

Mostre que a matriz obtida após a etapa 1, A(1) , é tal que

M(0) A(0) = A(1) ,


onde

1 0 0
 

M(0) = −m21 1 0
 

−m31 0 1

GBC051 Comp. Cient. Otim. 2020/2 59 / 120

(1)
Supondo-se agora que o o novo pivô a22 ̸= 0, define-se o
multiplicador
(1)
a32
m32 = (1)
.
a22
Para eliminar x2 da linha 3, multiplica-se a linha 2 por m32 e
subtrai-se o resultado da linha 3, de modo que:

(2) (1)
a1j = a1j para j = 1, 2, 3
(2) (1)
a2j = a2j para j = 2, 3
(2) (1) (1)
a3j = a3j − m32 a2j para j = 2, 3

GBC051 Comp. Cient. Otim. 2020/2 60 / 120


Exercício

Mostre que a matriz obtida após a etapa 2, A(2) , é tal que

M(1) A(1) = A(2) ,


onde

1 0 0
 

M(1) = 0 1 0
 

0 −m32 1

GBC051 Comp. Cient. Otim. 2020/2 61 / 120

Do processo anterior,

A(2) = M(1) A(1) = M(1) M(0) A(0) = M(1) M(0) A


A matriz A(2) é triangular superior;
Uma vez que

1 0 0 1 0 0
   
 −1  −1
M (0)
= m21 1 0 e M(1) = 0 1 0
   

m31 0 1 0 m32 1

(exercício), então

1 0 0
 
 −1  −1
M (0)
M (1)
= m21 1 0
 

m31 m32 1
(exercício).

GBC051 Comp. Cient. Otim. 2020/2 62 / 120


Portanto,

A = (M(1) M(0) )−1 A(2) = (M(0) )−1 (M(1) )−1 A(2) .


I.e.,
 (2) (2)

(2)
1 0 0 a11

a12 a13
A = m21 1 0
 0
(2)
a22
(2) 
a23  = LU
 

m31 m32 1 0 0
(2)
a23
Ou seja, L = (M(0) )−1 (M(1) )−1 e U = A(2) .

GBC051 Comp. Cient. Otim. 2020/2 63 / 120

Exemplo

3x1 + 2x2 + 4x3 = 1




x1 + x2 + 2x3 = 2

4x1 + 3x2 + 2x3 = 3

Neste caso,

3 2 4
 

A(0) = 1 1 2
 

4 3 2
Dados iniciais:

(0) (0)
(0) a21 1 a31 4
Pivô: a11 =3 m21 = = m31 = =
(0)
a11 3 (0)
a11 3

GBC051 Comp. Cient. Otim. 2020/2 64 / 120


Fazendo-se

L1 ← L1 L2 ← L2 − m12 L1 L3 ← L3 − m13 L1 ,

obtém-se

3 2 4
 

A(1) = 0 1/3 2/3 


 

0 1/3 −10/3
(1) (1)
Dado que agora a21 e a31 são nulos, podem-se armazenar os
multiplicadores m21 e m31 nestas posições:

3 42
 

A (1)
=  1/3 1/3 2/3 
 

4/3 1/3 −10/3

GBC051 Comp. Cient. Otim. 2020/2 65 / 120

Para a etapa 2:

(1)
(1) a32 1/3
Pivô: a22 = 1/3 m32 = = =1
(1)
a22 1/3

Fazendo-se

L1 ← L1 L2 ← L2 L3 ← L3 − m32 L2 :

3 2 4
 

A(2) =  1/3 1/3 2/3 


 

4/3 1 −4
Logo, os fatores L e U são:

1 0 0 3 2 4
   

L = 1/3 1 0 e U = 0 1/3 2/3 .


   

4/3 1 1 0 0 −4
GBC051 Comp. Cient. Otim. 2020/2 66 / 120
Resolução do sistema

Resolvendo-se Ly = b:

=1


y
 1
1/3y1 + y2 =2
4/3y + y + y = 3


1 2 3

Solução:y = (1, 5/3, 0)t .


Resolvendo-se agora Ux = y:

3x1 + 2x2 + 4x3 = 1




1/3x2 + 2/3x3 = 5/3

−4x3 = 0

Solução:y = (−3, 5, 0)t .

GBC051 Comp. Cient. Otim. 2020/2 67 / 120

Pivotamento parcial

O pivotamento parcial pode ser usado na fatoração LU, visando as


mesmas melhorias discutidas no método de eliminação de Gauss.
A permutação de linhas pode ser necessária inclusive quando
estamos resolvendo o sistema sem considerar a estratégia, ex.:
quando vetor nulo ou valor muito próximo de zero.
Para isto, considera-se a definição de matriz de permutação:
Matriz de permutação
Uma matriz de permutação de ordem n é uma matriz quadrada n × n
obtida a partir da matriz identidade In , pela troca de suas linhas.

GBC051 Comp. Cient. Otim. 2020/2 68 / 120


Uma matriz de permutação P, quando multiplicada à esquerda por
uma matriz quadrada A, provoca troca entre as linhas de A,
exatamente da forma como foram trocadas as linhas da matriz
identidade que definem P.
Exemplo:

0 1 0 3 1 4
   

P = 0 0 1 e A = 1 5 9
   

1 0 0 2 6 5
Fazendo-se a multiplicação:

0 1 0 3 1 4 1 5 9
    

PA = 0 0 11 5 9 = 2 6 5
    

1 0 0 2 6 5 3 1 4

GBC051 Comp. Cient. Otim. 2020/2 69 / 120

Dado um sistema linear Ax = b, e os fatores L e U obtidos pelo método


de eliminação de Gauss com pivotamento parcial. Então:
L e U são fatores de A′ , onde A′ é a matriz A com as linhas
permutadas:
A′ = PA.
As mesmas permutações são efetuadas no vetor b. Seja então
b′ = Pb.
O sistema linear A′ x = b′ é equivalente ao original e, se A′ = LU,
temos que

A′ x = b′ ⇒ PAx = Pb ⇒ LUx = Pb .
Assim, resolvem-se os sistemas:
1 Ly = Pb
2 Ux = y

GBC051 Comp. Cient. Otim. 2020/2 70 / 120


Exemplo

3x1 −4x2 +x3 = 9




x1 +2x2 +2x3 = 3

4x1 −3x3 = −2

Neste caso,

3 −4 1
 

A (0)
= 1 2 2
 

4 0 −3

GBC051 Comp. Cient. Otim. 2020/2 71 / 120

(0)
Etapa 1: permutam-se as linhas 1 e 3, pois o pivô é A31 = 4.

4 0 −3 0 0 1
   

A′(0) = 1 2 2 , P(0) = 0 1 0 e A′(0) = P(0) A(0)


   

3 −4 1 1 0 0

Após a eliminação em A′(0) :

4 0
 
−3
A(1) =  1/4 2 11/4 
 

3/4 −4 13/4

GBC051 Comp. Cient. Otim. 2020/2 72 / 120


(1)
Etapa 2: permutam-se as linhas 2 e 3, pois o pivô é A32 = −4.

4 0 1 0 0
   
−3
′(1)
A = 3/4 −4 13/4 , P(1) = 0 0 1 e A′(1) = P(1) A(1)
   

1/4 2 11/4 0 1 0

Após a eliminação em A′(1) :

4 0
 
−3
A(2) =  3/4 −4 13/4 
 

1/4 −1/2 35/8

GBC051 Comp. Cient. Otim. 2020/2 73 / 120

Logo, os fatores L e U são:

1 0 0 4 0
   
−3
L = 3/4 1 0 e 0 −4 13/4 .
   

1/4 −1/2 1 0 0 35/8


A′ = PA, onde P = P(1) P(0) , i.e.:

0 0 1 3 −4 1 4 0 −3
    

A′ = PA = 1 0 01 2 2  = 3 −4 1 
    

0 1 0 4 0 −3 1 2 2

GBC051 Comp. Cient. Otim. 2020/2 74 / 120


Resolução do sistema Ly = Pb:

0 0 1 9
    
−2
Pb = 1 0 0 3  =  9 
0 1 0 −2 3
▶ Logo, resolve-se
= −2


 y1
3/4y1 +y2 =9
1/4y1 −1/2y2 +y3 = 3

resultando em y = (−2, 21/2, 35/4)t .


Resolução do sistema Ux = y:

4x1 + 0x2 − 3x3 = −2




−4x2 + 13/4x3 = 21/2
35/8x3 = 35/4

▶ Logo, a solução do problema é x = (1, −1, 2)t

GBC051 Comp. Cient. Otim. 2020/2 75 / 120

Vetor das permutações

A permutações de linha feitas na permutação podem ser


representados por um vetor p, n × 1.
A k-ésima entrada do vetor, k = 1, . . . , n é definida por

pk = i, i = 1, . . . , n ,

se na etapa k a i-ésima linha da matriz original A(0) for a linha


pivotal.
Inicialmente, p = (1, 2, . . . , n)t .
Exemplo: no caso do exemplo anterior:
1 Inicialmente: p = (1, 2, 3)t ;
2 Etapa 1: linha 3 é pivotal ⇒ p = (3, 2, 1)t ;
3 Etapa 2: linha 3 de A(1) é pivotal ⇒ p = (3, 1, 2)t .

GBC051 Comp. Cient. Otim. 2020/2 76 / 120


Algoritmo da fatoração LU com pivotamento parcial I
1 // C á lculo dos fatores
2 para i = 1 : n
3 p[i] = i
4
5 para k = 1 : n -1
6 pv = abs ( a [ k ][ k ])
7 r = k
8 para i = k +1 : n
9 se ( abs ( a [ i ][ k ]) > pv )
10 pv = abs ( a [ i ][ k ])
11 r = i
12
13 se ( pv = 0)
14 fim // matriz é singular, algoritmo termina
15
16 se ( r =/= k ) // troca de linhas
17 aux = p [ k ]
18 p[k] = p[r]
19 p [ r ] = aux

GBC051 Comp. Cient. Otim. 2020/2 77 / 120

Algoritmo da fatoração LU com pivotamento parcial II


20 para j = 1 : n
21 aux = a [ k ][ j ]
22 a [ k ][ j ] = a [ r ][ j ]
23 a [ r ][ j ] = aux
24
25 para i = k +1 : n
26 m = a [ i ][ k ]/ a [ k ][ k ]
27 a [ i ][ k ] = m
28 para j = k +1 : n
29 a [ i ][ j ] = a [ i ][ j ] - m * a [ k ][ j ]
30
31 // Resolu ç ã o dos sistemas triangulares
32 // c = Pb
33 para i = 1 : n
34 r = p[i]
35 c[i] = b[r]
36
37
38
39 // Sistema Ly = c

GBC051 Comp. Cient. Otim. 2020/2 78 / 120


Algoritmo da fatoração LU com pivotamento parcial III

40 y [1] = c [1]
41 para k = 2 : n
42 s = 0
43 para j = 1 : k -1
44 s = s + a [ k ][ j ]* y [ j ]
45 y[k] = c[k] - s
46
47 // Sistema Ux = y
48 x [ n ]= b [ n ]/ a [ n ][ n ]
49 para k = n -1 : 1
50 s = 0
51 para j = k +1 : n
52 s = s + a [ k ][ j ]* x [ j ]
53 x [ k ] = ( b [ k ] - s ) / a [ k ][ k ]

GBC051 Comp. Cient. Otim. 2020/2 79 / 120

Avaliação de erros

No sistema Ax = b, onde
     
a11 a12 a1n x1 b1
a21 a22 a2n  x2   b2 
    
A= , x =  , b =   ,

     
     
an1 an2 ann xn bm
o erro da solução é dado por e = x − x̄.
Procedimento para determinação do erro:
1 Determinar b̄ = Ax̄;
2 Estimar o resíduo, dado por r = b − b̄ = b − Ax̄.

GBC051 Comp. Cient. Otim. 2020/2 80 / 120


Resíduo

Temos que

r = b − b̄ = Ax − Ax̄ = A (x − x̄) = Ae .

Verifica-se que:
▶ O resíduo não é o erro, apenas uma estimativa do mesmo;
▶ Quanto menor for o resíduo, menor será o erro.

GBC051 Comp. Cient. Otim. 2020/2 81 / 120

Refinamento da solução a partir do resíduo

Exemplo: refinar a solução do sistema


1, 5x1 + 5, 4x2 + 3, 3x3 = 10



4, 2x1 + 2, 3x2 + 4, 5x3 = 11, 7

2, 7x1 + 5, 7x2 + 7, 8x3 = 8, 9 ,

cuja solução encontrada pelo método de Gauss é dada por


x(0) = (3, 1252, 1, 7121, −1, 1918) – vetor solução.
O resíduo calculado é dado por

−0, 0002
 

r(0) = b − Ax(0) = −0, 0006


 

−0, 0010
Vê-se pelo resíduo que a precisão alcançada não foi satisfatória.

GBC051 Comp. Cient. Otim. 2020/2 82 / 120


Com o intuito de melhorar a solução, considera-se um novo vetor x(1)
chamado de vetor solução melhorado.
De forma que

x(1) = x(0) + δ (0) ,


onde δ (0) é o vetor de correção.
Assim:

Ax(1) = b ⇒
 
A x (0)
+δ (0)
=b⇒
Ax(0) + Aδ (0) = b ⇒
Aδ (0) = b − Ax(0) ⇒
Aδ (0) = r(0)

GBC051 Comp. Cient. Otim. 2020/2 83 / 120

Retornando-se ao exemplo,

1, 5 5, 4 3, 3 −0, 0002
    
δ1
4, 2 2, 3 4, 5δ2  = −0, 0006 ,
    

2, 7 5, 7 7, 8 δ3 −0, 0010
o vetor de correção encontrado é δ (0) = (0, 0000, 0, 0001, 0, 0002)t .
Desta forma, a solução melhorada será dada por

3, 1252
 

x(1) = x(0) + δ (0) =  1, 7122  ,


 

−1, 1916
cujo novo resíduo é dado por

0, 0000
 

r(1) = b − Ax(1) = 0, 0000 .


 

0, 0000

GBC051 Comp. Cient. Otim. 2020/2 84 / 120


Em exemplos onde o resíduo ainda não seja satisfeito pode-se utilizar
o mesmo procedimento:

x(2) = x(1) + δ (1) .


Assim, o novo vetor correção δ (1) , será calculado por

Aδ (1) = r(1)
Acha-se assim, sempre uma solução melhorada e com resíduo
tendendo a zero.

GBC051 Comp. Cient. Otim. 2020/2 85 / 120

Métodos iterativos

Como motivação para uso de métodos iterativos no lugar de métodos


diretos, é possível citar a ocorrência em larga escala de sistemas lineares
em cálculos de engenharia e modelagem científica, tais como:
Simulações de processos químicos;
Simulações de dispositivos e circuitos;
Modelagem de processos geocientíficos e geoambientais;
Análise estrutural;
Biologia estrutural;
Modelagem de processos físicos.

GBC051 Comp. Cient. Otim. 2020/2 86 / 120


Em tais problemas: tendência à existência de matrizes de coeficientes
grandes e esparsas:
▶ Grandes ⇒ Comum para n > 100 000;
▶ Esparsas ⇒ Maioria dos coeficientes nulos.
Resolução de sistemas esparsos por métodos diretos:
▶ Processos de triangularização e fatoração: Onerosos, por não
preservarem a esparsidade original, que pode ser útil por facilitar a
resolução do sistema.
Métodos mais apropriados para a resolução de sistemas de natureza
esparsa: Métodos iterativos: Exs.:
▶ Gauss-Jacobi
▶ Gauss-Seidel

GBC051 Comp. Cient. Otim. 2020/2 87 / 120

Funcionamento

A partir de uma estimativa inicial x(0) , métodos iterativos consistem em


encontrar uma sequência de estimativas x(k) que convirja para uma
solução do sistema de equações lineares após um número suficientemente
grande de iterações:
       
(0) (1) (2) (k)
x1 x1 x1 x1
 (0)   (1)   (2)   (k) 
x  x  x  x 
 2   2   2   2 
 (0)   (1)   (2)   (k) 
x 
 3  ⇒ x 
 3  ⇒ x 
 3  ⇒ ··· ⇒ x 
 3 
       
       
       
(0) (1) (2) (k)
xn xn xn xn

GBC051 Comp. Cient. Otim. 2020/2 88 / 120


Transforma-se o sistema linear Ax = b num sistema x = Cx + g, de
modo que, conhecida a estimativa inicial x(0) :

x(1) = Cx(0) + g Primeira aproximação


x(2) = Cx(1) + g Segunda aproximação
..
.
x(k+1) = Cx(k) + g

A sequência de aproximações x(0) , x(1) , . . . , x(k) , . . . é tal que se

lim x(k) = α
k→∞

então α = Cα + g, i.e., α é solução de Ax = b.

GBC051 Comp. Cient. Otim. 2020/2 89 / 120

Vantagem
Menos suscetíveis ao acúmulo de erros de arredondamento do que
métodos diretos, como o método de eliminação de Gauss.

Como todo processo iterativo, estes métodos sempre apresentarão um


resultado aproximado, que será tão próximo do real conforme o
número de iterações realizadas.
Além disto, também é preciso ter cuidado com a convergência de tais
métodos.

GBC051 Comp. Cient. Otim. 2020/2 90 / 120


Método de Gauss-Jacobi
Toma-se o sistema original

a11 x1 + a12 x2 + · · · + a1n xn = b1





 a21 x1 + a22 x2 + · · · + a2n xn = b2



.. ..
. .





an1 x1 + an2 x2 + · · · + ann xn = bn

e – supondo-se aii ̸= 0, i = 1, . . . , n – isola-se o vetor x pela diagonal:


1

x = (b1 − a12 x2 − a13 x3 − · · · − a1n xn )

1

a



 11
1


x2 = (b2 − a21 x1 − a23 x3 − · · · − a2n xn )



a22
 .. ..
. .





1


xn = (bn − an1 x1 − an2 x2 − · · · − an,n−1 xn−1 )



ann
GBC051 Comp. Cient. Otim. 2020/2 91 / 120

Assim, obtém-se x = Cx + g, onde:

0 −a12 /a11 −a13 /a11 −a1n /a11


 
−a21 /a22
 0 −a23 /a22 −a2n /a22 

C=
 
−a31 /a33 −a32 /a33 

 
 −an−1,n /an−1,n−1 
−an1 /ann −an2 /ann −an,n−1 /ann 0
 
b1 /a11
b2 /a22 
eg= .
 
 
bn /ann

GBC051 Comp. Cient. Otim. 2020/2 92 / 120


Distância entre duas iterações:

(k) (k−1)
d (k)
= max xi − xi
i

Critério de parada:

d (k)
dr(k) = (k) < ε

maxi xi

GBC051 Comp. Cient. Otim. 2020/2 93 / 120

Exemplo (RUGGIERO; LOPES, 1996)

 10x1 + 2x2 + x3 = 7


x1 + 5x2 + x3 = −8

2x1 + 3x2 + 10x3 = 6

Determinação de C e g:

0 7/10
   
−1/5 −1/10
C = −1/5 0 −1/5  e g = −8/5 .
   

−1/5 −3/10 0 3/5


Serão considerados x(0) = [0, 7, −1, 6, 0, 6]t = g e ε = 0, 05.

GBC051 Comp. Cient. Otim. 2020/2 94 / 120


A partir da estimativa inicial, obtém-se:

0, 96
 

x(1) = Cx + g = −1, 86 .


(0)  

0, 94
▶ A partir dos valores obtidos,

(1) (0) (1) (0) (1) (0)
x1 − x1 = 0, 26 x2 − x2 = 0, 26 x3 − x3 = 0, 34

Logo, d (1) = max (0, 26, 0, 26, 0, 34) = 0, 34 e portanto

d (1) 0, 34
dr(1) = = ≈ 0, 1828 > ε
max (|0, 96|, | − 1, 86|, |0, 94|) 1, 86

GBC051 Comp. Cient. Otim. 2020/2 95 / 120

Prosseguindo:

0, 978
 
0, 12
x (2)
= Cx (1)
+ g = −1, 98 dr(2) = = 0, 0606 > ε ,
 
1, 98
0, 966
0, 9994
 
0, 0324
x(3) = Cx(2) + g = −1, 9888 dr(3) = = 0, 0163 < ε .
 
1, 9888
0, 9984
Logo, a solução aproximada x̄ do sistema por Gauss-Jacobi é

0, 9994
 

x̄ = x(3) = −1, 9888 .


 

0, 9984

Observação
Embora se considerou x(0) = g, a escolha é arbitrária, pois a convergência
ou não do método independe da aproximação inicial escolhida.
GBC051 Comp. Cient. Otim. 2020/2 96 / 120
Método de Gauss-Seidel

Similarmente ao método de Gauss-Jacobi, conhecida a estimativa


inicial, x(0) , obtém-se consecutivamente os vetores x(1) , x(2) , . . . , x(k) .
(k+1)
Todavia, ao se calcular xj , usam-se todos os valores
(k+1) (k+1) (k+1)
x1 , x2 , . . . , xj−1 que já foram calculados e os valores
(k) (k) (k)
xj+1 , xj+2 , . . . , xn restantes.

GBC051 Comp. Cient. Otim. 2020/2 97 / 120

Logo, sendo conhecida aproximação x(k) anterior, obtém-se x(k+1)


por meio da sequência de operações

1 
 
(k+1) (k) (k)
x1 = b1 − a12 x2 − a13 x3 − · · · − a1n xn(k)





 a 11
1 

 
(k+1) (k+1) (k)

= b2 − a21 x1 (k)
− a23 x3 − · · · − a2n xn

x2


a

22


1 

 
(k+1) (k+1) (k+1) (k)
x 3 = b3 − a31 x1 − a32 x2 − a34 x4 − ··· − a3n xn(k)


 a33
.. ..


. .





1 

 
(k+1) (k+1) (k+1)

(k+1)
=

xn

 bn − an1 x1 − an2 x2 − · · · − an,n−1 xn−1
a

nn

GBC051 Comp. Cient. Otim. 2020/2 98 / 120


Exemplo (RUGGIERO; LOPES, 1996)

5x1 + x2 + x3 = 5



3x1 + 4x2 + x3 = 6

3x1 + 3x2 + 6x3 = 0

Considerar x(0) = [0, 0, 0]t e ε = 0, 05.


Processo iterativo:

(k+1) (k) (k)


 x1 = 1 − 0, 2x2 − 0, 2x3

(k+1) (k+1) (k)
x2 = 1, 5 − 0, 75x1 − 0, 25x3

 (k+1) (k+1) (k+1)
= 0 − 0, 5x1 − 0, 5x2

x3 .

GBC051 Comp. Cient. Otim. 2020/2 99 / 120

Iteração k = 0:

(1)


x1 = 1 − 0 − 0 = 1

(1)
x2 = 1, 5 − 0, 75 × 1 − 0 = 0, 75

 (1)
= −0, 5 × 1 − 0, 5 × 0, 75 = −0, 875 .

x3
Portanto, x(1) = (1, 0, 75, −0, 875)t .
Diferença:

(1) (0) (1) (0) (1) (0)
x1 − x1 = 1 x2 − x2 = 0, 75 x3 − x3 = 0, 875

Logo, d (1) = max (1, 0, 75, 0, 875) = 1 e portanto

d (1)
dr(1) = =1>ε
max (|1|, |0, 75|, | − 0, 875|)

GBC051 Comp. Cient. Otim. 2020/2 100 / 120


Iteração k = 1:

(2)


x1 = 1 − 0, 2 × 0, 75 + 0, 2 × 0, 875 = 1, 025

(2)
x2 = 1, 5 − 0, 75 × 1, 025 + 0, 25 × 0, 875 = 0, 95

 (2)
= −0, 5 × 1, 025 − 0, 5 × 0, 95 = −0, 9875 .

x3
Portanto, x(2) = (1, 025, 0, 95, −0, 9875)t .
Diferença:

(2) (1) (2) (1) (2) (1)
x1 − x1 = 0, 025 x2 − x2 = 0, 20 x3 − x3 = 0, 1125

Logo, d (2) = max (0, 025, 0, 20, 0, 1125) = 0, 2 e portanto

d (2) 0, 2
dr(2) = = ≈ 0, 1951 > ε
max (|1, 025|, |0, 95|, | − 0, 9875|) 1, 025

GBC051 Comp. Cient. Otim. 2020/2 101 / 120

Prosseguindo:

1, 0075
 

x(3) =  0, 9912  dr(3) = 0, 0409 < ε .


 

−0, 9993

Logo, a solução aproximada x̄ do sistema por Gauss-Seidel é

1, 0075
 

x̄ = x(3) =  0, 9912  .
 

−0, 9993

GBC051 Comp. Cient. Otim. 2020/2 102 / 120


Forma matricial do Gauss-Seidel
O esquema iterativo do método de Gauss-Seidel pode ser reescrito na
forma matricial.
Para isto, considera-se a forma

A=L+D+R
onde:
▶ L: Matriz triangular inferior com diagonal nula (contém todos os
elementos aij de A abaixo da diagonal, e entradas restantes nulas);
▶ D: Matriz diagonal com dii = aii ̸= 0, i = 1, . . . , n;
▶ R: Matriz triangular superior com diagonal nula (contém todos os
elementos aij de A acima da diagonal, e entradas restantes nulas).
Portanto, obtém-se, no sistema original,

Ax = b ⇒ (L + D + R)x = b .

GBC051 Comp. Cient. Otim. 2020/2 103 / 120

Da identidade anterior, segue – isolando-se D do lado esquerdo – que:

Dx = b − Lx − Rx .

Multiplicando-se pela inversa de D à esquerda, obtém-se

x = D−1 b − D−1 Lx − D−1 Rx


No caso específico do Gauss-Seidel, x(k+1) é dado por, na forma
acima:

x(k+1) = D−1 b − D−1 Lx(k+1) − D−1 Rx(k) .

GBC051 Comp. Cient. Otim. 2020/2 104 / 120


Agora, pode-se escrever o método na forma x(k+1) = Cx(k) + g,
considerando A = D(L1 + I + R1 ), onde I é a identidade (n × n) e:

0 0
 
 
 a /a 
 21 22 
L1 = a31 /a33 a32 /a33 ,
 
 
 
 
an1 /ann an2 /ann an,n−1 /ann 0
0 a12 /a11 a13 /a11
 
a1n /a11
 

 a23 /a22 a2n /a22 

R1 =  .
 
 
an−1,n /an−1,n−1 
 

0 0

L1 e R1 são obtidas a partir das duas fatorações de A: L1 = D−1 L e


R1 = D−1 R.
GBC051 Comp. Cient. Otim. 2020/2 105 / 120

De Ax = b:

D(L1 + I + R1 )x = b ⇔
(L1 + I + R1 )x = D−1 b ⇔
x = −L1 x − R1 x + D−1 b .

Logo,

x(k+1) = −L1 x(k+1) − R1 x(k) + D−1 b .


Basta agrupar os fatores envolvendo x da iteração (k + 1) do lado
esquerdo: de (I + L1 )x(k+1) = −R1 x(k) + D−1 b obtém-se

x(k+1) = − (I + L1 )−1 R1 x(k) + (I + L1 )−1 D−1 b .


| {z } | {z }
C g

GBC051 Comp. Cient. Otim. 2020/2 106 / 120


Critérios de convergência

Processo iterativo: Convergência para a solução exata não


garantida para qualquer sistema.
Necessidade de determinação de certas condições que devem ser
satisfeitas por um sistema linear para a garantia da convergência do
método.
Critérios de determinação das condições de convergência:
1 Critério de Sassenfeld
2 Critério das linhas

GBC051 Comp. Cient. Otim. 2020/2 107 / 120

Critério de Sassenfeld

A partir das quantidades βi dadas por

n
1
β1 =
X
· |a1j | ,
|a11 | j=2
 
i−1 n
1 
βi = |aij | · βj + |aij | , i = 2, . . . , n ,
X X
·
|aii | j=1 j=i+1

o critério de Sassenfeld garante que o método de Gauss-Seidel


converge para o sistema Ax = b se M < 1, onde

M = max βi
1≤i≤n

GBC051 Comp. Cient. Otim. 2020/2 108 / 120


Exemplo
2x1 + x2 − 0, 2x3 + 0, 2x4 = 0, 4



 0, 6x1 + 3x2 − 0, 6x3 − 0, 3x4 = −7, 8



 −0, 1x1 − 0, 2x2 + x3 + 0, 2x4 = 1
0, 4x1 + 1, 2x2 + 0, 8x3 + 4x4 = −10

Pelo critério de Sassenfeld:

1
β1 = (1 + 0, 2 + 0, 2) = 0, 7 ,
2
1
β2 = (0, 6 × 0, 7 + 0, 6 + 0, 3) = 0, 44 ,
3
1
β3 = (0, 1 × 0, 7 + 0, 2 × 0, 44 + 0, 2) = 0, 358 ,
1
1
β4 = (0, 4 × 0, 7 + 1, 2 × 0, 44 + 0, 8 × 0, 358) = 0, 2736 .
4

GBC051 Comp. Cient. Otim. 2020/2 109 / 120

Logo,

M = max βi = max{0, 7, 0, 44, 0, 358, 0, 2736} = 0, 7 < 1


1≤i≤4

Portanto, a convergência da solução do sistema pelo método de


Gauss-Seidel está garantida para o sistema.

GBC051 Comp. Cient. Otim. 2020/2 110 / 120


Critério das linhas

Segundo tal critério, o método de Gauss-Seidel (bem como o método


de Gauss-Jacobi) converge para a solução do sistema se
n
|aij | < |aii | , i = 1, 2, . . . , n .
X

j=1,j̸=i

GBC051 Comp. Cient. Otim. 2020/2 111 / 120

No caso do exemplo anterior:

|a11 | = 2 > |a12 | + |a13 | + |a14 | = 1 + 0, 2 + 0, 2 = 1, 4


|a22 | = 3 > |a21 | + |a23 | + |a24 | = 0, 6 + 0, 6 + 0, 3 = 1, 5
|a33 | = 1 > |a31 | + |a32 | + |a34 | = 0, 1 + 0, 2 + 0, 2 = 0, 5
|a44 | = 4 > |a41 | + |a42 | + |a43 | = 0, 4 + 1, 2 + 0, 8 = 2, 4

Logo, o sistema também atende ao critério das linhas.

GBC051 Comp. Cient. Otim. 2020/2 112 / 120


Observações

Tanto o critério de Sassenfeld quanto o critério das linhas são


condições suficientes, porém não necessárias, para a convergência do
método de Gauss-Seidel para um dado sistema linear.
▶ Um dado sistema linear pode não satisfazer estes critérios e ainda
convergir.
Um sistema pode não satisfazer o critério das linhas, porém sua
convergência será garantida se satisfizer o critério de Sassenfeld.
A convergência do método de Gauss-Jacobi, considera-se apenas o
critério das linhas.

GBC051 Comp. Cient. Otim. 2020/2 113 / 120

Exercícios I

1 Resolver o sistema abaixo, com precisão de 4 casas decimais, usando


o Método de Eliminação de Gauss sem estratégia de pivotamento.

1, 5x1 + 5, 4x2 + 3, 3x3 = 10





4, 2x1 + 2, 3x2 + 4, 5x3 = 11, 7

2, 7x1 + 5, 7x2 + 7, 8x3 = 8, 9

2 Repita a resolução do sistema anterior, agora usando pivotamento.


Compare os resultados, substituindo-se os valores x1 , x2 , x3
encontrados em ambos os casos no sistema e verificando se as
equações do mesmo são satisfeitas.
3 É possível resolver o sistema do item 1 por meio de um método
iterativo? Analise, usando o critério de Sassenfeld.

GBC051 Comp. Cient. Otim. 2020/2 114 / 120


Exercícios II
4 Usando fatoração LU com pivotamento parcial, resolva o sistema

3, 0 −1, 0 1, 0 5, 0
    
x1
0, 5 2, 0 1, 0x2  = −0, 5
    

4, 0 −2, 0 6, 0 x3 12, 0
5 Considere o sistema dado por

2, 0x + 5, 0y = −3, 0
(

3, 0x + 1, 0y = 2, 0

1 Use Gauss-Seidel e aproximação inicial x(0) = (0, 0)t para encontrar a


solução, com 4 iterações ao máximo e tolerância 0,01 (o que for
atingido primeiro).
2 Refaça o item anterior, permutando-se as equações. O que se pode
concluir, ao comparar os resultados obtidos em cada um dos casos?

GBC051 Comp. Cient. Otim. 2020/2 115 / 120

Exercícios III
6 O sistema dado por

3, 3330 15920 −10, 333 15913


    
x1
2, 2220 16, 710 9, 6120 x2  = 28, 544
    

1, 5611 5, 1791 1, 6852 x3 8, 4254


tem como solução dada pelo método da eliminação de Gauss o vetor
x̄ = (1, 2001, 0, 99991, 0, 92538)t , para 5 dígitos significativos.
1 Encontre o resíduo a partir de tal solução, e promova o refinamento da
mesma a partir de tal informação.
2 Verifique se a nova solução satisfaz o sistema: qual o novo resíduo?
7 Seja o sistema

5 2 −2 1
    
x1
3 3 −1x2  = 0 .
    

1 2 5 x3 0

GBC051 Comp. Cient. Otim. 2020/2 116 / 120


Exercícios IV

1 Verifique se o mesmo satisfaz o critério das linhas e o de Sassenfeld.


2 O sistema pode ser reescrito como

5 1 2 0
    
x3
−2 5 2x1  = 1 .
−1 3 3 x2 0

O método de Gauss-Seidel converge para o mesmo? Justifique.


8 Classifique os sistemas abaixo com relação à quantidade de soluções,
usando o método de eliminação de Gauss e três casas decimais.
1
3x1 − 2x2 + 5x3 + x4 = 7



 −6x + 4x − 8x + x = −9

1 2 3 4


 9x1 − 6x2 + 19x3 + x4 = 23
6x1 − 4x2 − 6x3 + 15x4 = 11

GBC051 Comp. Cient. Otim. 2020/2 117 / 120

Exercícios V

0, 252x1 + 0, 36x2 + 0, 12x3 = 7




0, 112x1 + 0, 16x2 + 0, 24x3 = 8
0, 147x1 + 0, 21x2 + 0, 25x3 = 9

9 Calcule a fatoração LU de A, se possível:

1 1 1
 

A = 2 1 −1 .
 

3 2 0
10 Aplique analítica e graficamente os métodos de Gauss-Jacobi e
Gauss-Seidel no sistema:

2x1 + 5x2 = −3
(

3x1 + x2 = 2

GBC051 Comp. Cient. Otim. 2020/2 118 / 120


Exercícios VI

11 Resolva o sistema abaixo com o método da eliminação de Gauss com


pivotamento parcial, e aritmética de ponto flutuante com dois dígitos
significativos:

3, 1 −1, 3 1, 2 5, 5
    
x1
0, 5 2, 2 1, 1x2  = 0, 77 .
    

4, 2 −2, 0 6, 0 x3 13
12 Refinamento do item anterior:
1 Calcule o resíduo da solução obtida.
2 É necessário resolver um sistema linear para obter o vetor de correção.
Mostre que é possível empregar Gauss-Seidel para resolver tal sistema.
3 Calcule uma iteração do método de Gauss-Seidel, partindo da
aproximação inicial (0, 0, 0)t e obtenha uma nova solução para o
sistema dado.

GBC051 Comp. Cient. Otim. 2020/2 119 / 120

Referências

1 FRANCO, N. B. Cálculo numérico. São Paulo: Pearson Prentice Hall,


2006.
2 RUGGIERO, M. A. G.; LOPES, V. L. R. Cálculo numérico: aspectos
teóricos e computacionais. 2ª. ed. São Paulo: Makron Books. 1996.
3 VALLE, M. E. MS211 – Cálculo Numérico. Aula 2 – Eliminação de
Gauss e Fatoração LU. Disponível em: http:
//www.ime.unicamp.br/~valle/Teaching/MS211/Aula02.pdf.
Acesso em: 23 de mar. de 2021
Os materiais de parte desta seção foram gentilmente cedidos por Mauricio
C. Escarpinati (FACOM/UFU)
Adaptações: Renato Pimentel, FACOM/UFU

GBC051 Comp. Cient. Otim. 2020/2 120 / 120

Você também pode gostar