Implementar algoritmos de solução de sistemas esparsos de grande porte utilizando métodos iterativos não-estacionários e armazenamento otimizado.



Documentos relacionados
Universidade Federal do Espírito Santo Departamento de Informática 1 o Trabalho de Algoritmos Numéricos - 11/1. Sistemas Lineares

Universidade Federal do Espírito Santo Departamento de Informática 1 o Trabalho de Algoritmos Numéricos I - 14/2 Sistemas Lineares

Universidade Federal do Espírito Santo Departamento de Informática 1 o Trabalho de Algoritmos Numéricos I - 17/2 Sistemas Lineares

JinSol, uma interface em Java para solvers lineares.

Universidade Federal do Espírito Santo DI/PPGEM/PPGI 1 o Trabalho de Algoritmos Numéricos II - Computação Científica 17/1

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

Um sistema de equações lineares (sistema linear) é um conjunto finito de equações lineares da forma:

Universidade Federal do Espírito Santo DI/PPGEM/PPGI 2 o Trabalho de Algoritmos Numéricos II - Computação Científica 17/1

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Ajuste de Curvas. Ajuste de Curvas

Data de entrega: 30 de junho de 2015

1 Introdução. 1.1 Motivação da Pesquisa

LCAD. Método dos Elementos Finitos: Aspectos Computacionais e Aplicações Uma Introdução. LCAD - Laboratório de Computação de Alto Desempenho

Data de entrega: 19 de junho de 2016

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

GP Gestão de Pessoal. Gerador de Arquivos e Relatórios

Microsoft Access INTRODUÇÃO. Sumário INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO. O que é Banco de Dados?

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL

ASSUNTO DA APOSTILA: SISTEMAS DE INFORMAÇÃO E AS DECISÕES GERENCIAIS NA ERA DA INTERNET

TRABALHO: CONTROLE DE UM SISTEMA PÊNDULO-CARRO

3 Estratégia para o enriquecimento de informações

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

NORMA PARA CODIFICAÇÃO DE DESENHOS TÉCNICOS

DINÂMICA DOS FLUIDOS COMPUTACIONAL. CFD = Computational Fluid Dynamics

PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM JANELA DE TEMPO

Exercícios 1. Determinar x de modo que a matriz

DESENVOLVIMENTO DE RECURSOS COMPUTACIONAIS VISANDO O APRENDIZADO DA PROGRAMAÇÃO LINEAR

Cartilha de Acesso Rápido

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

Capítulo 7 Nível da Linguagem Assembly

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

BANCO DE DADOS I. Prof. Antonio Miguel Faustini Zarth

Inserção de Ponto de Entrada. Autoenge Módulo Automação Página 1

Filas: conceitos e implementações

Layout Manual de Procedimentos Operacional Layout Arquivo Remessa Emissão de cartão tipo sequencial 4008/Comercialização de Produtos e Serviços

Manual do Sistema Cadastro ABES

Introdução à Engenharia ENG1000

Sumário 1 Folhas de Cálculo Gráficos Funções... 61

Índice. PROCEDIMENTO OPERACIONAL PADRÃO Código: POP Sistema: TOTVS RM Módulo: TREINAMENTO E DESENVOLVIMENTO Processo: CADASTRO LNTD

Gasolina ou Álcool. Série Matemática na Escola

MÉTODO GRÁFICO MAXIMIZAÇÃO DO LUCRO

SIE - SISTEMA DE INFORMAÇÕES PARA O ENSINO CADASTRO DE FUNCIONÁRIOS

Programação Matemática - Otimização Linear

Passo a Passo do Cadastro Funcionários no SIGLA Digital

O Sistema foi inteiramente desenvolvido em PHP+Javascript com banco de dados em MySQL.

Capítulo 3 - Sistemas de Equações Lineares

Armazenamento de Dados. e Indexação

Manual para acesso às disciplinas na modalidade EAD

Capítulo 3 - Sistemas de Equações Lineares

Resolução de sistemas lineares

A otimização é o processo de

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Este trabalho tem como objetivo praticar o uso de tipos abstratos de dados e estruturas do tipo Lista.

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

Aula Teórica 16: Estruturas de Dados Heterogêneas

Manual Técnico do Sistema MODULAR de Terças para Cobertura e Fechamento. Edição - Julho/2012. modular@modularsc.com.br

LCAD. LNCC - Programa de Verão Minicurso M16 Estrutura de Dados e Solvers. Lucia Catabriga. Departamento de Informática - CT/UFES

