LINUX.ORG.RU

NumPy 0.9.6


0

0

NumPy -- набор расширений популярного языка программирования, предназначенный для решения вычислительных задач.
В новом релизе:
- поддержка "очень больших" массивов на 64-битных системах (требуется Python 2.5)
- сборка без напильника ("out of the box") под cygwin
- документация по подключению внешних библиотек (C, C++, FORTRAN) посредством SWIG или Pyrex, с примерами
- новые функции .round, rint, square, reciprocal, ones_like

Вслед за NumPy также обновился matlab-подобный пакет SciPy
(http://scipy.org/SciPy)

>>> Подробности

anonymous

Проверено: Shaman007 ()

Вычислительные задачи на Питоне, это шутка?

Или это возможность компенисировать возможности быстрых процессоров да бы жизнь медом не казалась?

Не ужели на С так сложно программировать вычисления? Это ж обычная математика.

Нельзя затыкать Питоном все дыры.

anonymous
()
Ответ на: комментарий от anonymous

Там, небось, на питоне - только интерфейсы, а вся тяжелая часть, как обычно, на сях.

AngryElf ★★★★★
()
Ответ на: комментарий от anonymous

Python 2.5 это Python из CVS некоторые проекты уже выпускают бинарные сборки пакетов под питон 2.5

А использование MatLab-а для решения вычислительных задач не смущает? Он же тоже не C (о ужОс!!!)

Связка Python + Numeric/numarray/scipy + matplotlib вполне успешно (даже лучше MatLab-а) подходит для решения широкого круга вычислительных/научных задач.

redvasily
()
Ответ на: комментарий от anonymous

Иногда лучше молчать чем говорить...

anonymous
()
Ответ на: комментарий от anonymous

> Нельзя затыкать Питоном все дыры.

Поколение чупа-чупс делится на три лагеря: питон, жаба и дотнет. Остальных языков они боятся.

anonymous
()
Ответ на: комментарий от redvasily

>А использование MatLab-а для решения вычислительных задач не смущает? Он же тоже не C (о ужОс!!!)

А что же он?

anonymous
()
Ответ на: комментарий от anonymous

> А что же он?

Они стремительно исправляются. Интерфейс уже давно на жабе :) Тормозной, глючный, но политкорректный.

yozhhh ★★★
()
Ответ на: комментарий от anonymous

> А что же он?

А он MatLab. Он же может быть нарисан на чём угодно (как минимум C, Java и fortran там присутствуют), но он не С.

А если считать что MatLab это тоже что и C, т.к он на сях написан, то получится что питон тоже С.

redvasily
()
Ответ на: комментарий от yozhhh

О господи, я то думал... Юзайте octave и в вашу жизнь не войдет больше ни одна жаба.

anonymous
()
Ответ на: комментарий от redvasily

>А он MatLab. Он же может быть нарисан на чём угодно (как минимум C, Java и fortran там присутствуют), но он не С. А если считать что MatLab это тоже что и C, т.к он на сях написан, то получится что питон тоже С.

Нет, дума то, что надо.

Нет, друг, ты ошибаешься. Питон - язык универсальный без оптимизации по какому-либо направлению. Матлаб - язык специфичный с оптимизацией. Если не ошибаюсь, использует бинарные сишные либы для расчетов. Как устроен его транслятор я не знаю, но предположу, что как и в тикле - с бинарным компилятором кода.

anonymous
()

чем 30 дней писать что то расчетное на С что исполняется 10 дней лучше 10 дней написать это на питоне с либами что исполняется 30 дней
парадокс однако хотя результат по времени вроде бы одинаков :)

anonymous
()
Ответ на: комментарий от anonymous

>чем 30 дней писать что то расчетное на С что исполняется 10 дней лучше 10 дней написать это на питоне с либами что исполняется 30 дней парадокс однако хотя результат по времени вроде бы одинаков :)

А если два раза сосчитать надо?

anonymous
()

NumPy же вроде depricated был, SciPy_Core вместо него?

qWen71n ★★★
()
Ответ на: комментарий от anonymous

MatLab использует бинарные сишные и фортрановские либы для рассчётов. Python использует бинарные сишные либы для рассчётов.

В MatLab-е используется очень бедный язык предназначеный только для рассчётов, всё кроме рассчётов в MatLab-е это кошмар. Файловый ввод вывод, работа с памятью, графикой, ГУЙ и т.д. всё кроме рассчётов в MatLab-е плохо. ОО там настолько глубоко через жопу сделано, что это даже не смешно.

Python-же язык общего назначения, замечательный сам по себе, к которому прикручены научные рассчёты, графика и.т.д.

