Você está na página 1de 3

2a Lista Universidade Federal de Juiz de Fora - UFJF

DCC008 - Cálculo Numérico - Turma X Departamento de Ciência da Computação


Entrega: 20 de Novembro de 2022 Prof. Iury Igreja

Obs1.: antes de resolver os exercı́cios abaixo, teste cada um dos métodos implementados resolvendo
sistemas lineares simples de dimensão 3 × 3 (use exemplos dos Slides).
Obs2.: utilize precisão dupla.
Obs3.: encaminhe para o e-mail iuryigreja@ice.ufjf.br o arquivo PDF com as respostas e o arquivo com
código utilizado nas simulações.
Obs4.: o trabalho pode ser feito em dupla.

1. Seja o sistema linear:


Ax = b
onde,
1 1
A = Ai,j = e b = bi = .
i+j+1 i+n+1
Supondo a matriz An×n , com diferentes dimensões n (ex. n = 10, 100, 500, 1000), faça o que é
solicitado nos itens a seguir, comparando e discutindo os resultados.

– Resolva utilizando o método de eliminação de Gauss (sem e com pivoteamento), decomposição


LU e Cholesky.
– Monte uma tabela com o tempo de execução de cada método para cada n adotado.
– Determine o erro cometido, por cada um dos métodos utilizados, através do resı́duo calculado
na norma do máximo, dado por:

∥Ax − b∥∞ = max |Ai,j xi − bi |, ∀j ∈ [1, n]


1≤i≤n

onde xi é o vetor solução.


– Quais conclusões podem ser tiradas do determinante da matriz A?

2. A equação diferencial bidimensional


 2
∂ u ∂2u

− + 2 = 10 em [0, 1]2 ,
∂x2 ∂y
u=0 sobre o contorno do domı́nio,

quando resolvida pelo método de Diferenças Finitas dá origem a um sistema Au = b, conforme im-
plementado em https://colab.research.google.com/drive/1DQKEnxzmJUhgjadhMHOHmdLCfHzIU5Je?
usp=sharing. Use esse código como referência para os resultados e para montar os sis-
temas que serão resolvidos.
Tomando n = 81, 289, 1089, 4225, 16641 monte uma tabela comparando o tempo de execução dos
métodos diretos, implementados no item anterior, com os métodos iterativos de Jacobi e Gauss-
Seidel adotando diferentes valores da tolerância ε. O critério de parada dos métodos iterativos pode
ser pelo erro absoluto ou relativo e o chute inicial deve ser u0 = 0.

1
n=10 n=100 n=500 n=1000
Gauss sem Pivoteamento 0.00443053245544336 0.29891467094421387 35.26777243614197 282.5995237827301
Guass com Pivoteamento 0.0006685256958007812 0.292752742767334 36.47005295753479 287.78542733192444
LU 0.007905960083007812 0.33687496185302734 34.96150040626526 285.7024281024933
Cholesky 0.004138946533203125

Tabela 1: Tempo de Execução em Segundos

n=10 n=100 n=500 n=1000


Gauss s/ Pivoteamento 1.942890293094024e-16 7.632783294297951e-17 9.71445146547012e-17 4.98732999343332
Guass c/ Pivoteamento 1.942890293094024e-16 7.632783294297951e-17 9.71445146547012e-17 4.98732999343332
LU 1.3877787807814457e-16 2.185751579730777e-16 4.475586568020162e-16 1.99276359302835
Cholesky 2.220446049250313e-16

Tabela 2: Resı́duo de cada Método

* Para
n > 13
o determinante da matriz é aproximado para 0 pela função. Não é possivel usar o metodo de
Cholesky
Jacobi n=81 n=289 n=1089
10e-3 Tempo(s) 0.312440633738037 8.63808083534240 271.912437915802
Interações 96 225 484
10e-2 Tempo(s) 0.15482354164164123 2.96077227592468 13.653339970588684
Interações 50 75 23
10e-1 Tempo(s) 0.0331823825836181 0.039158105850219 0.5814974308013916
Interações 6 0 0

Tabela 3: Metodo de Jacobi por n com diferentes tolerâncias

Gauss Seidel n=81 n=289 n=1089


10e-3 Tempo(s) 0.13943862915039062 4.043756723403931 128.80929398536682
Interações 44 104 226
10e-2 Tempo(s) 0.074550390243530 1.27259349822998 5.20116114616394
Interações 21 31 8
10e-1 Tempo(s) 0.013321161270141602 0.03746938705444336 0.568484892272949
Interações 1 0 0

Tabela 4: Metodo de GaussS eidelporncomdif erentestolerâncias

n=81 n=289 n=1089


Gauss s/ Pivoteamento 0.14817380905151367 6.5522411180016968 351.97652292251587
Guass c/ Pivoteamento 0.1419520378112793 6.48401141166687 354.07723212242126
LU 0.1553201675415039 6.430598020553589 348.9092011451721

Tabela 5: Tempo de Execução por Segundo

Você também pode gostar