Apostila: Análise Numérica I

38
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Apostila: Análise Numérica I VERSÃO RASCUNHO: Por favor informe suas observações aos autores. Autores: Prof. Júlio F. Szeremeta Prof. Sérgio Peters Editado por: Andréa Vergara da Silva 44

Transcript of Apostila: Análise Numérica I

Universidade Federal de Santa CatarinaCentro TecnológicoDepartamento de Informática e Estatística

Apostila:

Análise Numérica I

VERSÃO RASCUNHO:

Por favor informe suas observações aos autores.

Autores: Prof. Júlio F. Szeremeta Prof. Sérgio Peters

Editado por: Andréa Vergara da Silva

44

Antônio Césa da Silveira

e-mail: [email protected]

Florianópolis / 1999.

45

6. SISTEMAS DE EQUAÇÕES LINEARES

6.1 - INTRODUÇÃO

Uma equação é considerada linear quando as operaçõesenvolvidas entre incógnitas são apenas operações lineares.

Por exemplo:

a). x y z /4 0 equação linear

b). x y2 2 1 0 equação não linear

c). 1 0/x y z equação não linear

Quando várias equações lineares são agrupadas, de modo quetodas devam ser satisfeitas simultaneamente por uma mesmasolução, tem-se um sistema de equações lineares.

Existem aplicações de sistemas de equações lineares nosmais variados segmentos da ciência e tecnologia.

Def.: Um sistema de ordem n, constituído por n equaçõeslineares a n incógnitas, é toda expressão do tipo:

A x b a a aa a a

a a a

xx

x

bb

b

n

n

n n nn n n

11 12 1

21 22 2

1 2

1

2

1

2

(1)

onde A é a matriz de coeficientes, x é o vetor de incógnitas eb é o vetor de termos independentes.

Exemplos de sistemas de equações lineares:

a). x xx x1 2

1 2

204

b). 1 11 1

204

1

2

.

xx Representação matricial do sistema (a).

A resolução de sistemas de equações lineares pode serobtida através de métodos diretos, iterativos ou de otimização.

46

6.2). Métodos Diretos:

São métodos que permitem obter a solução do sistemarealizando-se um número finito de operações aritméticas.Portanto, o esforço computacional necessário para se obter umasolução do sistema é perfeitamente previsível. Esta soluçãoseria exata se não fosse a presença de erros dearredondamento.

São normalmente empregados a sistemas lineares commatrizes de coeficientes densas e de porte médio (até 1000equações).

Dentre os métodos diretos mais comuns estão:

6.2.1). Método de Eliminação de Gauss:

Consiste na transformação da matriz expandida (matriz decoeficientes acrescida da coluna de termos independentes) emmatriz triangular, superior ou inferior, seguida de umprocesso de substituições sucessivas para explicitar a soluçãodo sistema. Esta transformação em matriz triangular (ouescalonamento) é conseguida através da aplicação sucessiva deoperações elementares sobre linhas (ou sobre colunas) namatriz expandida, buscando a eliminação seletiva de elementosnão nulos para torna-la uma matriz triangular. Podemosassociá-lo a um processo de pivotamento, parcial ou total, quepromove uma troca seletiva de linhas (ou colunas), visandotomar pivôs (elementos da diagonais principais) com maiormódulo possível, e assim procurando evitar a presença de pivôsnulos.

Ex. 1): Resolver o seguinte sistema de equações lineares pelométodo de eliminação de Gauss sem pivotamento adotandooperações aritméticas com 4 (quatro) dígitos significativos earredondamento ponderado.

Na forma matricial tem-se

47

1º). Geração da matriz expandida:

2º). Triangularização correspondente a primeira coluna (k =1):

k = 1

3º). Triangularização correspondente a segunda coluna (k = 2):

k = 2

4º). Processo de retrosubstituição sucessiva:

48

Após a triangularização analisa-se o sistema de equaçõesequivalente, gerado a partir do processo de eliminaçãoempregado:

Obs.: Note-se que o valor de x3 pode ser diretamente obtido apartir da equação 3, uma vez que esta equação independe de x1 ex2. Posteriormente os valores de x2 e x1 são obtidos dasequações 2 e 1, respectivamente.

x3 = -0.9412/(-0.3891) x3 = 2.419

x2 = ( 1 – 0.4899x3 ) / 1.666 x2 = -0.1110

x1 = ( - 0.784x2 – 0.279 x3 ) /(-0.421) x1 = 1.396

Portanto, a solução do sistema correspondente ao exemplo 1é:

S = { 1.396, -0.1110, 2.419}

Se os resíduos ( r = | b - A x | ) de cada uma dasequações do sistema linear proposto forem avaliados,normalmente são obtidos valores residuais não nulos dasequações, decorrentes de erros de arredondamento. Por exemplo,

