Cursos: Engenharia AgrĂcola, Engenharia da Produção, MatemĂĄtica Disciplina: CĂĄlculo NumĂŠrico Data: 9 de Agosto de 2005
MĂŠtodo de Eliminação de Gauss 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. Leibnitz 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 inicio 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. Em 1947, 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..
2. Objetivo Obter uma solução exata de um sistema de equaçþes lineares da forma
AX = B ,
(1)
onde, A ĂŠ uma matriz quadrada de ordem n, X e B sĂŁo vetores coluna de ordem n x 1. 1. O mĂŠtodo consiste em utilizar um nĂşmero finito de transformaçþes elementares e considerar elementos da diagonal principal (nĂŁo nulos) chamados pivĂ´s. 2. Se, por exemplo, a ii ≠0 , a linha do pivĂ´ ĂŠ mantida e os outros elementos da i-ĂŠsima coluna ficam zerados. 3. O transformado de um elemento que nĂŁo aparece na linha nem na coluna do pivĂ´ ĂŠ igual a este elemento menos o produto contradiagonal dividido pelo pivĂ´. 4. O processo repete-se escolhendo novos pivĂ´s (nĂŁo nulos) que nĂŁo figurem na linha nem na coluna anteriores. 5. O processo termina quando jĂĄ nĂŁo ĂŠ possĂvel tomar novos pivĂ´s. 6. Depois, inicia-se o processo de substituição para cima.
3. Exemplo Resolva o seguinte sistema de equaçþes lineares
2 x + y − 3 z = −1 − x + 3 y + 2 z = 12
(2)
3x + y − 3z = 0 Podemos escrever este sistema linear na forma matricial: rpp@impa.br
Professor:
 2 1 − 3  x  ďŁŽâˆ’ 1      ďŁŻâˆ’ 1 3 2   y  = 12             3 1 − 3  z   0 
(3)
 2 1 − 3 − 1   A = ďŁŻâˆ’ 1 3 2 12       3 1 − 3 0 