DAS5102 Fundamentos da Estrutura da Informação

3. Fase de Planejamento dos Ciclos de Construção do Software

Linear Solver Program - Manual do Usuário

Formulários de dados e Tabelas dinâmicas. Prof. Laércio Juarez Melz

UNIVERSIDADE FEDERAL DE ITAJUBÁ MICROPROCESSADORES II

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 02. Prof. Dr. Marco Antonio Leonel Caetano

Banco de Dados. Um momento crucial na organização dos dados é a forma com que cadastramos estes dados, a estrutura de armazenamento que criamos.

4 Aplicativo para Análise de Agrupamentos

PLATAFORMA MOODLE: POSSIBILIDADES PEDAGÓGICAS NO ENSINO SUPERIOR. Profª Drª Nara Nörnberg Assessora Pedagógica Unisinos EaD

7.012 Conjunto de Problemas 5

1. Modelagem de Sistemas 1.1. Os Desenvolvedores de Sistemas podem Escolher entre Quatro Caminhos

CAPÍTULO 2. Grafos e Redes

2 Estudo dos Acoplamentos

Google PageRank: matemática básica e métodos numéricos. Paulo Vasconcelos - CMUP

Trabalho 3: Agenda de Tarefas

Discussão de Sistemas Teorema de Rouché Capelli

Microsoft Excel. Formulários PARTE 8 SUMÁRIO

SECRETARIA MUNICIPAL DE SAÚDE DE MACEIÓ Concurso Público 2012 GABARITO PRELIMINAR ( )

TRABALHO PRÁTICO Nro. 02 (Atualizado em 29/10/2008)

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

4 Sistemas de Equações Lineares

Análise de Arredondamento em Ponto Flutuante

Exercícios Adicionais

Pesquisa em Memória Primária. Prof. Jonas Potros

Roteiro para autores

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

MATLAB Avançado. Melissa Weber Mendonça Universidade Federal de Santa Catarina. M. Weber Mendonça (UFSC) MATLAB Avançado 2011.

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Prova de Admissão para o Mestrado em Matemática IME-USP

SERVIÇO PÚBLICO FEDERAL SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO CÂMPUS POSSE-GO

ÍNDICE. Tela de Configuração Dados de Etiqueta Configuração da Impressora Configuração do Papel Itens para Inserção...

Exercícios Teóricos Resolvidos

CDV. GID Desmanches. Manual do Usuário. Praça dos Açorianos, s/n - CEP Porto Alegre, RS (051)

GP Gestão de Pessoal. Vale Transporte

Sistema de equações lineares

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Especificação do Trabalho Prático

Princípios de programação em Linguagem C++

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Prof. Daniela Barreiro Claro

Transcrição:

Universidade Federal do Espírito Santo Departamento de Informática 2 o Trabalho de Algoritmos Numéricos II - 11/1 Métodos não-estacionários - Sistemas Lineares Data de entrega: 21/06/11 Objetivo Implementar algoritmos de solução de sistemas esparsos de grande porte utilizando métodos iterativos não-estacionários e armazenamento otimizado. Descrição Frequentemente os processos de solução de problemas das mais diversas áreas do conhecimento recaem na necessidade de resolver sistemas lineares. Na maioria das vezes esses sistemas são esparsos e de grande porte. O armazenamento otimizado é crucial na eficiência do método numérico considerado, tanto em ecomomia de memória, quanto em operações de ponto flutuante, que impactam diretamente no tempo de processamento. Neste trabalho vamos considerar o conhecido armazenamento CSR (Compress Sparse Row) que armazena somente os coeficientes não nulos de uma matriz esparsa em um vetor ordenado linha por linha. Além desse vetor, é necessário armazenar informações adicionais das colunas e localização dos coeficientes nas linhas (maiores detalhes ver descrição detalhada na página do curso). Este trabalho tem por objetivo implementar e analizar os algoritmos iterativos não-estacionários GMRES e LCD na solução de sistemas lineares considerando a forma otimizada de armazenamento para matrizes esparsas CSR. Dado um sistema Ax = b com a matriz dos coeficientes armazenada utilizando a estrutura CSR e a linguagem C: 1. Implemente um algoritmo baseado no Método Iterativo GMRES(k), tendo como parâmetros de entrada: matriz esparsa A armazenada pela estrutura CSR, vetor dos termos independentes b, tolerância ǫ, número m aximo de iterações N max, número de vetores de Krylov para o restart k. 2. Implemente um algoritmo baseado no Método Iterativo LCD(k), tendo como parâmetros de entrada: matriz esparsa A armazenada pela estrutura CSR, vetor dos termos independentes b,

