Método de Eliminação de Gauss |
Consideremos o sistema Ax=b em que A é uma matriz quadrada n
x
n.
Objectivo do Método: Eliminar os elementos aij de forma a obter um sistema equivalente com uma matriz triangular superior. Depois bastará usar substituições sucessivas para chegarmos à solução pretendida.
O método consiste em n-1 passos, onde construimos elementos a(k+1)ij a partir dos elementos a(k)ij considerando como [a(1)ij] a matriz inicial.
PASSO k
mik=a(k)ik / a(k)kk | |
a(k+1)ij=a(k)ij - mika(k)kj | |
b(k+1)i=b(k)i - mikb(k)k |
No final dos n-1 passos obtemos o sistema triangular superior equivalente:
Armazenando os coeficientes mik podemos obter uma factorização da matriz A na forma:
Caso existam trocas de linhas, a factorização é da forma P A = L U
em que P é uma matriz de permutação. Ao resolver o sistema obteriamos
Teorema :
A factorização A = L U em que
FACTORIZAÇÃO da MATRIZ
Em cada Passo k :
CÁLCULO de b(n)
Em cada Passo k :
SUBSTITUIÇÃO
No total teremos :
n + k = n (n + 1) / 2
multiplicações e divisões
k = n(n - 1) / 2 subtracções
Como
( n - k ) = n (n - 1) / 2 e
também
( n - k )2 = n (n - 1)
(2 n - 1) / 6 .
Obtemos a seguinte tabela :
. | Somas + Subtracções | Multipl. + Divisões |
Factorização | ||
Cálculo de b(n) | ||
Substituição | ||
TOTAL | |
|
é fácil ver que a sucessão do número total de operações, ao considerarmos uma dimensão da matriz elevada, é assimptoticamente equivalente a 2 n3 / 3.
Este valor é bastante reduzido se comparado com o número de operações que seria necessário efectuar se resolvessemos o sistema pela Regra de Cramer (nesse caso teriamos ~ (n+1) ! operações, o que por exemplo, para n = 10 corresponderia a efectuar ~ 40 000 000 de operações ( * , / ) ao invés de ~ 430 pelo Método de Gauss ).
Isto também acontece se houver um grande desiquilibrio de grandezas nos elementos da matriz -- muito maiores face ao pivot (o que é equivalente, dividindo, a que ele seja próximo de zero).
Para contornar este problema de estabilidade numérica, usam-se as seguintes estratégias:
PESQUISA PARCIAL DE PIVOT : (normalmente por linhas)
Em cada Passo k da eliminação de Gauss, troca-se a linha k com a linha
r ,
onde r é tal que :
isto, como é claro, só no caso de k =/= r .
PESQUISA TOTAL DE PIVOT :
Em cada Passo k da eliminação de Gauss, troca-se a linha k com a linha
r
e a coluna k com a coluna s , onde r, s são tais que :
isto, como é claro, só no caso de k =/= r ou k =/= s .