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 ()

А как математики пишут программисты?

anonymous ()

Единственной основной

Ну вы уже определитесь - единственной или основной. В оригинале «New development will target the Qt toolkit». Может так и написать - «дальнейшая разработка будет нацелена на использование библиотек Qt»?

hobbit ★★★★★ ()

Позитивчик! Активно использую октаву, но стараюсь писать в matlab-совместимом стиле.

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

Единственной основной


Ну вы уже определитесь - единственной или основной.

Единственной основной. :-) До это формально было две равноправно основных, хотя было и понятно, что рано или поздно останется только Кутэ.

В оригинале

Я старался не делать перевод, но пересказать.

«New development will target the Qt toolkit». Может так и написать -
«дальнейшая разработка будет нацелена на использование библиотек
Qt»?

Да в общем-то пожалуйста, я не корректор. Однако она уже довольно давно нацелена, но теперь — *только* туда.

Zmicier ★★★★★ ()

позволяя устанавливать зависимости в один приказ

Может лучше перевести «решающим молниеносным ударом»? Или «с допустимыми потерями»?

anonymous ()

Это по прежнему мало юзабельный глюкодром?

Octave 4.2

fornlr ★★★★★ ()

На jit-компилятор забили? Очень медленно это всё, если твой код простым матричным преобразованием не описывается. Ну и гнутую продукцию я лично не люблю (текинфо заместо разметки, инфо заместо справки, GPL-нутый readline), приходится это терпеть.

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

текинфо заместо разметки

А что вам не так? Аллергия на слог «Тех»? ;-)

Это весьма удачный язык разметки для своих нужд. Собственно, вы много знаете сколько-нибудь полноценных альтернатив, кроме Орга?

инфо заместо справки

Что это такое? Имеется в виду матлабоподобная? Она в «Октаве» есть, разумеется.

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

позволяя устанавливать зависимости в один приказ


Может лучше перевести

Это не перевод.

«решающим молниеносным ударом»? Или «с допустимыми потерями»?

?

Что-то я не уловил шутки. Какие еще потери?

Zmicier ★★★★★ ()

В XXI веке слово «матлаб» разряжает ружьё. Сколько раз увидишь матлабщика, столько раз его и убей.

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

А что не так? Или Python + NumPy или R всем в лапы?

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

Я не нашёл даже как в texinfo длинную строчку разбить (deftypefn например). И поддержки языка нет как таковой, нельзя например параметры описать не дублируя их в шапку. В итоге с тем же успехом дешевле шапку написать по старинке, как в матлабе, то есть безо всякой разметки.

Инфо заместо справки это справка в формате info. Очень неудобная и привязанная к своей одноимённой программе, которой её надо читать.

d_a ★★★★★ ()

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

upcFrost ★★★★★ ()

В соответствии с принципом наименьшего удивления $ octave по-умолчанию вновь запускает командный, а не графический, интерфейс.

Фух, догадались :) Я каждый раз матюкался, пока не внес

alias octave=«octave --no-gui»

в .bash_profile

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

да норм пока. Как для прототипирования самое оно.

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

Вангую, что у тебя не установлен ни atlas, ни openblas.

unanimous ★★★★★ ()

Оно всё ещё зависит от Qt? Разве оно не консольное?

anonymous ()

численных вычислений

Мне одному режет слух? Может лучше «математических вычислений/расчётов и т.п.»? Ну, или, хотя бы, «числовых расчётов».

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

Я не нашёл даже как в texinfo длинную строчку разбить (deftypefn например).

В смысле экранировать? «Собакой» же. Или вставить жесткий перенос? Зачем в определении функции жесткий перенос? Мягкий она сама вставит.

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

Вероятно, я тупой, но я не понял.

Инфо заместо справки это справка в формате info.

Я вас не могу понимать. Критикуя — предлагайте. Что бы вы предпочли?

Возможно, вам просто забыли сказать, что Texinfo тем и был великолепен, что умел в разные форматы? ;-) («Был» поскольку с появлением Орга его значение в этом качестве несколько потускнело.)

Мне, например, удобно иметь документацию еще в EPUB’е. Кому-то — в PDF’е, кому-то — в HTML.

Очень неудобная

Масса нареканий, но ничего удобнее, увы, пока не видел.

и привязанная к своей одноимённой программе, которой её надо читать.

Нет, в первую очередь, разумеется, есть M-x info. info(1) — это эрзац для тех, у кого нет Емакса.

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

численных вычислений


Мне одному режет слух?

Думаю, да.

Может лучше «математических вычислений/расчётов и т.п.»?

Нет, конечно. По вашему математика бывает только в числах что ли?

Ну, или, хотя бы, «числовых расчётов».

Почему «числовых», когда они «численные»?

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

Чем оно лучше sciLab? Ну или зачем 2 идентичные по функционалу и по лицензии программы?

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

Чем оно лучше sciLab?

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

Ну или зачем 2 идентичные по функционалу

Нет, в scilab есть xcos.

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

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