Neste caso, também pode ser calculado o erro exato, dadopor erro = | Xexato - Xaproximado |. A solução exata foi encontradaatravés do MATLAB, e foi obtida com 16 dígitossignificativos :

Xexato1 = 1.39628656...Xexato2 = - 0.11108021803Xexato3 = 2.4190803038

49

Vamos avaliar o erro utilizando a precisão de 4 dígitossignificativos, que foi utilizada até aqui em todas asoperações. Então:

Xexato1 = 1.396 Xexato2 = - 0.1111Xexato3 = 2.419

E o erro exato obtido foi:

Erro1 = | 1.396 - 1.369 | = 0.000Erro2 = | -0.1111 - (-0.1110) | = 0.0001Erro3 = | 2.419 - 2.419 | = 0.000

Ex. 2): Resolver o seguinte sistema de equações lineares pelométodo de eliminação de Gauss com pivotamento parcialutilizando operações aritméticas com 4 (quatro) dígitossignificativos e arredondamento ponderado.

Na forma matricial tem-se

1º). Geração da matriz expandida:

2º). Pivotação parcial, correspondente ao primeiro pivô (k=1):

(i). Busca do maior elemento em módulo da coluna k = 1:

50

k=1 i = 2

(maior módulo da coluna k=1 estána linha i = 2).

(ii). troca de linhas:

(Troca da linha L1

com L2 e vice-versa)

(iii). Matriz pivotada:

3º). Processo de triangularização, correspondente ao primeiropivô (k=1):

Obs.: Note que as operações elementares aplicadas acimaeliminam os elementos abaixo da diagonal principal na primeiracoluna. A operação de eliminação acontece sempre que subtrai-se de cada linha, a linha do pivô multiplicada pelo elemento aser eliminado divida pelo elemento pivô.

4º). Pivotação Parcial, correspondente ao segundo pivô (k=2):

51

(i). Busca parcial do maior módulo da coluna k = 2 (buscaa partir da segunda linha e da segunda coluna, pois a primeiracoluna já foi anulada)

K=2

(maior módulo da coluna k=2 jáestá na linha i = 2).

(ii). Não é necessário a troca de linhas, pois a matriz jáestá pivotada.

5º). Processo de triangularização, correspondente ao segundopivô (k=2):

6º). Processo de retrosubstituição sucessiva:

Primeiramente analisa-se o sistema de equaçõesequivalente, gerado a partir do processo de eliminaçãoempregado:

52

Obs.: Note-se que o valor de x3 pode ser diretamente obtido apartir da equação 3, e posteriormente x2 e x1 a partir dosvalores obtidos anteriormente.

x3 = -0.9410/ (-0.3890) x3 = 2.419

x2 = ( 0.9397 – 0.4606x3 ) / 1.566 x2 = -0.1113

x1 = ( 1 – 0.832 x2 – 0.193 x3 ) /0.448 x1 = 1.397

Portanto a solução do sistema dado no exemplo 2 é:

S = { 1.397, -0.1113, 2.419}

Os resíduos ( r = | b - A x | ):

Neste caso, também pode ser calculado o erro exato, dadopor erro = | Xexato - Xaproximado |, através da solução exata encontradaatravés do MATLAB:

Xexato1 = 1.39628656...Xexato2 = - 0.11108021803Xexato3 = 2.4190803038

Vamos avaliar o erro utilizando a precisão de 4 dígitossignificativos, que foi utilizada até aqui em todas asoperações. Então:

Xexato1 = 1.396 Xexato2 = - 0.1111Xexato3 = 2.419

E o erro exato obtido foi:

Erro1= | 1.396 - 1.397 | = 0.001Erro2= | -0.1111 - (-0.1113) | = 0.0002Erro3= | 2.419 - 2.419 | = 0.000

53

Obs.: Note que com o processo de pivotamento parcial: Eliminam-se os possíveis pivôs nulos, caso a matriz decoeficientes seja não singular (determinante diferentede zero);

Também consegue-se uma redução nos efeitos de erros dearredondamento (diminuição da perda de significação),destacada na avaliação do erro exato.

Alternativamente, pode-se implementar o método deeliminação de Gauss usando a pivotação total, que écomputacionalmente mais eficiente, induzindo um menor erro dearredondamento acumulado, de forma a se obter soluçõescomputacionalmente mais estáveis em relação às perturbaçõesintroduzidas por erros de arredondamento. No pivotamentototal, ou completo, procura-se o elemento de maior módulodentre todos os elementos disponíveis na matriz decoeficientes, promovendo trocas de linhas e/ou colunasconforme a necessidade. Para avaliar as consequências destastrocas de linhas e colunas deve-se interpretar os elementos damatriz expandida em termos das equações do sistema, assim:

Troca de linhas implica apenas em trocar a ordem naapresentação das equações;

Troca de colunas implica na troca da ordem de apresentaçãodas variáveis (incógnitas) do sistema.

Ex. 3): Resolver o seguinte sistema de equações lineares,usando a pivotação total e operações aritméticas com 4(quatro) dígitos significativos e arredondamento ponderado.

Na forma matricial tem-se

1º). Geração da matriz expandida:

54

2º). Pivotação total, correspondente ao primeiro pivô (k=1):

(i). Busca do maior módulo dentre todos os elementos damatriz:

(o elemento de maior módulo estána coluna j = 2 e na linha i =2).

Obs.: Observa-se que foi acoplada uma linha adicional namatriz de coeficientes para o armazenamento da ordem deapresentação das variáveis envolvidas. Então, inicialmentetem-se a ordem natural das variáveis x1, x2 e x3, cujoscoeficientes multiplicadores são, respectivamente, oselementos da primeira, segunda e terceira colunas.

(ii). Efetua-se a troca de linhas e colunas:

(Troca da linha L1 com a linha L2

e vice-versa, e troca doselementos da coluna 1 com oselementos da coluna 2 e vice-versa).

(iii). Matriz pivotada:

55

Obs.: Note no processo de pivotamento total, a ordem deapresentação das variáveis xi envolvidas podem ser alteradas.

3º). Processo de triangularização, correspondente ao primeiropivô (k=1):

4º). Pivotação total, correspondente ao segundo pivô (k=2):

(i). Busca do maior módulo dentre os elementos da matriz,a partir da segunda linha e segunda coluna.

(Elemento de maior módulolocalizado na coluna j=2 e linhai=2).

(ii). Não há troca de linhas e colunas, a matriz já estánaturalmente pivotada:

5º). Processo de triangularização, correspondente ao segundopivô (k=2):

56

6º). Retrosubstituição:

Retornando a forma matricial (note a nova ordem dasvariáveis):

x3 = -0.9410/ -0.3890 x3 = 2.419

x1 = ( -0.9423 – 0.0971x3 ) / -0.8432 x1 = 1.396

x2 = ( 1 – 0.448 x1 – 0.193 x3 ) /0.832 x2 = - 0.1106

S = {1.396,-0.1106, 2.419}

Os resíduos ( r = | b - A x | ) são:

E o erro exato obtido foi:

Erro1= | 1.396 - 1.396 | = 0.0000Erro2= | -0.1111 - (-0.1106) | = 0.0005Erro3= | 2.419 - 2.419 | = 0.0000

Considerações:

57

- Observando os resíduos encontrados nos exemplos acima,nota-se que o resíduo nem sempre é um bom elemento paracertificarmos a exatidão da solução, pois embora encontremosresíduos menores no método sem o uso do pivotamento,comparativamente aos métodos que se utilizaram de pivotamentoparcial e total, a solução do sistema normalmente é mais exatanos métodos com pivotação. Pode-se observar que em sistemas demédio porte os métodos com pivotação total fornecem soluçõesmais exatas.

- Pode-se observar que nas operações elementares sobrelinhas aplicadas no método de Gauss, aparece uma operação dedivisão pelo pivô. Sabe-se que na maioria das operações dedivisão são gerados erros de arredondamentos (vide capítulo deerros numéricos), então ao longo do processo de eliminaçõessucessivas, estes erros de arredondamento vão se acumulando,pois os resultados obtidos em um estágio do processo deeliminação serão usadas no estágio seguinte.

Para minimizar este efeito cumulativo dos erros dearredondamento, pode-se modificar as operações elementares doprocesso de escalonamento da seguinte forma:

Substitui-se a linha corrente pelo produto entre aprópria linha e o elemento pivô subtraído do produto entre alinha do pivô e o elemento a ser eliminado.

Por exemplo:

Se a linha L3 sofre a seguinte operação de eliminação doelemento a31 com o pivô da primeira linha a11:

L3 L - aa L 331

111

Sabendo-se que o objetivo desta operação é anular oelemento a31, pode-se modificar esta operação, desde que semantenha o resultado nulo na primeira coluna. Assim, se

L - aa L = 0331

111 (para a primeira coluna k = 1)

58

Então, pode-se multiplicar a equação acima pelo elementopivô a11, resultando numa forma alternativa, que mantém oresultado nulo para primeira coluna da matriz.

a L - a L = 011 3 31 1

Assim, com esta forma alternativa de aplicar as operaçõesde eliminação tem-se um menor acúmulo de erros dearredondamento, pois não haverá divisões ao longo do processode eliminação. Será necessária apenas uma divisão em cadaequação no momento de determinar as variáveis xi.

