Pyton do programowania naukowego?

Autor:katie townley

Słyszałem o bibliotekach NumPy, SciPy i Matplotlib, usłyszałem to na wikipedii, którą przeczytałem :-) Kto ich użył, jakie są zalety w porównaniu z MatLab lub MatCadem, jest możliwe przetwarzanie dużych ilości danych przy użyciu złożonych transformacji mat i pięknie wyświetlać wyniki.

Odpowiedzi

shannon haupt
przewaga nad matą. pakiety - możesz skompilować kod, powiedzmy, na tym samym, i nie będzie to wymagało od każdego użytkownika kupowania i instalowania pakietu Matlab.

Można programować równolegle dla klastra.

Dane mogą być przetwarzane, ale jest to powolne - skończyło się na tym, że pozostaję na Scali, są wszystkie bułki współczesnych języków (na przykład kocham krotki), a prędkość jest prawie siplusplusovskaya.
Python będzie 40 razy wolniejszy. Właściwie, jak matlab, jak go pamiętam. To znacznie ogranicza zakres wygodnie rozwiązywalnych zadań.
Aby uzyskać piękne wydruki i mnóstwo wbudowanych prymitywów naukowych, ta sama biblioteka GnuScienceLibrary (w tym gnuplot, jako jej składnik) jest dołączona do wszystkich możliwych języków, o ile wiem ...

Ogólnie używam języka dynamicznego (true, Ruby, a nie Python), aby szybko (bez rekompilacji) debugować algorytm na małej tablicy danych, a następnie napisać ostateczną wersję na Scali i skompilować ją do zwykłego pliku .jar.
mehul thakkar
Jeśli sądzę o mojej specjalizacji (mechanika obliczeniowa), to niestety, Python jest mało przydatny w obecnej formie do rozwoju nauki. Wielu naukowców ma funkcje obliczania siatki pisane i testowane wiele lat temu. Te funkcje nie są nawet napisane w C, ale na fortran. Nie jest to zaskakujące, ale na nim są one uważane za szybsze niż w C. A następnie za pomocą wrappera na C i MPI, zadania są liczone na super komputerach.

Przepisanie ich na inny język programowania jest niewdzięcznym zadaniem, ponieważ w tych funkcjach jest dużo matematyki, formuł, logiki i innych rzeczy.

Możesz użyć ctypes, ale python stanie się po prostu wygodną konstrukcją kontrolną. W rzeczywistości wdrażane są biblioteki. Na przykład NumPy.
Odpowiedzi:
w numpy znajduje się biblioteka do łatwego połączenia z kodem Fortrana (www.scipy.org/F2py) - teraz jest jasne, dlaczego) - penny clasper
O ile dobrze pamiętam, po prostu tworzy wrapper dla zwykłej biblioteki dynamicznej, którą można połączyć za pomocą ctypów - robert mood
sądząc po opisie, podaje się nieco inne podejście wprowadź plik fortran hello.f, a otrzymasz rozszerzenie pythonnier hello.so, które można zaimportować i wykorzystać jako import hello. W takim przypadku tablice w funkcji mogą być przekazywane jako numpy-tablice i tak dalej. - cody russ
jonathan webb
Dla mnie osobiście, plus python, w którym można szybko napisać prostą łamigłówkę i budować grafikę przez Matplotlib. I coś trudnego naukowo nadal warto napisać do Fortrana.
Odpowiedzi:
to już w asembler, jeśli jest bardzo skomplikowany i bardzo naukowy - jeryl hayes
rita linden
Obserwowanie, jakie naukowe cele, pyton nadal jest hamulcem, niewygodne wyliczenia, aby go zrzucić to samobójstwo)
ahmed mamdouh
Jeśli chodzi o szybkość, po prostu szukaj wzorców:
 stackoverflow.com/questions/7596612/benchmarking-python-vs-c-using-blas-and-numpy
Może spotkać kogoś, kto obsługuje "księgę gości" lub "informacja zwrotna", która umożliwia formularz w postaci javascriptu do umieszczenia na twojej stronie :: Jak przerwać czytanie Habr? :: Książki na temat elektroniki :: Kilka baz danych Redis na hoście :: Ustaw identyfikator w IRC?
Zostaw odpowiedź
Linki