Мне казалось и sciLab совместим. Или нет? Я им редко пользуюсь, а уж матлабом вообще никогда

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

Мне казалось и sciLab совместим. Или нет?

Нет, там свой синтаксис. Octave же вообще пытается подстроиться и имитировать поведение matlab для спокойного переноса кода.

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

Какие еще потери?

Допустимые.

Анон наверное про то, что в русском слово «приказ» — это армия, и для всех остальных сфер жизни используется слово «команда».

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

Нет, в первую очередь, разумеется, есть M-x info. info(1) — это эрзац для тех, у кого нет Емакса.

То есть привязано к IDE, которая последние лет 15 стабильно теряет популярность.

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

в русском слово «приказ» - это армия, и для всех остальных сфер
жизни используется слово «команда».

Да ладно! Вы это серьезно?

слово «команда»

Уже есть.

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

Нет, в первую очередь, разумеется, [для чтения *.info] есть M-x
info. info(1) — это эрзац для тех, у кого нет Емакса.


То есть привязано к IDE

Ну надо же наглость какая! Сделали эскпорт документации по языку в формат для IDE! Ужас.

Возможно, вам просто забыли сказать, что Texinfo тем и был великолепен, что умел в разные форматы? ;-) («Был» поскольку с появлением Орга его значение в этом качестве несколько потускнело.)

Мне, например, удобно иметь документацию еще в EPUB’е. Кому-то — в PDF’е, кому-то — в HTML.

Короче, я вас не могу понимать. Критикуя — предлагайте. Что бы вы предпочли?

которая последние лет 15 стабильно теряет популярность.

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

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

Вангую, что у тебя не установлен ни atlas, ни openblas

там тормоза есть в тех местах, где до самих вычислений еще как до китая. Тормоза в работе той же dir так и не исправили, хотя еще в 3-ей ветке были. Попробуй натравить dir на, скажем, /usr/lib, только делай это перед тем как на обед пойдешь - как раз поесть успеешь

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

Может я чего не так делаю, но за 5+ лет использования октавы с матлабом вкупе мне ни разу не потребовалось делать dir /usr/lib...

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

численных вычислений

Мне одному режет слух? Может лучше «математических вычислений/расчётов и т.п.»? Ну, или, хотя бы, «числовых расчётов».

Дезмонда в корректоры! Zmicier -а в школу!

anonymous ()

Подскажите, чем можно наглядно смоделировать пропускную способность дорожной сети? Чтобы с картинками и анимацией, чтобы большой начальник видел, как машинки подъезжают, встают в очередь, и так далее. Может есть к сабжу такой плагин, или ещё к чему-нибудь?

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

Если нет контрагента, под которого приходится подстраиваться, то для новых проектов следует выбирать Питон. И производительность, и скорость написания кода, и читаемость будет лучше, чем на Octave, R, SciLab. Конечно, Matlab круче по производительности во многих местах, но там нужно платить много денег. К тому же синтаксис у него явно уродский.

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

Это пример был. Мне пару раз приходилось делать dir на очень толстую директорию. После этого даже патч им накатал

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

У Matlab хреновый язык по сравнению с остальными ходовыми. Но ради совместимости с готовым кодом разработка Octave нужна.

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

Julia идёт нафиг по причине отсутствия обширной базы кода. Новый код делают для Python, R и реже для MATLAB.

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

У Python преимущество для новых проектов в гибкости по сравнению с остальными. Производительность же может оказаться и значительно ниже и придётся тогда минимизировать вызов функций и переписывать куски кода на C.

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

Да. Согласен. Можно потом на Фортране переписать, если работает, но слишком долго. Это всяко лучше, чем сначала реализовать алгоритм, а потом осознать, что оно работать не будет.

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

Мяу? Там куча полезных модулей, которые в том числе юзают код на си/крестах/фортране. То есть там подход правильный: максимальный реюз кода, генерализация, простые общие интерфейсы.

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

Питон ужасен в вычмате. Всем. Начиная от 0-based indexing заканчивая С-шным порядком массивов. Плюс тормоз.

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

Разрабы Julia упоролись окончательно — одно их

cos.(x)
чего стоит. Накой черт делать возможность поэлементного вызова свойством *вызова* а не функции мне непонятно. Заодно они получили чудесные грабли в виде того, что портировать на julia с того же матлаба стало в разы труднее. Считаю, что безумные CS-специалисты проект уже похоронили: вместо удобного инструмента для вычмата сделали гибрид питона с лиспом. Но и лисп, и питон уже есть, кто будет пользовать эту химеру непонятно.

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

Но ведь верно: индекс должен начинаться с того числа, с которого удобнее в конкретной задаче.

grem ★★★★★ ()

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

Пожалуйста, пусть топик проверит кто-нибудь грамотный и тщательно.

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

Анон наверное про то, что в русском слово «приказ» — это армия

Еще есть его старорусское значение как «министерство» или «ведомство». «Приказчик» из той же оперы.

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