Python za fizike

O matematiki, številih, množicah in računih...
Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Python za fizike

Odgovor Napisal/-a Popotnik »

Rad bi malo šel v svet Pythona. Pa me zanima, kake paketa fiziki vse uporabljate zraven. Za začetek:

SciPy & NumPy
Sage (to naj bi bila med drugim alternativa Mathematici)

Še kaj? Obstaja kak gnuplot python?

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Python za fizike

Odgovor Napisal/-a Popotnik »

Mogoče matplotlib ?

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Python za fizike

Odgovor Napisal/-a Aniviller »

Ja, matplotlib je glavno orodje za plotanje iz Pythona. Sicer pa ja, to je to.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Python za fizike

Odgovor Napisal/-a Popotnik »

Zgolj to? :)

Kaj pa EPD (Enthought Python Distribution, https://www.enthought.com/products/epd/)?

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Python za fizike

Odgovor Napisal/-a Aniviller »

Ma to je osnova, s katero lahko shajas ce nisi zelo izbircen. Sicer pa jasno lahko se marsikaj pogruntas. Recimo
http://orange.biolab.si/

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Python za fizike

Odgovor Napisal/-a Popotnik »


Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Python za fizike

Odgovor Napisal/-a Aniviller »

Ja, od matlaba je itak boljse prakticno karkoli (matlab ustreza prakticno samo dolocenim inzinirjem tehnicnih ved). Je po eni strani cisto numericen, po drugi strani pa niti v tem ni ravno dober. Pa programersko je zelo okoren.
Mathematico je tezje nadomestit, posebej tistim ki so jo vajeni. Sage je nekoliko nefokusiran (ni tako intuitiven, ker je zbran z vseh vetrov, in je klicanje funkcij in konstrukcija kratkih in ucinkovitih resitev tezja - rabis vec gledanja v dokumentacijio). Velika moc Mathematice je, da se zelo mocno zaveda natancnosti vseh izrazov, ki jih vraca. Sam SymPy je kar v redu, ampak ni tako zelo splosen.

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Python za fizike

Odgovor Napisal/-a Popotnik »

Mislim, da Matlab navdušeno uporabljajo ekonomisti :lol:.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Python za fizike

Odgovor Napisal/-a Aniviller »

Ma njih ne stejem :)

Popotnik
Prispevkov: 532
Pridružen: 12.11.2008 18:35

Re: Python za fizike

Odgovor Napisal/-a Popotnik »

Samo najbrž pri Pythonu vseeno ne gre brez integracije s C/C++. Mislim seveda za pisanje kakih specifičnih rutin, ki se jih (še) ne dobi.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Python za fizike

Odgovor Napisal/-a Aniviller »

No, manjkajoce rutine lahko naredis tudi v Pythonu - sicer je interpretirano, ampak to velja tudi za matlab. Pac vzames pypy ali cython ali kaj takega, da ni prepocasno.

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Python za fizike

Odgovor Napisal/-a shrink »

Aniviller napisal/-a:Ja, od matlaba je itak boljse prakticno karkoli (matlab ustreza prakticno samo dolocenim inzinirjem tehnicnih ved). Je po eni strani cisto numericen, po drugi strani pa niti v tem ni ravno dober. Pa programersko je zelo okoren.
Kaj pa Octave, ki naj bi bila GNU "kopija" Matlaba? 8)

Sicer bi sam rekel, da je ocena, kaj je boljše, lahko zelo subjektivna. Sam recimo poznam tako Matlab kot Mathematico in mi je bilo že takoj na začetku, ko sem se seznanil z obema, jasno, da sta že po zasnovi in filozofiji popolnoma različna in pravzaprav namenjena različnim uporabnikom. Že iz zgodovine je jasno, da so Matlab prvi pograbili inženirji, ki so se ukvarjali s krmiljenjem (zato recimo niti ne preseneča, da je Matlabov Simulink zasnovan kot sistem z diagrami z bloki - po zgledu krmilne teorije). Čeprav je kasneje Matlab postal popularen izven prvotnega kroga uporabnikov in se je temu primerno želel prilagajati širšemu krogu (tudi npr. z dodatnimi paketi za simbolično računanje), pač ostaja dejstvo, da res najbolj ustreza ravno inženirjem, kar pa niti ni skrivnost, glede na moto "The Language of Technical Computing".

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: Python za fizike

Odgovor Napisal/-a Aniviller »

