Sei sulla pagina 1di 4

Página 1 de 4

Sistema de equações Lineares


por
Mílton Procópio de Borba

1. Condicionamento
Trataremos, neste capítulo, da resolução numérica de sistemas de equações lineares, isto é, dada a
Matriz quadrada AnXn e o vetor coluna BnX1, encontrar o vetor X tal que A.X = B.
Consideraremos somente o caso determinado (onde det(A)  0), obtendo apenas uma solução.
Na verdade, não estaremos apenas interessado em saber se det(A) = 0 ou não. Queremos saber
quão pequeno (relativamente aos coeficientes) é este determinante. Isto nos dará uma medida
(entre 0 e 1) que corresponde ao grau (entre 0 e 100%) de confiabilidade da resposta, tendo em
conta os “arredondamentos” efetuados.
1.1 Exemplo
Como exemplo, consideraremos os sistemas 11 5 x 6,45 11 5 x 6,4
= e =
9 4 y 5,16 9 4 y 5,2
Apesar de muito parecidos (o segundo pode ser considerado o “arredondamento” do primeiro),
suas soluções são respectivamente x 0 x 0,4
= e =
y 1,29 y 0,4
No plano XoY, a reta 11x + 5y = 6,4 (6,45) é quase paralela à reta 9x + 4y = 5,2 (5,16). Assim,
pequenos deslocamentos de uma (6,45 para 6,4) ou ambas (5,16 para 5,2) as retas, podem causar
grandes deslocamentos no ponto de interseção (solução do sistema).
Aqui o paralelismo seria equivalente ao det(A) ser nulo. No caso, det(A) = 1, valor muito pequeno
em relação aos números 11, 5, 9 e 4.
1.2 Definição
Apresentamos o conceito de Condicionamento de um sistema de equações lineares A.X = B, por
| det( A) |
Cond ( A)  n n É possível mostrar que 0  Cond(A)  1.
 (| Aij |)
i 1 j 1
Os limites são reservados aos sistemas com det(A) = 0 (não determinados) e com A = identidade.
No nosso caso, det(A) = 1/[(11 + 5).(9 + 4)] = 1/[16 . 13] = 0,0048 = 0,48% de “confiabilidade”.

2. Métodos Diretos
Os métodos diretos se caracterizam por uma seqüência de operações (quantidade definida de
operações), depois da qual se obtém a solução do sistema. Os mais conhecidos são os métodos de
Cramer e de eliminação de Gauss. A seguinte tabela tira qualquer dúvida de qual dos dois é mais
útil para sistemas grandes.
Cramer Gauss
n operações tempo operações tempo
2 11 9
3 59 28
4 319 62
5 1.943 115
6 13.691 19 h 191 16 min
7 109.591 294
8 986.399 57 d 428 35 min
9 9.234.089 534 d 597 50 min
10 101.575.099 805
20 1,3 x 1020 5.910 8h 12min 5 s / op.
1,5 x 107 a 0,021 s 3,6 s / op.

1
Página 2 de 4

2.1 Eliminação de Gauss


Consiste em transformar o sistema dado A .X = B num sistema equivalente (com a mesma solução)
U.X = R, com U triangular superior. Em seguida encontra-se a solução X = [x1,x2, ... ,xn-1, xn]T, por
retro-substituição, ou seja, acha-se xn e com este, encontra-se xn-1, até x2 e x1.
Esta transformação se resume em três operações elementares que se aplicam (várias vezes) às
linhas do sistema:

1) TROCAR DE LINHAS (para evitar a divisão por zero ou por números pequenos – PIVOTAÇÃO);
2) DIVIDIR ou MULTIPLICAR UMA LINHA POR UM NÚMERO e
3) TIRAR DE OUTRA LINHA, UM MÚLTIPLO DE UMA LINHA.

Exemplo: 4 6 0 –4 Tirar 0,5.L1 de L2 4 6 0 –4 Tirar -1.L1 de L3 4 6 0 –4


M = 2 5 –2 4 T1  0 2 –2 6 T2  0 2 –2 6
-4 0 5 11 -4 0 5 11 0 6 5 7
4 6 0 –4 Tirar 3.L2 de L3 4 6 0 –4
0 2 –2 6 T3  0 2 –2 6 = UR
0 6 5 7 0 0 11 -11
O método de eliminação de Gauss-Jordan consiste em, além de “zerar” os elementos abaixo da
diagonal, “zerar” também acima da diagonal. Esse método evita a retro-substituição, mas requer
mais operações e, por isto, pode ser mais impreciso.
Esse método tem a vantagem de servir para o cálculo da inversa de uma matriz (ver item 2.3).

