Computação científica com numpy e scipy
Upcoming SlideShare
Loading in...5
×
 

Computação científica com numpy e scipy

on

  • 4,273 views

 

Statistics

Views

Total Views
4,273
Views on SlideShare
3,856
Embed Views
417

Actions

Likes
0
Downloads
116
Comments
0

6 Embeds 417

http://pylestras.appspot.com 325
http://pylestras.org 43
http://www.pylestras.org 23
http://localhost 22
http://pylestras.herokuapp.com 3
http://4.pylestras.appspot.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Computação científica com numpy e scipy Computação científica com numpy e scipy Presentation Transcript

  • 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 Funcionalidades do SciPy Instalação dos módulos Explorando o NumPy Exemplos Explorando o SciPy Exemplos Visualização de Gráficos com PyLab
  • 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
  • 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.
  • 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.
  • 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.
  • 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
  • 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-get install python-numpy apt-get install python-scipy http://numpy.scipy.org/ http://www.scipy.org
  • 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
  • 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:
  • 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:
  • 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
  • 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
  • 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
  • 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,pinv Exemplo x + y + z =0 x -2y + 2z =1 y + 2z =2
  • 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:
  • Clusterização (scipy.cluster) Algoritmos de Agrupamento Atualmente, apenas o K-Means (K-Médias) Algoritmo de aprendizado não supervisionado
  • Clusterização (scipy.cluster) Exemplo123 Exemplos N° de clusters45 Obtêm matriz de classificação e de distâncias6
  • 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, animações, diversos tipos de gráficos, Anotações com latex Salvar em deferentes formatos Sintaxe semelhante ao Matlab
  • Visualização de Gráficos com PyLab Exemplo Importa os módulos Plota o gráfico
  • Perguntas? FIM