Buscar

Métodos para Solução de Sistemas Lineares

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Me´todos diretos e iterativos para a soluc¸a˜o de
Sistemas de Equac¸o˜es Lineares
Rafael K. S. Silva, Rodrigo Calheiros
Pontif´ıcia Universidade Cato´lica do Rio Grande do Sul
Avenida Ipiranga 6681, Telefone 5133203558 ramal 4463, Fax: 5133203758
{rksilva, rcalheiros}@inf.pucrs.br
Abstract
Resolution of linear equations systems
(SELAS) is much useful to solve several prob-
lems in different areas. This work shows the
concepts and use forms of the main direct and
iterative methods to SELA’s resolution. More
precisely, it presents the Gauss, Gauss-Jacobi e
Gauss-Seidel methods. Furthermore, other re-
sources used in SELA’s solution are presented.
Resumo
A resoluc¸a˜o de sistemas de equac¸o˜es li-
neares (SELAS) e´ bastante u´til para solucionar
diversos problemas de variadas a´reas. Este tra-
balho aborda os conceitos e formas de utilizac¸a˜o
dos principais me´todos diretos e iterativos para
a resoluc¸a˜o de SELAS. Mais precisamente,
apresenta-se os Me´todos de Gauss, Gauss-Jacobi
e Gauss-Seidel. Ale´m disso, sa˜o apresentados
outros recursos utilizados na soluc¸a˜o de SELAS.
1 Introduc¸a˜o
Muitos problemas de matema´tica
nume´rica sa˜o modelados em func¸a˜o de um
Sistema de Equac¸o˜es Lineares (SELA). Isso
vale em geral para o tratamento nume´rico de
equac¸o˜es funcionais lineares que ocorrem, entre
outras, como equac¸o˜es diferenciais parciais ou
ordina´rias e equac¸o˜es integrais que surgem em
diversos problemas da F´ısica e Engenharia [2].
Um dos problemas mais comuns em si-
tuac¸o˜es tecnolo´gicas e´ a soluc¸a˜o de m equac¸o˜es
lineares com n inco´gnitas, descrito como A−→x =
−→
b . O tratamento dessa espe´cie de problema
e sua teoria e´ feito na A´lgebra Linear. Este
trabalho se ocupara´ apenas com o tratamento
nume´rico que o problema requer. Mais precisa-
mente, sera˜o abordadas duas classes gerais de al-
goritmos para a resoluc¸a˜o de equac¸o˜es A−→x =
−→
b .
Trata-se dos Me´todos Diretos e Iterati-
vos para resoluc¸a˜o de SELAS. Um me´todo e´
dito direto quando a soluc¸a˜o exata −→x e´ ob-
tida realizando-se um nu´mero finito de operac¸o˜es
aritme´ticas, em precisa˜o infinita. Um me´todo
e´ dito iterativo (iterativo do grego repetic¸a˜o)
quando a soluc¸a˜o −→x e´ obtida como limite de
uma sequ¨eˆncia de aproximac¸o˜es sucessivas −→x 1,
−→x 2 e assim sucessivamente.
A sec¸a˜o 2 apresenta a ide´ia ba´sica de SE-
LAS, bem como algumas aplicac¸o˜es baseadas na
resoluc¸a˜o de sistemas de equac¸o˜es lineares. A
sec¸a˜o 3 aborda o uso dos Me´todos Diretos, ou
seja, o me´todo de Gauss simples e o me´todo de
Gauss com pivotamento. A sec¸a˜o 4 trata do pro-
blema de condicionamento em SELAS. A sec¸a˜o
5 apresenta a te´cnica de refinamento. A sec¸a˜o 6
aborda o uso dos Me´todos Iterativos de Gauss-
Seidel e Gauss-Jacobi, bem como os crite´rios
de convergeˆncia e uma ana´lise da complexida-
des dos mesmos. Por fim, a sec¸a˜o 7 apresenta
uma breve conclusa˜o sobre o assunto.
2 Sistemas de Equac¸o˜es Li-
neares
Sistemas de Equac¸o˜es Lineares (SELAS)
sa˜o sistemas compostos de um conjunto de
equac¸o˜es lineares, cuja forma geral de cada uma
e´ do tipo


