Как стать автором
Обновить

Комментарии 39

Чем подобные пакеты удобнее питона, с подключенными математическими библиотеками?
Думаю, одним из преимуществ является пологая кривая обучения. Но вообще-то это разные категории софта, чисто языковые среды надо сравнивать с таковыми же а не с математическими пакетами.
В последнее время экосистема python показывает значительный рост. Для этого языка есть отличные библиотеки, например, для машинного обучения python значительно удобнее, чем MATLAB.

А вот зря вас люди минусуют. На самом деле классическая связка для Python из numpy, scipy и matplotlib вполне может составить конкуренцию Octave. Эти библиотеки тоже используют для вычислений высокооптимизированные варианты BLAS/LAPACK (вроде интеловской MKL), в них названия команд совпадают с матлабовскими, что очень снижает порог вхождения. Все больше научных работ основывается на Python. Хорошо это или плохо, но отрицать, что Python становится одной из рабочих лошадок в науке, нельзя. Во многом это заслуга еще и среды разработки Jupyter. Так что во многих сферах эта связка вполне себе замена MATLAB.

Хотелось бы отметить, что если вам нужна реальная скорость, то вам следует ознакомиться со следующей статьей и посмотреть в сторону D.

А что мешает ту библиотеку вызывать из Python? Преимущество Python как раз в том, что он — хороший язык-связка.

А ещё можно взять cython и если надо критический по производительности кусок написать на си. Думаю плюс питона еще в том что есть куча готовых библиотек, на случай если вдруг будет нужно кроме математики в проекте сделать какое то дополнительное действие.
Куда ближе к непосредственно счислениям и нужным математическим действиям. Если есть много опыта программирования и знания пакетов, то ты уже не видишь синтаксиса питона, а только необходимые мат. выражения.

В Октаве с этого начинают. Да, финальный код вряд ли можно в продакшн пускать, но сделать прототип модели очень быстро и удобно. Меньше оберточного кода.
В настоящее время занимаюсь разработкой численной модели движения космических аппаратов. Сделал полный аналог пробного проекта на двух языках: на Python (с использованием библиотеки numpy), и на языке MATLAB/Octave. На Python (CPython 3) модель работает в полтора-два раза быстрее, чем в MATLAB, в среде Gnu Octave в несколько раз медленнее, чем в MATLAB, в зависимости от настроек модели. Никакой особой разницы в плане удобства использования того или иного языка или набора библиотек не вижу.
Хочу Simulink под октавом!
Octave — великолепный проект. В последний год я начал все чаще его использовать для замены Матлаба, в первую очередь в тех ситуациях, где установка Матлаба затруднена. Также в связи с тем, что в новых версиях Windows был приведен в полную негодность встроенный «калькулятор», я теперь даже для целей «устного счета» использую Octave. Она грузится быстрее.

Почти все нужные мне функции Матлаба имеются в Октаве. Постепенно учусь обходиться без тех, которых не имеется. Также гораздо выше мотивация поучаствовать в свободном проекте, нежели подарить разработку фирме Mathworks.
Вместо встроенного калькулятора давно пользуюсь DevCalc
к сожалению до вольфрамовской математики им обоим ой как далеко.

а для устного счёта есть http://avt-lab.ru/calc.htm
А разве корректно их сравнивать? С учетом того, что Matlab\Octave ориентированы на численные расчеты, а Mathematica — на символьные? Насколько я помню, Математику сравнивать корректно, например, с Maple\Maxima. Ну, это без учета вопроса стоимости лицензий, конечно :)
не сказал бы что в математике с численными расчётами хуже чем в матлабе, соответственно зачем нужен матлаб когда есть математика, которая может ещё и в символьные вычисления, не очень понятно.

Ну, это без учета вопроса стоимости лицензий, конечно :)
НЛО прилетело и опубликовало эту надпись здесь
Дурному учите, матлаб как язык — инвалид с рождения, переходите на R, у нас есть пакеты (и нет выбора между 2й и 3й версией, если вы понимаете о чем я)
А еще у вас есть write-only код. Спасибо, мы уж как-нибудь на питоне перебьемся.
НЛО прилетело и опубликовало эту надпись здесь
Покажете? На мой взгляд R как и питон не те языки на которых можно случайно написать write-only код (и при этом быть в здравом уме) если конечно за таковой не считать сумасшедший копи-паст и именование переменных согласно звёздам на небе.
НЛО прилетело и опубликовало эту надпись здесь

Ну, если бегло просмотреть вакансии, то прям сейчас в Apple в команду разработки Siri нужен человек со знанием NumPy, в Tesla Motors и в Google в команду автономных автомобилей,


Детишки неплохо зарабатывают нынче.