Para ver o efeito da pivotação na qualidade da resposta, tente resolver o sistema abaixo
arredondando todos os cálculos para 3 algarismos significativos (o computador faz a mesma coisa,
só que com mais algarismos), ora pivotando, ora não e compare as respostas com a exata.

x + 3y + 40z = 38 x=1
36x + 106y + 7z = -63 Note que a resposta exata é y = -1
25x + 5y + 12z = 32 z =1
98334
Obs. : O condicionamento deste sistema é  0,357 (35,7% de confiabilidade)
44  149  42
2.2. Pivotamento
Teoricamente, o método descrito no item anterior é perfeito. Na prática, será necessário efetuar
divisões para conseguir “zerar” os elementos da coluna abaixo (e acima) da diagonal. Estas divisões
provocam arredondamentos (também ocorre com números “grandes” na multiplicação) que podem
sem “grandes” quando dividimos por números “pequenos”.
Evitamos isto, escolhendo para a diagonal (pivô) o maior (em módulo) elemento da coluna (entre o
que ficará na diagonal e os que serão “zerados”).
Outra maneira de pensar: dividir por zero (na diagonal) é impossível (trocamos de linha). Então,
dividir por números “perto de zero” não deve ser “saudável”.
Assim, procuramos colocar na diagonal, números “bem longe de zero”, também trocando de linhas,
se necessário (PIVOTAMENTO PARCIAL)
O PIVOTAMENTO TOTAL prevê também a troca de colunas, se necessário, para aumentar ainda
mais o pivô.

2.3 Determinante
As operações Tk acima descritas não afetam o valor do determinante.
Assim, temos que det(A) = produtor da diagonal principal
( = 4 . 2 . 11 = 88, no nosso exemplo acima).

2.4 Inversa
Nos problemas onde é necessário resolver vários sistemas de equações lineares, sempre com a
mesma matriz principal A, pode ser conveniente encontrar a inversa de A, pois A.X = B tem como
solução X = A-1.B. Assim, resolver cada novo sistema, significa multiplicar B pela inversa de A.
Para se obter A-1, pode-se usar o método dia eliminação de Gauss-Jordan (ver acima), com divisão
pela diagonal. Para isto, se acopla A e a identidade I, aplica-se a eliminação de Gauss-Jordan, até
que A se transforme em I. Neste caso I se transformará em A-1.

2
Página 3 de 4

2.5 Refinamento da Solução


Devido aos arredondamentos, é de se esperar que substituindo os valores encontrados para X no
sistema, não se encontre os valores de B, ou seja A.X  B. Neste caso fazemos o refinamento.
Seja X0 a solução inicial encontrada e E0 o correspondente erro: E0 = A. X0 - B.
A devida correção C0 será encontrada como solução no sistema A.C0 = E0 e a nova solução
corrigida será X1 = X0 – C0, pois A.X1 = A.( X0 – C0) = A.X0 – A.C0 = (E0 + B) - E0 = B.
Obs.: 1) O cálculo de C0 é feito como o de X0. Portanto poderá ter erro (menor, pois E0 certamente
deve ser menor que B), provocando novo erro em X 1. Deve se repetir o refinamento.
2) Ao resolver A.C0 = E0, a matriz A já está transformada em U. Temos a matriz U para a
retro-substituição, mas falta a matriz R, resultado de E0. Basta aplicar as operações de
“tirar” Lij.LINHA j da LINHA i de E0, antes da retro-substituição.
2.6 Matriz Banda (opcional)
Não raramente, problemas práticos produzem sistemas com um
grande número de equações lineares, mas somente um pequeno
número de incógnitas aparece em cada equação, originando o que
se conhece por matriz banda, como na figura ao lado.
Se l (ímpar) for a largura da banda simétrica, num sistema de n
equações, então podemos armazenar os coeficientes e efetuar os
cálculos numa matriz retangular n x l e ajustar as posições dos
elementos por uma translação no índice j das colunas.
Essa translação certamente dependerá linearmente de l e do índice
da linha i: aij  ait, com t = (j+k-1) e k = (l +1)/2.

2.7 Vetores Recursivos (opcional)