a11x1 + a12x2 + . . . + a1jxj = b1
a21x1 + a22x2 + . . . + a2jxj = b2
...
ai1x1 + ai2x2 + . . . + aijxj = bi
(1)
O nome equac¸a˜o linear e´ devido ao fato
de que equac¸o˜es do tipo ax = b gerarem gra´ficos
que tem a forma de uma reta [1].
Sistemas lineares podem ser representa-
dos mais compactamente na forma de matrizes.
Um sistema de i equac¸o˜es de j inco´gnitas pode
ser representado em uma matriz i×j que conte´m
os seus coeficientes (termos amn da equac¸a˜o 1).
Uma matriz aumentada e´ uma matriz onde os
termos independentes (bn da equac¸a˜o 1) esta˜o
inclu´ıdos na matriz.
Em geral, um sistema de equac¸o˜es de j
varia´veis possui como soluc¸a˜o um conjunto de s
valores, que, ao serem substitu´ıdos no sistema
pelas suas respectivas varia´veis, validam todas
as equac¸o˜es do sistema. O gra´fico de um sis-
tema de duas inco´gnitas deste tipo (sistema com-
pat´ıvel determinado) e´ um conjunto de retas que
se interceptam em um u´nico ponto (figura 1(a)).
Pore´m, existem situac¸o˜es onde um sis-
tema de n equac¸o˜es na˜o gerara´ n varia´veis: o
sistema pode ter infinita soluc¸o˜es ou nenhuma
soluc¸a˜o. A primeira situac¸a˜o ocorre quando o
sistema possui menos equac¸o˜es do que varia´veis
ou quando uma equac¸a˜o e´ uma combinac¸a˜o li-
near das demais equac¸o˜es (isto e´, pode ser obtida
a partir da soma do produto de outras equac¸o˜es
do sistema por valores escalares). Neste caso,
diz-se que o sistema e´ compat´ıvel e indetermi-
nado, e o gra´fico gerado e´ o de retas que coinci-
dem (figura 1(b)).
A segunda situac¸a˜o ocorre quando os ter-
mos do lado esquerdo da equac¸a˜o podem ser
gerados pela combinac¸a˜o linear dos termos do
lado esquerdo das outras equac¸o˜es do sistema,
mas a mesma combinac¸a˜o na˜o e´ verificada no
lado direito. Sistemas deste tipo sa˜o ditos in-
compat´ıveis.
2.1 Aplicac¸o˜es de SELAS
A resoluc¸a˜o de sistemas de equac¸o˜es line-
ares e´ u´til para a soluc¸a˜o de diversos problemas.
Algumas aplicac¸o˜es sa˜o descritas a seguir [1, 2].
• Circuitos ele´tricos resistivos podem ser mo-
delados na forma de sistemas de equac¸o˜es
lineares: as varia´veis sa˜o as correntes que
circulam em cada malha, os coeficientes sa˜o
as resisteˆncias em cada elemento resistivo e
os termos independentes sa˜o as tenso˜es ge-
radas em cada malha;
• Te´cnicas de interpolac¸a˜o polinomial se va-
lem de resoluc¸a˜o de SELAS para a deter-
minac¸a˜o dos coeficientes do polinoˆmio que
aproxima os pontos tabulados;
• Ana´lises da complexidade computacional de
algoritmos recorrentes podem ser determi-
nadas com a utilizac¸a˜o de SELAS.
Existem ainda diversas outras aplicac¸o˜es
de SELAS em a´reas como Cadeias de Markov,
economia, geode´sia e sensoriamento remoto [6].
3 Me´todos Diretos
Me´todos Diretos sa˜o aqueles que, ex-
ceto por erros de arredondamento, fornecem a
soluc¸a˜o exata do sistema linear, caso ela exista,
apo´s um nu´mero finito de operac¸o˜es [2, 3, 4].
Pertencem a esta classe todos os me´todos
estudados nos cursos de 1o e 2o graus como a re-
gra de Cramer, por exemplo. Entretanto, tais
me´todos na˜o sa˜o usados em problemas pra´ticos,
que exigem a resoluc¸a˜o de sistemas lineares com
um nu´mero relativamente grande de equac¸o˜es,
pois apresentam problemas de desempenho e
eficieˆncia. Sendo assim, e´ necessa´rio o uso de
me´todos e te´cnicas mais eficientes (sec¸o˜es 3.1 e
3.2).
3.1 Me´todo de Eliminac¸a˜o de
Gauss
O me´todo de Eliminac¸a˜o de Gauss, ou al-
goritmo de Gauss, e´ o me´todo mais conhecido e
mais usado para resoluc¸a˜o de SELA denso de
porte pequeno a me´dio. Por sistemas de pe-
queno porte entende-se uma ordem de ate´ 30.
Para me´dio porte podemos ter sistemas de or-
dem 50. A partir da´ı, em geral teremos sistemas
de grande porte [2].
O algoritmo ba´sico de Gauss e´ descrito a
seguir considerando o SELA
A−→x =
−→
b ,
onde
A ∈ R e −→x ,
−→
b ∈ R.
A soluc¸a˜o para este sistema e´ obtida em
duas etapas:
• Etapa 1 - Triangularizac¸a˜o: Consiste em
transformar a matriz A numa matriz tri-
angular superior, mediante permutac¸o˜es e
combinac¸o˜es lineares de linhas.
• Etapa 2 - Retrossubstituic¸a˜o: Consiste
em calcular os componentes do vetor −→x ,
soluc¸a˜o de A−→x =
−→
b , a partir da
soluc¸a˜o imediata do u´ltimo componente de
−→x , e enta˜o substituir regressivamente nas
equac¸o˜es anteriores.
Por combinac¸o˜es lineares de linhas
entende-se:
(b)(a)
ax+by=c
dx+ey=f ax+by=cdx+ey=f ax+by=c
dx+ey=f
(c)
Figura 1: Sistemas lineares (a) compat´ıveis determinados (b) compat´ıveis indeterminados (c) in-
compat´ıveis
1. Adic¸a˜o de uma linha com um mu´ltiplo de
outra linha, para substituir uma das linhas
consideradas.
2. Eventualmente, quando resolvendo um
SELA, manualmente, pode-se necessitar fa-
zer apenas a multiplicac¸a˜o de uma linha por
uma constante.
3. Troca de linhas.
Se uma matriz A e´ transformada em ou-
tra matriz B, mediante uma se´rie de trocas ou
combinac¸o˜eslineares de linhas, diz-se que A e
B sa˜o equivalentes e possuem o mesmo determi-
nante.
O exemplo abaixo demonstra a aplicac¸a˜o
do algoritmo.
Dado o sistema