Ja octave ima iste probleme. matlab in njegovi kloni imajo osnovni problem, da razen vgrajene podpore za linearno algebro nimajo nobene druge prednosti. V resnici je le "wrapper" za c-jevske/fortranske funkcije iz obstojecih knjiznic in razen malo krajse sintakse ne pridobis nic - je le okolje za programiranje za ljudi, ki ne znajo programirat. Sam sem bil nad matlabom zelo razocaran ko sem se ga lotil - kot okolje za numericno racunanje niti nima enostavne moznosti za poljubno natancnost, sledenje natancnosti izrazom, ali kakrsnokoli zavedanje matematicnega ozadja problemov ki jih resujes. Gre zgolj za navadno double-precision aritmetiko, kjer moras za vse podrobnosti algoritma sam poskrbet - v c-ju vsak dobis portabilnost kode brez da bi moral povsod imeti matlab instaliran, pa rezultat lahko klices kot normalen program iz komandne vrstice, v skriptah v kombinaciji z drugimi programi, medtem ko si z matlabom "zaklenjen" znotraj njegovega okolja (ok, da se klicat tudi od zunaj ampak je neprimerno bolj komplicirano). Pa tudi ogromna velikost instalacije matlaba mi ni jasna.

Torej, od programa, ki trdi, da je specializiran za nek namen, pricakujem, da mi ponudi kaj vec kot splosna univerzalna orodja, in matlab mi tega enostavno ne ponudi.

Uporabniški avatar
shrink
Prispevkov: 14610
Pridružen: 4.9.2004 18:45

Re: Python za fizike

Odgovor Napisal/-a shrink »

Aniviller napisal/-a:Ja octave ima iste probleme. matlab in njegovi kloni imajo osnovni problem, da razen vgrajene podpore za linearno algebro nimajo nobene druge prednosti. V resnici je le "wrapper" za c-jevske/fortranske funkcije iz obstojecih knjiznic in razen malo krajse sintakse ne pridobis nic - je le okolje za programiranje za ljudi, ki ne znajo programirat. Sam sem bil nad matlabom zelo razocaran ko sem se ga lotil - kot okolje za numericno racunanje niti nima enostavne moznosti za poljubno natancnost, sledenje natancnosti izrazom, ali kakrsnokoli zavedanje matematicnega ozadja problemov ki jih resujes. Gre zgolj za navadno double-precision aritmetiko, kjer moras za vse podrobnosti algoritma sam poskrbet - v c-ju vsak dobis portabilnost kode brez da bi moral povsod imeti matlab instaliran, pa rezultat lahko klices kot normalen program iz komandne vrstice, v skriptah v kombinaciji z drugimi programi, medtem ko si z matlabom "zaklenjen" znotraj njegovega okolja (ok, da se klicat tudi od zunaj ampak je neprimerno bolj komplicirano). Pa tudi ogromna velikost instalacije matlaba mi ni jasna.

Torej, od programa, ki trdi, da je specializiran za nek namen, pricakujem, da mi ponudi kaj vec kot splosna univerzalna orodja, in matlab mi tega enostavno ne ponudi.
No, več ali manj drži, kar si napisal. Matlab je od idejnega očeta itak bil razvit z namenom, da bi študenti izvajali matrične manipulacije, računali lastne vrednosti itd., skratka: da bi se šli numerično linearno algebro, brez da bi se učili programiranja. V tem smislu ni bil nikoli zasnovan kot okolje za splošno numerično računanje in ta dediščina se vleče vse do danes, pa čeprav je tudi reklamiran za ta namen. Drugače je možno poljubno natančnost v njem dokaj enostavno doseči preko paketa za simbolično računanje.

Da ima Matlab probleme s portabilnostjo, ni neko veliko presenečenje (glede na to, da je komercialen program), sam pa nad njim ne bi bil nikoli razočaran, kot si bil sam, ker ga enostavno ne bi uporabljal za tisto, za kar si ga sam želel uporabljati.

Uporabniški avatar
pilot
Prispevkov: 234
Pridružen: 2.7.2009 20:27

Re: Python za fizike

Odgovor Napisal/-a pilot »

Samo še uporabna informacija.
http://www.portablepython.com/
Na tej strani si lahko naložiš portable python ki ima vse te stvari o čemer sprašuješ že vključene v paket in polno delujoče.
Jaz sem imel velike probleme ko sem hotel inštalirati dodatne pakete. Ima še veliko dodatnih paketov celo paket s katerim lahko komuniciraš preko outputov računalnika. ;)

Drugače pa ti predlagam Mathematico. Najsodobnejši program na tržišču. Super tutorial in zelo spodoben iskalnik željenih informacij.

Odgovori