d c b1 Em particular, trataremos de um sistema com n equações lineares
a d c b2 formando uma matriz banda de largura l = 3, com aii = d, ai(i-1) = a e
a d c b3 ai(i+1) = c,  i.
… … … Este tipo de sistema é muito freqüente em problemas práticos,
a d c bn-1 principalmente na resolução numérica de Equações Diferenciais pelo
a d bn método das Diferenças Finitas.
Sugerido pelo processo de retro-substituição, onde se começa por achar x n e cada xk, é encontrado
a partir de xk+1, até x2 e x1, pensou-se na possibilidade de se obter uma solução recursiva da forma
xk = Ak - (c/Bk).xk+1 , com os vetores [A1, A2, .. An] e [B1, B2, .. Bn] previamente determinados.
Realmente, da primeira equação, d.x1 + c.x2 = b1, tiramos que x1 = (b1/d) - (c/d).x2, ou seja:
B1 = d e A1 = (b1/B1) .
Agora, substituindo a forma recursiva xk-1 = Ak-1 - (c/Bk-1).xk numa equação genérica do sistema,
a.xk-1 + d.xk + c.xk+1 = bk, teremos xk = [(bk – a.Ak-1) - c.xk+1] / (d – a.c / Bk-1), donde tiramos que:
Bk = d – a.c / Bk-1 e Ak = (bk – a. Ak-1) / Bk .
Refazendo esta mesma substituição na última equação (k=n), tiramos que xn = (bn – a.An-1)/ Bn .

3. Métodos Iterativos
Consiste em escrever A.X = B na forma X = V - M.X, atribuir um valor inicial X0 (solução
aproximada, se tivermos) e calcular X 1, X2, ..., Xk+1 = V - M.Xk e obter a convergência da
seqüências {Xk}. O limite, se existir, será a solução X. Esta matriz M é dita “matriz de iteração”.
3.1 Jacobi
Seja A = E + D + S, com E triangular inferior, D diagonal e S triangular superior. Então A.X = B fica
na forma (E + D + S).X = B  D.X = B – (E + S).X  X = D-1.B – D-1.(E + S).X, produzindo a matriz
de iteração MJ = D-1.(E + S) com VJ = D-1.B.
Este método, na verdade, consiste em explicitar uma incógnita em cada equação, atribuir valores
iniciais para cada incógnita em cada equação para achar os novos valores e voltar a substituir estes
valores encontrados até que se repitam (ou quase).
Se A for diagonalmente dominante (cada termo da diagonal, em módulo, é maior que a soma dos
módulos do resto da linha) então o processo interativo de Jacobi converge.

3
Página 4 de 4

3.2 Gauss - Seidel


Novamente com A = E + D + S, temos que A.X = B  (E + D + S).X = B  (E + D).X = B – S.X 
X = (E + D)-1.B – (E + D)-1.(S.X). Assim, MGS = (E + D)-1.S e VGS = (E + D)-1.B.
Este processo difere do anterior, por já utilizar imediatamente o valor encontrado na equação
anterior, sem esperar pela próxima etapa.
O processo interativo de Gauss-Seidel converge, se A satisfizer o Critério de Sassenfeld:
n i 1 n n 1
S1 = 
j 2
|a1j| < 1 Si = 
j 1
Sj|aij| + 
j i 1
|aij| < 1, i, com 1 < i < n Sn = 
j 1
Sj|anj| < 1

3.3 Caso Geral (opcional)


Um processo interativo Xk+1 = V - M.Xk converge para a solução X = V - M.X, se todos os auto-
valores de M tiverem módulo menor que 1. Na verdade, com isso teremos que
Ek+1 = | Xk+1 - X| = |(V - M.Xk) – (V - M.X)| = | M.( Xk – X)|  |Xk – X| = Ek.

4. Coeficientes Complexos
Um sistema de Equações Lineares M.X = B, onde M, X e B admitem valores complexos, pode ser
visto como (Mr + i.Mc) . (Xr + i.Xc) = (Br + i.Bc), onde os índices r e c significam respectivamente, a
parte real e a complexa e i significa a raiz imaginária de –1.
Desenvolvendo a equação complexa, obtemos: [Mr . Xr - Mc . Xc = Br] e [Mr . Xc + Mc . Xr = Bc]
Matricialmente, estas duas equações podem ser escritas por: Mr - Mc . Xr = Br
Mc Mr Xc Bc
Este processo (chamado de DESCOMPLEXIFICAÇÃO) permite resolver um sistema (com o dobro
de incógnitas), sem operar com números complexos.
Exemplo: Resolver o sistema 4x + 2y – z = 5 + 11i
3ix – iy + ( 5 + i)z = 11 – 6i
3y + (2i – 3)z = 5 + 12i
Temos 4 2 -1 0 0 0 5 11
Mr = 0 0 5 , Mc = 3 -1 1 , Xr = 11 e Xc = -6
0 3 -3 0 0 2 5 12
Descomplexificando: 4 2 -1 0 0 0 xr 5 xr = 0
0 0 5 -3 1 -1 yr 11 yr = 4
0 3 -3 0 0 -2 . zr = 5 Resolvendo: zr = 3
0 0 0 4 2 -1 xc 11 xc = 2
3 -1 1 0 0 5 yc -6 yc = 1
0 0 2 0 3 -3 zc 12 zc = -1
Obtemos a solução: x = 2i
y= 4+i
z=3–i

Potrebbero piacerti anche