3x + 2y + w = 3
9x + 8y − 3z + 4w = 6
−6x + 4y − 8z = −16
3x− 8y + 3z − 4w = 18
tem-se:
A =


3 2 0 1
9 8 −3 4
−6 4 −8 0
3 −8 3 −4

 −→b =


3
6
−16
18


Para tornar mais pra´tica a aplicac¸a˜o do
me´todo costuma-se trabalhar com a matriz ex-
pandida na forma:


3 2 0 1 | 3
9 8 −3 4 | 6
−6 4 −8 0 | −16
3 −8 3 −4 | 18


Considerando a primeira equac¸a˜o por
E1, a segunda por E2, e assim sucessivamente,
obte´m-se atrave´s da aplicac¸a˜o da etapa de
triangularizac¸a˜o (etapa 1):
Passo 1:
−(9/3)E1 + E2; −(−6/3)E1 + E3;
−(3/3)E1 + E4


3 2 0 1 | 3
0 2 −3 1 | −3
0 8 −8 2 | −10
0 −10 3 −5 | 15


Passo 2:
−(8/2)E2 + E3; −(−10/2)E2 + E4


3 2 0 1 | 3
0 2 −3 1 | −3
0 0 4 −2 | 2
0 0 −12 0 | 0


Passo 3:
−(12/4)E3 + E4


3 2 0 1 | 3
0 2 −3 1 | −3
0 0 4 −2 | 2
0 0 0 −6 | 6


o sistema na forma triangular superior:


