Álgebra Linear Computacional
Esse material mostra os conceitos básicos da Álgebra Linear de forma visual e intuitiva.
Na segunda parte, vamos além: entramos na interação entre computação e Álgebra Linear, e conhecemos as ferramentas essenciais que ela nos proporciona.
Intenção do OpenICEX
A base intuitiva é extremamente importante porque o conteúdo é cumulativo.
Nosso objetivo é construir uma intuição simples para conceitos que são sofisticados formalmente, para que possamos aumentar gradualmente a complexidade do que veremos.
Por conta disso, evitamos a metodologia parão de:
-
mostrar a definição de um conceito
-
(ouvir 30 minutos de prova de um teorema)
-
finalizar resolvendo exercícios
Preferimos expandir os conteúdos para que possamos conectar mais ideias e reter a informação. Alguns dos métodos que usamos:
-
Representação gráfica: "uma imagem vale mais que 1000 palavras", talvez seja um dos maiores pecados não usar as ferramentas que temos atualmente para expandir o entendimento de um conceito
-
Enredo: pode ser desmotivador não saber de onde um conceito veio e para onde vai, os exercícios sozinhos não convencem que aquele conceito não é algo desconexo. Por isso seguimos sempre a mesma trajetória quando possível: motivação/origem, construção intuitiva e resultados.
Motivação da Álgebra Linear Computacional
A Álgebra Linear foi desenvolvida muito antes dos computadores. Entretanto, a computação moderna tornou essa área ainda mais importante. Hoje ela está presente em gráficos 3D, processamento de imagens, aprendizado de máquina, otimização, robótica e diversas outras áreas.
Exemplo
Uma consequência dessa importância é que foram desenvolvidos processadores especializados (placas de vídeo/GPUs) capazes de executar milhões de operações entre matrizes e vetores por segundo.
Porém, aplicar Álgebra Linear no computador traz um desafio: a matemática que funciona perfeitamente no papel nem sempre funciona bem em floats. Alguns algoritmos padrões da Álgebra Linear são ineficientes e podem amplificar o erro de arredondamento de floats de forma catastrófica, então precisamos encontrar algoritmos matematicamente equivalentes, mas muito mais eficientes e numericamente estáveis.
Exemplo
Até na programação podemos seguir um paradigma matricial/vetorial como faz o Numpy, assim ganhamos mais eficiência (e talvez legibilidade) ao evitar os "for loops" do Python.
Aplicações
Como forma de motivação para o estudo da disciplina, aqui estão uma das melhores aplicações da Álgebra Linear Computacional que serão citadas no material:
Dica
Os vídeos nessa seção são só amostras do alcance da Álgebra Linear Computacional, não é esperado compreensão por agora.
Gráficos (video game, CGI)
A álgebra linear tem a capacidade de descrever o espaço com os vetores e de transformar o espaço com as matrizes.
Redução de dados para Machine Learning
Modelos de machine learning recebem vários exemplos de objetos com n propriedades numéricas, a técnica PCA permite comprimir/limpar as propriedades necessários para descrever um objeto, processo essencial para machine learning.
Compressão de imagens
Uma imagem pode ser vista como uma matriz e a técnica de decomposição de matriz SVD permite comprimir uma imagem.
Algoritmo do Google (Pagerank)
O modelo matemático usado para rankear páginas web é baseado em cadeias de Markov descritas matricialmente.
Trajetória
Dica
As páginas marcadas como (opcional) têm mais chances de estar fora do plano de estudos feito pelo professor
Módulo de Álgebra Linear
- Introdução à Álgebra Linear
- Conceitos iniciais de vetores
- Conceitos iniciais de matrizes
- Resultados das matrizes
- Operações com vetores
- Autovetores
- Matrizes especiais
- Decomposição de Matrizes
- Abstração (opcional)