tolerância ǫ, Validação número máximo de iterações N max, número de vetores de Krylov para o restart k. Para validação dos algoritmos implementados será usado o repositório de matrizes EsparsasdaUniversidadedaFlórida(CISE) 1 quedisponibiliza umaquantidadeconsiderável de matrizes esparsas oriundas das mais variadas áreas para apoio a estudos comparativos de algoritmos numéricos. Exemplos de matrizes depositadas no CISE podem ser observadas na Fig. 1. A Tab. 1 apresenta algumas características dessas matrizes. Tabela 1: Propriedades das Matrizes Matriz Área de aplicação n nnz saylr1 Diânmica dos Fluidos Computacional 238 1128 orsirr2 Diânmica dos Fluidos Computacional 1030 6858 orsreg1 Diânmica dos Fluidos Computacional 2205 2205 FEM3Dthermal1 Problema Térmico 17880 430740 wathen100 Problema randomico 2D/3D 30401 471601 cage13 Eletroforese de DNA 445315 7479343 Todas as informações das matrizes podem ser obtidas navegando pelas coleções e referidos conjuntos descritos na Tab. 1. O formato indicado para todas as matrizes é <nome>.mtx. Por exemplo, a matriz saylr1 possui um arquivo tipo mtx como mostrado na Fig. 2. Observe que os coeficientes não nulos estão listados coluna a coluna. Lembramos que o formato de armazenamento otimizado CSR, armazena os coeficientes não nulos linha a linha. Para facilitar, neste trabalho será considerada a matriz transposta (A t ) como matriz dos coeficientes do sistema onde: A é a matriz oriunda do arquivo tipo mtx, x é o vetor solução. Seu valor exato é x = (1 1 1... 1) t, b = A t x b i = n i=1 a ji. A t x = b (1) Implemente uma função que leia um arquivo tipo <nome>.mtx, armazene a matriz A t no formato CSR e gere o vetor dos termos independentes b. 1 http://www.cise.ufl.edu/research/sparse/matrices/

(a) saylr1, n = 238, nnz = 1128 (b) orsirr2, n = 886, nnz = 5970 (c) orsirr1, n = 1030, nnz = 6858 (d) FEM3Dthermal1, n = 17880, nnz = 430740 (e) wathen100, n = 30401, nnz = 471601 (f) cage13, n = 445315, nnz= 7479343 Figura 1: Exemplos de Matrizes do Repositório CISE

Figura 2: Exemplo de arquivo <nome>.mtx das matrizes esparsas do repositório CISE Experimentos Numéricos Observações: Aseguirestãolistadososexperimentosnuméricosobrigatórios. Ébomlembrar que outros experimentos podem ser incorporados ao relatório com o objetivo de enriquecer seu trabalho. Os parâmetros: ǫ, Nmax e k devem ser escolhidos de acordo com as características do seu teste. Leia os dados de cada matriz no repositório CISE com relação as características de convergência. Se existirem experimentos não convergentes, explicar no relatório as possíveis causas. Para o conjunto das 6 matrizes esparsas listadas na Tab. 1: 1. faça um estudo empírico do número de vetores de Krylov k nos métodos GM- RES e LCD considerando ǫ = 10 7 ; 2. encontre a solução do sistema 1 pelos métodos GMRES(k) e LCD(k) e faça um estudo comparativo com relação ao número de iterações e tempo de processamento para os 2 métodos iterativos. 3. apresente o gráfico do resíduo com relaã Ã o ao número de iterações (eixo x deve ser formado pelo número de iterações e eixo y o logarítmo do resíduo).

Relatório O relatório deverá ser escrito observando as normas do padrão ABNT. A divisão do relatório deve ser de acordo com as seguintes sessões: Introdução: onde deve ser apresentado a estrutura do trabalho e os objetivos Armazenamento CSR e Métodos Iterativos: onde deve ser sintetizado os conteúdos do trabalho. Implementação: onde devem ser apresentados a estutura e partes significativas do código comentado. Experimentos Numéricos: onde devem ser apresentados os exemplos testes utilizados, tanto as entradas para os programas bem como tabelas e gráficos, quando for necessário. Conclusão: onde devem ser discutidos os resultados obtidos.