LINUX.ORG.RU

GNU Octave 4.4.0

 , , , ,


0

3

После почти двух лет разработки команда программистов и математиков представляет новый мажорный выпуск GNU Octave [0] — высокоуровнего языка численных вычислений, совместимого до некоторой степени с языком несвободного Mathworks MATLAB.

По сравнению с 4.2-й, в 4.4-й версии готова порадовать своих пользователей рядом новыми возможностей и улучшенной совместимостью с «Матлабом»; в частности:

  • В графический интерфейс добавлен табличный редактор переменных.
  • На платформах с 64-разрядными указателями, Octave теперь по-умолчанию собирается с 64-битными индексами массивов.
  • В соответствии с принципом наименьшего удивления $ octave по-умолчанию вновь запускает командный, а не графический, интерфейс. Для последнего предусмотрен ключ --gui. Встроенный пэйджер (more) по-умолчанию выключен.
  • Добавлен костыль для обхода бага [1] в ряде версий Qt, из-за которого возникали проблемы с перемещением панелей.
  • Воплощен новый тип данных — container.Map, подобный хэш-таблице.
  • Добавлена заглушка для оператора import.
  • Поддержка графического тулкита FLTK не удалена (и не пока не планируется к удалению), но понижена в приоритете. Единственной основной графической библиотекой будет Qt.
  • Фоновой рендеринг (без использования экрана) теперь поддерживается напрямую в Qt, без задействования osmesa.
  • Улучшены возможности для создания GUI в своих программах в части поддержки мыши и верстки текста.
  • Команда pkg теперь принимает URI в аргументе, позволяя устанавливать зависимости в один приказ.
  • Для пущей совместимости с Матлабом изменено поведение функций hex2num и num2hex, а также опции names в регулярных выражениях.
  • quadcc теперь одновременно учитывает абсолютную и относительную погрешность для принятия решения об остановке интегрирования; и обе теперь надо указывать.
  • Функция qr теперь всегда возвращает стандартное разложение матрицы, если только явно не указано использовать форму без нулевых строк.
  • Ряд функций были перенесены из ядра Octave в опциональные пакеты: статистический и графический.
  • Реализованы новые математические функции, несколько функций обобщены и улучшены, а функции, запланированные к удалению со времен 4.0, напротив — удалены.
  • Кое-какой синтаксический сахар помечен запланированным к удалению.

С более подробными изменениями можно ознакомиться файле NEWS-4.4 [2]

[0] https://gnu.org/s/octave
[1] https://bugreports.qt.io/browse/QTBUG-55357
[2] https://gnu.org/s/octave/NEWS-4.4.html

>>> info-gnu@gnu.org

★★★★★

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

Ответ на: комментарий от dimofey

вроде же есть конвертация из matlab в scilab? Наверно он совместим, но не идентичен? Впрочем мне правда всё равно, мне никогда не требовался ни matlab ни совместимость(идентичность) с ним

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

кто будет пользовать эту химеру непонятно

Мы (расчётная группа кафедры физики твёрдого тела и наносистем института лазерных и плазменных технологий МИФИ) постепенно переводим кодовую базу с фортрана на Julia.

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

постепенно переводим кодовую базу с фортрана на Julia.

Раз уж тут пиписьками меряться начали, я лично имею лично писанный модуль для quantum espresso (если вы занимаетесь делом, то должны знать о нём, не о модуле, правда, а о QE), который умеет использовать сотни и тысячи вычислительных ядер на кластере, но алгоритм я отлаживал на октаве/матлабе. Никак не могу вообразить себе, какие задачи решаются переписыванием, грубо говоря, наоборот.

Julia, как и матлаб, питон+numpy/scipy, октава, скайлаб, R — средства прототипирования, отладки и исследования алгоритмов. Хорошо, если это средство относительно быстрое, но быстрота тут не приоритет. Приоритет — выразительность, удобство формулирования предметной проблемы в виде программы.

unanimous ★★★★★ ()
Последнее исправление: unanimous (всего исправлений: 1)
Ответ на: комментарий от unanimous

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

Приоритет — выразительность, удобство формулирования предметной проблемы в виде программы.

Абсолютно согласен.

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

Я слежу за Julia с 2012 года — по-моему, это примерно время первого публичного релиза. Сначала она мне дико нравилась тем, что похожа на матлаб, но не имеет его некоторых странных ограничений, например, умеет автоматический броадкаст операций типа сложения вектора и матрицы с одинаковым числом строк. Недавно я игрался с 0.62 релизом и читал документацию/изучал примеры и понял вот что: матлаб писали люди, занимающиеся вычматом для себя как инструмент. Я тоже теперь имею много проектов на нем и понимаю, почему были сделаны те или иные архитектурные решения, именно потому, что они были анализированы практиками численной математики. Jilia же по ощущениям пишется безумными CS-специалистами, которых больше заботит академичность, нежели практичность. Последнее, что меня вывело из себя окончательно, это как раз .() вызовы. Надо окончательно упороться, чтобы ввести два типа вызовов функции. Кто из специалистов в *других* предметных областей будет использовать и вникать в тонкости различий? Плюс, это делает код труднее для восприятия и увеличивает число ошибок при переводе его на другие языки — это именно то, что ценится в инструментах прототипирования, которые часто НЕ являются последним звеном в девелопменте, а скорее, наоборот, ближе к началу «жизненного цикла» вычмат проекта.

В общем, я в Julia разочаровался и предрекаю ей судьбу очередного Lisp-а: остаться нишевым языком для CS-департментов и отдельными вкраплениями проектов для других целей.

Матлаб, тем временем, с 2012 по сегодняшний день, приобрел ряд новых фич, в том числе и автоматический бродкаст, т.е. стал лучше.

Чего мне в нём теперь реально не хватает — возможности иметь именованные и умолчальные аргументы функций.

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

Ну мы можем пообщаться, не вижу смысл разводить в этой теме срач про Julia. Я общался с их cto на тему разработки llvm, обсуждали наши услуги, и с другой стороны я пишу на Julia для МИФИ, если интересно, давай сраться в джаббере)))

DELIRIUM ☆☆☆☆☆ ()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

Есть два момента: 1. Я не уверен, что могу тратить время на разработку. Я, скорее, ноющий пользователь, но с весьма релевантным бэкграундом. 2. Насколько тесна твоя связь с разработчиками? Станут ли они слушать кого-то (меня) после твоей рекомендации? Английский не проблема, но я могу понять скептическое отношение к хрену с горы (мне).

So far что я видел — это различные обсуждения (если мне не изменяет память на github-е) от господина Karpinski. Как я понял он общается много, охотно, но слушает мало — многие обсуждения с его участием произвели только энтропию при нулевой работе.

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

Поделитесь статистикой.

Был уверен, что в 1990х годах популярность Emacs и Vim была сопоставима, а одновременно с появлением Eclipse и ему подобных начала падать до современных 1:3-1:5. Поискал. Пришёл к выводу, что в 21 веке соотношение с самого начала было эти самые 1:3 с выбросами до 1:5, а голосования на ЛОРе отражают общемировое мнение.

Какой текстовый редактор вы предпочитаете?
Какой текстовый редактор вы предпочитаете?
Какой редактор кода вы предпочитаете?

question4 ★★★★★ ()
Последнее исправление: question4 (всего исправлений: 1)

Интересно, а как хвостострел смог удалить сообщение, если у него руки и рот были заняты?

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