НЛО прилетело и опубликовало эту надпись здесь
На РХЕЛе и ЦентОСе 7 проще сделать: yum install epel-release; yum install octave
Я тоже так думал, но вот RHEL 7, ничего не найдено.

[root@server ~]# yum install epel-release
Загружены модули: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
HighAvailability                                                     | 4.1 kB  
00:00:00
ResilientStorage                                                     | 4.1 kB
00:00:00
server                                                               | 4.1 kB
00:00:00
vmware-tools                                                         |  951 B
00:00:00
Пакета с названием epel-release не найдено.
Ошибка: Выполнять нечего
[root@server ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)

Да, действительно… Я был неправ насчет RHEL.

Все курсовые считал в ней (2001-2006). К диплому обросла костыляками на bash/tcl/php (ну не спрашивайте почему так :)), которые правильно оформленный расчёт, его результат хавали, переваривали, делали подстановки в виде LaTeX формул в LaTeX-же шаблон, после чего генерился результирующий PDF пояснительной записки. Если обнаруживалась ошибка в расчётах, её исправление автоматически приводила к корректировке всех формул в записке.

Выводы тоже переписывались автоматически в зависимости от результатов расчетов? ;)

Юмор оценил :)


Конечно, если задача стояла так, что выводы нужно было корректировать в зависимости от результата, то приходилось ручками править. Но от львиной доли рутины и ошибок по недосмотру я всё-таки себя избавил.

Несколько лет назад вычислительную часть диплома (кафедра Прикладная математика, численные расчеты были очень объемные) писал на Octave, графики по результатам расчетов строил с помощью Asymptote и картинками вставлял в диплом на TeX :) Эх, молодость :)
В институте частенько пользовался maxima. Подскажите, у кого есть опыт, сильно ли она сейчас octave проигрывает?
Maxima тоже классная, только она больше как алгебраическая система. Напрямую их сравнивать не стоит, у них несколько разные предметные области. Для численных методов — Octave рулит.
У меня картинки
другие получились:
image

(
octave:1> ver
----------------------------------------------------------------------
GNU Octave Version 3.6.2
GNU Octave License: GNU General Public License
Operating System: Linux 3.2.0-4-486 #1 Debian 3.2.41-2 i686
----------------------------------------------------------------------
Package Name | Version | Installation directory
--------------+---------+-----------------------
odepkg *| 0.8.2 | /usr/share/octave/packages/odepkg-0.8.2
)
К сожалению, octave намного медленнее Matlab. Вроде бы в будущих версиях обещают ускорить расчет за счет JIT.
Скорее всего зависит от типа вычислений. Вторая ссылка в статье, сравнения прооизводительности на сложных вычисления на стр. 23 и 25. В некоторых вычислениях Octave превосходит MATLAB, за счет более рационального алгоритма.
Octave отличная программа (пакет программ), однако проблемы с юникодом в путях к файлам и подписям к графикам (Windows).
Долгое время был уверен во всемогуществе таких именитых программ как Matlab, Mathematica, Maple… до тех пор пока не столкнулся с более-менее серъёзными вещами. Оказалось, например, Matlab, впрочем как и другие известные пакеты, не ахти как поддерживает тензоры, и решение задач математической физики за некторыми исключениями, касающихся некоторых простых случаев, крайне затруднительно в нём, в реальности возникает необходимость писать в нём реализацию численных схем с почти нуля, что само по себе устраняет преимущество его использования как набора эффективных готовых решений. Правда, в самых последних версиях Matlab данные расчётные инструменты были дополнены, но тем не менее, впечатление о Matlab и других гигантах индустрии как о всемогущих универсальных математических пакетах на все случаи жизни было испорчено. В итоге пришлось смотреть в сторону более специфических программ таких как ANSYS, COMSOL и прочих пакетов для решения задач математической физики. Но как и прежде остановился на открытом и опенсорсном варианте в виде OpenFOAM, потому как считаю, что использование открытых программ не только имеет те преимущества, которые описаны в статье, в частности, то, что открытый код всегда можно перепроверить и тем самым обосновать результат, получаемый с помощью этого открытого ПО, но и позволяет лучше разобраться в самих применяемых математических методах. Что касается Octave, хороший пакет, не то что для серъёзных научных работ, но, как было сказано, для категории студент+ прекрасная вещь. Много его использовал, правда, некоторых нужных мне в свое время возможностей, что были в Matlab по обработке сигналов в нем не оказалось.
Matlab лучше решает некоторые минимаксные задачи, чем Maple, ИМХО(проверял своими кривыми руками).
Maple хорош в аналитике, как говорит знакомый д.ф-м н., который использовал его 25+ лет (маразмом вроде бы не болеет).

А для чисто численных методов лучше вручную писать, чтобы не упереться в ограничения конкретного пакета, что в какой-то момент обязательно произойдет.
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории