2. 2
SUMÁRIO
1. INTRODUÇÃO ........................................................................................................ 3
2. MÉTODO DE ELIMINAÇÃO DE GAUSS ............................................................ 5
3. DECOMPOSIÇÃO LU ............................................................................................ 8
3.1 Desenvolvimento do Método de Decomposição LU ...................................... 9
4. A FATORAÇÃO DE CHOLESKY ....................................................................... 10
5. REFERÊNCIAS BIBLIOGRÁFICAS ................................................................... 17
3. 3
1. INTRODUÇÃO
A resolução de sistemas de equações lineares e o cálculo de determinantes são dois
exemplos de problemas fundamentais da álgebra linear que foram estudados desde
longa data. Leibniz encontrou em 1693 a fórmula para o cálculo de determinantes, e
em 1750 Cramer apresentou um método para resolver sistemas de equações lineares,
conhecida desde então como a Regra de Cramer, primeira pedra na construção da
álgebra linear e da teoria das matrizes. No início da evolução dos computadores
digitais, o cálculo matricial recebeu a atenção merecida. John von Neumann e Alan
Turing eram os pioneiros mundialmente famosos da ciência da computação, e
introduziram contribuições notáveis para o desenvolvimento da álgebra linear
computacional. Em1947, Von Neumann e Goldstein pesquisaram os efeitos dos
erros de arredondamento na resolução de equações lineares. Um ano depois, Turing
iniciou um método para decompor uma matriz num produto de uma matriz triangular
inferior com uma matriz escalonada (conhecida como decomposição LU). Hoje, a
álgebra linear computacional é uma área de muito interesse. Isto é devido ao fato que
este campo está reconhecido agora como uma ferramenta absolutamente essencial em
muitas das aplicações computacionais que requerem cálculos longos e difíceis de
desenvolver manualmente, como por o exemplo: em gráficos de computador, em
modelagem geométrica, em robótica, etc. [1].
Antes de iniciarmos um estudo sobre os métodos diretos que são utilizados para
encontrar a solução exata para um sistema de Equações Algébricas Lineares, iremos
relembrar alguns conceitos relevantes ao tema deste trabalho.
Para começar vamos falar um pouco sobre os sistemas de equações lineares. Tais
sistemas aparecem frequentemente em matemática aplicada, economia e engenharia ao
modelar certos fenômenos. Por exemplo, em programação linear, geralmente é discutido
como maximizar o lucro quando existem certas restrições relacionadas à dificuldade,
disponibilidade de tempo, ou outras condições. Estas restrições podem ser colocadas na
forma de um sistema de equações lineares [2].
Deste modo, um sistema de equações lineares (ou sistema linear) é uma coleção de
equações lineares envolvendo o mesmo conjunto de variáveis. A solução de um sistema
linear é uma n-upla de valores s = (s1,s2,....,sn) que simultaneamente satisfazem todas as
4. 4
equações do sistema [2]. Observando a Figura 1 podemos visualizar a interseção dos
planos formada pela solução de um sistema:
Figura 1 - Cada equação de um sistema linear em três variáveis determina um plano. Uma solução do
sistema corresponde a um ponto na interseção desses planos.
A solução para os sistemas de Equações Algébricas Lineares é obtida a partir de
técnicas diretas e iterativas estas técnicas são implementadas através de dois métodos:
métodos diretos e métodos iterativos. Neste trabalho iremos tratar apenas dos métodos
diretos.
Os métodos diretos se caracterizam por uma sequência de operações (quantidade
definida de operações), depois da qual se obtém a solução do sistema. No presente
trabalho iremos trabalhar apenas com os métodos diretos de Eliminação de Gauss,
Decomposição LU e Fatoração de Cholesky.
O trabalho esta dividido da seguinte forma: nos Capítulos 2, 3 e 4 teremos uma
revisão bibliográfica sobre os métodos de Eliminação de Gauss, Decomposição LU e
Fatoração de Cholesky respectivamente.
5. 5
2. MÉTODO DE ELIMINAÇÃO DE GAUSS
Em um sistema linear formado por um par de equações, o processo para
descobrir as duas incógnitas consiste em isolar uma delas e substituir na outra equação,
eliminando assim, uma das incógnitas.
Para um sistema maior, podemos estender a abordagem para um número maior de
equações através do método conhecido como “Eliminação de Gauss”, que basicamente
manipula algumas variáveis, a fim de gerar uma eliminação ao longo da execução, ao
tempo que vai substituindo regressivamente nas equações originais, a fim de obter a
solução final.
Sendo assim, o sistema geral que iremos estudar é formado por um conjunto arbitrário
de equações tais que:
(Equação 2.1)
(Equação 2.2)
(Equação 2.3)
Entre os métodos computacionais temos que o processo de diagonalização de
matrizes é uma técnica-chave para solução de sistemas lineares. Sendo assim, a primeira
fase da eliminação de Gauss está em reduzir a matriz dos coeficientes para uma matriz
triangular-superior, eliminando da primeira variável em todas as equações diferentes de
. Para isso, vamos multiplicar a Equação 1 por . Com isso, obtemos
6. 6
(Equação 2.4)
Agora, subtraímos a Equação 4 da Equação 2, O que nos permite obter
(Equação 2.5)
substituindo cada termo dentro dos parênteses por um novo , onde , temos
que a Equação 5 pode ser escrita como
(Equação 2.6)
onde.
Assim como fizemos com a segunda linha do sistema, repetimos o processo para as
demais equações. Ou seja, multiplicamos pela Equação 1 e subtraímos o resultado
da equação 3, e continuamos o processo até a última equação [3].
No processo de eliminação, o termo é conhecido como “pivô”, e a multiplicação
de cada linha pelo elemento é denominada “normalização”. Portanto, podemos
notar que o pivô nulo é um problema no processo de normalização, já que provoca uma
divisão por zero. Por isso, em implementações reais, devemos utilizar algumas técnicas
de “re-normalização” para eliminarmos o pivô nulo do processo [3].
Após a primeira eliminação o sistema linear modificado ficará:
(Equação 2.7)
7. 7
(Equação 2.8)
(Equação 2.9)
Agora, repetimos o mesmo processo de eliminação, mas tomando como coeficiente de
normalização como sendo , aplicando-o à todas equações a partir da terceira. Este
processo deve continuar usando os pivôs obtidos nas equações remanescentes. Ou seja,
repetimos o pivotamento e normalização descritas para até a equação ,
eliminando até o termo da equação [3]. Com isso, obteremos o sistema
triangular a seguir:
(Equação 2.10)
(Equação 2.11)
(Equação 2.12)
(Equação 2.13)
A partir do sistema triangular, a solução é facilmente obtida, a começar por xn :
8. 8
(Equação 2.14)
substituindo esse resultado na equação anterior, isto é, na equação , cuja
dependência está apenas nas variáveis e , podemos determinar também .
Esse processo de ir substituindo as incógnitas já encontradas nas equações anteriores
chamaremos de backtrack. A partir dele, encontramos todos pela da fórmula [3]:
(Equação 2.15)
para [3].
3. DECOMPOSIÇÃO LU
Um sistema linear do tipo:
(Equação 3.1)
(Equação 3.2)
(Equação 3.3)
pode ser representado na seguinte forma matricial:
9. 9
onde é a matriz formada pelos coeficientes , é o vetor formado
pelas variáveis a serem determinadas e é o vetor dos termos
independentes [4].
Para determinação das incógnitas, o método da eliminação de Gauss desenvolve
duas fases: a primeira é a eliminação progressiva, onde reduz o número de variáveis ao
longo da execução para, então, aplicar a segunda fase, chamada de substituição
regressiva, onde utiliza o resultado da primeira para determinar a solução geral do
sistema [4].
Dois passos descritos, o primeiro é o que consome mais tempo de cálculo, uma vez
que é nesta fase que consiste o maior número de operações aritméticas e de trocas de
dados. Por isso, encontrar um método que minimize esta fase crítica implica em
aumentar o desempenho para realizar a tarefa de resolução de sistemas lineares [4].
Os métodos de decomposição LU consistem em separar a fase de eliminação da
matriz dos coeficientes , que consomem maior tempo, das manipulações envolvidas
com o vetor dos termos independentes, . Portanto, devemos deixar claro que, ao
contrário da eliminação de Gauss, uma decomposição de LU é uma estratégia de
melhoria na resolução de sistemas lineares. Sendo assim, não existe “o método” de
decomposição LU, mas sim algumas abordagens a serem tomadas que permitem
decompor o sistema. Uma implicação interessante disso é que a própria eliminação de
Gauss pode ser descrita como uma decomposição LU [4].
3.1 Desenvolvimento do Método de Decomposição LU
A equação pode ser reescrita como . Aplicando a eliminação
de Gauss, sabemos que este sistema pode ser reescrito como uma matriz triangular
superior na forma:
10. 10
Esta notação matricial também pode ser usada da seguinte maneira:
.Agora, vamos supor que existe uma matriz composta apenas pela formula triangular
inferior, tal que
O processo de decomposição LU consiste justamente de em decompor a matriz
dos coeficientes em duas matrizes, onde a primeira está na forma triangular inferior
(Low), enquanto a outra está na forma triangula superior (Upper). Sendo assim, para
e , temos que
(Equação 3.4)
Agora, isolamos os termos dependentes de , temos que
(Equação 3.5)
E
(Equação 3.6)
desta forma, isolamos a dependência dos termos independentes da matriz dos
coeficientes . Desta forma, também livramos as operações efetuadas sobre (agora
) de serem feitas em , diminuindo a demanda de recursos para resolução deste
sistema [4].
4. A FATORAÇÃO DE CHOLESKY
A Fatoração de Cholesky expressa uma matriz simétrica como o produto,de
uma matriz triangular (chamada de Fator de Cholesky) pela sua transposta , na
11. 11
forma:
(equação 4.1)
onde será triangular superior.
Sabendo-se que é simétrica quando seus elementos obedecem à uma formação
para toda linha e coluna . Desta forma, a matriz será idêntica à sua
transposta: . Matrizes com este tipo de formação fornecem algumas vantagens
computacionais, pois favorecem a eficiência na solução de sistemas lineares, quando
usados métodos adequados. Além disso, essa identidade permite a criação de algoritmos
simples de criptografia e verificação de dados [5].
Uma vez que se identifica que uma matriz é simétrica, podemos utilizar a
Equação (4.1) para gerar e a partir de . Ou seja, ao multiplicarmos e igualarmos
seus termos, obtemos as seguintes relações:
(Equação 4.2)
onde . Além disso, o elemento da diagonal será obtido por
(Equação 4.3)
As expressões acima são obtidas como uma especificação da decomposição LU para o
caso da matriz decomposta ser simétrica [5].
12. 12
Exemplo de como resolver um sistema de Equações Algébricas Lineares utilizando o
Método de Eliminação de Gauss:
Questão:
g1( k ) eg 2k ) 2 g 3k ) 3 g 4k ) 11
( ( (
3
2 g1( k ) eg 2k ) e 2 g 3k ) g 4k ) 0
( ( (
7
5 g1( k ) 6 g 2k ) g 3k ) 2 g 4k )
( ( (
1
2 g1( k ) e 2 g 2k ) 7 g 3k ) g 4k ) 2
( ( (
9
Escrever a matriz expandida para a etapa (L=0)
e 2 3 11
a11 )
(0
a12 ) a13 ) a14 )
(0 (0 (0
( 0) 2 e e2
3
0
a 22) a 23) a 24)
(0 (0 (0
a 21 7
A , b ( 0)
0 0
a31 a32) a33) a34) 5 6 1
(0 (0 (0
2
a 41)
(0
a 42) a 43) a 44) 2
(0 (0 (0
1
e2 7 2
9
1º)Passo: Definições das multiplicadores e das linhas para a etapa (L=1)
a21)
(0
m21)
(1
3,1414
a11 )
(0
a31)
(0
5
m31)
(1
0,7118
(0)
a11
a41)
(0
m41)
(1
3,1414
a11 )
(0
L11) L10) ; L(21) L(20) m21) L10) ; L(31) L(30) m31) L10) ; L(41) L(40) m41) L1
( ( (1 ( (1 ( (1 0
* L(21)