LINUX.ORG.RU

Octave 4.0

 , , ,


5

5

GNU Octave — свободная система для математических вычислений, использующая совместимый с MATLAB язык высокого уровня.

В новой версии произошли следующие изменения, заметные пользователю:

  • Графический интерфейс пользователя, написанный с использованием библиотеки Qt, доведён до стабильного состояния и теперь используется по умолчанию. Данный интерфейс аналогичен применяемому в MATLAB и содержит файловый менеджер, таблицу для просмотра переменных и их значений, журнал команд, а также вкладки командной строки, редактора исходных кодов и справочной документации. Пример внешнего вида: снимок 1, снимок 2. Традиционный интерфейс командной строки также доступен при помощи стартового параметра --no-gui или через бинарный файл octave-cli.
  • Новый синтаксис для объектно-ориентированного программирования classdef.
  • Добавлен новый набор функций и классов для работы с аудиоданными.
  • Добавлены новые классы.
  • Добавлены новые функции.
  • Настраиваемое ужесточение совместимости с MATLAB при использовании диапазонов, диагональных и перестановочных матриц. Octave применяет внутренние оптимизации для минимизации занимаемой такими данными памяти. Три новые функции (disable_range, disable_diagonal_matrix. disable_permutation_matrix) позволяют выбирать хранение в оптимизированном виде или полными матрицами. Также возможно использование параметра --braindead при старте.
  • Изменения в функциях ismatrix(x), nextpow2, strfind, а также функциях для интерполяции данных в плане совместимости с MATLAB.
  • Переработаны функции для работы с архивами. Также изменено поведение по умолчанию: теперь все действия будут производиться в той же директории, что и архив или оригинальные файлы.
  • Доработки в функциях, повышение быстродействия некоторых из них.
  • Некоторые функции и классы, объявлены устаревшими и будут удалены в будущих версиях Octave.
  • Некоторые функции и классы, объявленные устаревшими в прошлых версиях Octave, были удалены.
  • Некоторые предупреждения и настройки теперь включены по умолчанию.
  • Переработаны некоторые предупреждения для повышения очевидности.
  • Изменено поведение некоторых тригонометрических функций для унификации с другими математическими пакетами.
  • Множество доработок для визуализации данных на экране и печати. Также при использовании графического интерфейса доступно отображение при помощи библиотеки Qt.
  • Поддержка OpenMP включена по умолчанию, что позволяет задействовать параллельные вычисления в скомпилированных oct-файлах.

Сайт проекта


Исходные коды Octave


Дополнительные пакеты Octave Forge


Подробный список изменений

★★★★★

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

Пока что еще никто не победил NumPy.

anonymous ()

