introdução aos métodos numéricos - núcleo de análise

73
Introdução aos Métodos Numéricos Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho

Upload: others

Post on 30-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução aos Métodos Numéricos - Núcleo de Análise

Introdução aos Métodos Numéricos

Instituto de Computação UFFDepartamento de Ciência da Computação

Otton Teixeira da Silveira Filho

Page 2: Introdução aos Métodos Numéricos - Núcleo de Análise

Conteúdo temático

● Sistemas de Equações Lineares. Métodos diretos

Page 3: Introdução aos Métodos Numéricos - Núcleo de Análise

Conteúdo específico

● Pivotamento parcial e total

Page 4: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento

Pivotamento parcial e total

São procedimentos que podem diminuir o ruído numérico da eliminação gaussiana e da fatoração LU

Page 5: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento

Pivotamento parcial e total

São procedimentos que podem diminuir o ruído numérico da eliminação gaussiana e da fatoração LU

Só será apresentado o caso da eliminação gaussiana

Page 6: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

● Começando pela primeira coluna, ache o maior elemento em módulo desta coluna

● Troque a linha na qual está este valor como a primeira linha

● Faça a eliminação

Page 7: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

● Ache o maior elemento em módulo da segunda coluna abaixo da primeira linha

● Troque a linha na qual está este valor como a segunda linha

● Faça a eliminação

Page 8: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

● Ache o maior elemento em módulo da terceira coluna abaixo da segunda linha

● Troque a linha na qual está este valor como a terceira linha

● Faça a eliminação

Page 9: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Faça o equivalente para as demais colunas

Page 10: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Faça o equivalente para as demais colunas

Qual é a ideia por trás disto?

Page 11: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

A maior fonte de ruído numérico é a divisão pelo pivô pois se o pivô for menor que o termo a ser eliminado teremos potencialmente um elevado ruído numérico

Page 12: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

A maior fonte de ruído numérico é a divisão pelo pivô pois se o pivô for menor que o termo a ser eliminado teremos potencialmente um elevado ruído numérico

Ao escolhermos o maior em módulo da coluna a ser eliminada, reduzimos o ruído numérico

Page 13: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

A maior fonte de ruído numérico é a divisão pelo pivô pois se o pivô for menor que o termo a ser eliminado teremos potencialmente um elevado ruído numérico

Ao escolhermos o maior em módulo da coluna a ser eliminada, reduzimos o ruído numérico

Não há garantia mas funciona bem em muitas situações

Page 14: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

O custo computacional é basicamente o custo da busca do maior elemento em módulo.

Um exemplo do algoritmo para um vetor coluna da matriz

Page 15: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Seja o vetor de n elementos

● Afirmarmos que o primeiro elemento é o maior em módulo e o guardamos numa variável M, valor provisoriamente de máximo e em IM a linha deste máximo provisório.

v⃗

Page 16: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Seja o vetor de n elementos

● Afirmarmos que o primeiro elemento é o maior em módulo e o guardamos numa variável M, valor provisoriamente de máximo e em IM a linha deste máximo provisório.

● Se M < |v2| , façamos M=|v2| e IM = 2. Caso não, avançamos para o próximo elemento

v⃗

Page 17: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Seja o vetor de n elementos

● Afirmarmos que o primeiro elemento é o maior em módulo e o guardamos numa variável M, valor provisoriamente de máximo e em IM a linha deste máximo provisório.

● Se M < |v2| , façamos M=|v2| e IM = 2. Caso não, avançamos para o próximo elemento

● Se M < |v3|, faremos M=|v3|e IM = 3. Caso não, avançamos para o próximo elemento.

v⃗

Page 18: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Seja o vetor de n elementos

● Afirmarmos que o primeiro elemento é o maior em módulo e o guardamos numa variável M, valor provisoriamente de máximo e em IM a linha deste máximo provisório.

● Se M < |v2| , façamos M=|v2| e IM = 2. Caso não, avançamos para o próximo elemento

● Se M < |v3|, faremos M=|v3|e IM = 3. Caso não, avançamos para o próximo elemento.

● Faremos isto até o último elemento

● Custo computacional por coluna: O(n), custo total O(n2)

v⃗

Page 19: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Façamos um exemplo para esclarecer a questão de acharmos o maior elemento de um vetor.

Dado o vetor

v⃗=(13

−428

)

Page 20: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

● M = 1, IM = 1

● M <|3|, portanto M = 3, IM = 2

● M < |-4|, portanto M = 4, IM = 3

● M > |2|

● M < |8|, portanto M = 8, IM = 5