По поводу компиляции это ты не прав, друг.

MatLab внутри также работает с байт-кодов как и Python. Есть возможность скомпилировать в бинарник отдеоьную MatLab-функцию, но по сути это не компиляция, а такая же заморозка как и в Python-е py2exe, не совсем так, но скорость работы этьо поднимает только в совсем клинических случаях, когда всё равно лучше использовать векторизацию вычислений, а это можно сделать и в питоне.

Да, кстати, с явой в MatLab-е смешно выходит. Последняя версия без явы (5.3) превосходно работала с русским языком на 16Мб оперативки, с тех пор как они перешли на яву, нормальной работы с русским языком так и нет, а памяти уже надо минимум 128, и это в комманжной строке :-)

redvasily
()
Ответ на: комментарий от anonymous

>Вычислительные задачи на Питоне, это шутка?

Скорость очень хорошая. Все тяжёлые вычисления на C.

anonymous
()
Ответ на: комментарий от anonymous

>>чем 30 дней писать что то расчетное на С что исполняется 10 дней лучше 10 дней написать это на питоне с либами что исполняется 30 дней парадокс однако хотя результат по времени вроде бы одинаков :)

дык с либами не 30 дней будет, быстрее

>А если два раза сосчитать надо?

если надо 100 раз и более, то можно взять работaющий и отлаженый питоновский прототип и быстренько переписать на Це. К стати, многие утверждают что для численных расчетов Фортран77 вне конкуренции по быстроте :) Но ето уже мазохизм, ИМХО

qWen71n ★★★
()
Ответ на: комментарий от redvasily

>В MatLab-е используется очень бедный язык предназначеный только для рассчётов, всё кроме рассчётов в MatLab-е это кошмар. Файловый ввод вывод, работа с памятью, графикой, ГУЙ и т.д. всё кроме рассчётов в MatLab-е плохо. ОО там настолько глубоко через жопу сделано, что это даже не смешно. Python-же язык общего назначения, замечательный сам по себе, к которому прикручены научные рассчёты, графика и.т.д.

Отсюда вывод: Python - это не unix-way. Ибо уже есть программа, которая великолепно считает.

anonymous
()
Ответ на: комментарий от anonymous

> чем 30 дней писать что то расчетное на С что исполняется 10 дней лучше 10 дней написать это на питоне с либами что исполняется 30 дней

Если оно исполняется ОДИН РАЗ, то да. Если много раз, то лучше написать на C. Честно говоря, я не понимаю, где проблема в написании расчётных алгоритмов на C и как питон это может ускорить. Ну, на fortran пишите, он для этой цели ещё лучше.

yozhhh ★★★
()

Каждый использует то, что удобно. Меня лично напрягает то, что в питоне одни имена функций занимают полстроки.

anonymous
()
Ответ на: комментарий от redvasily

> Да, кстати, с явой в MatLab-е смешно выходит. Последняя версия без явы (5.3) превосходно работала с русским языком на 16Мб оперативки, с тех пор как они перешли на яву, нормальной работы с русским языком так и нет, а памяти уже надо минимум 128, и это в комманжной строке :-)

Его интерпретатор можно запустить в терминале без жабы, ключ командной строки для этого есть. Только хрен ты в этом случае график нарисуешь :(

yozhhh ★★★
()
Ответ на: комментарий от redvasily

Для решения вычислительных задач матлаб непригоден. Если сравнивать время вычисления при помощи матлаб и программы на С, то разница будет в разы. Ждать результатов 3 дня или 2 недели очень большая разница. У матлаба другие плюсы. Такие как скорость разработки, удобная среда отладки, громадная библиотека функций, отличная документация, хорошая визуализация и т.д. Но никак не скорось вычислений. И раелизовать проект на матлаб, проверить логику, а вдальнейшем переписать на С не такой уж и плохой путь.

orc
()
Ответ на: комментарий от anonymous

> Отсюда вывод: Python - это не unix-way. Ибо уже есть программа, которая великолепно считает.

Прикольная штука этот unix-way. :-)

Far это плохо, т.к. это комбайн который делает всё на свете, а bash это хорошо т.к. он вызывает внешние функции, и объединяет разрозненные компоненты. Unix-way короче.

И в то же время большой страшный, да и ещё и проприетарный комбайн MatLab в который запихнут даже веб-сервер это unix-way. А python, с дистрибутивом в 10Мб, который использует для всего внешние либы, да ещё и свободный к тому же не unix-way.

Кстати, по твоим словам, Matlab ты не видел, но усиленно его защищаешь. Это как? :-)

И всё таки, ты MatLab любишь, или Python ненавидишь?

