Você está na página 1de 44

O poder do Python na Computação

Científica e Matemática
Lidiane Monteiro
IIX Semana de Matemática - UFRPE
-  Graduanda Licenciatura em Computação
DEINFO/UFRPE

-  Estagiária de Desenvolvimento Web na


Fundaj

-  Sociedade Brasileira para o Progresso da


Ciência / PE

-  Co-Coordenadora de Mídias Sociais da


Associação Python Brasil

Lidiane Monteiro
IIX Semana de Matemática - UFRPE
O que é Python e por que utilizar?

- Linguagem de programação alto nível


- Criada em 1991 por Guido van Rossum
- Multi paradigma (Imperativa, Orientada a Objetos, Funcional)
- Linguagem de propósito geral
O que é Python e por que utilizar?

- Vasta documentação e comunidade ativa


- Biblioteca padrão poderosa
- Sintaxe clara e concisa, prioriza legibilidade do código
- Open source
Python Vs outras linguagens interpretadas
Python Vs R

- Curva de aprendizado maior

- Lento
Python Vs Matlab

- Proprietário
- Custo elevado
- Compromete a reprodutibilidade dos experimentos
- Lento
- Restrito
Python Vs Python

- Lento

- Python 2 ou Python 3?

- RPy
Python Vs linguagens compiladas
Python Vs C/C++

- Menos produtivo
Python Vs Fortran

- Restrito à academia
- Menos produtivo
Benchmark - Avaliação de desempenho

Fonte: http://julialang.org/benchmarks/
O poder do Python: Ambiente Científico
O poder do Python: Introdução
O poder do Python:

-  Shell interativo avançado que tem muitos recursos


interessantes:

-  Completação por tab

-  Edição auxiliada por histórico de comando


O poder do Python:

-  Criação de aliases (apelidos) para comandos

-  Autoindentação

-  Console gráfico permite plotagem de gráficos direto no


Shell

-  Computação paralela e muito mais.


O poder do Python: Notebook

-  Aplicativo web interativo para escrever e executar código


de forma interativa e documentos notebook no navegador.

-  O que pode conter nos documentos? Código ao vivo,


Widgets interativos, Texto narrativo, Equações, Imagens,
Vídeo…
O poder do Python: Notebook

-  Podem ser convertidos em vários formatos e


compartilhados com outras pessoas usando o e-mail,
Dropbox, Github ou nbviewer.ipython.org
O poder do Python: NumPy

-  Um pacote básico do Python que suporta operações


com arranjos, vetores e matrizes de N dimensões.

-  Sintaxe semelhante ao software proprietário Matlab, mas


com muito mais eficiência e expressividade da
linguagem Python.
O poder do Python: NumPy

-  Ferramentas para a integração de C/C ++ e


Fortran no código Python
O poder do Python: NumPy

Vetor de 10 elementos de 0 a 2
espaçados linearmente

>>> x = np.linspace(0, 2, 10)!


>>> x!
array([ 0. , 0.22222222, 0.44444444, 0.66666667,
0.88888889,!
1.11111111, 1.33333333, 1.55555556, 1.77777778,
2. ])!
O poder do Python: NumPy

Vetor com os elementos [1,2,3]:


>>> import numpy as np!
>>> x = np.array([1, 2, 3])!
>>> x!
array([1, 2, 3])!
>>> x[0]!
1!
>>> x[1]!
2!
>>> x[2]!
3!
O poder do Python: NumPy

Exemplo anterior bidimensional:

>>>import numpy as np!


>>> x = np.array([[1, 2, 3]])!
>>> x!
array([[1, 2, 3]])!
>>> x[0,0]!
1!
>>> x[0,1]!
2!
>>> x[0,2]!
3!
O poder do Python: NumPy

Exemplo anterior bidimensional:

>>>import numpy as np!


>>> x = np.linspace(0, 2*np.pi, 1000)!
>>> y = np.sin(x)!
>>> plt.plot(x,y)!
[<matplotlib.lines.Line2D object at
0x10dc201d0>]!
>>> plt.show()!
O poder do Python: NumPy
O poder do Python:
NumPy
O poder do Python:

-  Biblioteca fundamental para computação científica e


tem seu ecossistema para a matemática, ciência e
engenharia.
O poder do Python:

-  Depende do NumPy

-  Integração numérica, otimização e processamento de


sinais, etc
Imagens podem ser
representadas
como arrays.

Cada elemento corresponde


à intensidade luminosa
naquela posição.
O poder do Python: Matplotlib

-  Pacote que fornece rotinas para a produção de gráficos 2D e


3D para visualização científica
http://www.scipy.org/getting-started.html
E mais…
Matemática Simbólica
SymPy

-  Biblioteca que inclui várias ferramentas, variam da aritmética básica,


álgebra, cálculo diferencial e integral, manipulação de polinômios e
equações diferenciais, matemática discreta, física e entre outras.
SymPy
O Poder do Python:

-  Biblioteca para análise e exploração de


dados
Processamento de imagens
Processamento de imagens

Descreve a quantidade de
informação codificada de uma imagem
E muito mais…
Obrigada!
contato.lidymonteiro@gmail.com
Referências

-  http://ipython.org/notebook.html
-  https://github.com/ipython/ipython/wiki/A-gallery-of-
interesting-IPython-Notebooks
-  http://nbviewer.ipython.org/github/jrjohansson/qutip-
lectures/blob/master/Lecture-2B-Single-Atom-
Lasing.ipynb
Referências

-  https://pt.wikipedia.org/wiki/SymPy
-  https://www.dataquest.io/blog/python-vs-r/
-  http://pandas.pydata.org/
-  http://scikit-learn.org/stable/
Referências

-  http://nbviewer.ipython.org/github/
marcelcaraciolo/pandas-tutorial/blob/master/
0%20-%20Introducao.ipynb
-  http://www.scipy.org/

Você também pode gostar