v⃗=(13

−428

)

Page 21: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

● M = 1, IM = 1

● M <|3|, portanto M = 3, IM = 2

● M < |-4|, portanto M = 4, IM = 3

● M > |2|

● M < |8|, portanto M = 8, IM = 5. Obtivemos a posição do valor maior em módulo do vetor

v⃗=(13

−428

)

Page 22: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

● Vemos que o custo computacional para a primeira coluna será de n – 1 comparações e no máximo n – 1 trocas.

● Para a segunda coluna serão n – 2 comparações e no máximo n – 2 trocas

Page 23: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Fica claro que ao aplicar o pivotamento parcial teremos que fazer

comparações

e

no máximo trocas de linhas.

(n−1)+(n−2)+⋯+2+1=n(n−1)

2=O (n2

)

O(n2)

Page 24: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Fica claro que ao aplicar o pivotamento parcial teremos que fazer

comparações

e

no máximo trocas de linhas.

O custo adicional é relativamente pequeno.

(n−1)+(n−2)+⋯+2+1=n(n−1)

2=O (n2

)

O(n2)

Page 25: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial – Um exemplo

O exemplo que será apresentado é ilustrativo da técnica mas é, claramente, desnecessário (sob o ponto de vista numérico) fazer pivotamento deste sistema:

O sistema contém números inteiros e será resolvido com números racionais...

Page 26: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Comecemos com o sistema

Observe que o maior valor em módulo da primeira coluna está na segunda linha. Troquemos

(4 1 −2 16 2 1 23 −1 9 −11 4 2 −3

) x⃗= (49 /1247 /621 /435 /12

)

Page 27: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Primeiro pivotamento

Façamos a eliminação

(6 2 1 24 1 −2 13 −1 9 −11 4 2 −3

) x⃗= (47 /649 /1221 /435 /12

)

Page 28: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Primeiro pivotamento

que resulta em

(6 2 1 24 1 −2 13 −1 9 −11 4 2 −3

) x⃗= (47 /649 /1221 /435 /12

)m21=−a21 /a11=−4 /6=−2/3m31=−a31 /a11=−3 /6=−1/2m41=−a41 /a11=−1 /6

Page 29: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Primeiro pivotamento

O maior valor em módulo da segunda coluna abaixo da primeira linha está na quarta linha

(6 2 1 20 −1 /3 −8 /3 −1/30 −2 17 /2 −20 11/3 11/6 −10 /3

) x⃗=(47 /6

−41 /364 /3

29 /18)

Page 30: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Segundo pivotamento

Façamos a eliminação

(6 2 1 20 11/3 11/6 −10 /30 −2 17 /2 −20 −1 /3 −8 /3 −1/3

) x⃗=(47 /6

29 /184 /3

−41 /36)

Page 31: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Segundo pivotamento

que resulta em

(6 2 1 20 11/3 11/6 −10 /30 −2 17 /2 −20 −1 /3 −8 /3 −1/3

) x⃗=(47 /6

29 /184 /3

−41 /36)

m32=−−2

11 /3=6 /11

m42=−−1 /311/3

=1 /11

Page 32: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Segundo pivotamento

Observe que o maior valor em módulo da terceira coluna abaixo da segunda linha está na posição correta. Façamos a eliminação

(6 2 1 20 11/3 11/6 −10 /30 0 19 /2 −42/110 0 −5 /2 −7 /11

) x⃗=(47 /6

29 /1873 /33

−131/132)

Page 33: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Eliminação

que resulta em

(6 2 1 20 11/3 11/6 −10 /30 0 19 /2 −42/110 0 −5 /2 −7 /11

) x⃗=(47 /6

29 /1873 /33

−131/132) m43=−

−5 /219 /2

=5

19

Page 34: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Eliminação

que a resolução deste sistema triangular nos dará

(6 2 1 20 11/3 11/6 −10 /30 0 19/2 −42/110 0 0 −343 /209

) x⃗=(47 /6

29 /1873/33

−343 /836)

Page 35: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

a solução

(6 2 1 20 11/3 11/6 −10 /30 0 19/2 −42/110 0 0 −343 /209

) x⃗=(47 /6

29 /1873/33

−343 /836)

x 4=−343836

×(−209343 )= 1

4x3=

219 ( 73

33+

4211

×14 )= 1

3 x2=311 ( 11

13−

103

×14 )=1

2

x1=16 (47 /6−2×

12+

1×13

+2×14 )=1

Page 36: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial

Solução

x⃗=(1

1/21/31/4

)

Page 37: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial e algoritmo de eliminação

Repare que:

O uso do pivotamento parcial resolve a possibilidade de aparecer valores nulos para algum pivô na eliminação gaussiana.

Page 38: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento parcial e algoritmo de eliminação

Repare que:

O uso do pivotamento parcial resolve a possibilidade de aparecer valores nulos para algum pivô na eliminação gaussiana.

Conjugar o algoritmo ingênuo com o pivotamento parcial soluciona de forma simples a questão e aumenta a estabilidade do algoritmo simultaneamente

Page 39: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento total

A busca do maior valor da matriz agora é feita em toda matriz ou submatriz que ainda não passou pelo processo de eliminação

Page 40: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento total

A busca do maior valor da matriz agora é feita em toda matriz ou submatriz que ainda não passou pelo processo de eliminação

Isto exigirá:

● troca de linhas e de colunas

● um algoritmo que compute as mudanças de colunas

● Custo computacional por submatriz O(n2), total O(n3)

Page 41: Introdução aos Métodos Numéricos - Núcleo de Análise

Pivotamento total

Pivotamento total

Devido à estas características (aumento de complexidade de algoritmo, aumento de custo computacional) este pivotamento é usado em situações especiais.

Não aprofundaremos o estudo sobre este item.

Page 42: Introdução aos Métodos Numéricos - Núcleo de Análise

Casos especiais

Vimos algoritmos genéricos para a resolução de sistemas de equações lineares mas é comum termos sistemas com estruturas particulares que podem ser exploradas para conseguirmos maior eficiência

Page 43: Introdução aos Métodos Numéricos - Núcleo de Análise

Casos especiais

Ilustraremos o uso inteligente destas estruturas usando um único exemplo com aplicação da eliminação gaussiana

Page 44: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Um sistema tridiagonal tem a estrutura

e há várias situações onde aparecem sistemas com esta simetria.

(a1 b1 0 0 0 ⋯ 0 0 0c2 a2 b2 0 0 ⋯ 0 0 00 c3 a3 b3 0 ⋯ 0 0 00 0 c4 a4 b4 ⋯ 0 0 0⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮0 0 0 0 0 ⋯ cn−1 an−1 bn−1

0 0 0 0 0 ⋯ 0 cn an

) x⃗=(d1

d2

d3

d4

⋮dn−1

dn

)

Page 45: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Um sistema tridiagonal tem a estrutura

e há várias situações onde aparecem sistemas com esta simetria.

Observe que teremos que fazer uma única eliminação em cada coluna

(a1 b1 0 0 0 ⋯ 0 0 0c2 a2 b2 0 0 ⋯ 0 0 00 c3 a3 b3 0 ⋯ 0 0 00 0 c4 a4 b4 ⋯ 0 0 0⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮0 0 0 0 0 ⋯ cn−1 an−1 bn−1

0 0 0 0 0 ⋯ 0 cn an

) x⃗=(d1

d2

d3

d4

⋮dn−1

dn

)

Page 46: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

O fator de eliminação do elemento é que aplicado a segunda linha só afetará da seguinte forma

(a1 b1 0 0 0 ⋯ 0 0 0c2 a2 b2 0 0 ⋯ 0 0 00 c3 a3 b3 0 ⋯ 0 0 00 0 c4 a4 b4 ⋯ 0 0 0⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮0 0 0 0 0 ⋯ cn−1 an−1 bn−1

0 0 0 0 0 ⋯ 0 cn an

) x⃗=(d1

d2

d3

d4

⋮dn−1

dn

)−c2/a1c2

a2 e d2

a2←a2−c2

a1

b1 ;d2←d2−c2

a1

d1

Page 47: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Com isto temos o processo de eliminação na primeira coluna concluído com custo de duas divisões (podendo ser uma), uma soma e uma multiplicação.

Façamos o mesmo procedimento para a segunda linha

Page 48: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

O fator de eliminação do elemento é que aplicado a segunda linha só afetará da seguinte forma

(a1 b1 0 0 0 ⋯ 0 0 0c2 a2 b2 0 0 ⋯ 0 0 00 c3 a3 b3 0 ⋯ 0 0 00 0 c4 a4 b4 ⋯ 0 0 0⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮0 0 0 0 0 ⋯ cn−1 an−1 bn−1

0 0 0 0 0 ⋯ 0 cn an

) x⃗=(d1

d2

d3

d4

⋮dn−1

dn

)−c3 /a2c3

a3 e d3

a3←a3−c3

a2

b2 ;d3←d3−c3

a2

d2

Page 49: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Observe que a generalização do procedimento para as demais linhas é bem simples.