Может поговорим ещё и о MathCad-e? :-D

redvasily
()
Ответ на: комментарий от redvasily

>Кстати, по твоим словам, Matlab ты не видел, но усиленно его защищаешь. Это как? :-)

MathLab не видел, но работал с octave. Точнее, видел, но недолго. Кроме того, у меня острый глаз. я даже иногда по названию проги могу сказать, unx-way это или нет.

>И всё таки, ты MatLab любишь, или Python ненавидишь?

Tcl/Tk - вот что такое Unix-way. Язык, предназначенный для всего, но не содержащий ничего лишнего из того, что можно реализовать другим путем. Perl- unix-way, ибо профессионально занимается только одним - работой со строками. Mathlab, вообще-то, псевдо Unix-way, ибо работает в Windows и содержит, как ты сказал, нежелательные компоненты. MatCad - почти unox-way, ибо содержит расчетное ядро, которое может быть реализовано с помощью Mathlab.

anonymous
()

Такой вопрос.

Есть ли возможность использовать размерные данные при программировании?

Что-то типа double weight = 500 g;

И где такое есть если есть?

anonymous
()
Ответ на: комментарий от anonymous

> чем 30 дней писать что то расчетное на С что исполняется 10 дней лучше > 10 дней написать это на питоне с либами что исполняется 30 дней > парадокс однако хотя результат по времени вроде бы одинаков :)

Парадокса никакого нет. Питон на вычислении медленней С раз в 100-200... как минимум!!!

Не дай бог там придется использовать голые циклы...

Так что Ваши слова не более чем мечты.

И на счет отладки Вы врете. Во первых математика она и есть математика. Писать ее ну ни как не легче на Питоне.

А Во вторых и самых главных отладка программы на питоне может занять гораздо больше времени.

Одно дело ждать ошибку в программе 2 минуты, а другое сутки...

Так что Питон не подходить для программирования расчетов.

расчеты типа y = 2 + 3 за расчеты не считаются.

Так же как и расчеты на которые что Питон требует времени до нескольких минут. В таком варианте абсолютно все равно на чем писать.

anonymous
()
Ответ на: комментарий от redvasily

> А график то строится :-) Только что проверил. Работает шустро. Стартует быстро. (Matlab7)

Значит, что-то другое не работало... Не помню уже, давно этот режим не юзал :)

yozhhh ★★★
()
Ответ на: комментарий от orc

> Для решения вычислительных задач матлаб непригоден. Если сравнивать время вычисления при помощи матлаб и программы на С, то разница будет в разы.

Глупости говорить изволишь. Если писать матлаб-скрипты типичным сишным методом с циклами, не используя векторизацию и встроенные функции, то и получишь в итоге тормозной кал. А если писать с умом, то можно получить существенный выигрыш. Но - не всегда. Иногда самописная программа на C действительно будет быстрее, как в матлабе ни извращайся.

yozhhh ★★★
()
Ответ на: комментарий от redvasily

>Последняя версия без явы (5.3) превосходно работала с русским языком на 16Мб оперативки, с тех пор как они перешли на яву, нормальной работы с русским языком так и нет, а памяти уже надо минимум 128, и это в комманжной строке :-)

Да ладно. Всем и так известно что жаба рулит "нипадецццки"

anonymous
()
Ответ на: комментарий от anonymous

Такое есть в VHDL. И учитывая его родословную, может быть в Аде. Но ты этого не хочешь :-)

redvasily
()
Ответ на: комментарий от redvasily

>Прикольная штука этот unix-way. :-)

Да-да, вспомнил, как лоровцы предлагали заменить отсутствующие в лине COM-ы пайпами!

anonymous
()
Ответ на: комментарий от anonymous

> И на счет отладки Вы врете. Во первых математика она и есть математика. Писать ее ну ни как не легче на Питоне.

А на чём легче?

> Одно дело ждать ошибку в программе 2 минуты, а другое сутки... В MatLab-t точно такая же фигня. Ошибки вылазят во время исполнения. Только в питоне есть ещё pychecker и pylint, которые отлавливают очень много ошибок из тех что отлавливались бы при компиляции.

> Так что Питон не подходить для программирования расчетов. Это смотря для каких рассчётов. Если нам надо считать месяц, то не подходит. А если день писать, час считать, график построить, да и встроить в какую-нибудь программу с ГУЕм то очень даже подходит.

И кстати если поискать в сети, то можно найти дофига пакетов для научного использования Python-а, тот же numpy, scipy, Numeric, ScientificPython, matplotlib, chaco, pymol прикручены VTK, Mayavi да и ещё много чего другого. Т.е. люди используют Python для научных рассчётов/визуализации.