Este procedimento alternativo pode gerar erros por perdade significação quando tem-se pivôs de grande magnitude, ouquando o número de equações é elevado, pois nestes casos oacúmulo de operações de multiplicação em cada linha dosistema, especialmente nas últimas linhas, pode conduzir acoeficientes muito grandes, podendo gerar valores que nãopossam ser representados (valores podem cair na região deoverflow).

Exercícios:

1). Monte um algoritmo para resolver um sistema de equaçõeslineares pelo método de Gauss utilizando:

Pivotação Parcial;Pivotação Total.

2). Como você avaliaria o determinante da matriz decoeficientes utilizando o processo de eliminação adotado pelométodo de Gauss?

6.2.2). Método de Gauss-Jordan:

Consiste na transformação da matriz expandida em matrizdiagonal (normalizada com coeficientes unitários), que éequivalente a matriz identidade. Esta transformação é obtidaatravés da aplicação sucessiva de operações elementares sobrelinhas (ou sobre colunas), buscando a eliminação seletiva doselementos não nulos externos a diagonal principal. Tambémpode-se associar este método a um processo de pivotamento,parcial ou total.

59

Ex. 3): Resolver o seguinte sistema de equações linearesusando o método de Gauss-Jordan com pivotamento parcial:

3 15 475 84 2 3 72 5 3 12

1 2 3

1 2 3

1 2 3

x x xx x xx x x

. .

adota-se também, operações aritméticas com 4 (quatro) dígitossignificativos e arredondamento ponderado.

Na forma matricial tem-se

3 15 4754 2 32 5 3

8712

1

2

3

. .

xxx

1º). Geração da matriz expandida:

3 15 4754 2 32 5 3

. .

87-12

2º). Pivotação parcial, correspondente ao primeiro pivô (k =1):

(i). Busca do maior módulo da coluna k = 1

k=1i = 2

3 15 4754 2 32 5 3

. .

87-12

(o elemento de maior módulo está nalinha i = 2).

(ii). troca de linhas:

3 15 4754 2 32 5 3

1 2

2 1

. .

87-12

L LL L (Troca da linha L1 com a

linha L2 e vice-versa)

(iii). Matriz pivotada:

60

( ). .

4 2 33 15 4752 5 3

78-12

Obs.: Note que até aqui tem-se um processo idêntico aeliminação de Gauss.

3º). Processo de normalização do primeiro pivô (k=1):

( ). .

/4 2 33 15 4752 5 3

41 1

78-12

L L

1 05 0753 15 4752 5 3

. .

. . 1.758-12

4º). Processo de diagonalização, correspondente ao primeiropivô (k = 1):

1 05 0753 15 4752 5 3

32

2 1

3 1

. .

. . 1.758-12

LL2

3

L LL L

1 05 0750 0 250 4 15

. ...

1.752.75-15.5

5º). Pivotação Parcial, correspondente ao segundo pivô (k=2):

(i). Busca parcial do maior módulo da coluna k = 2 (buscaa partir da segunda linha e segunda coluna, pois a primeiracoluna já foi anulada)

k=2

1.752.75-15.5

LL2

3

1 05 0750 0 250 4 15

3

2

. ..

( ) .

LL

(elemento de maior módulo dacoluna k=2 está na linha i = 3).

61

(ii). troca de linhas:

1.75-15.52.75

1 05 0750 4 150 0 25

. .( ) .

.

(Troca da linha L2 com a

linha L3 e vice-versa)

6º). Processo de normalização do segundo pivô (k=2):

1 05 0750 4 150 0 25

42

. ...

/ 1.75-15.52.75

L2

L

1 05 0750 1 03750 0 25

. ...

1.75-3.8752.75

7º). Processo de diagonalização, correspondente ao segundopivô (k = 2):

1 05 0750 1 03750 0 25

05

0

1 2

3 2

. ...

.

1.75-3.8752.75

L L

L L

1

3

L

L

1 0 056250 1 03750 0 25

...

3.6875-3.8752.75

9º). Processo de normalização do terceiro pivô (k = 3):

1 0 056250 1 03750 0 25 253

... / .

3.6875-3.8752.75

L3

L

1 0 056250 1 03750 0 1

..

3.688-3.8751.1

62

10º). Processo de diagonalização, correspondente ao terceiropivô (k = 3):

1 0 056250 1 03750 0 1

056250375

1 1 3

2 2 3

..

..

3.688-3.8751.1

L L LL L L

1 0 00 1 00 0 1

3.069-4.2881.1

Analisando o sistema de equações equivalente, gerado apartir do processo de eliminações sucessivas, tem-se oseguinte sistema:

x x xx x xx x x

1 2 3

1 2 3

1 2 3

0 00 0 42880 0

3.069

1.1 .

