После почти двух лет разработки команда программистов и математиков представляет новый мажорный выпуск GNU Octave [0] — высокоуровнего языка численных вычислений, совместимого до некоторой степени с языком несвободного Mathworks MATLAB.
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-файлах.
GNU Octave — свободная система для математических вычислений, использующая совместимый с MATLAB язык высокого уровня.
В новой версии произошли следующие изменения, заметные пользователю:
Добавлен графический интерфейс пользователя, написанный с использованием библиотеки Qt. Но поскольку он недостаточно оттестирован, использование его по умолчанию отложено до версии 4.0 (сейчас можно использовать ключ --force-gui). Авторы просят присоединиться к тестированию и высказывать идеи для улучшения удобства работы.
Использование для отрисовки графики OpenGL с виджетами на FLTK по умолчанию. Возможность использовать gnuplot также сохранилась.
Поддержка вложенных функций.
Изменения в обработке окончаний текстовых строк.
Использование обратной косой черты как метки продления вне строк, заключённых в двойные кавычки объявлено устаревшим.
Допускаются избыточные точки в окончании, что позволяет писать код с стиле:
[a,...
b,...
c,...
] = deal (1,2,3)
Ограниченная поддержка именных исключений.
Поведение предупреждений может быть изменено локально, до конца текущей функции.
Новые опции в регулярных выражениях для совместимости с Matlab.
Реализован анализ команд TeX при использовании OpenGL для отрисовки графики. Поддерживается только вывод на экран, но не печать.
Переработаны функции для построения графиков: улучшена производительность, обновлена и дополнена документация.
Переработаны функции для работы с изображениями. Теперь не происходит автоматического преобразования изображений, хранящихся в целых числах в числа с двойной точностью.
Функции imread и imwrite были переписаны. Основные изменения связаны с альфа-каналом, поддержкой чтения и записи изображений, записанных в числах с двойной точностью, записью индексированных изображений, обработкой нескольких файлов.
Увеличено число опций у функции colormap.
Функции strsplit, datevec, kurtosis, moment модифицированы для совместимости с Matlab.
Функция error и её производные теперь позволяют испозовать комплексные аргументы.
Поведение функции glpk было изменено в связи с изменениями в одноимённой библиотеке.
Имя файла для сброса данных при падении программы было изменено с «octave-core» на «octave-workspace».
Добавлена команда citation, выводящая информацию для оформления ссылок на Octave в публикациях.
Пакет с поддержкой java-интерфейса из состава Octave Forge включён в ядро Octave.
Добавлены новые функции, некоторые объявлены устаревшими и будут удалены в будущих версиях.
Shogun — программный пакет, предназначенный для машинного обучения, с поддержкой большого набора алгоритмов и структур данных.
В Shogun акцентируется внимание на широком использовании различных методов и инструментов для решения задач распознавания образов, таких как: метод опорных векторов (SVM), пошаговый дискриминантный анализ, регрессионный анализ, перцептроны, алгоритмы обучения скрытых моделей Маркова и других. Большинство инструментов основывается на методе опорных векторов. Также возможно использование комбинированных методов. Shogun написан на C++ и предоставляет интерфейсы для MATLAB, Octave, Python и R.
Данный релиз содержит значительные улучшения:
поддержка новых ЯП (Java, C #, Ruby, Lua) в модульных интерфейсах;
добавлены новые алгоритмы обучения (LLE, HLLE, LTSA и другие);
поддержка MATLAB 2011a;
исправление ошибок, чистка кода, изменения в API и многое другое.
Многие свободные проекты в последнее время озадачились интеграцией своих проектов с системами тестирования и составлением наиболее полных наборов тестов, которые помогают существенно сократить время локализации и исправления ошибок в коде.
Разработчики GNU Octave, решив поднаверстать на этом фронте работ, организовывают 16 июля 2011 года первый в истории этого проекта код-спринт.
Код-спринт — один из способов интенсификации разработки и привлечения новых людей в открытые проекты. Обычно заключается в сборе максимально возможного числа людей, заинтересованных в развитии проекта, в ограниченном пространстве — реальном (в рамках конференции, например) или виртуальном (в IRC канале), постановке задачи и её поэтапного выполнения участниками код-спринта на протяжении небольшого промежутка времени, как правило, от нескольких дней до недели.
По данным википедии, пионерами код-спринта были разработчики Zope 3.
Для участия в Octave Сode Sprint 16 июля необходимым и достаточным условием является знание языка Octave.
Перед участниками поставлена задача сократить вдвое число функций, которые не имеют соответствующего теста («Reduce the number of untested functions by 1/2»).
Место проведения — IRC канал Octave (#octave at irc.freenode.net), 16 июля, суббота, 19 часов по московскому времени или 10:00 a.m EST (UTC-5).