(4)
Passo 1: A Matriz Aumentada. Define-se primeiro a matriz aumentada:
As três primeiras colunas desta matriz coincidem com as colunas da matriz do sistema e a última coluna Ê a dos termos da direita do sistema de equaçþes lineares (2).
Passo 2. Processo de eliminação Como a11 = 2 ≠0, este elemento serå o nosso primeiro pivô. Define-se Ν1 =
a 21 1 = − , e calculam-se os a11 2
outros elementos transformados da segunda linha segundo a regra 3 acima: ' a 22 = a 22 − Îť1 a12 = 3 − (− 12 ) â‹… 1 =
7 2
' a 23 = a 23 − Îť1 a13 = 2 − (− 12 ) â‹… (− 3) = ' a 24 = a 24 − Îť1 a14 = 12 − (− 12 ) â‹… (−1) =
De outra parte, define-se Îť 2 =
1 2
(5) 23 2
a 31 3 = , e determinam-se ou outros elementos transformados da terceira a11 2
linha: ' a 32 = a 32 − Îť 2 a12 = 1 − 32 â‹… 1 = − 12 ' a 33 = a 33 − Îť 2 a13 = −3 − 32 â‹… (−3) = ' a 34 = a 34 − Îť 2 a14 = 0 − 32 â‹… (−1) =
3 2
(6)
3 2
Desta forma a nova matriz aumentada transformada após esta primeira fase de eliminação fica como
2 1  A' = 0 72   1 0 − 2
− 3 − 1  23  1 2 2   3 3  2 2 
(7)
' Para a segunda fase de eliminação Gaussiana consideramos como pivô o elemento a 22 =
definimos Îť 3 =
a a
' 32 1 22
=
− 12 7
2
=−
7 2
≠0. Agora,
1 . Assim, podemos determinar os elementos transformados na terceira 7
linha: rpp@impa.br
Professor:
" ' ' = a 33 − Îť3 a 23 = 32 − (− 17 )â‹… 12 = a 33
11 7
" ' ' = a 34 − Îť3 a 24 = 32 − (− 17 ) â‹… 232 = a 34
(8)
22 7
A nova matriz aumentada fica após esta segunda fase de eliminação da forma seguinte:
2 1 − 3 − 1    7 23  1 A" = 0 2 2 2    22 0 0 117  7 
(9)
Passo 3: Fase de substituição retrocedida Temos obtido o seguinte sistema equivalente de equaçþes lineares:
2 x + y − 3 z = −1 7 2
y + 12 z =
23 2
z=
22 7
11 7
(10)
que Ê um sistema triangular, isto Ê a matriz do sistema Ê uma matriz triangular superior, que pode ser resolvido, facilmente, por substituição das variåveis. Da última equação de (10) temos
z=
22 11
7
=2,
7
e substituindo este valor na segunda equação de (10) obtemos, 7 2
y + 12 â‹… 2 =
23 2
,
e resolvendo para y , fica
Finalmente, substituindo estes valores, z = 2, e
2 x + 3 − 3 ⋅ 2 = −1,
+-,/. 021436587:98;=< â&#x20AC;˘ â&#x20AC;˘
y=
23 2
â&#x2C6;&#x2019;1 7 2
= 3.
y = 3 , na primeira equação de (10) temos,
e resolvendo para x, fica
x=
â&#x2C6;&#x2019;1â&#x2C6;&#x2019; 3 + 6 = 1. 2
O mÊtodo de eliminação de Gauss consiste de duas fases:
Fase de eliminação: o objetivo ĂŠ empregar transformaçþes elementares na matriz aumentada, visando obter uma correspondente a um sistema triangular superior. Fase de substituição retrocedida: inicia-se resolvendo a Ăşltima equação, cuja solução ĂŠ substituĂda na penĂşltima e resolve-se na penĂşltima variĂĄvel, e assim em forma consecutiva.
>8? @BADCBE AGFHA=IKJ2L/MON/P QRADSTN2UWV
Considerando como operaçþes elementares somas, produtos e divisþes entre os elementos da matriz aumentado o na fase de substituição retrocedida, a seguinte tabela reproduz o esforço computacional. Operaçþes
X:Y8Z-[:\ eafWgdh6ikjlgdm wHx ydx z {a|:z Â&#x2020;2Â&#x2021;TÂ&#x2C6;Â&#x160;Â&#x2030;Â&#x152;Â&#x2039;
rpp@impa.br
Primeira Fase de eliminação
Segunda Fase de eliminação
Substituição retrocedida
n
o
p
]
}
^
~
_
Total
`a` aq q Â&#x20AC;
Tempo unitĂĄrio
db c o rdr  aÂ&#x201A;:Â&#x192;
Total
db bdc s8tus:vav Â&#x201E; Â&#x2026;uÂ&#x201A;:Â&#x192;aÂ&#x192; Â?TÂ&#x17D;Â?Â? Â?dÂ&#x2018;
Professor: ! " # $ % & $ ' & % & ( ) *
4. Decomposição LU Definem-se duas matrizes triangulares: â&#x20AC;˘
Matriz L ( de â&#x20AC;&#x153; lowerâ&#x20AC;? ), triangular inferior cujos elementos diagonais sĂŁo unidades e seus elementos abaixo da diagonal sĂŁo os coeficientes Îť1, Îť2, Îť3 definidos no processo de eliminação de Gauss.
1  L =  Îť1   Ν 2 â&#x20AC;˘
0 1
Îť3
0  0   1
(11)
Matriz U ( do inglĂŞs â&#x20AC;&#x153; upperâ&#x20AC;?, superior), matriz triangular superior defini da pelo bloco das trĂŞs primeiras colunas da Ăşltima matriz aumentada Aâ&#x20AC;?. Em nosso exemplo podemos escrever L e U e proceder Ă multiplicação matricial LU obtendo:
 1   1 â&#x2C6;&#x2019;  2  3  2
0  0  1  
0 1 â&#x2C6;&#x2019;
1 7
L
2   0  0 
1 7 2 0
â&#x2C6;&#x2019; 3  2 1 â&#x2C6;&#x2019; 3   1   = â&#x2C6;&#x2019;1 3 2  = A  2    11  â&#x2C6;&#x2019; 3 1 3    7 
(12)
U
A matriz do sistema resulta sendo o produto de duas matrizes, uma triangular inferior e outra triangular superior.
5. CĂĄlculo do Determinante O determinante do produto de duas matrizes quadradas ĂŠ o produto dos determinantes det (L) â&#x20AC;˘ det (U) = det ( A)
(12)
7 11 = 11 . Isto ĂŠ devido ao fato que o determinante de 2 7
mas det(L) = 1, e assim det(A) = det (U) = 2. .
qualquer matriz triangular ĂŠ o produto dos elementos da diagonal, o que pode ser comprovado em forma fĂĄcil.
6. EstratÊgia de Pivotamento Um sistema de operaçþes pode ter um zero na diagonal e ainda possuir uma solução bem definida. Por exemplo, o sistema de equação. x2 = 1 x1 + x2 = 2 possui um zero na diagonal, mas a solução, x1 = 1 e x2 = 2, estå bem definida. O problema pode ser resolvido reordenando as equaçþes para obter o sistema. rpp@impa.br
Professor: Â&#x2019; Â&#x201C; Â&#x201D; Â&#x2022; Â&#x2013; Â&#x2014; Â&#x2DC; Â&#x2013; Â&#x2122; Â&#x2DC; Â&#x2014; Â&#x2DC; Â&#x161; Â&#x203A; Â&#x153;
x1 + x2 = 2 x2 = 1 o que pode ser resolvido por meio da retrosubstituição, pois o sistema ĂŠ agora triangular superior. Assim, o problema de um pivĂ´ nulo pode superar-se, isto quer dizer, processando abaixo da coluna pivotante atĂŠ achar um elemento nĂŁo nulo e trocando esta linha com a linha pivotal existente. Isto vai funcionar, mas hĂĄ uma condição consideração adicional. Devido Ă que ocorrem problemas se um pivĂ´ ĂŠ nulo, resulta razoĂĄvel supor o que pode acontecer se o pivĂ´ ĂŠ pequeno em comparação com os outros elementos da matriz, e tal ĂŠ, de fato, neste caso. Assim ĂŠ melhor antes de procurar o primeiro elemento nĂŁo nulo, pesquisar a coluna inteira para determinar o elemento de mĂłdulo mĂĄximo e depois trocar as linhas, se for necessĂĄrio, de modo que este elemento converte-se no pivĂ´. Tal processo se chama Pivotamento Parcial, constituindo um passo fundamental na seleção de sistema de equaçþes lineares. Existe tambĂŠm um processo de Pivotamento Completo segundo o qual localizamos o elemento de maior mĂłdulo na submatriz a ij para i, j â&#x2030;Ľ k no sistema.
a11 x1 + a12 x 2 + ......................................... + a1n x n = b a 22 x 2 + ...................................... + a 2 n x n = b2 a kk x k + ............ + a kn x n = bk a k +1, n x k + ............ + a k +1, n x n = bk +1 a n, k x k + ............ + a n , n x n = bn depois do qual trocam-se a linha e a coluna para que este elemento ocupe a posição pivotal. Em termos de computação, isto resulta num alto esforço computacional e na pratica, pouco se precisa. Em geral, o mais conveniente Ê o pivotamento parcial. Caso não encontrar nenhum elemento diferente de zero na coluna pivotal, então a matriz Ê simgular, de modo que pode usar-se como uma prova de singularidade. Exemplo:
p1 p2 p3
â&#x2020;&#x2019; â&#x2020;&#x2019; â&#x2020;&#x2019;
2 1 3  4 3 10   2 4 17
 x  11  y  = 28      z   31 Procura-se o elemento de módulo måximo na primeira coluna.
Primeiro PivĂ´ 4 2 2
3 1 4
10 3 17
28 11 31
P1
0
- 0.5
-2
-3
P2
4
3
10
28
P3
0
25
12
17
Ou tambĂŠm
Foi â&#x20AC;&#x153;trocadaâ&#x20AC;? p 2 e p1. Eliminamos x1 diferentes do elemento privotal. O novo pivĂ´ ĂŠ o maior elemento da segunda coluna diferente da linha pivotal anterior.
Segundo PivĂ´
rpp@impa.br
Professor: Â? Â&#x17E; Â&#x;  ¥ ¢ ÂŁ ÂĄ ¤ ÂŁ ¢ ÂŁ ÂĽ ÂŚ §
P1
0
0
0.4
0.4
P2
4
3
10
28
P3
0
25
12
17
Agora temos a forma triangular superior. Para levar adiante a substituição retrocedida, trabalhamos com as linhas em ordem inversa, p 3 , p 2 , p1 :
x3 =
0.4 =1 0.4
Da linha p2 obtĂŠm-se.
x2 =
17 â&#x2C6;&#x2019; 12 x 3 5 = =2 2 .5 2 .5
Da linha p2 obtĂŞm-se:
x1 =
28 â&#x2C6;&#x2019; 3 x 2 â&#x2C6;&#x2019; 10 x3 28 â&#x2C6;&#x2019; 6 â&#x2C6;&#x2019; 10 12 = = =3 4 4 4
7. Escalonamento A estratĂŠgia dos pivĂ´s pode ser mudada re-escalando as equaçþes. Por exemplo, dado o sistema de equaçþes seguinte: (*) x1 + x2 = 2 0,0001 x1 + 0,1 x2 = 1 o multiplicador ĂŠ 0,0001. Mas, se multiplicamos a segunda equação por 100 000 resultarĂĄ, x1 + x2 = 2 10 x1 + 10000 x2 = 100 000 EntĂŁo deveriam ser trocadas as linhas, e o multiplicador serĂĄ 0,1. Assim a estratĂŠgia de pivotamento foi alterada com o escalamento e, alĂŠm disso, os cĂĄlculos realizados no processo de eliminação mudam, dando uma acumulação distinta dos erros de arredondamento. AtĂŠ o momento nĂŁo existe acordo sobre a â&#x20AC;&#x153;melhorâ&#x20AC;? maneira de escalonamento de um sistema linear visando reduzir a acumulação de erros de arredondamento, mas um mĂŠtodo muito empregado ĂŠ chamado de â&#x20AC;&#x153;equilĂbrioâ&#x20AC;?. Nesta tĂŠcnica, as equaçþes sĂŁo escalonadas de modo que os elementos mĂĄximos nas linhas e colunas da matriz A tenhan mais ou menos a mesma grandeza, e em geral, escolhe-se a unidade. Um balanço do sistema (*) seria assim, x1 + x2 = 2 0,001 x1 + x2 = 10.
rpp@impa.br
Professor: ¨ Š ª    Ž  ¯ Ž  Ž ° ¹ ²