The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз системы для математических расчётов GNU Octave 7

11.04.2022 08:51

Состоялся релиз системы для выполнения математических расчётов GNU Octave 7.1.0 (первый релиз ветки 7.x), предоставляющей интерпретируемый язык, во многом совместимый с Matlab. GNU Octave может использоваться для решения линейных задач, нелинейных и дифференциальных уравнений, вычислений с использованием комплексных чисел и матриц, визуализации данных, проведения математических экспериментов.

Среди изменений в новом выпуске:

  • Продолжена работа по улучшению совместимости с Matlab, расширены возможности многих существующих функций.
  • Добавлены функции для работы с JSON (jsondecode, jsonencode) и Jupyter Notebook (jupyter_notebook).
  • Добавлены новые функции: cospi, getpixelposition, endsWith, fill3, listfonts, matlab.net.base64decode, matlab.net.base64encode, memory, ordqz, rng, sinpi, startsWith, streamribbon, turbo, uniquetol, xtickangle, ytickangle, ztickangle.
  • Предоставлена возможность вызова многих функций Octave как в форме команд (без круглых скобок и возвращаемых значений), так и в форме функций (со скобками и символом "=" для присвоение возвращаемого значения). Например, "mkdir new_directory" или 'status = mkdir ("new_directory")'.
  • Запрещено разделение пробелом переменной и операторов инкремента/декремента ("++"/"--").
  • В графическом режиме при отладке обеспечен вывод всплывающих подсказок со значениями переменных при подведении мыши к переменным в панели редактирования.
  • По умолчанию отключено действие глобальных горячих клавиш при активном окне команд.
  • Прекращена поддержка библиотеки Qt4 в GUI и интерфейсе формирования графиков.
  • В свойствах градиентов добавлена возможность указания цветов в формате, принятом в Web (например, "#FF00FF" или "#F0F").
  • Для всех графических объектов добавлено дополнительное свойство "contextmenu".
  • В объект axes добавлено 14 новых свойств, таких как "fontsizemode", "toolbar" и "layout", большинство из которых пока не имеют обработчиков.


  1. Главная ссылка к новости (http://www.gnu.org/software/oc...)
  2. OpenNews: Релиз системы для математических расчётов GNU Octave 5
  3. OpenNews: Выпуск AIMS Desktop 2017.1, дистрибутива с подборкой математического и научного ПО
  4. OpenNews: Выпуск математической библиотеки GNU Scientific Library 2.0
  5. OpenNews: Выпуск языка программирования Julia 1.7
  6. OpenNews: Вышел свободный математический пакет Scilab 5.5.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57000-octave
Ключевые слова: octave, math
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Kumo (?), 08:58, 11/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    С Matlab совместим на половину. Просто перебросив код вы сможете запустить большинство расчетов, только шрифты не определит. Когда делается рачтеты посложнее, лучшее переписать код заново под Octave. Я только начал осваивать Octave, как Matlab отозвал лицензию (
     
     
  • 2.2, Rnd (?), 09:13, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может быть тогда объясните, в чём его фишка? Ради производительности и близкого синтаксиса с Matlab обычно переходят на Julia, при этом ещё получается существенный выигрыш в скорости. Аналога Симулинка вроде бы вообще нигде полноценного нет. По производительности Октав ещё медленнее Матлаба. Что в нём так привлекает?
     
     
  • 3.4, Аноним (4), 09:33, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Что в нём так привлекает?

    наверное то, что что свободно и бесплатно, и лицензию не отзовут в силу не зависящих от простых смертных обстоятельств

     
     
  • 4.7, Rnd (?), 10:03, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Julia тоже свободная и бесплатная, лицензию тоже не отзовут. Так что этот аргумент не решает. Но вот со скоростью у Октава реально есть проблемы: https://julialang.org/benchmarks/

    Так что если осознанно переходить именно на него, то реально должна быть какая-то особая причина. Вот эта причина как раз и интересна, потому что обычно в обзорах пишут просто, что это свободный аналог Матлаба, и на этом всё

     
     
  • 5.9, Аноним (9), 11:22, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Октава для математических расчетов использует библиотеки BLAS.

    По умолчанию в ней задействована GNU Scientific Library (https://www.gnu.org/software/gsl/), которая предоставляет совместимую корректную реализацию, но не оптимизирована с точки зрения производительности.

    Если заменить ее на MKL (для Intel), OpenBLAS собранный под свой процессор или вообще nvBLAS (если есть GPU от NVidia), то дела пойдут гораздо веселее.

     
     
  • 6.35, Семен (??), 04:12, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Я бы не советовал менять blas библиотеку на MKL, по сравнению с openblas она дает менее 10% выигрыша, а вот на процессорах AMD деградация в скорости до 40%. MKL проприетарная библиотека со всеми вытекающими последствиями, скажу больше intel нaсрaлa еще в ядре linux и glibc, что процессоры AMD имели хуже производительность, но благо этот код последние годы вычищается.
    Есть еще ArrayFire и использую его для расчетах на amd gpu. Все что связано с nvidia работает в linux значительно хуже AMD, дрова nv довольно кривые.
     
  • 5.10, Константавр (ok), 11:33, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >https://julialang.org/benchmarks/
    >Note that the Julia results depicted above do not include compile time.

    А с компиляцией? Просто интересно. По лицензиям - MIT против GPL. И у Julia есть морда? Octave это полноценная (ish) среда, а Julia только язык. Или я не правильно понимаю?

    Я использую Octave именно потому что всё включено. Считать мне надо не много, но вспоминать каждый раз нюансы, а он мне и справочку и выхлоп покажет и т.д. Удобно.

     
     
  • 6.15, Анонус (?), 12:48, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >И у Julia есть морда?

    Есть Juno. Это вроде как IDE, но оно умеет рисовать графики. А еще есть поддержка Jupyter Notebook.

     
  • 6.16, Rnd (?), 13:22, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У Julia "официальное" рабочее окружение собирается из VSCode с соответствующими плагинами. Получается вполне удобная среда для научного программирования, вполне комфортная, функциональная, всё быстро работает. До позапрошлого года официальное окружение собиралось на основе Atom, кому не нравится VSCode - расширения под Atom тоже вроде бы все ещё живы. Наверняка есть какие-то расширения и для других IDE. Плюс интерактивные блокноты Jupyter и Juno - кому что больше нравится. Juno - удивительно хорош
     
  • 3.6, Kumo (?), 09:47, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мне просто проще. Узнал об Octave, пока собирал материал по Matlab. Вот и решил попробовать. Для расчетов вузе прям уж очень продвинутого и производительного не нужно, ну или мои задачи не такие требовательные.
     
     
  • 4.8, Rnd (?), 10:10, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    После ВУЗа времени на изучение чего-то нового может резко стать намного меньше. Так что имеет смысл сразу изучать конкурентоспособные технологии, владение которыми потом можно будет применить в реальной практике, которые помогут при устройстве на высокооплачиваемую работу
     
     
  • 5.12, Аноним (12), 12:43, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Matlab сказал россиянским предприятиям good by. Поэтому при устройсте на работу _любую_ _тут_ владение им уже не поможет.
     
     
  • 6.18, Rnd (?), 13:33, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Матлаб - собственнический продукт, который из года в год и так только теряет свою долю на рынке. Нынешние действия не добавят ему популярности ни в России, ни за рубежом. Его держат на плаву только объёмы уже написанного кода, который никто не хочет переписывать, написанные строго под него учебники и учебные занятия, ну и Симулинк. Под "конкурентоспособными технологиями" понимался конечно не он
     
     
  • 7.24, Аноним (24), 07:27, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > написанные строго под него учебники

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

     
     
  • 8.26, adolfus (ok), 15:27, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы такого не случалась, не нужно учить студентов технологиям, которые устарев... текст свёрнут, показать
     
  • 6.23, Аноним (24), 07:22, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот уж что-что, а матлаб только студиозы используют.
     
  • 3.11, f95 (ok), 11:35, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Юзал джулию в таком режиме, в котором вы предлагаете. >95% времени уходит на JIT (простите, JAOT). Либо ты сильнее оптимизируешь JIT, и тратишь еще большую долю на компиляцию, либо все работает супер медленно, как на питоне. Пердолился, собирал системный образ, в который нужно не забыть скомпилять все нужные пакеты, потратив на это еще пол дня, ну тогда вот мой скрипт в 100 строк можно было запустить быстро. Надо было только скормить откомпилянный 1.2 GiB образ при запуске интерпретатора.
    Зачем все это счастье простым пользователям, не тем кто на кластерах делает - непонятно.
    А язык приятный, да. Но сырой - по крайней мере пакетный манагемент и попытки компиляции динамичекого языка.
     
     
  • 4.17, corvuscor (ok), 13:26, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Юзал джулию в таком режиме, в котором вы предлагаете. >95% времени уходит на JIT (простите, JAOT).

    Значит она тебе и не нужна.
    Юзал джулию для некоторых вычислений, разница с чистым питоном местами до 100 раз.
    Компиляция медленная, да, но когда расчеты идут часами - это не имеет значения.

     
     
  • 5.28, adolfus (ok), 15:36, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если расчеты идут часами, имеет смысл потратить это время на фортран. В крайнем случае на си, что будет работать почти так же быстро.
     
     
  • 6.29, fi (ok), 16:41, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    скорей всего это будет ROOT
     
     
  • 7.30, наноим (?), 17:46, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    рут очень тяжёлый. с кондой его хотя бы можно быстро собрать, раньше на это уходило полдня, особенно, если не шаришь в процессах сборки.

    да, сейчас, 7 версия выглядит перспективно, где рут тим полностью отказались от всех самописных tobject и tlist итд в пользу stl и перешли на новый графический движок.

    однако несмотря на все это, вообще не понимаю как им можно пользоваться после пого же пандас...

    судя по тому, что я вижу, молодёжь в церне переходит на пайтон как в свое время с фортрана перешли на рут.

    некоторые коллаборации например lhcb уже полностью клиент для анализа имеют на питоне, остальные огромные неповоротливые вынуждены поддерживать быдлософт на старом руте 5.34

     
  • 6.31, Rnd (?), 13:29, 13/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сомнительное предложение. Фортран может быть интереснее по потреблению памяти, по размеру бинарника, но явно не по скорости:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/julia-ifc.

    Си обычно побыстрее, но тоже не всегда:

    https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/julia-gcc.

    Но если мы говорим про общую экономию времени, то нужно учитывать не только сам запуск бинарника, но и скорость разработки. И здесь среди высокопроизводительных языков у Julia особо нет конкурентов

     
     
  • 7.40, adolfus (ok), 16:16, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Сомнительное предложение. Фортран может быть интереснее по потреблению памяти, по размеру
    > бинарника, но явно не по скорости:
    > https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/julia-ifc.
    > Си обычно побыстрее, но тоже не всегда:
    > https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/julia-gcc.
    > Но если мы говорим про общую экономию времени, то нужно учитывать не
    > только сам запуск бинарника, но и скорость разработки. И здесь среди
    > высокопроизводительных языков у Julia особо нет конкурентов

    Все зависит от того, что и как написано. Что касается вычислений с плавающей запятой, а фортран для другого не используется, то код на С, который грамотно использует restricted указатели на элементы массивов, иногда работает так же быстро, как фортрановский, но чаще всего немного отстает. Если использовать в си обычные указатели или оператор [] для доступа к элементам массивов, то код на си по производительности всегда отстает от фортрановского. Имеется в виду, что код не использует готовых библиотек, типа бласов и прочих лапаков, а исключительно сам всю линейную алгебру считает.
    Что касается скорости разработки числодробилок, то 90% времени -- это программирование тестов и отладка целевого кода. Без отладки можно только хеловорлды писать. А сами формулы программируются одинаково по времени во всех ЯП, мало того, они вообще выглядят почти одинаково.
    Кстати, как выглядит в вашей жулии возведение числа в степень, равную корню квадратному из трех?

     
  • 4.36, Cemen (?), 05:40, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Что такое JAOT?
    Есть AOT и JIT, и это разные вещи и даже происходят на разных этапах.
    Насчёт JIT вы в корне не правы, JIT код может быть даже быстрее кода на С. Насчёт предкомпиляции в julua, она в последних версиях стала очень быстрая, раньше да она медленная была, и это раздражало. Ничего там сырого нет, работает все хорошо, язык за последние года 2 стал практически идеальным. И не такой тошнотворный синтаксис как в том же R.
     

  • 1.3, Аноним (3), 09:31, 11/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Есть гуй на гтк? Емакс не предлагать.
     
     
  • 2.5, Аноним (4), 09:38, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    нафиг?
     
     
  • 3.13, Аноним (12), 12:44, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Несколько заинтригован. Это сказал человек - сторонник GTK? ;)
     
     
  • 4.20, Аноним (4), 15:28, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    на самом деле сторонник лишь здравого смысла
     
  • 2.37, Cemen (?), 05:41, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какого гуя вам ещё надо?
     
  • 2.41, adolfus (ok), 16:18, 20/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть гуй на гтк? Емакс не предлагать.

    Любой редактор годится. Например, slickedit.

     

  • 1.14, Аноним (12), 12:48, 11/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Раз это проект GNU, ориентированный на скриптование, а скриптование на Guile в нём поддерживается?
     
  • 1.19, Аноним (19), 14:10, 11/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Прекращена поддержка библиотеки Qt4

    "Ой, всё!" (с)

     
     
  • 2.21, kusb (?), 20:13, 11/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Добавлена поддержка qt2...
     

  • 1.22, Аноним (22), 06:09, 12/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Scilab круче
     
     
  • 2.34, ubique (ok), 19:42, 15/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Scilab круче

    Медленее, медленее и ещё раз медленее он (критически медленее). :)
    Плюс от  scilab только наличия xcos (некое подобие симулинка) :)

     

  • 1.25, Аноним (25), 15:04, 12/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интеграцию с sympy починили? Октава вообще покрывает 90% студенческих задач по численным рассчетам на матлабе, оставшиеся 10% это как раз где используется символическая алгебра.
     
     
  • 2.27, adolfus (ok), 15:32, 12/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Матлаб в символическую алгебру умеет настолько, наскольку в нее умеет ядро Maple, которое он использует.
    Символическая алгебра -- это Maxima. Уровень, кстати, очень высокий. Что касается тензорных вычислений в индексах, то будет покруче Maple.
     

  • 1.32, ubique (ok), 11:56, 14/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм, почитал комментарии, но мой вывод такой:

    Тут не попытка топить за что-то конкретное, каждому своё, что больше нравится.

    Производительность на Ryzen 5 1600X в "попугаях" (:

    octave 6.2
    octave:1> N=10000;A=rand(N,N);b=rand(N,1);tic();x=A\b;toc()
    Elapsed time is 5.87 seconds.

    julia 1.5.3
    julia> N=10000;A=rand(N,N);b=rand(N,1);t0=time();x=A\b;time()-t0
    7.421519994735718

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

    октаве, как и матлаб отлично векторизует операции. джулия векторно считает медленнее. Это, даже, в доке написано.

    В октаве, там где требуется jit, не так много (по крайней мере для меня). В основном всё векторизуется, что позволяет более компактно и понятней оформлять скрипты.

     
     
  • 2.33, Rnd (?), 14:32, 15/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хороший пример, спасибо
     
  • 2.38, Cemen (?), 05:45, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Насчёт векторизации в julua, все зависит с какой blas библиотекой работает julua. Много нюансов при сборке, нельзя сказать, что julua медленнее. В julua есть к примеру arrayfire и на gpu amd можно ускорить вычисления.
     
  • 2.39, Семен (??), 05:51, 17/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то не заметил, что кто-то медленнее или быстрее...

    octave:1> N=10000;A=rand(N,N);b=rand(N,1);tic();x=A\b;toc()
    Elapsed time is 4.78836 seconds.

    julia> N=10000;A=rand(N,N);b=rand(N,1);t0=time();x=A\b;time()-t0
    4.787189960479736

    julia> N=10000;A=randn(AFArray{Float64}, N,N);b=randn(AFArray{Float64}, N,1);t0=time();x=A\b;time()-t0
    2.1178228855133057

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру