Código desenvolvido para o Exercício Programa da matéria Cálculo Numérico e suas Aplicações utilizando o método de tridiagonalização de matrizes de Householder e obtenção de autovalores e autovetores pelo método QR.
Bruno Carneiro Camara - 11257230
Leonardo Akira Shimabukuro - 9838053
O código foi feito em python 3.7.2
Para rodar o programa é necessário estar no PowerShell do Windows, ou no bash do Linux
- Navegue até a pasta em que o arquivo ep2.py está localizado
- O comando python ep2.py -h exibe informacoes sobre o uso
- Para executar o item a digite no terminal:
cat input-a | python ep2.py a
- Para executar o item b digite no terminal:
cat input-b | python ep2.py b
- Para executar o item c digite no terminal:
cat input-c | python ep2.py c
- Para executar o item c digite no terminal:
cat input-c | python ep2.py d | python plot.py
- Observação: para executar a tarefa d, é possível especificar os seguintes parâmetros.
- A opção -f especifica qual das menores frequências de vibração será utilizada para a geração das imagens (1=menor freq, 5=maior) (padrão=1)
- A opção -n especifica quantos quadros serão gerados (padrão=4)
- A opção -t especifica o intervalo de tempo entre os quadros (padrao=200)
- Observação 2: Para gerar as imagens da tarefa d, é necessário ter a biblioteca matplotlib instalada.
- É possível instalá-la utilizando o comando python -m pip install -U matplotlib
- Observação: para executar a tarefa d, é possível especificar os seguintes parâmetros.
Como entrada do programa nós temos os arquivos de input disponibilizados:
- input-a
- input-b
- input-c
As saídas dependerão de cada item
-
item a:
- Matriz de entrada - A
- Matriz tridiagonalizada após passar pelo algoritmo de Householder
- Verificação de Av = lamba*v
- Autovalores obtidos pelo algortimo QR
- Matriz de autovetores obtida pelo algoritmo QR
- Verificação da ortogonalidade
-
item b:
- Matriz de entrada - A
- Matriz tridiagonalizada após passar pelo algoritmo de Householder
- Verificação de Av = lamba*v
- Autovalores obtidos pelo algortimo QR
- Autovalores obtidos pela fórmula do enunciado para comparação com os autovalores obtidos pelo QR
- Matriz de autovetores obtida pelo algoritmo QR
- Verificação da ortogonalidade
-
item c:
- 5 menores frequências e seus respectivos modos de vibração
-
item bônus:
- O vídeo saida.avi contém uma animação gerada utilizando o comando
cat input-c | python ep2.py d -f 1 -n 120 -t 0.5 | py plot.py
- As imagens geradas por este comando se encontram na pasta imagens
- O vídeo saida.avi contém uma animação gerada utilizando o comando