Корректор корректировал-коррективровал, да не выкорректировал :(

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

Пока что еще никто не знал, что NumPy нужно победить.

anonymous ()

Встроенное GUI догнало QtOctave уже?

А так, Viva Octave!

anonymous ()

Годная штука. Еще бы CUDA запилили для тяжелых вычислений. А то подчас замучишься ждать, пока элементарная операция посчитается (скажем, медианная фильтрация небольшой матрицы 10000x10000).

Eddy_Em ☆☆☆☆☆ ()

P.S. Главное — чтобы гуйню можно было отключать. Иначе это будет неюзабельное говно.

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

Еще бы CUDA запилили для тяжелых вычислений.

Этого не будет, там компиляцию на лету то никак не родят. Да и хоть не стандартный BLAS используешь?

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

Встроенное GUI догнало QtOctave уже

Тем ужасом вообще можно было пользоваться?

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

Встроенное GUI догнало QtOctave уже

Тем ужасом вообще можно было пользоваться?

только им и пользовался. Иногда подвисало, конечно, но не так часто, чтобы выбешивать.

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

Да и хоть не стандартный BLAS используешь?

Кстати, кто-нибудь сравнивал Октаве-Матлаб в равноправных условиях? Я снёс Октаве случайно заметив, как он сливает Матлабу по скорости. А сейчас думаю, может BLAS был не той системы?

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

Да и хоть не стандартный BLAS используешь?

Чисто "стандартный" BLAS не использую, использую в составе GSL. А при чем здесь BLAS? Я про октаву говорю.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от Bell

октава сливает матлабу по скорости. Да. Причем во многих юзкейсах сливает на порядки. Но это не повод прекращать юзать октаву. Там где нужна скорость можно после отладки на октаве переписать все на пистоне+NymPy+SciPy.

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

Кстати, кто-нибудь сравнивал Октаве-Матлаб в равноправных условиях? Я снёс Октаве случайно заметив, как он сливает Матлабу по скорости. А сейчас думаю, может BLAS был не той системы?

К octave не проблема подключить atlas, openblas, intel mkl. В этом плане проблем нет. Но у matlab есть работающий jit компилятор, также у octave есть некоторые проблемы с выделением памяти, так что matlab в любом случае быстрее.

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

Octave же использует BLAS/LAPACK для вычислений. Почти всегда в дистрибутивах используется стандартная реализация без оптимизаций. На этом можно отыграть порядок во времени выполнения.

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

Т.к. октава, в отличие от матлаба, не умеет создавать предварительно скомпилированный бинарь, а еще она не умеет куду, отставать она всегда будет.

Зато октава свободная. И в этом ее прелесть. Правда, если у октавы запилят гуйню, которую нельзя будет отключить, то придется мне перестать ее обновлять. Все-таки, калькулятор для простых вещей нужен, и калькулятор этот должен быть удобным. А как из консольки или ssh без проброса иксов его запустить?

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от dinn

Пока октава не будет пользоваться cuBLAS, все эти "оптимизации" — пшик!

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

Правда, если у октавы запилят гуйню, которую нельзя будет отключить,

вот ты любишь страшилки себе придумывать...

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

Это не страшилки — а суровая реальность жизни.

Вокруг — одни уроды. То они ненужноД запилят в 99% дистрибутивов (хорошо еще, гента под этих геев не прогнулась), то с GTK на Qt перейдут, то еще какую-нибудь пакость устроят. Лишь бы людям жизнь испоганить! Сволочи!!!

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

Пока октава не будет пользоваться cuBLAS, все эти «оптимизации» — пшик!

Стандартный BLAS очень тормозной, лучше подключить другой как советует dinn. Я делал тесты, правда на питоне, где скорость отличалась во многие разы. А для куды не пробовали допилить GPUmat? Впрочем, мне хватает матлаба.

Bell ()

Только что узнал, что у octave есть свой gui.

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

Зато октава свободная. И в этом ее прелесть.

На этом ее прелести, к сожалению, кончаются.

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

Не нравится, как взрослые подтирают попу и кормят тебя, малыш? Ну так учить это делать сам. Или кушай, что дают.

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

Python, R кроют его по кол-ву имеющихся либ как бык стадо, Julia тоже, наверное, вскоре обойдет по возможностям октаву.

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

создавать предварительно скомпилированный бинарь

Начиная с Matlab 7 «компилятор» там просто шифрует исходники и собирает их в zip-архив. Генерации исходника на C с компиляцией в исполняемый файл там уже нет. Да и не нужно уже, собственно, JIT компилятор в среде исполнения достаточно шустрый.

i-rinat ★★★★★ ()
Ответ на: комментарий от ptarh

R кроют его по кол-ву имеющихся либ как бык стадо

R же вроде только статистика, нет?

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

У R закос в сторону статистики по доступным пакетом, но векторные и матричные вычисления, особенно уровня octave, он покроет без проблем.

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

Только что узнал, что у octave есть свой gui.

Видел его один раз, но подумал, что это какая-то сторонняя разработка.

early_britney_fun ★★★★ ()

Выкинуть обратно в адъ

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

Python и R не имеют главного аргумента Octave - совместимость с matlab. А Julia да, перспективна, но со своими странностями.

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

Думаю, что Джулия не взлетит. Треугольник R-Matlab-Python кроет всё с избытком. Год назад я хотел написать на ней довольно простую вещь, но бросил, когда понял, что придется писать ещё и базовый функционал типа hilbert transform. У других он из коробки, а она даже не слышала.

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

Думаю, что Джулия не взлетит.

Может и взлетит, людей заинтересованных там немало. Но до готового продукта им очень далеко.

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

совместимость с matlab.

Это слабый аргумент. Совместимость там так себе, ибо вся сила матлаба в тулбоксах и годной документации. Ничего из этого в octave нет и не предвидится. А ради матлаба как ЯП... скажем так, это единственный ЯП, про который вообще не хочется признаваться, что его знаешь.

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

Шило на мыло, на Ссях надо писать и MPI юзать для параллельных вычислений.

ErasimHolmogorin ()

Добавлены новые классы.
Добавлены новые функции.

Потрясающе.

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

Добавлены новые классы.
Добавлены новые функции.
Доработки в функциях, повышение быстродействия некоторых из них.
Некоторые функции и классы, объявлены устаревшими и будут удалены в будущих версиях Octave.
Некоторые функции и классы, объявленные устаревшими в прошлых версиях Octave, были удалены.
Некоторые предупреждения и настройки теперь включены по умолчанию.

Просто волшебно. Предлагаю ещё пункты «добавлено некоторое количество новых строк кода», «убрано некоторое количество старых строк кода».

anonymous ()

GUI не работает

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

Там где нужна скорость можно после отладки на октаве переписать все на пистоне+NymPy+SciPy.

Но зачем, если можно сразу писать на пистоне+NymPy+SciPy?

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

Исследовательские проекты часто начинаются как лоскутное одеяло из кусков чужого кода - кусок на матлабе, кусок на R, кусок на питоне.

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

Исследовательские проекты часто начинаются как лоскутное одеяло из кусков чужого кода - кусок на матлабе, кусок на R, кусок на питоне.

Если всё равно потом сводить всё вместе, то почему не сделать это сразу?

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

Сначала надо разобраться, что сводить, попробовать то, да сё. А еще бывает неизвестно, куда сводить, может проще питон в матлаб или оставить как есть. У меня часто такое.

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

А при чем здесь BLAS? Я про октаву говорю.

При том, что октава использует BLAS для вычислений и её скорость напрямую связана со скоростью реализации BLAS.

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

Какую BLAS правильно ставить? У меня вот эта стоит:

[I] sci-libs/blas-reference
     Available versions:  20070226 [m]20070226[1] [m]~20070226-r1[1] ~20070226-r2 [m]~20070226-r2[1] **20070226-r3 {doc}
     Installed versions:  20070226(03:25:45 11.06.2014)(-doc)
     Homepage:            http://www.netlib.org/blas/

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