Octave — это язык высокого уровня для численных вычислений, схожий с Matlab.
В новой версии традиционно много изменений:
- Библиотеки BLAS и LAPACK стали обязательны для сборки, в связи с чем куски этих библиотек удалены из исходных текстов Octave. Напротив, библиотека ARPACK включена в состав Octave и теперь не требуется при сборке.
- За счёт расширения возможностей функции lookup, функция ismember была переписана и стала намного более быстрой.
- При получении элементов матриц по индексу внутренняя переменная index_vector кешируется, что устраняет задержки при повторном индексировании.
- Индексирование разреженных матриц также подверглись пересмотру и стало намного быстрее, что отразилось и на других операциях с разреженными матрицами.
- Логические матрицы хранятся и используются более эффективно.
- Ускорены функции sub2ind и ind2sub.
- Встроенные эквиваленты функций plus, times, mtimes, and и or теперь принимают несколько аргументов.
- Добавлена поддержка объекта ftp на основе libcurl.
- Поведение функций ismatrix, issquare и issymmetric изменено и стало более логичным.
- Указатели на функции теперь учитывают то, что функции могут быть перегружены.
- Перегрузка функций для встроенных классов (double, int8, cell и т.д.) теперь совместима с Matlab.
- Можно сравнивать указатели на функции с помощью операторов == и !=.
- Для многомерных массивов улучшена производительность конкатенации.
- Операторы присваивания (+=, -=, *= и /=) в некоторых случаях стали работать более эффективно.
- Исправлено сравнение комплексных чисел с помощью операторов <, >, <= и >=. Теперь оно эквивалентно лексикографическому сравнению пар [abs(z), arg(z)].
- Удалён тип данных list.
- Для команды pkg добавлена опция -forge, которая позволяет скачивать и устанавливать дополнительные пакеты автоматически. Пример: pkg install -forge general
- Множество других оптимизаций.
- Несколько изменений направленных на увеличение совместимости с Matlab'ом.
- Традиционно, новая порция функций объявлена устаревшими, а некоторые — удалены. Также некоторые функции перенесены из дополнительных пакетов в основной код.
>>> Сайт проекта