Obs.: Note que cada equação representa explicitamente umaincógnita, ou seja, o vetor b de termos independentesmodificado guarda a própria solução do sistema. Assim,

x1 = 3.069x2 = - 4.288x1 = 1.100

A solução obtida é

S = {3.069,- 4.288,1.100}

Exercícios:

3). Elabore um algoritmo para resolver um sistema de equaçõeslineares pelo método de Gauss-Jordan utilizando pivotaçãoparcial;

6.2.3 - Método da Inversão de Matrizes:

63

Seja o sistema dado pela eq. (1), A.x = b,

onde A é a matriz de coeficientes, x é o vetor de incógnitas eb é o vetor de termos independentes.

Multiplicando a equação (1) pela matriz inversa A-1 de A,obtida a partir de um método qualquer, tem-se,

A-1.(A.x) = A-1.(b)

Utilizando a associatividade do produto matricial resulta:

(A-1.A).x = A-1.bI.x = A-1.b x = A-1.b

Portanto, pode-se obter o vetor de incógnitas xmultiplicando a matriz inversa A-1 pelo vetor b.

Trata-se de um método eficiente quando dispomos da inversada matriz A, caso contrário temos o custo adicional dadeterminação da inversa.

Ex. 4): Resolva o sistema de equações lineares indicado abaixousando o método de inversão de matrizes. Utilize o processo depivotamento parcial para evitar pivôs nulos.

3 15 475 84 2 3 72 5 3 12

1 2 3

1 2 3

1 2 3

x x xx x xx x x

. .

Adota-se também operações aritméticas com 4 (quatro) dígitossignificativos e arredondamento ponderado.

Na forma matricial tem-se

3 15 4754 2 32 5 3

8712

1

2

3

. .

xxx

1º). Geração da matriz inversa de A.

Adota-se um método prático clássico para se obter a matrizinversa:

64

(i). Primeiramente gera-se a matriz aumentada [ A | I ],composta pela matriz A e pela matriz identidade I da mesmaordem de A:

3 15 4754 2 32 5 3

1 0 0. . 0 1 00 0 1

(ii). Através de operações elementares sobre linhas (ou sobrecolunas) transforma-se a matriz A na matriz identidade I, econsequentemente a matriz identidade inicial transforma-se nainversa A-1. Trata-se de um procedimento análogo ao utilizadono método de Gauss-Jordan.

Este procedimento também pode ser associado a um processode pivotação parcial, para evitar pivôs nulos e diminuir aperda de significação.

Seguem-se os passos para obtenção de A-1:

a). Pivotação parcial, correspondente ao primeiro pivô (k=1):

(i). Busca do maior módulo da coluna k = 1

k=1

i = 2 3 15 4754 2 32 5 3

1 0 0. .( ) 0 1 0

0 0 1

(Elemento de maior móduloda coluna k=1 está nasegunda linha)

(ii). troca de linhas:

3 15 4754 2 32 5 3

1 0 0 1 2

2 1

. .( ) 0 1 0

0 0 1

L LL L

(Troca da linha L1 com alinha L2 e vice-versa)

(iii). Matriz pivotada:

4 2 33 15 4752 5 3

0 1 0. . 1 0 0

0 0 1

b). Processo de normalização do primeiro pivô (k=1):

65

4 2 33 15 4752 5 3

0 1 0 41 1

. ./

1 0 00 0 1

L L

1 05 0753 15 4752 5 3

0 025 0. .. .

. 1 0 00 0 1

c). Processo de diagonalização, correspondente ao primeiropivô (k = 1):

1 05 0753 15 4752 5 3

0 025 032

2 2 1

3 3 1

. .

. ..

1 0 00 0 1

L L

L LL L

1 05 0750 0 250 4 15

1 075 00 05 1

. ...

..

0 0.25 0

Obs.: Note que existe uma completa analogia com o método deeliminação de Gauss-Jordan.d). Pivotação parcial, correspondente ao segundo pivô (k=2):

(i). Busca parcial do maior módulo da coluna k = 2 (buscaa partir da segunda linha, pois a primeira linha já foiutilizada no processo de eliminação).

k=2

1 05 0750 0 250 4 15

1 075 00 05 1

3

2

. ..

( ) ...

0 0.25 0

LL2

3

LL

(o elemento de maior móduloda coluna k = 2 está na terceiralinha).

(ii). troca de linhas:

1 05 0750 4 150 0 25

0 05 11 075 0

. .( ) .

...

0 0.25 0

(Troca da linha L2 com a

linha L3 e vice-versa)

66

Obs.: Note que a pivotação parcial eliminou um pivô nulo(processo possível em caso de matrizes não singulares).

e). Processo de normalização do segundo pivô (k=2):

1 05 0750 1 03750 0 25

0 0125 0251 075 0

. ...

. ..

0 0.25 0

