Computação Científica com NumPy e Scipy                     Silas Santiago L. Pereira
Roteiro O que é NumPy e SciPy ? Um pouco da história NumPy, SciPy como ambiente científico Comparação com o Matlab Funcion...
Sobre mim Graduado em Ciência da Computação – UECE Mestrando em Ciência da Computação – MACC Pesquisador do LADESC Interes...
O que é NumPy e SciPy ? NumPy   módulo da linguagem Python que permite trabalhar com   vetores e matrizes multidimensionai...
Historia do NumPy e SciPy Eric Jones                   Numpy                     Criação por Travis Oliphant              ...
NumPy, SciPy como ambiente científico capaz de competir com outros softwares matemáticos, tais como Matlab, Octave, R-Lab ...
Comparação com o Matlab Python + NumPy + SciPy = Programming Power Definição de Função em Matlab com muitas restrições Pro...
Funcionalidades do SciPy Organizado em subpacotes, abrangendo vários domínios da computação científica
Instalação dos módulos Scipy está disponível para diferentes plataformas   http://new.scipy.org/download.html   ou     apt...
Explorando o NumPy Arrays Matrizes                     0   1   2   3   4   5                     10 11 12 13 14 15        ...
Explorando o NumPy Array  ndarrays – Vetores homogêneos (arrays) n-dimensionais  Semelhantes a listas do Python  Cada elem...
Explorando o NumPy Matrizes  é um tipo específico de array bidimensional  com Numpy, torna-se possível definir matrizes e ...
Explorando o NumPy Operações com Arrays e Matrizes  Criação de Vetores   numpy.zeros((M,N))                Vetor MxN de ze...
Explorando o NumPy Operações com Arrays e Matrizes  Métodos de um vetor a (numpy.ndarray)   a.sum()                     So...
Explorando o NumPy Operações com Arrays e Matrizes  Operações entre vetores   A-B, A+B, A*B, A/B,A**2            Operações...
Exemplo com NumPy
Explorando o Scipy Algebra Linear (scipy.linalg) Estatísticas (scipy.stats) Clusterização (scipy.cluster)
Álgebra Linear subpacote scipy.linalg   Provê rotinas de álgebra linear   Funções básicas     inv, solve, det, norm, lstsq...
Estatísticas (scipy.stats) Vasto número de rotinas básicas de estatística.   Distribuições contínuas e discretas   Funções...
Clusterização (scipy.cluster) Algoritmos de Agrupamento  Atualmente, apenas o K-Means (K-Médias)    Algoritmo de aprendiza...
Clusterização (scipy.cluster)    Exemplo123               Exemplos                           N° de clusters45             ...
Exemplo: Clusterização Gráfico obtido
Visualização de Gráficos com PyLab Geração de gráficos 2D de excelente qualidade  Possibilita    edição interativa,    ani...
Visualização de Gráficos com PyLab Exemplo                 Importa os módulos       Plota o gráfico
Perguntas?             FIM
Próximos SlideShares
Carregando em…5
×

Computação científica com numpy e scipy

