36
Sum ´ ario Introduc ¸˜ ao Computac ¸˜ ao cient´ ıfica Desvendando o Universo com Python O Universo Revelado com Python Eduardo S. Pereira email: [email protected]/[email protected] blog:http://gravywave.blogspot.com/ 21/outubro/2010

Python brasil[6]

Embed Size (px)

DESCRIPTION

Apresentação na Python Brasil[6]: O Universo Revelado com Python.

Citation preview

Page 1: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

O Universo Revelado com Python

Eduardo S. Pereiraemail: [email protected]/[email protected]

blog:http://gravywave.blogspot.com/

21/outubro/2010

Page 2: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

1 Introducao

2 Computacao cientıfica

3 Desvendando o Universo com Python

Page 3: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Astrofısica e Cosmologia

O que e Astrofısica

Personal trainer de estrelas...

Astrofısica e o ramo da Astronomia que lida com a Fısica doUniverso, incluindo suas propriedades fısicas (luminosidade,densidade, temperatura, composicao quımica) de objetosastronomicos como estrelas, galaxias e meio interestelar, etambem das suas interacoes.

Page 4: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Astrofısica e Cosmologia

Cosmo o que???

Uma Breve historia do Universo

Cosmologia e o ramo da astronomia que estuda a origem,estrutura e evolucao do Universo a partir da aplicacao demetodos cientıficos.

Page 5: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Astrofısica e Cosmologia

Cosmo o que???

Uma Breve historia do Universo

Page 6: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

O que e Computacao Cientıfica?

Computacao cientıfica e sobre...

Construcao de modelos matematicos;

Desenvolvimento de tecnicas para solucoes numericas;

Analizar e resolver problemas cientıficos;

...usando computador.

Page 7: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

O que e Computacao Cientıfica?

Computacao cientıfica e sobre...

Construcao de modelos matematicos;

Desenvolvimento de tecnicas para solucoes numericas;

Analizar e resolver problemas cientıficos;

...usando computador.

Page 8: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

O que e Computacao Cientıfica?

Computacao cientıfica e sobre...

Construcao de modelos matematicos;

Desenvolvimento de tecnicas para solucoes numericas;

Analizar e resolver problemas cientıficos;

...usando computador.

Page 9: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

O que e Computacao Cientıfica?

Computacao cientıfica e sobre...

Construcao de modelos matematicos;

Desenvolvimento de tecnicas para solucoes numericas;

Analizar e resolver problemas cientıficos;

...usando computador.

Page 10: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

A lebre e a Tartaruga, quando o mais rapido chega no fim

Comparacao de desenpenho

http://www.scipy.org/PerformancePython/

Uma comparacao entre NumPy, Pyrex, Psyco, Fortran (77 and90) e C++ para resolver a equacao de Laplace. Artigooriginalmente escrito por Prabhu Ramachandran.

Page 11: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

A lebre e a Tartaruga, quando o mais rapido chega no fim

Comparacao de desenpenho

http://www.scipy.org/PerformancePython/

Page 12: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

POO

Escrever codigos realmente reutilizaveis;

Facilidade na extensao de projetos usando heranca;

Dia2code gerando codigo esqueleto com diaoi dia

dia2code exemplo.dia -t python

Page 13: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

POO

Escrever codigos realmente reutilizaveis;

Facilidade na extensao de projetos usando heranca;

Dia2code gerando codigo esqueleto com diaoi dia

dia2code exemplo.dia -t python

Page 14: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

POO

Escrever codigos realmente reutilizaveis;

Facilidade na extensao de projetos usando heranca;

Dia2code gerando codigo esqueleto com diaoi dia

dia2code exemplo.dia -t python

Page 15: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

POO

Escrever codigos realmente reutilizaveis;

Facilidade na extensao de projetos usando heranca;

Dia2code gerando codigo esqueleto com diaoi dia

dia2code exemplo.dia -t python

Page 16: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

Dia2code gerando codigo esqueleto com diaoi.py

Page 17: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

Paralelizacao BSP - Bulk Synchronous Parallel model

Simples e conveniente modelo de paralelizacao de programas;

Passos de comunicacao e computacao se alternam e cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.

Pacotes importantes

Pacotes fundamentais - scipy, numpy, scientific python, matplotlib

Page 18: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

Paralelizacao BSP - Bulk Synchronous Parallel model

Simples e conveniente modelo de paralelizacao de programas;

Passos de comunicacao e computacao se alternam e cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.

Pacotes importantes

Pacotes fundamentais - scipy, numpy, scientific python, matplotlib

Page 19: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Programacao orientada a objetos e paralelizacao

Paralelizacao BSP - Bulk Synchronous Parallel model

Simples e conveniente modelo de paralelizacao de programas;

Passos de comunicacao e computacao se alternam e cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.

Pacotes importantes

Pacotes fundamentais - scipy, numpy, scientific python, matplotlib