Na enésima linha teremos

Page 50: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

O fator de eliminação do elemento é que resulta em

(a1 b1 0 0 0 ⋯ 0 0 0c2 a2 b2 0 0 ⋯ 0 0 00 c3 a3 b3 0 ⋯ 0 0 00 0 c4 a4 b4 ⋯ 0 0 0⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮0 0 0 0 0 ⋯ cn−1 an−1 bn−1

0 0 0 0 0 ⋯ 0 cn an

) x⃗=(d1

d2

d3

d4

⋮dn−1

dn

)−cn /an−1cn

an←an−cn

an−1

bn−1 ;dn←dn−cn

an−1

dn−1

Page 51: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

O algoritmo ficará como

ai←ai−ci

ai−1

bi−1 ;d i←di−c i

ai−1

d i−1 ;i=2,3,⋯n

Page 52: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Sendo este o resultado final da eliminação

Partamos agora para a retrosubstituição adaptada a este caso

(a1 b1 0 0 0 ⋯ 0 0 00 a2 b2 0 0 ⋯ 0 0 00 0 a3 b3 0 ⋯ 0 0 00 0 0 a4 b4 ⋯ 0 0 0⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮0 0 0 0 0 ⋯ 0 an−1 bn−1

0 0 0 0 0 ⋯ 0 0 an

) x⃗=(d1

d2

d3

d 4

⋮dn−1

dn

)

Page 53: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Teremos o que se segue

xn=dn

an

an−1 xn−1+bn−1 xn=dn−1⇒ xn−1=dn−1−bn−1 xn

an−1

an−2 xn−2+bn−2 xn=dn−2⇒ xn−2=dn−2−bn−2 xn−1

an−2

a1 x1+b1 x2=d1⇒ x1=d1−b1 x2

a1

Page 54: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

O algoritmo tomará a forma

com custo computacional O(n)

xn=dn

an

xi=di−bi x i+1

ai

; i=n−1,⋯,1

Page 55: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

A própria maneira que o algoritmo é apresentado nos mostra que este tipo de sistema pode ser armazenado em vetores.

Page 56: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Representarmos este sistema na forma matricial é um inconveniente:

Existem apenas 3n -2 elementos potencialmente não nulos e o restante, n(n-3) – 2 elementos, são nulos.

Ao usamos a estrutura de dados vetor, comum nas linguagens de programação, iremos utilizar de 3n espaços de memória.

Page 57: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Por exemplo:

um sistema com 100 variáveis a determinar, se conservársemos a notação matricial, ocuparíamos 9700 posições com zeros, informação irrelevante para a resolução do sistema.

Page 58: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Seja o sistema abaixo. Resolva-o pelo uso do algoritmo apresentado

(4 1 0 0 0 01 3 2 0 0 00 2 6 3 0 00 0 −1 5 2 00 0 0 2 3 20 0 0 0 1 7

) x⃗=(61334273547

)

Page 59: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Passemos da representação matricial para a forma de armazenamento vetorial

(4 1 0 0 0 01 3 2 0 0 00 2 6 3 0 00 0 −1 5 2 00 0 0 2 3 20 0 0 0 1 7

) x⃗=(61334273547

) a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(61334273547

)

Page 60: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Apliquemos o algoritmo de eliminação dado por

ai←ai−ci

ai−1

bi−1 ;d i←di−c i

ai−1

d i−1 ;i=2, 3,⋯n

Page 61: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Façamos a eliminação:

c2

a1

=14

; a2←3−14

1⇒ a2=114

; d2←13−14

6⇒d 2=232

ai← ai−ci

ai−1

bi−1; d i←d i−ci

ai−1

d i−1 ;i=2,3,⋯n

a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(6

1334273547

)⇒ a⃗=(4.....); d⃗=(

6.....)

Page 62: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Façamos a eliminação:

c2

a1

=14

; a2←3−14

1⇒ a2=114

; d2←13−14

6⇒d 2=232

c3

a2

=2

11/4=

811

; a3←6−811

2⇒a3=5011

;d3←34−811

232

⇒ d3=28211

ai← ai−ci

ai−1

bi−1; d i←d i−ci

ai−1

d i−1 ;i=2,3,⋯n

a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(6

1334273547

)⇒ a⃗=(4

11 /4....

); d⃗=(6

23 /2....

)

Page 63: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Façamos a eliminação:

c2

a1

=14

; a2←3−14

1⇒ a2=114

; d2←13−14

6⇒d 2=232

c3

a2

=2

11/4=

811

; a3←6−811

2⇒a3=5011

;d3←34−811

232