А вот интересно, есть какие-нибудь научные расщширения к tcl или perl или тупые учёные ниасили truъ unix-way?

redvasily
()
Ответ на: комментарий от anonymous

> Парадокса никакого нет. Питон на вычислении медленней С раз в 100-200... как минимум!!!

му-ха-ха! пеши ещо!

> Так что Питон не подходить для программирования расчетов.

если руки из жопы растут -- то не подходить...

к клавиатуре, сука тупая, не подходить!

> В таком варианте абсолютно все равно на чем писать.

пеши на стенке туалета!
и убейся об неё!

anonymous
()
Ответ на: комментарий от redvasily

>А вот интересно, есть какие-нибудь научные расщширения к tcl

Конечно есть. Octave, maxima, yorick, yacas и некоторые другие, о которых я не знаю.

>или perl

Это как прицепрять с apache модуль для проведения квантовохимических расчетов? Есть, наверное, "не все ж в деревне дураки" (с) Евдокимов.

anonymous
()
Ответ на: комментарий от redvasily

> И кстати если поискать в сети, то можно найти дофига пакетов для научного использования Python-а, тот же numpy, scipy, Numeric, ScientificPython, matplotlib, chaco, pymol прикручены VTK, Mayavi да и ещё много чего другого. Т.е. люди используют Python для научных рассчётов/визуализации.

Есть еще Molecular Modelling Toolkit (MMTK) для молекулярной динамики, который кстати использует Numeric и ScientificPython. Лично знаю людей которые его интенсивно используют, и вовсе не от незания С или Фортрана.

qWen71n ★★★
()
Ответ на: комментарий от anonymous

> Парадокса никакого нет. Питон на вычислении медленней С раз в 100-200... как минимум!!!

да, если _все_ писать на Питоне. Затем и нужен NumPy! Между прочим, если взять даигонализацию матрицы то не факт что самописная прога на С будет много быстерее Питоновской, которая вызывает хорошо оптимизированные lapack`овские функции. А если и Сшная их использует, то разница в скорости будет все равно не существенная. Но, конечно все зависит от задачи.

qWen71n ★★★
()
Ответ на: комментарий от preved

:)))

А я то, старый дурак, думал, что MPI нынче рУлит.:) Отстал я от жизни.:(

Просто интересна производительность этого чуда, посколько питон для WWW - это полная Zope.

Bioreactor ★★★★★
()
Ответ на: комментарий от anonymous

>> Нельзя затыкать Питоном все дыры.

>Поколение чупа-чупс делится на три лагеря: питон, жаба и дотнет. Остальных языков они боятся.

Вы еще пых-пых забыли. :)

А жаба была хороша для апплетов в университских сетях. Маркетоиды такой компактный язычок испоганили. :(

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

Bioreactor - уйди в себя ! :) Сходи те таки по урлу - пере такими громогласными ... пуками в лужу :)

anonymous
()
Ответ на: комментарий от Bioreactor

>А жаба была хороша для апплетов в университских сетях. Маркетоиды такой компактный язычок испоганили. :(

Не гунди! Жаба это мега-руль! А как она сосет ... !!!

anonymous
()
Ответ на: комментарий от anonymous

> Есть ли возможность использовать размерные данные при программировании? > Что-то типа double weight = 500 g; > И где такое есть если есть? В MathCad точно есть. Из Open source, вроде, в Maxima

anonymous
()
Ответ на: комментарий от Bioreactor

> Просто интересна производительность этого чуда,

производительность такая же как у lapack и fftpack.

anonymous
()

Мда... Давно я не видел такой мощной газификации луж, какую продемонстрировало большинство народу в этой теме сегодня (из тех кто пытался "наехать" на python/numpy/etc.).

Красноглазики кругом.

SKYRiDER ★★★
()
Ответ на: комментарий от SKYRiDER

>python/numpy/etc.

python/numpy/etc - это изобретение очередного велосипеда. Уж лучше доработать до конца maxima, тогда она порвет и Mathematica, и Mathlab и много чего еще. Нет, надо наплодить кучу пакетов, затем создать расширения к ЯП. А через 10 лет будет:

"Теперь ядро 2.108.9876.88 умеет само производить математические вычисления с помощью интегрированных в нее библиотек. Она может складывать и перемножать любые числа, а также вычислять синус и арккосинус. Остальные операции производятся с помощью написания соответствующих программ."

anonymous
()
Ответ на: комментарий от Bioreactor

> посколько питон для WWW - это полная Zope

python для www - это полная django, а Zope уже давно отправляется в созвучное с ней место

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.