f). Processo de diagonalização, correspondente ao segundo pivô(k = 2):

1 05 0750 1 03750 0 25

0 0125 0251 075 0

05

0

1 2

3 2

. ...

. ..

. 0 0.25 0

L

L

1

3

L L

L L

1 0 056250 1 03750 0 25

0 0125 0251 075 0

...

. ..

0 0.3125 -0.125

g). Processo de normalização do terceiro pivô (k = 3):

1 0 056250 1 03750 0 1

0 0125 02504 03 0

.. . .

. .

0 0.3125 -0.125

h). Processo de diagonalização, correspondente ao terceiropivô (k = 3):

1 0 056250 1 03750 0 1

0 0125 02504 03 0

056250375

1 1 3

2 2 3

.. . .

. .

..

0 0.3125 -0.125

L L LL L L

67

1 0 00 1 00 0 1

015 00125 02504 03 0

-0.225 0.4812 -0.125

. . .. .

Então, A-1 = -0.225 0.4812 -0.125

015 00125 02504 03 0. . .. .

Para obter o vetor solução x efetua-se o produto entre A-1

e b:

x = A-1 . b = -0.225 0.4812 -0.125

015 00125 02504 03 0. . .. .

.8712

=

306942881100

...

Então, a solução do sistema é a seguinte:

x1 = 3.069x2 = - 4.288x3 = 1.100

S = {3.069,-4.288,1.100}

Exercícios:

4). Resolva o seguinte sistema de equações lineares pelosmétodos de:

Gauss com pivotamento total;Gauss-Jordan com pivotamento total;Inversão de matriz com pivotamento parcial;

3 15 475 84 01 3 7

05 1

1 2 3

1 2 3

1 2 3

x x xx x

x x x

. .,

, x-0,05

5). Monte um algoritmo para determinar a matriz inversa de A,recorrendo ao pivotamento parcial (sugestão: use o algoritmode Gauss-Jordan).

Além dos métodos de eliminação tradicionais, como Gauss,Gauss-Jordan e inversão, tem-se as suas variações

68

classificadas como métodos de decomposição LU, conforme oprocedimento que segue.

6.2.4 - Método de decomposição LU (Crout)

Nesta família de métodos diretos para a solução de umsistema linear faz-se uso do fato de que, sob certascondições, uma matriz quadrada pode ser decomposta no produtode duas matrizes triangulares. Uma destas variações doprocedimento geral de eliminação é conhecida como método deCrout (ou Cholesky para o caso particular de matrizessimétricas positivas definidas).

A matriz A pode ser decomposta no produto A=LU, onde L éuma matriz triangular inferior e U é uma matriz triangularsuperior , quando a matriz for não singular (Det (A) ¹ 0).Além disso, se atribuirmos valores fixos aos elementos dadiagonal, seja de L (lii = 1 no Método de Doolitle) ou em U (uii

= 1 no Método de Crout), esta decomposição será única.Para a solução de A . x = b, pode-se decompor A segundo o

Método de Crout, conforme segue:

L

ll l

l l ln n nn

11

21 22

1 2

0 00

U

u uu

n

n

10 1

0 0 1

12 1

2

tal que A = L.U. Então, o sistema torna-se L.U.x = b. Fazendo U.x = c, resolve-se primeiro L.c = b e depois U.x = c.

Para um sistema 3x3 podemos escrever:

Esta multiplicação de matrizes pode ser usada para definiros valores de , e ci em termos dos valores e bi.

69

c b l1 1 11 /

u a l u l23 23 21 13 22 ( )/ c b l c l2 2 21 1 22 ( )/c b l c l c l3 3 31 1 32 2 33 ( )/

Note que o cálculo de c pode ser feito da mesma forma que ocálculo de u.

A sequência de operações é :

1). Calcular a primeira coluna de L, calcular a primeira linhade U e c1;2). Calcular a segunda coluna de L, calcular a segunda linhade U e c2;e assim sucessivamente.

Os valores de x são obtidos por substituição sucessiva apartir de c (U.x = c)

x c3 3x c u x2 2 23 3 x c u x u x1 1 13 3 12 2

Note que, o vetor c também pode ser obtido do sistemaparcial L.c = b por substituições sucessivas.

Sugere-se usar o processo "tipo escada" para armazenar L eU na mesma área de memória, o que torna o processo maiseficiente,

a a aa a aa a a

bbb

l u ul l ul l l

ccc

11 12 13

21 22 23

31 32 33

1

2

3

11 12 13

21 22 23

31 32 33

1

2

3

De uma forma geral, para sistemas de ordem n:

- Operações com o primeiro pivô: k = 1

i = 1,2,3,...,n

j = 2,3,...,n+1

- Operações com pivô genérico: k = 2,3,...,n

70