5.263 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
5.263
No SlideShare
0
A partir de incorporações
0
Número de incorporações
522
Ações
Compartilhamentos
0
Downloads
163
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Computação científica com numpy e scipy

  1. 1. Computação Científica com NumPy e Scipy Silas Santiago L. Pereira
  2. 2. Roteiro O que é NumPy e SciPy ? Um pouco da história NumPy, SciPy como ambiente científico Comparação com o Matlab Funcionalidades do SciPy Instalação dos módulos Explorando o NumPy Exemplos Explorando o SciPy Exemplos Visualização de Gráficos com PyLab
  3. 3. Sobre mim Graduado em Ciência da Computação – UECE Mestrando em Ciência da Computação – MACC Pesquisador do LADESC Interesse em programação, redes, machine learning
  4. 4. O que é NumPy e SciPy ? NumPy módulo da linguagem Python que permite trabalhar com vetores e matrizes multidimensionais. Scipy é um software open-source para matemática, ciência e engenharia também o nome de uma conferência muito popular sobre programação científica com Python, que é patrocinada pela Enthought e outras.
  5. 5. Historia do NumPy e SciPy Eric Jones Numpy Criação por Travis Oliphant Unificar a comunidade scipy com um pacote numérico comum Travis Oliphant Baseado em Numeric e NumArray SciPy Criação em 2001 por Eric Jones e Travis Oliphant Atualmente mantido por uma próspera comunidade de usuários e desenvolvedores.
  6. 6. NumPy, SciPy como ambiente científico capaz de competir com outros softwares matemáticos, tais como Matlab, Octave, R-Lab e Scilab iPython Shell melhorado para Python com diversos recursos para programação interativa, incluindo também interação fácil com PyLab.
  7. 7. Comparação com o Matlab Python + NumPy + SciPy = Programming Power Definição de Função em Matlab com muitas restrições Programação com Matlab não orientada a objetos NumPy/SciPy gratuitos e ainda amplamente usado Há muitos pacotes para geração de gráficos em Python tão bons quanto Matlab Matplotlib (http://matplotlib.sourceforge.net/) Python 2D Plotting library Provides a MATLAB-like plotting framework - matplotlib.pyplot PyLab (http://www.scipy.org/PyLab) Combines pyplot with numpy i nto a simgle namespace Convenient for interactive work
  8. 8. Funcionalidades do SciPy Organizado em subpacotes, abrangendo vários domínios da computação científica
  9. 9. Instalação dos módulos Scipy está disponível para diferentes plataformas http://new.scipy.org/download.html ou apt-get install python-numpy apt-get install python-scipy http://numpy.scipy.org/ http://www.scipy.org
  10. 10. Explorando o NumPy Arrays Matrizes 0 1 2 3 4 5 10 11 12 13 14 15 20 21 22 23 24 25 30 31 32 33 34 35 40 41 42 43 44 45 50 51 52 53 54 55
  11. 11. Explorando o NumPy Array ndarrays – Vetores homogêneos (arrays) n-dimensionais Semelhantes a listas do Python Cada elemento do mesmo tipo (int ou float) Geralmente muito mais eficientes que listas Exemplo:
  12. 12. Explorando o NumPy Matrizes é um tipo específico de array bidimensional com Numpy, torna-se possível definir matrizes e efetuar várias operações sobre elas. Exemplo:
  13. 13. Explorando o NumPy Operações com Arrays e Matrizes Criação de Vetores numpy.zeros((M,N)) Vetor MxN de zeros numpy.ones((M,N)) Vetor MxN de ums numpy.empty((M,N)) Vetor MxN vazio (qualquer valor) numpy.zeros_like(m) Vetor de zeros com formato de m numpy.ones_like(m) Vetor de ums com formato de m numpy.empty_like(m) Vetor de vazio com formato de m numpy.random.random((M,N)) Vetor com valores aleatórios numpy.identity(N) Matriz Identidade, N x N numpy.array([(1,2,3),(4,5,6)]) Especifica os valores da matriz numpy.matrix([[1,2,3],[4,5,6]]) Especifica os valores da matriz numpy.arange(0.,1.,.3) Vetor com Inicio I, fim F, passo P numpy.linspace(0.1, 1, 10) Vetor com N valores de I à F
  14. 14. Explorando o NumPy Operações com Arrays e Matrizes Métodos de um vetor a (numpy.ndarray) a.sum() Somatório dos items a.min() Valor mínimo a.max() Valor máximo a.mean() Média aritmética a.std() Desvio Padrão a.var() Variância a.median() Mediana a.trace() Traço a.size() N° de elementos a.shape() Formato (dimensões) a.transpose() Matriz transposta a.copy() Retorna cópia a.fill(valor) Preenche com valor
  15. 15. Explorando o NumPy Operações com Arrays e Matrizes Operações entre vetores A-B, A+B, A*B, A/B,A**2 Operações elemento à elemento numpy.dot(A,B) ou mat(A)*mat(B) Produto matricial numpy.concatenate((A,B), axis=0) Concatena vetores A[0] 1° elemento A[i][j] ou A[i,j] (linha i, coluna j) x[2:5] Subvetor [x[2],x[3],x[4]] x[:5] Subvetor [x[0],...,x[4]] x[2:] Subvetor [x[2],...x[N]] x[numpy.where(x>7)] Elementos em x maiores que 7
  16. 16. Exemplo com NumPy
  17. 17. Explorando o Scipy Algebra Linear (scipy.linalg) Estatísticas (scipy.stats) Clusterização (scipy.cluster)
  18. 18. Álgebra Linear subpacote scipy.linalg Provê rotinas de álgebra linear Funções básicas inv, solve, det, norm, lstsq,pinv Exemplo x + y + z =0 x -2y + 2z =1 y + 2z =2
  19. 19. Estatísticas (scipy.stats) Vasto número de rotinas básicas de estatística. Distribuições contínuas e discretas Funções estatísticas Exemplo:
  20. 20. Clusterização (scipy.cluster) Algoritmos de Agrupamento Atualmente, apenas o K-Means (K-Médias) Algoritmo de aprendizado não supervisionado
  21. 21. Clusterização (scipy.cluster) Exemplo123 Exemplos N° de clusters45 Obtêm matriz de classificação e de distâncias6
  22. 22. Exemplo: Clusterização Gráfico obtido
  23. 23. Visualização de Gráficos com PyLab Geração de gráficos 2D de excelente qualidade Possibilita edição interativa, animações, diversos tipos de gráficos, Anotações com latex Salvar em deferentes formatos Sintaxe semelhante ao Matlab
  24. 24. Visualização de Gráficos com PyLab Exemplo Importa os módulos Plota o gráfico
  25. 25. Perguntas? FIM

×