Page 20: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

O FORTRAN - FORmula TRANslator- ainda vive.

E comum escutar que python e lento por ser interpretado, logonao uso...

Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;

Faz-se uma funcao ou subrotina em Fortran;

Compilar e encapsular usando f2py - Integrada com numpy;

O import ocorre normalmente;

Page 21: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

O FORTRAN - FORmula TRANslator- ainda vive.

E comum escutar que python e lento por ser interpretado, logonao uso...

Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;

Faz-se uma funcao ou subrotina em Fortran;

Compilar e encapsular usando f2py - Integrada com numpy;

O import ocorre normalmente;

Page 22: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

O FORTRAN - FORmula TRANslator- ainda vive.

E comum escutar que python e lento por ser interpretado, logonao uso...

Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;

Faz-se uma funcao ou subrotina em Fortran;

Compilar e encapsular usando f2py - Integrada com numpy;

O import ocorre normalmente;

Page 23: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

O FORTRAN - FORmula TRANslator- ainda vive.

E comum escutar que python e lento por ser interpretado, logonao uso...

Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;

Faz-se uma funcao ou subrotina em Fortran;

Compilar e encapsular usando f2py - Integrada com numpy;

O import ocorre normalmente;

Page 24: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

O FORTRAN - FORmula TRANslator- ainda vive.

E comum escutar que python e lento por ser interpretado, logonao uso...

Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;

Faz-se uma funcao ou subrotina em Fortran;

Compilar e encapsular usando f2py - Integrada com numpy;

O import ocorre normalmente;

Page 25: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

C FILE oimundo.fsubroutine oi(a,b)real*8 a,b

cf2py intent(in) acf2py intent(out) b

b = a*awrite(6,*) ’Oi mundo, b = ’,b,’, a = ’,areturnend

Page 26: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Design de Alto Nıvel

Linguagem dinamica e compilada - Melhor de dois mundos

f2py -c -m oimundo oimundo.f

>> import oimundo>> oimundo.oi(5)’Oi mundo , b = 25.0, a = 5.0’

Page 27: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Ondas Gravitacionais e Cosmologia

Page 28: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Framework Cientıfico

OGC lib: Um framework para desenvolvimento deaplicativos cosmologicos

Materia escura colapsa;

Materia barionica cai nos halos;

Maiores halos se formam, estrelasnascem e buracos negros crescem;

Imagem do aglomerado 1E 0657-56- “Aglomerado da Bala”. Materiabarionica em rosa, detectada poremissao de raio-x, em azul indicamateria escura, detectada por lentesgravitacionais.

Page 29: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Framework Cientıfico

OGC lib: Um framework para desenvolvimento deaplicativos cosmologicos

from OGC_lib.OGC_cosmo import CosmoMyUniverse = Cosmo(0.04,0.24,0.73,0.76,\6.0,20.0,’./trabalho’)Age = MyUniverse.age(5)print’ Age = %3.9e’ %AgeAge = 1.189273236e+09

Page 30: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

OGCOSMO: uma ferramenta para estudo da evolucao dahistoria cosmica de estrelas e buracos negrossupermassivos

Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidadeda luz;

Desenvolvimento de um programa em Python para estudo deformacao de galaxias e estrelas, evolucao de buracos negros.

A partir disso avaliar qual seria o sinal produzido, em OG, porestrelas que dao origem a buracos negros e por processo decrescimento e fusao de buracos negros.

Page 31: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

OGCOSMO: uma ferramenta para estudo da evolucao dahistoria cosmica de estrelas e buracos negrossupermassivos

Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidadeda luz;

Desenvolvimento de um programa em Python para estudo deformacao de galaxias e estrelas, evolucao de buracos negros.

A partir disso avaliar qual seria o sinal produzido, em OG, porestrelas que dao origem a buracos negros e por processo decrescimento e fusao de buracos negros.

Page 32: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

OGCOSMO: uma ferramenta para estudo da evolucao dahistoria cosmica de estrelas e buracos negrossupermassivos

Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidadeda luz;

Desenvolvimento de um programa em Python para estudo deformacao de galaxias e estrelas, evolucao de buracos negros.

A partir disso avaliar qual seria o sinal produzido, em OG, porestrelas que dao origem a buracos negros e por processo decrescimento e fusao de buracos negros.

Page 33: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

OGCOSMO: uma ferramenta para estudo da evolucao dahistoria cosmica de estrelas e buracos negrossupermassivos

Page 34: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

OGCOSMO: uma ferramenta para estudo da evolucao dahistoria cosmica de estrelas e buracos negrossupermassivos

Page 35: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

OGCOSMO: uma ferramenta para estudo da evolucao dahistoria cosmica de estrelas e buracos negrossupermassivos

Page 36: Python brasil[6]

Sumario Introducao Computacao cientıfica Desvendando o Universo com Python

Primeiro Aplicativo

FIM

Grato

MUITO OBRIGADO .