Algebra Linear Numerica: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
(link 2016)
(atualizado - removido analise matricial, secoes organizadas)
Linha 1: Linha 1:
Esta é a página oficial do curso de Álgebra Linear Numérica (graduação) e do curso de Analise Matricial (pós) do [http://en.wikipedia.org/wiki/IPRJ IPRJ], contendo material potencialmente útil ao publico geral.
Esta é a página oficial do curso de Álgebra Linear Numérica (graduação) do [http://en.wikipedia.org/wiki/IPRJ IPRJ], contendo material potencialmente útil ao publico geral.
* Links para os cursos de '''[[ALN2012|2012]]''', '''[[ALN2013|2013]]''', '''[[ALN2015|2015]]''' e '''[[ALN2016|2016]]'''
* Links para os cursos de '''[[ALN2012|2012]]''', '''[[ALN2013|2013]]''', '''[[ALN2015|2015]]''' e '''[[ALN2016|2016]]'''


= Informacao Comum a Ambos os Cursos =
= Informacao Basica =
* Instrutor: [http://www.lems.brown.edu/~rfabbri prof. Ricardo Fabbri] (graduação e pós) e [http://lattes.cnpq.br/6680742566331144 prof. Francisco Duarte Moura Neto] (pós) (fmoura at iprj)
* Instrutor: [http://www.lems.brown.edu/~rfabbri prof. Ricardo Fabbri]
* Recomenda-se aos alunos a assistirem as aulas de ambos os cursos sempre que possivel, dado o estilo diferente e complementar a assuntos similares.
==Horario==
Atualizado 2017:
* Tercas 2:20pm-5pm Sala 211
* Quintas 1:20pm-4pm Sala 211


== Avisos ==
== Avisos ==
* Nao havera aula terca dia 4. A proxima aula sera dia 20/Outubro/2016.


== Software ==
== Software ==
Linha 23: Linha 25:
unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.
unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.


Enviar todo email com a tag "[ALN]" no subject para garantir recebimento.
Enviar todo email com a tag "ALNIPRJ" no subject para garantir recebimento.


=== Tarefa 0  (entrega 29/Set/2016) ===
=== Tarefa 0  (entrega 29/Set/2016) ===
Linha 132: Linha 134:
* [[ARS| Análise de redes sociais]]
* [[ARS| Análise de redes sociais]]


= Algebra Linear Numerica (graduacao) =
Atualizado 2016:
* Tercas 2:20pm-5pm Sala 221
* Quintas 1:20pm-4pm Sala 221


== Conteudo aproximado ==
== Conteudo aproximado ==
Linha 142: Linha 140:


== Recursos principais ==
== Recursos principais ==
* Livro-texto: nao ha. mas veja a bibliografia do curso da pos.
* Livro-texto: nao ha livro texto. mas veja a bibliografia do curso de Analise Matricial da Pos:
** Livro classico: "Matrix Computations", Gene Golub et. al. (inventor do algoritimo mais usado de SVD).
** Outro livro: "Numerical Matrix Analysis", Ilse Ipsen http://www2.alibris-static.com/isbn/9780898716764.gif
** Veja tambem os livros do Gilbert Strang.
* [http://www.lems.brown.edu/~rfabbri/stuff/fabbri-coordinate_changes.pdf Notas sobre sistemas de coordenadas, matriz relativa a dadas bases, rotacoes (pdf)]
* [http://www.lems.brown.edu/~rfabbri/stuff/fabbri-coordinate_changes.pdf Notas sobre sistemas de coordenadas, matriz relativa a dadas bases, rotacoes (pdf)]


Linha 155: Linha 156:
* [http://wiki.nosdigitais.teia.org.br/Imagem:Aula-grafos-matrizes-201306.pdf Grafos e matrizes, cadeias de Markov, laplaciano de grafos]
* [http://wiki.nosdigitais.teia.org.br/Imagem:Aula-grafos-matrizes-201306.pdf Grafos e matrizes, cadeias de Markov, laplaciano de grafos]
* [http://wiki.nosdigitais.teia.org.br/Imagem:Aula-pagerank.pdf PageRank e outras tecnicas de Ranking, reducao de dimensionalidade, e machine learning]. Ver tambem [http://www.ams.org/samplings/feature-column/fcarc-pagerank]
* [http://wiki.nosdigitais.teia.org.br/Imagem:Aula-pagerank.pdf PageRank e outras tecnicas de Ranking, reducao de dimensionalidade, e machine learning]. Ver tambem [http://www.ams.org/samplings/feature-column/fcarc-pagerank]
==== Para referencia: aulas de Analise Matricial: listagem parcial ====
* [http://www.lems.brown.edu/~rfabbri/stuff/01-analise_matricial-2012-livro_cap01.odp Matrizes, Notacao e Conceitos Elementares] (~cap 1 livro)
* [http://www.lems.brown.edu/~rfabbri/stuff/02-analise_matricial-2012-livro_cap02_parte1.odp Sensitividade, Erros e Normas - parte 1] (cobre cap 2 livro ate normas de matrizes)


=== Provas ===
=== Provas ===
Linha 186: Linha 191:
</small>
</small>


== Recursos principais de Analise Matricial ==
* Livro-texto: "Numerical Matrix Analysis", Ilse Ipsen (ver uerj.tk) http://www2.alibris-static.com/isbn/9780898716764.gif
* livro classico: "Matrix Computations", Gene Golub et. al. (inventor do algoritimo mais usado de SVD).
=== Aulas de Analise Matricial: listagem parcial ===
* [http://www.lems.brown.edu/~rfabbri/stuff/01-analise_matricial-2012-livro_cap01.odp Matrizes, Notacao e Conceitos Elementares] (~cap 1 livro)
* [http://www.lems.brown.edu/~rfabbri/stuff/02-analise_matricial-2012-livro_cap02_parte1.odp Sensitividade, Erros e Normas - parte 1] (cobre cap 2 livro ate normas de matrizes)


== Links ==
== Links ==

Edição das 14h17min de 26 de setembro de 2017

Esta é a página oficial do curso de Álgebra Linear Numérica (graduação) do IPRJ, contendo material potencialmente útil ao publico geral.

Informacao Basica

Horario

Atualizado 2017:

  • Tercas 2:20pm-5pm Sala 211
  • Quintas 1:20pm-4pm Sala 211

Avisos

Software

  • Usaremos o Scilab primariamente.
    • Ver funcoes svd, sva, e '\' (barra invertida)
  • Python e Octave sao alternativas aceitaveis

Tarefas e Projetos

As tarefas devem ser formatadas com notacao matematica adequada, preferencialmente em Latex.

Somente serao aceitos arquivos eletronicos no formato PDF ou outro formato aberto como .odt

Quando a tarefa involver qualquer programacao, o aluno devera enviar o codigo fonte. O codigo junto com a documentacao devera estar dentro de um unico diretorio comprimido com .zip ou tar, com o nome do aluno, disciplina e data.

Enviar todo email com a tag "ALNIPRJ" no subject para garantir recebimento.

Tarefa 0 (entrega 29/Set/2016)

Tarefa 1 (entrega 22/Set/2016)

  • SVD + Scilab
    • Plotar circulo unitario
    • Escolha uma matriz A
    • Transformar cada ponto por A
    • SVD visual: visualizar os eixos e esticamento da transformacao efetuada por A
    • Realizar SVD usando a funcao SVD propriamente dita
    • Repetir com outras matrizes A, aleatorias e nao-aleatorias. Qual o poder de modelagem de matrizes na pratica que voce pode observar assim?
    • Digitar o resultado, preferencialmente em Latex, e entregar por email ou impresso.

Tarefa 2 (entrega 29/Set/2016)

  • Repetir Tarefa 1 para matriz 3x3 em coordenadas homogeneas - modelam rotacoes, translacoes e homografias em 2D de maneira linear em 3D
  • O circulo unitario se transforma para qual objeto?

Tarefa 3: Ajuste de curvas (entrega 6/Out/2016)

Uma das principais aplicações dos métodos numéricos de álgebra linear vistos em aulas consiste na solução de sistemas por mínimos quadrados. Isto, por sua vez, é muito útil para ajustar curvas algébricas (polinomiais) a dados experimentais, por exemplo: encontrar retas, círculos, ou outras cônicas que passam próximos de dado um conjunto de pontos.

  • Ajuste de reta (opcional - para aprendizado apenas)
    • simule a geração de um conjunto sintético de pontos "experimentais" ao longo de uma reta e os perturbe com a função rand() ao longo de cada coordenada
    • use a "barra invertida" '\' do Scilab para gerar a curva que mais se aproxima dos pontos gerados
    • plote seus resultados para diferentes intensidades de ruído
  • Ajuste de cônicas (obrigatorio)
    • simule a geração de um conjunto sintético de pontos "experimentais" ao longo de uma curva polinomial bi-dimensional de grau 2 (círculo, parábola, elipse..) e os perturbe com a função rand() ao longo de cada coordenada
    • use a "barra invertida" '\' do Scilab para gerar a curva que mais se aproxima dos dados gerados
    • plote seus resultados para diferentes intensidades de ruído

Projeto de Reconhecimento de Faces

Exemplo de Album com Algumas Faces (Facebook upload)

Album1.png

Exemplo de Faces detectadas, a serem reconhecidas no projeto (logo apos Facebook upload)

Album2-faces.png

Entrega do Trabalho

O trabalho devera ser entrege nas seguintes partes:

  • Relatorio
    • Data de entrega: a definir
    • Secoes Obrigatorias:
      • Introducao
      • Descricao clara do problema
      • Descricao da implementacao
      • Mais importante: Descricao do processo de desenvolvimento
        • Experimentos, discussao, analise dos resultados
      • Conclusao e ideias para trabalho futuro
      • Cada membro do grupo deverá também escrever uma seção de, no mínimo, 2 páginas relatando sua contribuição e experiencia com o trabalho
  • Codigo
    • Data de entrega: segunda, 9 de julho até a meia-noite
    • Dividir a entrega do codigo em 2 partes:
      • Codigo-fonte
        • README devera incluir instrucoes detalhadas de como rodar o codigo
      • Base de dados:
        • README deve descrever como a base esta organizada

Aviso p/turma de Graduação:

  • Criterio de avaliacao: A nota de trabalho sera dada com base na qualidade do relatorio
  • Bonus #1: O grupo que tiver melhor performance podera pular a P2, ou seja, obtera nota 10 na prova P2. A performance sera medida em taxa de reconhecimento numa serie de bases de dificuldade facil a dificil, elaboradas pelo professor durante a correcao, sem o conhecimento previo do aluno.
  • Observacao: Sem ter ao menos feito a P2 minimamente nao sera possivel obter qualquer bonus.
  • Àqueles que fizerem P2: a prova P2 sera em grande parte baseada neste trabalho.

Projeto: Análise de Redes Sociais

Neste projeto o aluno coletara uma rede social, por exemplo a rede de amigos do facebook, ou uma rede de troca de mensagens de email, e fara uma análise dos nós mais importantes em relação a PageRank e outras características de difusão na topologia do grafo. Isso poderia ser util, por exemplo, para ordenar a sua lista de amigos por ordem de amigo mais "influente", ou para identificar maneiras de aumentar sua conexao na rede (por exemplo, numa rede de negocios).

Os passos do projeto sao:

  1. Obter sua rede social no formato GML
    1. Redes de troca de emails: http://hera.ethymos.com.br:1080/redes/python/autoRede/escolheRedes.php
    2. Sua rede amigos do facebook: http://snacourse.com/getnet/
  2. Visualizar a rede no software Gephi
    1. Baixe o Gephi em https://gephi.org
    2. Realize o tutorial basico do Gephi (do menu Help)
    3. Abrir o arquivo GML no Gephi
  3. Obter a matriz de Markov dessa rede no Scilab, considerando pesos nas arestas como no algoritmo PageRank
    1. Exportar a rede como matriz de adjacencias no Gephi (aprender como fazer)
  4. Calcular o autovetor dominante (PageRank) no Scilab
  5. Interpretar o que isso pode vir a dizer sobre a importância relativa dos seus amigos na rede de amizades
    1. Por exemplo, a pessoa tem muitos amigos que tem muitos amigos
    2. O que um caminhante aleatório ou quer dizer aqui? Discuta o que um processo de difusao significaria na rede de amizades. Talvez uma rede de indicacoes?
    3. Invente alguma outra medida nessa rede da importancia relativa dos nos


Links interessantes


Conteudo aproximado


Recursos principais

Aulas: Listagem parcial

Para referencia: aulas de Analise Matricial: listagem parcial

Provas

  • P1: 2012 **adiada** 27/Out/2016
  • P2: 22/Nov/16
  • Final-Sub: 29/Nov/16

Criterio de Avaliacao

  • Trabalhos: 20% da media - o ultimo trabalho (reconhecimento) valera a metade disto, ou seja, 10% da media
  • O criterio final ficou (favor avisar se precisar adicionar detalhes ou corrigir no caso de erro/discrepancia):

Pessoal, conversei com o professor sobre o erro no critério de avaliação, e, como pedido por ele, estou alterando o valor da média para se passar direto.

     M_p = (P1 + P2)/2   
     M = 0.8*M_p + 0.2*T (atualizado de 10% para 20% com acordo dos alunos), onde T é a nota dos trabalhos
     Se M >= 5, passou --> M (facilitando: considere T=10,0 no M `a esquerda desta desigualdade aqui)
     prova final - faz quem quiser, mas combinamos que teria de seria feita por quem obtiver M < 5 
          - facilitando: considere T=10,0 e calcule uma media M otimista, para ver se precisa fazer a final. ou seja:
              - Se M_p < 6.25, precisa fazer final! *************************
     M_f = 0.5*(M + P_f) = 0.5*(0.8M_p + 0.2*T + P_f) = 0.2*P1 + 0.2*P2 + 0.5*P_f + 0.1*T
     Se M_f >= 5, passa --> M_f
     Sub: repoe menor de P1, P2, P_f (apenas se alguem faltou alguma prova ou quiser melhorar nota - mas quem entregar ira substituir)
     M_sub = media com sub
     Se M_sub >= 5, passou --> M_sub
     Adendo (em acordo com os alunos): a M_sub = M_f pois sera considerada a mesma prova. Quem for usar a prova como Sub ira substituir a nota independentemente do resultado.


Links

  • Curso moderno e basico on-line da Brown University sobre algebra linear e aplicacoes [2]
  • Curso on-line da University of Texas at Austin, Linear Algebra - Foundations to Frontiers: Learn the theory of linear algebra hand-in-hand with the practice of software library development [3]