l aik ik

l uirr

k

rk1

1 i k (i =

k,k+1,...,n)

u 1l a l ukjkk

kj krr 1

k 1

rj

j > k (j =

k+1,...,n+1)

Ex. 5): Resolver o sistema abaixo pelo Método de Crout, semestratégia de pivotamento, usando 4 dígitos significativos earredondamento ponderado.

Armazenam-se os valores de bi em e ci em e amatriz decomposta L e U na própria área de memória de A.

a a aa a aa a a

aaa

11 12 13

21 22 23

31 32 33

14

24

34

após a decomposição LU l u u

l l ul l l

uuu

11 12 13

21 22 22

31 32 33

14

24

34

1º). Geração da matriz expandida:

2º). Decomposição LU (Método de Crout), correspondente aoprocesso com o primeiro pivô (k = 1):

Adota-se aqui a seguinte legenda:- Representação em Negrito: para valores da matriz

decomposta L e U. - Representação normal: para valores da matriz

expandida original A | b.

(i). Definição da primeira coluna k = 1 da matriz L - li1:(i=1,2,3).

71

(ii). Como não existe pivotamento, o pivô já estádeterminado:

(iii). Definição da primeira linha k = 1 da matriz U -u1j: (j=2,3,4)

5º). Decomposição LU, correspondente ao processo com o segundopivô (k = 2):

(i). Definição da coluna k = 2 da matriz L - li2: (i =2,3)

(ii). Sem pivotamento.

72

(iii). Definição da linha k = 2 da matriz U - u2j: (j =3,4)

6º). Decomposição LU, correspondente ao processo com oterceiro pivô (k = 3):

(i). Definição da coluna k = 3 da matriz L - li3: (i = 3)

(ii) Não há pivotamento.

(iii). Definição da linha k = 3 da matriz U - u3j: (j = 4)

73

7º). Processo de retrosubstituição sucessiva:

Deve-se observar que o vetor de termos independentes b jáfoi transformado no vetor c do sistema L.c = b,simultaneamente ao processo de decomposição.

Então, extraindo da decomposição LU a matriz triangularsuperior U, com diagonal principal unitária, pode-serecuperar o sistema de equações equivalente U x = c, gerado apartir do processo de decomposição LU empregado, da seguinteforma:

Agora é só aplicar o processo de retrosubstituiçãosucessiva:

x3 = 2.419x3 = 2.419

x2 = ( -427.1 + 176.5 x3 ) (-427.1+427.0) x2 = -0.1000

x1 = ( 2.232 - 1.857 x2 - 0.4308 x3 )(2.232+0.1857-1.042) x1 = 1.376

A solução obtida é

S = { 1.376, -0.1000, 2.419}

Os resíduos ( r = | b - A x | ) de cada uma das equaçõesdo sistema linear proposto são os seguintes:

Neste caso, também pode ser calculado o erro exato, dadopor erro = | Xexato - Xaproximado |. A solução exata foi encontradaatravés do MATLAB, e foi obtida com 16 dígitos significativos.Vamos avaliar o erro utilizando também a precisão de 4 dígitos

74

significativos, que foi utilizada até aqui em todas asoperações. Então:

Xexato1 = 1.396 Xexato2 = - 0.1111Xexato3 = 2.419

E o erro exato obtido foi:

Erro1 = | 1.396 - 1.376 | = 0.0020Erro2 = | -0.1111 - (-0.1000) | = 0.0111Erro3 = | 2.419 - 2.419 | = 0.0000

Ex. 6): Resolver o sistema anterior pelo Método de Crout, compivotamento parcial, usando 4 dígitos significativos earredondamento ponderado.

1º). Geração da matriz expandida:

2º). Decomposição LU (Método de Crout), correspondente aoprocesso com o primeiro pivô (k = 1):

(i). Definição da primeira coluna k = 1 da matriz L - li1:(i=1,2,3).

75

(ii). Pivotação parcial, correspondente ao primeiro pivô(k=1):

A matriz já se encontra pivotada (vide Ex. 1):

(iii). Definição da primeira linha k = 1 da matriz U -u1j: (j=2,3,4)

5º). Decomposição LU, correspondente ao processo com o segundopivô (k = 2):

(i). Definição da coluna k = 2 da matriz L - li2: (i =2,3)

76

(ii). Pivotação Parcial, correspondente ao segundo pivô(k=2):

(ii)-a). Busca parcial do maior módulo da coluna k = 2(busca a partir da segunda linha):

(ii)-b) troca de linhas.

(iii). Definição da linha k = 2 da matriz U - u2j: (j =3,4)

6º). Decomposição LU, correspondente ao processo com oterceiro pivô (k = 3):

(i). Definição da coluna k = 3 da matriz L - li3: (i = 3)

77

