Skip to content

Á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)

Visualização do vídeo

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

Visualização do vídeo

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

Visualização do vídeo

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)

Visualização do vídeo

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

Álgebra Linear Computacional