3x + 2y + 0z + w = 3
+ 2y − 3z + w = −3
0 + 4z − 2w = 2
−6w = 6
A cada passo o elemento de diagonal da
primeira linha de matriz-resto e´ chamado de
pivoˆ.
Apo´s a aplicac¸a˜o da etapa 1, aplica-se
a etapa de retrossubstituic¸a˜o (etapa 2). Como
E4 e´ uma equac¸a˜o do primeiro grau com uma
inco´gnita, tem-se: w = −1.
Substituindo o valor de w em E3, os va-
lores de z e w em E2 e os valores de y, z e w em
E1, obte´m-se a soluc¸a˜o:
−→x = (2− 1 0− 1)T.
O me´todo de Gauss, como executado no
exemplo, produz, em precisa˜o infinita, sempre
a soluc¸a˜o exata do SELA A−→x =
−→
b desde
que: a matriz A na˜o seja singular (det A 6=
0); e as linhas sejam trocadas sempre que ne-
cessa´rio (no caso de aii = 0). Em outras pala-
vras, os me´todos diretos sa˜o processos finitos e,
portanto, teoricamente, obteˆm a soluc¸a˜o (con-
vergem) de qualquer sistema na˜o singular de
equac¸o˜es.
E´ importante ressaltar tambe´m a quan-
tidade de operac¸o˜es requeridas na aplicac¸a˜o de
um me´todo direto para soluc¸a˜o de um SELA. A
eliminac¸a˜o gaussiana requer (4n3 + 9n2 − 7n)/6
operac¸o˜es aritme´ticas (adic¸a˜o, subtrac¸a˜o, multi-
plicac¸a˜o e/ou divisa˜o). Para valores grandes de
n, o nu´mero de operac¸o˜es aritme´ticas e´ aproxi-
madamente 2n3/3. Por exemplo, considerando
um sistema de 100 equac¸o˜es, o me´todo de eli-
minac¸a˜o gaussiana requer 681.550 operac¸o˜es [4].
3.2 Estrate´gias de Pivotamento
Conforme exposto anteriormente, o algo-
ritmo de Gauss requer o ca´lculo dos multiplica-
dores para iniciar a soluc¸a˜o de um SELA. Entre-
tanto, isso pode ocasionar problemas se o pivoˆ
estiver pro´ximo de zero ou for nulo, por exem-
plo. Isto porque trabalhar com um pivoˆ nulo
e´ imposs´ıvel e trabalhar com um pivoˆ pro´ximo
de zero pode conduzir a resultados totalmente
imprecisos, visto que eles da˜o origem a multi-
plicadores bem maiores que a unidade que, por
sua vez, origina uma ampliac¸a˜o dos erros de ar-
redondamento [3].
Para contornar estes problemas adota-se
uma estrate´gia de pivotamento, ou seja, adota-
se um processo de escolha da linha e/ou coluna
pivotal.
3.2.1 Algoritmo de Gauss com pivota-
mento
Este me´todo nada mais e´ do que o mesmo
algoritmo de Gauss, com uma troca de linhas
sistema´ticas, de modo a minimizar os erros de
arredondamento. Para tal, escolhe-se os pivoˆs
da seguinte maneira:
• 1o Pivoˆ: E´ o elemento de maior valor abso-
luto na coluna 1.
a11 = max|ai1|
i = 1, n
• 2o Pivoˆ: E´ o elemento de maior valor abso-
luto na coluna 2 da matriz-resto.
a22 = max|ai2|
i = 2, n
K-e´simo pivoˆ akk = max|aik |
i = k, n
Apo´s a realizac¸a˜o das trocas, se ne-
cessa´rio, e o estabelecimento da matriz final
aplica-se o algoritmo ba´sico de Gauss (sec¸a˜o
3.1).
Este algoritmo e´ dito de Pivotamento
Parcial, pois a escolha do pivoˆ e´ feita em deter-
minada coluna escolhendo-se o seu maior valor;
se for necessa´rio, ha´ a troca de linhas conveni-
entes.
Pode-se fazer a escolha do pivoˆ como
sendo o maior elemento de toda a matriz-resto
e na˜o como sendo o maior elemento da coluna.
Neste caso, pode ser necessa´ria a troca de colu-
nas ale´m da troca de linhas. Para tal, a pesquisa
de qual e´ o maior elemento e´ mais demorada e
e´ preciso termos um novo valor para guardar a
eventual troca de coluna. Tal me´todo e´ chamado
de Pivotamento Total. A melhora da exatida˜o
que este me´todo proporciona pode na˜o ser van-
tajosa em func¸a˜o do aumento da complexidade
do algoritmo.
4 Medidas de Condiciona-
mento
Dado um sistema A−→x =
−→
b e duas apro-
ximac¸o˜es da soluc¸a˜o exata −→x , como saber qual
delas e´ a melhor? Uma forma trivial seria cal-
cular os res´ıduos dados por:
−→r1 =
−→
b −A−→x1 e
−→r2 =
−→
b −A−→x2
Dado o SELA e as aproximac¸o˜es