⇒ d3=28211

ai← ai−ci

ai−1

bi−1; d i←d i−ci

ai−1

d i−1 ;i=2,3,⋯n

c 4

a3

=−1

50/11=−

1150

; a4←5+1150

3⇒a4=28350

;d 4←27+1150

28211

⇒ d4=81625

a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(6

1334273547

)⇒ a⃗=(4

11/450 /11

.

.

.) ; d⃗=(

623 /2

282 /11...

)

Page 64: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Façamos a eliminação:

c2

a1

=14

; a2←3−14

1⇒ a2=114

; d2←13−14

6⇒d 2=232

c3

a2

=2

11/4=

811

; a3←6−811

2⇒a3=5011

;d3←34−811

232

⇒ d3=28211

ai← ai−ci

ai−1

bi−1; d i←d i−ci

ai−1

d i−1 ;i=2,3,⋯n

c 4

a3

=−1

50/11=−

1150

; a4←5+1150

3⇒a4=28350

;d 4←27+1150

28211

⇒ d4=81625

a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(6

1334273547

)⇒ a⃗=(4

11/450 /11283 /50

.

.) ; d⃗=(

623 /2

282 /11816 /25

.

.)

c5

a4

=2

283 /50=

100283

; a5←3−100283

2⇒a5=649283

; d5←35+100283

81625

⇒ d 5=6641283

Page 65: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Façamos a eliminação:

c2

a1

=14

; a2←3−14

1⇒ a2=114

; d2←13−14

6⇒d 2=232

c3

a2

=2

11/4=

811

; a3←6−811

2⇒a3=5011

;d3←34−811

232

⇒ d3=28211

ai← ai−ci

ai−1

bi−1; d i←d i−ci

ai−1

d i−1 ;i=2,3,⋯n

c 4

a3

=−1

50/11=−

1150

; a4←5+1150

3⇒a4=28350

;d 4←27+1150

28211

⇒ d4=81625

a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(6

1334273547

)⇒ a⃗=(4

11/450/11

283 /50649 /283

.) ; d⃗=(

623/2

282/11816 /25

6641 /283.

)

c5

a4

=2

283 /50=

100283

; a5←3−100283

2⇒a5=649283

; d5←35+100283

81625

⇒ d 5=6641283

c6

a5

=1

649 /283=

283649

; a6←7−283649

2⇒ a6=3977649

; d6←47−283649

6641283

⇒ d6=23862649

Page 66: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais – Um exemplo

Eliminação concluida

a⃗=(436537

) ; b⃗=(123220

) ; c⃗=(012

−121

) ; d⃗=(6

1334273547

)⇒ a⃗=(4

11/450 /11

283 /50649 /283

3977 /649) ;d⃗=(

623/2

282 /11816 /25

6641 /28323862 /649

)

Page 67: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Apliquemos o algoritmo correspondente à retrosubstituição dado por

xn=dn

an

; x i=d i−bi xi+1

ai

; i=n−1,⋯,1

Page 68: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Retrosubstituição:

b⃗=(123220

) ; a⃗=(4

11/450 /11283 /50

649 /2833977 /649

) ; d⃗=(6

23/2282 /11816 /25

6641/28323862 /649

)xn=

dn

an

; xi=d i−bi x i+1

ai

; i=n−1,⋯,1

x6=d6

a6

=23862/6493977 /649

=6

x5=6641/283−2×6

649 /283=

3245 /283649 /283

=5

x4=816 /25−2×5

283 /50=

566 /25283 /50

=4

x3=282/11−3×4

50/11=

150 /1150 /11

=3

x2=23 /2−2×3

11 /4=

11/211 /4

=2

x1=6−1×2

4=1

Page 69: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas tridiagonais

Solução

x⃗=(123456

)

Page 70: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas de equações lineares

O uso inteligente do algoritmo de eliminação gaussiana fez com que o custo computacional caia consideravelmente

O mesmo pode ser feito em situações onde a estrutura da matriz permite algoritmos mais eficientes

Page 71: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas de equações lineares

Existem algoritmos especiais para solução de sistemas de equações específicos que podem reduzir em muito o custo computacional

Page 72: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas de equações lineares

Um destes sistemas tem como matriz um tipo especial chamado de Matrizes de Toeplitz que resulta de problemas mais sofisticados de processamento numérico.

Page 73: Introdução aos Métodos Numéricos - Núcleo de Análise

Sistemas de equações lineares

No item deste curso onde trataremos Interpolação veremos um sistema de equações que pode ser resolvido com custo mais baixo que devido justamente à sua especificidade.O(n3

)