1. Uma Jornada
´
Alem das
Estrelas
´
Uma Jornada Alem das Estrelas: Quando Dr.
Sumrio
¸˜
Introducao
Spock Conheceu o Python e o Design de alto
Computacao
cient´fica
ı
¸˜
n´vel
ı
Desempenho
Design de Alto
N´vel
ı
Princpio de Pareto
Programao Orientada Eduardo S. Pereira
a Objetos
PYTHON com
FORTRAN
email: pereira.somoza@gmail.com/duducosmo@das.inpe.br
Multiprocessing
Dando Carga para as
blog:http://gravywave.blogspot.com/
Baterias
Simulando o Universo
twitter: duducosmos
na Web
Fim
21/outubro/2010
´
Uma Jornada Alem das Estrelas
2. Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao 1 ¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho
Design de Alto
2 Design de Alto N´vel
ı
N´vel
ı
Princpio de Pareto
Programao Orientada
a Objetos
3 Fim
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
3. ¸˜
O que Computacao Cient´fica?
ı
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
¸˜
Computacao Cient´fica sobre...
ı
cient´fica
ı
Desempenho
´
Construo de modelos matematicos;
Design de Alto
N´vel
ı ´ ¸˜ ´
Desenvolvimento de tecnicas para solucoes numericas;
Princpio de Pareto
Programao Orientada
a Objetos
Analisar e resolver problemas cient´ficos;
ı
PYTHON com
FORTRAN ...usando computador.
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
4. ¸˜
O que Computacao Cient´fica?
ı
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
¸˜
Computacao Cient´fica sobre...
ı
cient´fica
ı
Desempenho
´
Construo de modelos matematicos;
Design de Alto
N´vel
ı ´ ¸˜ ´
Desenvolvimento de tecnicas para solucoes numericas;
Princpio de Pareto
Programao Orientada
a Objetos
Analisar e resolver problemas cient´ficos;
ı
PYTHON com
FORTRAN ...usando computador.
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
5. ¸˜
O que Computacao Cient´fica?
ı
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
¸˜
Computacao Cient´fica sobre...
ı
cient´fica
ı
Desempenho
´
Construo de modelos matematicos;
Design de Alto
N´vel
ı ´ ¸˜ ´
Desenvolvimento de tecnicas para solucoes numericas;
Princpio de Pareto
Programao Orientada
a Objetos
Analisar e resolver problemas cient´ficos;
ı
PYTHON com
FORTRAN ...usando computador.
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
6. ¸˜
O que Computacao Cient´fica?
ı
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
¸˜
Computacao Cient´fica sobre...
ı
cient´fica
ı
Desempenho
´
Construo de modelos matematicos;
Design de Alto
N´vel
ı ´ ¸˜ ´
Desenvolvimento de tecnicas para solucoes numericas;
Princpio de Pareto
Programao Orientada
a Objetos
Analisar e resolver problemas cient´ficos;
ı
PYTHON com
FORTRAN ...usando computador.
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
7. ¸˜
Comparacao de desempenho
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
http://www.scipy.org/PerformancePython/
Desempenho
Design de Alto ¸˜
Uma comparacao entre NumPy, Pyrex, Psyco, Fortran (77
N´vel
ı
Princpio de Pareto
¸˜
and 90) e C++ para resolver a equacao de Laplace. Artigo
Programao Orientada
a Objetos originalmente escrito por Prabhu Ramachandran.
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
8. ¸˜
Comparacao de desempenho
Uma Jornada
´
Alem das
Estrelas
http://www.scipy.org/PerformancePython/
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho
Design de Alto
N´vel
ı
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
9. Running Time
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao Regra do 80 - 20
Computacao¸˜
cient´fica
ı
Desempenho
´ ´
20% do codigo consome 80% do tempo de calculo;
Design de Alto Maquinas cada vez mais potentes, em termo de poder de
N´vel
ı
Princpio de Pareto ´
calculo;
Programao Orientada
a Objetos
PYTHON com
˜
Dificuldade de encontrar mao de obra especializada;
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
O QUE FAZER?
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
10. Running Time
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao Regra do 80 - 20
Computacao¸˜
cient´fica
ı
Desempenho
´ ´
20% do codigo consome 80% do tempo de calculo;
Design de Alto Maquinas cada vez mais potentes, em termo de poder de
N´vel
ı
Princpio de Pareto ´
calculo;
Programao Orientada
a Objetos
PYTHON com
˜
Dificuldade de encontrar mao de obra especializada;
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
O QUE FAZER?
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
11. Running Time
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao Regra do 80 - 20
Computacao¸˜
cient´fica
ı
Desempenho
´ ´
20% do codigo consome 80% do tempo de calculo;
Design de Alto Maquinas cada vez mais potentes, em termo de poder de
N´vel
ı
Princpio de Pareto ´
calculo;
Programao Orientada
a Objetos
PYTHON com
˜
Dificuldade de encontrar mao de obra especializada;
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
O QUE FAZER?
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
12. Running Time
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao Regra do 80 - 20
Computacao¸˜
cient´fica
ı
Desempenho
´ ´
20% do codigo consome 80% do tempo de calculo;
Design de Alto Maquinas cada vez mais potentes, em termo de poder de
N´vel
ı
Princpio de Pareto ´
calculo;
Programao Orientada
a Objetos
PYTHON com
˜
Dificuldade de encontrar mao de obra especializada;
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
O QUE FAZER?
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
13. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas
´
Gerando codigo esqueleto a partir do diagrama de classes
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho
Design de Alto
N´vel
ı
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias Figura: cosmo.dia, an example of class diagram for the basic
Simulando o Universo
na Web characteristics of a cosmological model.
Fim
´
Uma Jornada Alem das Estrelas
14. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho
´
Gerando codigo esqueleto a partir do diagrama de classes
Design de Alto
N´vel
ı
Princpio de Pareto
comando dia2code cosmo.dia -t Python
Programao Orientada
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
15. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao class cosmo :
Computacao
cient´fica
ı
¸˜
””” C l a s s cosmo
Desempenho
”””
Design de Alto
N´vel
ı
# Attributes :
Princpio de Pareto self . omegam = 0.27 # ( r e a l )
Programao Orientada
a Objetos self . omegab = 0.04 # ( r e a l )
PYTHON com
FORTRAN self . omegal = 0.73 # ( r e a l )
Multiprocessing
Dando Carga para as
self .h = 0.73 # ( r e a l )
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
16. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas
Sumrio def age ( self , z ):
¸˜
Introducao ””” f u n c t i o n age
Computacao¸˜
cient´fica
ı
Desempenho
self :
Design de Alto
N´vel
ı z : real
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
returns real
FORTRAN
”””
Multiprocessing
Dando Carga para as return None # s h o u l d r a i s e
Baterias
Simulando o Universo # NotImplementedError ( )
na Web
Fim
´
Uma Jornada Alem das Estrelas
17. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas
Sumrio def ascale ( self , z ):
¸˜
Introducao ””” f u n c t i o n a s c a l e
Computacao¸˜
cient´fica
ı
Desempenho
self :
Design de Alto
N´vel
ı z : real
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
returns real
FORTRAN
”””
Multiprocessing
Dando Carga para as return None # s h o u l d r a i s e
Baterias
Simulando o Universo # NotImplementedError ( )
na Web
Fim
´
Uma Jornada Alem das Estrelas
18. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas
Sumrio def rhom ( self , z ):
¸˜
Introducao ””” f u n c t i o n rhom
Computacao¸˜
cient´fica
ı
Desempenho
self :
Design de Alto
N´vel
ı z : real
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
returns
FORTRAN
”””
Multiprocessing
Dando Carga para as return None # s h o u l d r a i s e
Baterias
Simulando o Universo # NotImplementedError ( )
na Web
Fim
´
Uma Jornada Alem das Estrelas
19. Planejando antes de programar
Uma Jornada
´
Alem das
Estrelas def __init__ ( self , omegam = 0.27 ,
omegab = 0.24 ,
Sumrio omegal = 0.73 , h = 0.73):
¸˜
Introducao ””” f u n c t i o n i n i t
Computacao¸˜
cient´fica
ı
Desempenho
self :
Design de Alto
N´vel
ı omegam : r e a l
Princpio de Pareto
Programao Orientada
omegab : r e a l
a Objetos
PYTHON com
omegal : r e a l
FORTRAN
h: real
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo returns
na Web
”””
Fim
return None # s h o u l d r a i s e
# NotImplementedError ( )
´
Uma Jornada Alem das Estrelas
20. Quando um velho bruxo aprende ofidioglossia
Uma Jornada
´
Alem das
Estrelas
Sumrio O FORTRAN - FORmula TRANslator- ainda vive.
¸˜
Introducao
Computacao¸˜
comum escutar que python lento por ser interpretado, logo no
cient´fica
ı
Desempenho
uso...
Design de Alto
N´vel
ı
Para solucionar esse problema, usa-se uma linguagem
Princpio de Pareto compilada somente na parte critica;
Programao Orientada
a Objetos
PYTHON com Faz-se uma funo ou subrotina em Fortran;
FORTRAN
Multiprocessing
Dando Carga para as
Compilar e encapsular usando f2py - Integrada com numpy;
Baterias
Simulando o Universo
na Web
O import ocorre normalmente;
Fim
´
Uma Jornada Alem das Estrelas
21. Quando um velho bruxo aprende ofidioglossia
Uma Jornada
´
Alem das
Estrelas
Sumrio O FORTRAN - FORmula TRANslator- ainda vive.
¸˜
Introducao
Computacao¸˜
comum escutar que python lento por ser interpretado, logo no
cient´fica
ı
Desempenho
uso...
Design de Alto
N´vel
ı
Para solucionar esse problema, usa-se uma linguagem
Princpio de Pareto compilada somente na parte critica;
Programao Orientada
a Objetos
PYTHON com Faz-se uma funo ou subrotina em Fortran;
FORTRAN
Multiprocessing
Dando Carga para as
Compilar e encapsular usando f2py - Integrada com numpy;
Baterias
Simulando o Universo
na Web
O import ocorre normalmente;
Fim
´
Uma Jornada Alem das Estrelas
22. Quando um velho bruxo aprende ofidioglossia
Uma Jornada
´
Alem das
Estrelas
Sumrio O FORTRAN - FORmula TRANslator- ainda vive.
¸˜
Introducao
Computacao¸˜
comum escutar que python lento por ser interpretado, logo no
cient´fica
ı
Desempenho
uso...
Design de Alto
N´vel
ı
Para solucionar esse problema, usa-se uma linguagem
Princpio de Pareto compilada somente na parte critica;
Programao Orientada
a Objetos
PYTHON com Faz-se uma funo ou subrotina em Fortran;
FORTRAN
Multiprocessing
Dando Carga para as
Compilar e encapsular usando f2py - Integrada com numpy;
Baterias
Simulando o Universo
na Web
O import ocorre normalmente;
Fim
´
Uma Jornada Alem das Estrelas
23. Quando um velho bruxo aprende ofidioglossia
Uma Jornada
´
Alem das
Estrelas
Sumrio O FORTRAN - FORmula TRANslator- ainda vive.
¸˜
Introducao
Computacao¸˜
comum escutar que python lento por ser interpretado, logo no
cient´fica
ı
Desempenho
uso...
Design de Alto
N´vel
ı
Para solucionar esse problema, usa-se uma linguagem
Princpio de Pareto compilada somente na parte critica;
Programao Orientada
a Objetos
PYTHON com Faz-se uma funo ou subrotina em Fortran;
FORTRAN
Multiprocessing
Dando Carga para as
Compilar e encapsular usando f2py - Integrada com numpy;
Baterias
Simulando o Universo
na Web
O import ocorre normalmente;
Fim
´
Uma Jornada Alem das Estrelas
24. Quando um velho bruxo aprende ofidioglossia
Uma Jornada
´
Alem das
Estrelas
Sumrio O FORTRAN - FORmula TRANslator- ainda vive.
¸˜
Introducao
Computacao¸˜
comum escutar que python lento por ser interpretado, logo no
cient´fica
ı
Desempenho
uso...
Design de Alto
N´vel
ı
Para solucionar esse problema, usa-se uma linguagem
Princpio de Pareto compilada somente na parte critica;
Programao Orientada
a Objetos
PYTHON com Faz-se uma funo ou subrotina em Fortran;
FORTRAN
Multiprocessing
Dando Carga para as
Compilar e encapsular usando f2py - Integrada com numpy;
Baterias
Simulando o Universo
na Web
O import ocorre normalmente;
Fim
´
Uma Jornada Alem das Estrelas
25. oi
Uma Jornada
´
Alem das
Estrelas
C FILE hiword .f
Sumrio
subroutine hiword (a ,b)
¸˜
Introducao
Computacao¸˜
real*8 a ,b
cient´fica
ı
Desempenho
cf2py intent(in) a
Design de Alto cf2py intent(out) b
N´vel
ı b = a*a
Princpio de Pareto
Programao Orientada write(6 ,*) ’b = ’,b , ’, a = ’,a
a Objetos
PYTHON com return
FORTRAN
Multiprocessing end
Dando Carga para as
Baterias
Simulando o Universo
na Web
$ f2py -c hiword.f -m hiword
Fim
´
Uma Jornada Alem das Estrelas
26. oi
Uma Jornada
´
Alem das
Estrelas
Sumrio import hiword
¸˜
Introducao
Computacao¸˜
cient´fica
ı print hiword . __doc__
Desempenho
#>> T h i s module ’ h i w o r d ’ i s
Design de Alto
N´vel
ı #>> a u t o −g e n e r a t e d w i t h f 2 p y ( v e r s i o n : 2 ) .
Princpio de Pareto
Programao Orientada
#>>F u n c t i o n s :
a Objetos
PYTHON com
#>> b = h i w o r d ( a )
FORTRAN
hiword . hiword (5)
Multiprocessing
Dando Carga para as #>> b =25.000000000000000 , a = 5 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Baterias
Simulando o Universo # >>25.0
na Web
Fim
´
Uma Jornada Alem das Estrelas
27. ´
Maquinas Multicore
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho ¸˜ ´
otimizacao de calculos
Design de Alto
N´vel
ı ¸˜ ´
O uso de multiprocessing para otimizacao de calculos em
Princpio de Pareto
Programao Orientada
´
maquinas multicore.
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
28. ´
Maquinas Multicore
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho ¸˜ ´
otimizacao de calculos
Design de Alto xf
N´vel
ı
Princpio de Pareto
f (x) = g(x, k)dk, (1)
Programao Orientada
a(x)
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
29. ´
Maquinas Multicore
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho ¸˜ ´
otimizacao de calculos
Design de Alto
N´vel
ı
g(x, k) nao e separavel;
˜ ´ ´
Princpio de Pareto
Programao Orientada [x0 , x f ]
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
30. ´
Maquinas Multicore
Uma Jornada
´
Alem das
Estrelas
¸˜ ´
otimizacao de calculos
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho
Design de Alto
N´vel
ı
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
Figura: ppvector, a Python module for construction of parallel scientific
FORTRAN
Multiprocessing
code in a multi-core machine.
Dando Carga para as
Baterias
Simulando o Universo
na Web
https:
Fim
//duducosmos@github.com/duducosmos/ppvector.git
´
Uma Jornada Alem das Estrelas
31. ´
Maquinas Multicore
Uma Jornada
´
Alem das
Estrelas
import m u l t i p r o c e s s i n g as mpg
Sumrio from p p v e c t o r import p p v e c t o r
¸˜
Introducao from s c i p y . i n t e g r a t e import romberg
Computacao¸˜
cient´fica
ı
Desempenho
np=10000; zmax = 2 0 . 0 ; d e l t a z =zmax / np
Design de Alto
N´vel
ı
g= mpg . A r r a y ( ’ d ’ , [ 0 f o r i i n range ( np ) ] )
Princpio de Pareto #o d i n d i c a precisao sdupla
z= mpg . A r r a y ( ’ d ’ , [ zmax− i ∗ d e l t a z f o r i i n range ( np ) ] )
Programao Orientada
a Objetos
PYTHON com
FORTRAN # Defini−se a funcao que i r a c a l c u l a r os pontos do
Multiprocessing
Dando Carga para as
# v e t o r I n t e em p a r a l e l o
Baterias
Simulando o Universo
#k e o ponto do v e t o r onde se i n i c i a o c a l c u l o
na Web
#E e o tamanho do s u b i n t e r v a l o do v e t o r a se r calculado
Fim
#n e o numero do processo
´
Uma Jornada Alem das Estrelas
32. ´
Maquinas Multicore
Uma Jornada
´
Alem das
Estrelas
def f ( x ) :
Sumrio
r e t u r n x ∗∗ 2.0
¸˜
Introducao
Computacao¸˜
cient´fica
ı
def f u n ( k , E , n ) :
Desempenho
p r i n t ’ Esse e o processo : ’ , n
Design de Alto
N´vel
ı k2=k+E
g [ k : k2 ] = ( romberg ( f , z [ i ] , 2 0 . 0 )
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
f o r i i n range ( k , k2 + 1 ) )
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
C1= p p v e c t o r ( np , f u n ) #Cria−se uma i n s t a c i a
Fim
C1 . runProcess ( ) # Ativa o metodo que c a l c u l a em p a r a l e l o .
´
Uma Jornada Alem das Estrelas
33. Pacotes essenciais
Uma Jornada
´
Alem das
Estrelas
Sumrio
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
¸˜
Introducao ´
Numpy : Trabalhar com algebra matricial;
Computacao¸˜
cient´fica
ı
Desempenho
´ ¸˜ ¸˜ ¸˜
Scipy : diversos metodos de integracao, Otimizacao, Solucao
Design de Alto
¸˜
de Equacoes Diferencias;
N´vel
ı
Princpio de Pareto ´
Matplotlib : Gerar Graficos 2D e 3D simples;
Programao Orientada
a Objetos
PYTHON com
Scientific Python: Permite trabalhar com vetores de forca e
¸
FORTRAN
Multiprocessing
¸˜ ´
programacao em Paralelo usando metodo BSP - Evita
Dando Carga para as
Baterias DeadLock;
Simulando o Universo
na Web
´
MayaVi : Graficos 3D sofisticados.
Fim
´
Uma Jornada Alem das Estrelas
34. Pacotes essenciais
Uma Jornada
´
Alem das
Estrelas
Sumrio
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
¸˜
Introducao ´
Numpy : Trabalhar com algebra matricial;
Computacao¸˜
cient´fica
ı
Desempenho
´ ¸˜ ¸˜ ¸˜
Scipy : diversos metodos de integracao, Otimizacao, Solucao
Design de Alto
¸˜
de Equacoes Diferencias;
N´vel
ı
Princpio de Pareto ´
Matplotlib : Gerar Graficos 2D e 3D simples;
Programao Orientada
a Objetos
PYTHON com
Scientific Python: Permite trabalhar com vetores de forca e
¸
FORTRAN
Multiprocessing
¸˜ ´
programacao em Paralelo usando metodo BSP - Evita
Dando Carga para as
Baterias DeadLock;
Simulando o Universo
na Web
´
MayaVi : Graficos 3D sofisticados.
Fim
´
Uma Jornada Alem das Estrelas
35. Pacotes essenciais
Uma Jornada
´
Alem das
Estrelas
Sumrio
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
¸˜
Introducao ´
Numpy : Trabalhar com algebra matricial;
Computacao¸˜
cient´fica
ı
Desempenho
´ ¸˜ ¸˜ ¸˜
Scipy : diversos metodos de integracao, Otimizacao, Solucao
Design de Alto
¸˜
de Equacoes Diferencias;
N´vel
ı
Princpio de Pareto ´
Matplotlib : Gerar Graficos 2D e 3D simples;
Programao Orientada
a Objetos
PYTHON com
Scientific Python: Permite trabalhar com vetores de forca e
¸
FORTRAN
Multiprocessing
¸˜ ´
programacao em Paralelo usando metodo BSP - Evita
Dando Carga para as
Baterias DeadLock;
Simulando o Universo
na Web
´
MayaVi : Graficos 3D sofisticados.
Fim
´
Uma Jornada Alem das Estrelas
36. Pacotes essenciais
Uma Jornada
´
Alem das
Estrelas
Sumrio
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
¸˜
Introducao ´
Numpy : Trabalhar com algebra matricial;
Computacao¸˜
cient´fica
ı
Desempenho
´ ¸˜ ¸˜ ¸˜
Scipy : diversos metodos de integracao, Otimizacao, Solucao
Design de Alto
¸˜
de Equacoes Diferencias;
N´vel
ı
Princpio de Pareto ´
Matplotlib : Gerar Graficos 2D e 3D simples;
Programao Orientada
a Objetos
PYTHON com
Scientific Python: Permite trabalhar com vetores de forca e
¸
FORTRAN
Multiprocessing
¸˜ ´
programacao em Paralelo usando metodo BSP - Evita
Dando Carga para as
Baterias DeadLock;
Simulando o Universo
na Web
´
MayaVi : Graficos 3D sofisticados.
Fim
´
Uma Jornada Alem das Estrelas
37. Pacotes essenciais
Uma Jornada
´
Alem das
Estrelas
Sumrio
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
¸˜
Introducao ´
Numpy : Trabalhar com algebra matricial;
Computacao¸˜
cient´fica
ı
Desempenho
´ ¸˜ ¸˜ ¸˜
Scipy : diversos metodos de integracao, Otimizacao, Solucao
Design de Alto
¸˜
de Equacoes Diferencias;
N´vel
ı
Princpio de Pareto ´
Matplotlib : Gerar Graficos 2D e 3D simples;
Programao Orientada
a Objetos
PYTHON com
Scientific Python: Permite trabalhar com vetores de forca e
¸
FORTRAN
Multiprocessing
¸˜ ´
programacao em Paralelo usando metodo BSP - Evita
Dando Carga para as
Baterias DeadLock;
Simulando o Universo
na Web
´
MayaVi : Graficos 3D sofisticados.
Fim
´
Uma Jornada Alem das Estrelas
38. Escrevendo Matrizes no Banco de Dados -Usando
DAL Web2Py
Uma Jornada
´
Alem das
Estrelas
#Usando o DAL do web2py :
Sumrio from gluon import DAL
¸˜
Introducao from numpy import a r r a y
Computacao
cient´fica
ı
¸˜
from c S t r i n g I O import S t r i n g I O
Desempenho
import s c i p y . i o as i o
Design de Alto
N´vel
ı
Princpio de Pareto db=DAL( ’ s q l i t e : / / temporaio . db ’ )
db . d e f i n e t a b l e ( ’ dados ’ ,
Programao Orientada
a Objetos
F i e l d ( ’ Parametro ’ ) ,
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Field ( ’ Matriz ’ ) )
Baterias
Simulando o Universo
na Web
x= a r r a y ( [ [ 1 , 2 , 3 ] , [ 5 , 6 , 7 ] , [ 8 , 9 , 0 ] ] )
Fim
output=StringIO ( )
´
Uma Jornada Alem das Estrelas
39. Escrevendo Matrizes no Banco de Dados -Usando
DAL Web2Py
Uma Jornada
´
Alem das
Estrelas
Sumrio
# Incerindo matriz e i d e n t i f i c a d o r
¸˜
Introducao
# da mesma no banco de dados .
Computacao¸˜
cient´fica
ı
Desempenho i o . mmwrite ( o u t p u t , x ,
Design de Alto comment= ’ i s s o e um t e s t e ’ ,
N´vel
ı
Princpio de Pareto
f i e l d = ’ real ’ )
Programao Orientada
a Objetos
db . dados . i n s e r t ( Parametro= ’ P r i m e i r a ’ ,
PYTHON com
FORTRAN
Matriz=output . getvalue ( ) )
Multiprocessing
Dando Carga para as
Baterias
db . commit ( )
Simulando o Universo
na Web
o u t p u t . c l o s e ( ) #Limpa o b u f f e r
Fim
´
Uma Jornada Alem das Estrelas
40. Escrevendo Matrizes no Banco de Dados -Usando
DAL Web2Py
Uma Jornada
´
Alem das
Estrelas
#Usando o DAL do web2py :
from gluon import DAL
Sumrio
from numpy import a r r a y
¸˜
Introducao
Computacao¸˜
from c S t r i n g I O import S t r i n g I O
cient´fica
ı
Desempenho
import s c i p y . i o as i o
Design de Alto
N´vel
ı
Princpio de Pareto
# Selecionando matriz de um banco de dados .
Programao Orientada MM = db ( db . dados . Parametro== ’ P r i m e i r a ’ ) . s e l e c t ( ) [ 0 ]
a Objetos
PYTHON com
FORTRAN
Multiprocessing T3=MM. M a t r i z
Dando Carga para as
Baterias
Simulando o Universo
na Web I n p u t = S t r i n g I O ( T3 )
Fim X4= i o . mmread ( I n p u t )
I n p u t . c l o s e ( ) #Limpa o B u f f e r
´
Uma Jornada Alem das Estrelas
41. Graviton Perturbation
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho
Design de Alto
N´vel
ı
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas
42. FIM
Uma Jornada
´
Alem das
Estrelas
Sumrio
¸˜
Introducao
Computacao¸˜
cient´fica
ı
Desempenho Grato
Design de Alto
N´vel
ı
Princpio de Pareto
Programao Orientada
a Objetos
PYTHON com
MUITO OBRIGADO
FORTRAN
Multiprocessing
Dando Carga para as
Baterias
Simulando o Universo
na Web
Fim
´
Uma Jornada Alem das Estrelas