Trabalhos e exercícios da matéria MAC0300, ministrada pelo professor Ernesto G. Birgin no segundo semestre de 2020.
Os exercícios-programa foram feitos Fortran (usando o compilador gfortran).
O objetivo deste exercício programa foi estudar e desenvolver algoritmos eficientes para fazer operações básicas com matrizes. Foi necessário encontrar uma forma de evitar overflows desnecessários e acesso os elementos das matrizes de forma a levar em conta o uso de cache.
Este exercício programa teve como objetivo estudar e desenvolver algoritmos para resolver sistemas de equações lineares levando em consideração as estruturas de dados disponíveis na plataforma onde serão implementados.
Foram implementadas funções que executavam a decomposição de Cholesky, back-substitution, forward-substitution e decomposição LU (todas nas duas orientações possíveis: a coluna e a linha).
Este exercício programa teve como objetivo resolver problemas de quadrados mínimos, de modo que foi necessário pensar em formas razoáveis de gerar os dados dos problemas. Também é mostrada graficamente a solução obtida, com auxílio de um programa em octave.
Este exercício programa teve como objetivo estudar métodos iterativos para sistemas lineares, implementando o método de gradientes conjugados.
Os exercícios das 11 primeiras listas foram tirados dos livros "Fundamentals of Matrix Computations" de David S. Watkins (John Wiley & Sons, 1991) e "Numerical Computing with IEEE Floating Point Arithmetic" de Michael L. Overton (SIAM, Philadelphia, 2001). A lista 12 é um mini exercício-programa em octave para implementar Armazenamento de imagens usando SVD.