0.24x + 0.36y + 0.12z = 0.84
0.12x + 0.16y + 0.24z = 0.52
0.15x + 0.21y + 0.25z = 0.64
−→x1 = (25,−14,−1)
T e −→x2 = (−3, 4, 0)
T ,
os res´ıduos sa˜o
−→r1 = (0.00, 0.00, 0.08) e
−→r2 = (0.12, 0.24, 0.25)
Sabendo-se que a soluc¸a˜o exata e´ −→x =
(−3, 4, 1), conclui-se que, embora ||−→r1 || < ||
−→r2 ||,
a melhor aproximac¸a˜o e´ −→x 2. Portanto, pode-se
dizer que nem sempre a aproximac¸a˜o de menor
res´ıduo e´ a mais exata. Isso comprova a neces-
sidade do estudo do condicionamento de uma
matriz.
Considerando a sensibilidade de alguns
SELAS em relac¸a˜o aos dados de entrada pode-
se dizer que: um problema e´ dito “mal condici-
onado” se pequenas alterac¸o˜es nos dados de en-
trada ocasionam grandes erros no resultado final
[2, 5].
Considere o sistema{
5x + 7y = 12
7x + 10y = 17
que tem como soluc¸a˜o “u´nica” x = 1, y = 1.
Mas considere o par de valores x = 2.415, y =
0. Enta˜o: {
5x + 7y = 12.075
7x + 10y = 16.905
Quando arredonda-se para dois d´ıgitos,
estes segundos termos concordam com os segun-
dos termos das equac¸o˜es originais, visto que os
valores originais foram dados com somente dois
algarismos, a segunda soluc¸a˜o deveria ser aceita
como sendo ta˜o boa quanto a “u´nica”.
O problema neste caso, e´ que as duas re-
tas sa˜o quase paralelas, como mostrado na figura
2. O ponto fornecido pela segunda soluc¸a˜o, em-
bora na˜o se situe em nenhuma reta, esta´ muito
pro´ximo de ambas. Por isso, a equac¸o˜es do sis-
tema dado sa˜o chamadas de mal-condicionadas.
Toda vez que duas retas (ou planos ou hiper-
planos) sa˜o quase paralelos, as equac¸o˜es sera˜o
mal-condicionadas.
E´ fa´cil verificar o que ocorre com o condi-
cionamento no caso de duas retas. Ja´ em outros
SELAS de ordem maior que 2 isto e´ muito dif´ıcil.
E´ preciso um meio para medir este condiciona-
mento [2].
O Condicionamento de um SELA A−→x =
−→
b e´ dado por:
cond(A) = ||A||.||A−1||.
Quanto maior o valor de cond(A) mais
sens´ıvel sera´ o sistema, ou seja, pior condicio-
nada e´ a matriz A. Um exemplo de mau con-
dicionamento e´ dado pelas Matrizes de Hilbert,
em que cada aij e´ obtido por:
aij =
1
i + j − 1
onde i = j = 1(1)n
Como exemplo pode-se citar uma matriz
de Hilbert de dez linhas e dez colunas. O nu´mero
de d´ıgitos perdidos chega a “13”.
5 Refinamento
Devido a dificuldade do ca´lculo das me-
didas de condicionamento, nem sempre elas sa˜o
utilizadas na pra´tica. Uma alternativa mais ba-
rata computacionalmente e cuja aplicac¸a˜o pode
ser u´til ate´ em sistemas bem condicionados e´ a
te´cnica de refinamento da soluc¸a˜o. Com o seu
uso, e´ poss´ıvel obter uma estimativa da exatida˜o
da resposta [2]. Estes me´todos, ale´m de reduzir
erros de arredondamento dos ca´lculos, tambe´m
sa˜o u´teis para resolver alguns sistemas mal con-
dicionados [4].
O princ´ıpio de funcionamento do refina-
mento e´ explicado a seguir. A partir de uma
primeira soluc¸a˜o −→x (0), para o sistema
A−→x =
−→
b
uma aproximac¸a˜o melhor pode ser obtida a par-
tir da diferenc¸a entre a soluc¸a˜o real do sistema
e a soluc¸a˜o aproximada com a resoluc¸a˜o do sis-
tema
A−→� =
−→
β
Onde A e´ a matriz de coeficientes da
equac¸a˜o e
−→
β =
−→
b −
−→
b (0)
sendo
−→
b (0) a soluc¸a˜o obtida para cadaequac¸a˜o
quando −→x (0) e´ utilizado e substitu´ıdo pelas
varia´veis.
A nova aproximac¸a˜o e´, enta˜o, dada por
−→x 1 = −→x 0 +−→� 0.
Novamente deve ser aplicado um me´todo
para a soluc¸a˜o do novo sistema de equac¸o˜es li-
neares e novamente pode ser aplicado o me´todo
do refinamento. Como regra geral, resolve-se o
sistema
(1,1)
(5x + 7y = 12)
(7x + 10y = 17)
(2.45,0)
1
2
3
1 2 30
Figura 2: Representac¸a˜o geome´trica de um sistema de duas equac¸o˜es mal condicionadas.
A−→� (i+1) =
−→
β (i+1),
sendo
−→
β (i+1) =
−→
b −
−→
b (i)
e a nova soluc¸a˜o aproximada e´, enta˜o,
−→x i+1 = −→x i +−→� i.
6 Me´todos Iterativos
Me´todos iterativos sa˜o aqueles cuja a
soluc¸a˜o do problema e´ obtida a partir da apro-
ximac¸a˜o sequ¨encial de uma soluc¸a˜o hipote´tica
inicial −→x ate´ a soluc¸a˜o final [2]. Em outras pa-
lavras, e´ estipulado um “chute” inicial e, a cada
passo de iterac¸a˜o (repetic¸a˜o) a soluc¸a˜o e´ refi-
nada. O crite´rio de parada da repetic¸a˜o podem
ser dois: um determinado nu´mero de iterac¸o˜es
ou um determinado valor de exatida˜o do resul-
tado.
A ide´ia dos me´todos iterativos para a
soluc¸a˜o de sistemas lineares sera´ descrita a se-
guir, para um sistema de treˆs equac¸o˜es. A
soluc¸a˜o de sistemas de ordem maior pode ser
trivialmente deduzida a partir da discussa˜o que
se segue.
Dado o sistema

x + 3y + 5z = 7
2x + 4y + 5z = 10
x + y + z = 0
isola-se cada uma das varia´veis em cada
uma das equac¸o˜es.
x = 7− 3y − 5z
y =
10− 4y − 5z
2
z = −y − z
O valor de cada uma das varia´veis pode
ser calculado conhecendo-se o valor das demais.
Inicialmente, para calcular o valor da primeira
varia´vel, podem ser utilizados os valores iniciais
do me´todo iterativo (x0, y0, z0). Tem-se enta˜o
x = 7− 3y0 − 5z0.
O ca´lculo do valor da pro´xima varia´vel
(digamos y) pode ser feito de duas formas:
1. Utilizando-se os valores dos valores iniciais
x0 e z0 ou
2. Utilizando-se o valor de x ja´ calculado e o
valor z0 do palpite inicial.
Generalizando para n varia´veis, as esco-
lhas sa˜o as seguintes:
1. Utilizar no ca´lculo da k-e´sima iterac¸a˜o de
xi os valores calculados na iterac¸a˜o k-1;
2. Utilizar no ca´lculo da k-e´sima iterac¸a˜o de
xi os u´ltimos valores dispon´ıveis de cada
varia´vel. Estes podem ser os valores da
iterac¸a˜o k-1, se a varia´vel ainda na˜o foi cal-
culada na atual iterac¸a˜o, ou pode ser o valor
obtido na iterac¸a˜o corrente, se tal varia´vel
ja´ foi atualizada.
O primeiro me´todo de atualizac¸a˜o e´ o uti-
lizado no me´todo de Gauss-Jacobi, e o segundo
e´ o utilizado no me´todo de Gauss-Seidel [2, 3, 4].
6.1 Crite´rios de convergeˆncia
Os me´todos iterativos para resoluc¸a˜o de
SELAS baseiam-se na aproximac¸a˜o gradativa
de
−→
x′ em direc¸a˜o a soluc¸a˜o da equac¸a˜o, como
pode ser visualizado na figura 3(a). Essa fi-
gura apresenta a representac¸a˜o geome´trica de
um sistema de equac¸o˜es de duas inco´gnitas: cada
equac¸a˜o representa uma reta no eixo cartesiano e
a soluc¸a˜o do sistema de equac¸o˜es e´ a intersecc¸a˜o
de ambas as retas.
Os me´todos de Gauss-Jacobi e Gauss-
Seidel buscam a intersecc¸a˜o de uma reta que
passa pelo ponto que representa cada uma das
soluc¸o˜es na˜o finais e que seja paralela a um dos
eixos cartesianos com uma das retas que repre-
senta as equac¸o˜es, cada vez buscando uma das
retas e sendo a reta trac¸ada paralela a um dos
eixos.
Pore´m, um sistema que converge para
um conjunto de equac¸o˜es pode divergir para o
mesmo conjunto, se for fixada uma varia´vel di-
ferente ou ate´ mesmo se as equac¸o˜es forem re-
solvidas em uma ordem diferente (figura 3(b)).
Embora seja fa´cil visualizar o problema
em um sistema de ordem 2, o mesmo na˜o e´ ver-
dade em sistemas maiores. Existe enta˜o a neces-
sidade de um me´todo pra´tico de determinac¸a˜o
da convergeˆncia ou na˜o convergeˆncia de um sis-
tema de equac¸o˜es. Este e´ o objetivo dos crite´rios
de convergeˆncia apresentados nesta sec¸a˜o.
O Crite´rio das Linhas e´ um crite´rio de
convergeˆncia para os me´todo de Gauss-Jacobi
e Gauss-Seidel. Ele estabelece uma condic¸a˜o
de suficieˆncia para a convergeˆncia de um sis-
tema, ou seja, se o crite´rio verifica, pode-se ga-
rantir a convergeˆncia dos me´todos independente
da aproximac¸a˜o inicial escolhida. Se o crite´rio
falha, nada pode ser afirmado quanto a` con-
vergeˆncia de um sistema por Gauss-Jacobi [3].
Formalmente, pode-se dizer que ambos os
me´todos geram uma sequ¨eˆncia convergente se,
dado um sistema linear Ax = b e definindo-se
αk =
∑n
j=1,j 6=k |akj |
akk
for va´lida a relac¸a˜o
max{αk} < 1.
Em outras palavras, garante-se a con-
vergeˆncia se cada um dos elementos da diago-
nal principal for maior em mo´dulo que a soma
dos demais elementos da mesma linha. Se a
relac¸a˜o na˜o for satisfeita, pode-se aplicar uma
permutac¸a˜o de linhas e/ou colunas procurando
arranjar a matriz de tal forma que a relac¸a˜o seja
va´lida.
Para o me´todo de Gauss-Seidel, existe
ainda um segundo crite´rio de convergeˆncia, que
e´ o Crite´rio de Sassenfeld. Se o crite´rio das li-
nhas e´ satisfeito, este crite´rio e´ automaticamente
satisfeito, pore´m o contra´rio na˜o e´ verdadeiro:
este crite´rio pode ser satisfeito mesmo quando o
crite´rio das linhas na˜o o e´.
O crite´rio de Sassenfeld diz que um
sistema converge independentemente da apro-
ximac¸a˜o inicial se
max{βk} < 1,
onde
β1 =
∑n
i=2 |a1i|
a11
e
βk =
∑k−1
i=1 |aki|βi +
∑n
i=k+1 |aki|
akk
.
6.2 Ana´lise de Complexidade dos
me´todos iterativos
A ana´lise da complexidade (quantidade
de operac¸o˜es) requeridas em um me´todo itera-
tivo e´ bastante simples. O que na˜o e´ trivial e´
determinar o nu´mero exato de operac¸o˜es reali-
zadas por um programa de resoluc¸a˜o de SELA’s
atrave´s de um me´todo iterativo, pois esta de-
pende do crite´rio de parada adotado. Para
evitar que o sistema entre em loop realizando
operac¸o˜es em um sistema que na˜o converge ou
que na˜o alcanc¸a o erro mı´nimo permitido, sem-
pre deve ser adotado como crite´rio de parada,
ale´m do erro mı´nimo desejado, o nu´mero de
iterac¸o˜es ma´ximo permitido. No pior caso, este
sera´ o nu´mero de vezes que as iterac¸o˜es sera˜o
executadas.
Os me´todos de Gauss-Seidel e Gauss-
Jacobi realizam, por iterac¸a˜o, 2n2−n operac¸o˜es
aritme´ticas [4]: n−1 multiplicac¸o˜es de varia´veis
1
2
34
5 1
2 3
4
(b)(a)
Figura 3: (a) Sistema convergente (b) Sistema na˜o-convergente
por coeficientes, n − 1 somas e 1 divisa˜o para
cada varia´vel do sistema, totalizando, para cada
varia´vel, 2n− 1 operac¸o˜es para cada uma das n
varia´veis. Para valores de n grandes, o termo
de menor grau e´ dominado pelo termo de maior
grau, e o custo dos me´todos se torna 2n2.
Devido a necessidade de observar a
poss´ıvel convergeˆncia da soluc¸a˜o do sistema, sob
pena de na˜o se chegar a um resultado va´lido em
sua resoluc¸a˜o, os testes de convergeˆncia tornam-
se praticamente obrigato´rios em resoluc¸a˜o itera-
tiva de SELAS e portanto devem ser considera-
das no custo desses me´todos.
O crite´rio das linhas possui um custo de
n2−n operac¸o˜es aritme´ticas: sa˜o realizadas n−2
somas e 1 divisa˜o para a determinac¸a˜o de cada
um dos n fatores α, somados a n−1 comparac¸o˜es
para determinar o maior fator. Para gran-
des valores de n predominam as n2 operac¸o˜es
aritme´ticas do crite´rio.
O crite´rio de Sassenfeld realiza, para o
coˆmputo de cada fator β, n − 2 somas e n − 2
produtos, permanecendo o seu custo na mesma
ordem de crescimento do crite´rio das linhas.
Ainda, permanece sendo predominante o cres-
cimento de ordem 2n2 do me´todo iterativo.
Percebe-se que custo computacional dos
me´todos iterativos e´ menor que o custo do
me´todo de Gauss, o que conta a favor dos
me´todos iterativos para a resoluc¸a˜o de grandes
sistemas. Outras vantagens dos me´todos iterati-
vos sobre os diretos sa˜o o fato de preservarem os
zeros da matriz original, possu´ırem um erro de
arredondamento menor, e o fato de ser poss´ıvel
a obtenc¸a˜o de altas exatido˜es mais rapidamente.
Pore´m, os me´todos iterativosteˆm a desvantagem
de serem menos eficientes para sistemas densos
de pequeno porte [2].
7 Concluso˜es
Os me´todos diretos sa˜o processos finitos
e, por isso, teoricamente, obteˆm a soluc¸a˜o de
qualquer sistema na˜o singular de equac¸o˜es. Ja´
os me´todos iterativos convergem apenas sob de-
terminadas condic¸o˜es.
Os me´todos diretos apresentam se´rios
problemas com erros de arredondamento. Uma
forma de minimizar isso e´ adotar te´cnicas de
pivotamento. Os me´todos iterativos teˆm me-
nos erros de arredondamento, visto que a con-
vergeˆncia, uma vez garantida, independe da
aproximac¸a˜o inicial. Com isso, somente os erros
cometidos na u´ltima iterac¸a˜o afetam a soluc¸a˜o,
pois os erros anteriores na˜o levara˜o a` divergeˆncia
do processo nem a` convergeˆncia a um outro ve-
tor que na˜o a soluc¸a˜o.
Os me´todos diretos sa˜o aplicados a SE-
LAS densos de porte pequeno a me´dio. Ja´
os me´todos iterativos sa˜o indicados para sis-
temas de grande porte. Enfim, e´ preciso co-
nhecer a natureza do problema para poder es-
colher qual classe de algoritmo (me´todos dire-
tos/iterativos) deve ser utilizada, pois somente
assim sera´ poss´ıvel obter resultados mais preci-
sos e consequ¨entemente, confia´veis.
Refereˆncias
[1] KOLMAN, Bernard. Introduc¸a˜o a` a´lgebra
linear com aplicac¸o˜es.. 6a Edic¸a˜o. Rio de Ja-
neiro: LTC, 1999.
[2] CLA´UDIO, D.M; MARINS, J.M. Ca´lculo
nume´rico computacional: teoria e
pra´tica. 3a Edic¸a˜o. Sa˜o Paulo: Atlas, 2000.
[3] RUGGIERO, M.A.G.; LOPES, V.L.R.
Ca´lculo nume´rico: aspectos teo´ricos
e computacionais. 2a Edic¸a˜o. Sa˜o Paulo:
Pearson, 1996.
[4] DORN, W.S.; McCRACKEN, D.D. Ca´lculo
nume´rico com estudos de casos em FOR-
TRAN IV. 1a Reimpressa˜o. Sa˜o Paulo: Cam-
pus, 1981.
[5] CLA´UDIO, D.M; DIVERIO, T.A; TOSCANI,
L.V. Fundamentos de matema´tica compu-
tacional. 1a Edic¸a˜o. Porto Alegre: D.C. Luz-
zatto, 1987.
[6] http://www.ime.eb.br/∼webde1/valeria/trab/
1999/AlgEngCart.htm. Acessado em 5 de julho
de 2004.

Outros materiais