(ii) Não há pivotamento, pois é a última linha.

(iii). Definição da linha k = 3 da matriz U - u3j: (j = 4)

7º). Processo de retrosubstituição sucessiva:

Agora é só aplicar o processo de retrosubstituiçãosucessiva:

x3 = 2.419x3 = 2.419

x2 = ( 0.6001 - 0.2940 x3 ) (0.6001-0.7112) x2 = - 0.1111x1 = ( 2.232 - 1.857 x2 - 0.4308 x3 )

(2.232+0.2063-1.042) x1 = 1.396

A solução arredondada obtida é :

S = { 1.396, -0.1111, 2.419}

Os resíduos ( r = | b - A x | ) de cada uma das equaçõesdo sistema linear proposto são os seguintes:

78

Cálculo do erro: erro = | Xexato - Xaproximado |.

Xexato1 = 1.396 Xexato2 = - 0.1111Xexato3 = 2.419

E o erro exato obtido foi:

Erro1 = | 1.396 - 1.396 | = 0.0000Erro2 = | -0.1111 - (-0.1111) | = 0.0000Erro3 = | 2.419 - 2.419 | = 0.0000

Considerações:

(i). O número de operações aritméticas envolvidas em cada umdos métodos de eliminação (sem pivotamento) apresentados é daseguinte ordem:

Métodos: Número de Operações:(sem pivotamento)

Gauss

Gauss-Jordan

Inversão

Crout

O ( 2 n3 / 3 )

O ( 2 n3 / 3 )

O ( n3)

O ( 2 n3 / 3 )

Note que o método de inversão de matrizes écomputacionalmente o menos eficiente, pois envolve o maiornúmero de operações aritméticas, enquanto os métodos de Gausse Crout são os que envolvem menor esforço computacional.

Entretanto, quando temos vários sistemas para resolver coma mesma matriz de coeficientes A e com diferentes vetores determos independentes b (em A x = bk), pode-se obter a matrizdecomposta L.U dos coeficientes uma única vez e efetuar assubstituições sucessivas L.ck = bk e U.xk = ck, tantas vez

79

quantas forem necessárias para se obter as respectivassoluções ck e xk, correspondentes a cada bk.

Nestes casos, tem-se apenas um custo da ordem de O(n2)operações, referente as as substituições sucessivas, para seobter a solução xk.

(ii). O número total de operações aritméticas utilizado nométodo de decomposição LU de Crout é (4n3+15n2-13n)/6 , que épraticamente igual ao do Método de Gauss que realiza(4n3+9n2-7n)/6 . Veja a tabela comparativa entre as operaçõesrealizadas pelos dois métodos:

Operação Método de Crout Método de GaussAdicão +Subtração (2n3+9n2-11n)/6 (2n3+3n2-5n)/6Multiplicação (2n3+3n2-5n)/6 (2n3+3n2-5n)/6Divisão (n2+n)/2 (n2+n)/2Total (4n3+15n2-13n)/6 (4n3+9n2-7n)/6

Outro importante aspecto a ser considerado é que aacumulação de erros de arredondamento no método de Crout émenor que no de Gauss, isto se deve a menor propagação doserros gerados nas divisões sucessivas.(iii). No caso particular de sistemas com matrizes simétricas(U = LT) e positivas definidas pode-se obter uma simplificaçãono método de decomposição para obter as matrizes L e U,chamado de Método de Cholesky (O(n3/6) operações). Neste caso amatriz U pode ser obtida diretamente pela transposta de L (A =L Lt), segundo as seguintes equações:

- Operações com o primeiro pivô: k = 1

l11 a11

l a /li1 i1 11 (i = 2,3,...,n)

- Operações com pivô genérico: k = 2,3,...,n-1.

l akk kk

lkrr

k2

1

1 1 2/

80

l 1l a likkk

ik irr 1

k 1

lkr i = k+1,...,n

- Operações com o último pivô: k = n

e l ann nn

lnrr

n2

1

1 1 2/

O método de Cholesky também é utilizado para fazer umteste rápido se uma dada matriz simétrica é positiva definidaou não. Caso a decomposição seja possível (radicando positivo)então a matriz simétrica é positiva definida.

Exercícios:

6). Resolva o seguinte sistema de equações lineares pelométodo de Cholesky:

x x

x

4 0425 275 1275 35 1

1 2 3

1 2 3

1 2 3

xx x x

x x

. .

. .

7). Para resolver um sistema de equações lineares ordem 10 ( 10 equações por 10 icógnitas) um computador (Pentium 133), utilizando o método de Eliminação de Gauss s/ pivotamento, levou 0.11 segundos para encontrar a solução. Estime o tempo que este mesmo computador levaria para resolver um sistema de ordem 100, utilizando o mesmo método.

81