Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo
Implementar algoritmos de solu c ao de sistemas esparsos utilizando m etodos diretos e iterativos.
Descri c ao
Frequentemente os processos de solu c ao de problemas das mais diversas areas do conhecimento recaem na necessidade de resolver sistemas lineares. Na maioria das vezes esses sistemas s ao esparsos e de grande porte. O armazenamento otimizado e crucial na eci encia do m etodo num erico considerado, tanto em economia de mem oria, quanto em n umero de opera c oes de ponto utuante, que impactam diretamente no tempo de processamento. Considerando uma matriz A de ordem n n com nnz <<< n2 coecientes n ao nulos, neste trabalho vamos considerar dois tipos de armazenamento: o armazenamento denso, onde para uma matriz A de ordem n e necess ario 2 armazenar n coecientes. o armazenamento CSR (Compress Sparse Row) que armazena somente os coecientes n ao nulos de A em um vetor ordenado linha por linha. Al em desse vetor, e necess ario armazenar informa c oes adicionais das colunas e localiza c ao dos coecientes nas linhas (maiores detalhes ver descri c ao detalhada na p agina do curso), totalizando o n umero total de coecientes igual a 2 nnz + 1. Este trabalho tem por objetivo implementar e analizar o comportamento dos algoritmos Decomposi c ao LU e SOR na solu c ao de sistemas lineares considerando os armazenamentos denso e CSR para matrizes esparsas.
2. Implemente na linguagem Octave o algoritmo do M etodo Iterativo SOR, tendo como par ametros de entrada: matriz esparsa A, vetor dos termos independentes b, toler ancia , n umero m aximo de itera c oes N max, fator de relaxa c ao . Observe que se = 1, tem-se o m etodo Seidel.
Valida c ao
Para valida c ao dos algoritmos implementados deve ser usado o reposit orio Matrix Market (1 ) que disponibiliza uma quantidade consider avel de matrizes esparsas oriundas das mais variadas areas para apoio a estudos comparativos de algoritmos num ericos. Exemplos de matrizes depositadas no Matrix Market podem ser observadas na Fig. 1. A Tab. 1 apresenta algumas caracter sticas dessas matrizes. Tabela 1: Propriedades das matrizes. Matriz BCSSTK03 HOR131 GR3030 ORSIRR1 PLAT1919 SHERMAN5
1
n nnz Area de Aplica c ao Engenharia Estrutural 112 376 Conserva c ao de Energia 434 4710 Discretiza c ao do Laplaciano 900 4322 Simula c ao de Reservat orios 1030 6858 Modelo Oceanogr aco 1919 17159 Recupera c ao de Petr oleo 3312 20793
http://math.nist.gov/MatrixMarket
(a) BCSSTK03, n = 112, nnz = 376 (b) HOR131, n = 434, nnz = 4710
(c) GR3030, n = 900, nnz = 4322 (d) ORSIRR1, n = 1030, nnz = 6858
(e) PLAT1919, n = 1919, nnz = (f) SHERMAN5, n = 3312, nnz= 17159 20793
Todas as informa c oes das matrizes podem ser obtidas navegando pelas cole c oes e referidos conjuntos descritos na Tab. 1. O formato indicado para todas as matrizes e <nome>.mtx. Por exemplo, a matriz BCSSTK03 possui um arquivo tipo mtx como mostrado na Fig. 2. Observe que os coecientes n ao nulos est ao listados coluna a coluna. Lembramos que o formato de armazenamento CSR, armazenam os coecientes n ao nulos linha a linha. Para facilitar, neste trabalho ser a considerada a matriz transposta (At ) como matriz dos coecientes do sistema At x = b onde: A e a matriz oriunda do arquivo tipo mtx, x e o vetor solu c ao. Seu valor exato e x = (1 1 1 ... 1)t , b = At x bi =
n i=1
(1)
aji .
Implemente duas fun c oes: uma que leia um arquivo tipo <nome>.mtx, armazene a matriz At no formato denso e gere o vetor dos termos independentes b, outra que leia um arquivo tipo <nome>.mtx, armazene a matriz At no formato CSR e gere o vetor dos termos independentes b.
Figura 2: Exemplo de arquivo <nome>.mtx das matrizes esparsas do reposit orio Matrix Market.
1. fa ca um estudo emp rico do etodo SOR considerando otimo (0, 2) no m = 105 . (Dicas: (i) considere N max um valor muito elevado, (ii) monte tabela(s) para melhor visualiza c ao de seus experimentos, e (iii) este teste pode ser realizado usando a forma de armazenamento densa ou CSR); 2. encontre a solu c ao do sistema (1) pelos m etodos Decomposi c ao LU (armazenamento denso) e SOR( ) (armazenamento denso e CSR). (Dica: (i) otimo para avaliar a converg encia (e corretude do seu c odigo) e conveniente calcular uma medida para a solu c ao, por exemplo, norma de m axima magnitude, (ii) calcule o tempo de processamento para os dois m etodos, (iii) monte tabelas para melhor visualizar os resultados fazendo compara c oes de tempo de processamento e norma de m axima magnitude da solu c ao, e (iv) Para cada uma das matrizes indique qual e o melhor m etodo de solu c ao.); Observa c oes: bom lembrar Os experimentos num ericos descritos acima s ao obrigat orios. E que outros experimentos podem ser incorporados ao relat orio com o objetivo de enriquecer seu trabalho. Se existirem experimentos n ao convergentes, explicar no relat orio as poss veis causas. O Octave tem uma forma simples de medir tempo de execu c ao usando os comandos tic e toc.
Relat orio
O relat orio dever a conter as seguintes sess oes: Introdu c ao: onde o grupo dever a apresentar a estrutura do trabalho e os objetivos. M etodos Diretos e M etodos Iterativos: onde o grupo apresentar a as principais caracter sticas das duas estrat egias de solu c ao, apresentando vantagens e desvantagens. Armazenamentos Otimizados: onde apresentar a a forma de armazenamento CSR. Implementa c ao: onde ser ao apresentados a estrutura do c odigo e partes signicativas do c odigo comentado. Experimentos Num ericos: onde ser ao apresentados os experimentos num ericos realizados pelo grupo, tanto as entradas para os programas bem como tabelas e gr acos, quando for necess ario. Conclus ao: onde ser ao discutidos os resultados obtidos.
Readme
O grupo deve entregar um arquivo denominado readme.txt dando instru c oes de como executar o c odigo.
onde d e o atraso em dias u teis. Note que ap os 5 dias u teis, o trabalho n ao poder a ser mais entregue. Se voc e enviar o seu trabalho m ultiplas vezes, apenas a u ltima vers ao enviada ser a considerada, inclusive para efeito de desconto por atraso.