Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Математика в GNU / Linux

Оригинал: Las matemáticas en GNU/Linux
Автор: maslinux
Дата публикации: 29 июня 2019 г.
Перевод: В.Костромин
Дата перевода: 30 августа 2019 г.

Решение чисто вычислительных задач было первопричиной для создания компьютеров. И хотя компьютеры прошли большой путь в своем развитии, они продолжают выполнять свою роль в сложных вычислениях. Система компьютерной алгебры (CAS) - это программная среда, которая позволяет решать сложные и современные вычислительные проблемы без необходимости вручную манипулировать сложными уравнениями или системами. Эти системы вычислительной алгебры могут манипулировать математическими формулами, аналогичными тем, которые используются в традиционной математике, и эффективно предотвращать возможные ошибки. Существует множество систем компьютерной алгебры для GNU / Linux, как общих, так и специализированных.

Основными функциями CAS являются численные расчеты, символьные вычисления, анализ данных и визуализация данных. В силу того, что сфера вычислительной математики очень обширна, разработаны несколько систем компьютерной алгебры для GNU / Linux, которые имеют дело с различными типами приложений. Наши редакторы описали 20 лучших систем компьютерной алгебры, которые могут быть использованы математиками, специалистами в области информатики или для учебных целей.

Scilab

Scilab - одна из лучших систем вычислительной алгебры для GNU / Linux, которая предлагает широкий спектр функций, облегчающих научные вычисления. С момента своего создания в 1990-х годах она показала себя как эффективная CAS и продолжает играть важную роль в современных научных коллективах. Scilab предоставляет среду программирования высокого уровня, которая позволяет исследователям, бизнес-аналитикам и математикам решать реальные вычислительные проблемы с помощью всего лишь нескольких строк кода.

  • Scilab позволяет исследователям определять новые типы данных и операций над ними, используя переопределения, и использует синтаксис, аналогичный синтаксису MATLAB.
  • Эта система CAS с открытым исходным кодом для GNU / Linux поддерживает линейную алгебру, полиномы, разреженные матрицы, рациональные функции, 2-D и 3-D графику и анимацию, а также многие другие.
  • Scilab поставляется со встроенной поддержкой LaTeX / MathML, текстовым редактором SciNotes, оптимизацией LMI и расширенными возможностями создания скриптов.
  • Унифицированный и непротиворечивый API, предоставляемый Scilab, соответствует лишь небольшому количеству систем вычислительной алгебры.

Octave

GNU Octave, возможно, является одной из самых популярных систем вычислительной алгебры с открытым кодом, используемой студентами и профессионалами во всем мире, благодаря своим богатым и простым в использовании функциям. Это мощный язык программирования с расширенными возможностями и возможностью визуализации. Язык совместим с MATLAB и позволяет пользователям решать линейные и нелинейные вычислительные задачи через удобный интерфейс командной строки. Octave также предлагает графический интерфейс на основе Qt для людей, которые предпочитают изысканные графические интерфейсы.

  • Octave предлагает полный набор математических методов, которые включают решение линейных и нелинейных уравнений, манипулирование полиномами, интегрирование, дифференциальное исчисление, векторы и матрицы.
  • Эта CAS с открытым исходным кодом обладает широкими возможностями настройки и может быть расширена с помощью пользовательских функций или динамических модулей, написанных на C, C ++, Fortran или других языках.
  • Графический интерфейс прост в использовании и работает на основе Qt вместе с IDE.
  • Octave написан с использованием C ++ и позволяет программистам использовать функции Octave непосредственно в программах на C ++.

 

Maxima

Maxima - одна из старейших систем компьютерной алгебры для GNU / Linux, представленных в этом руководстве. Проект начался в лабораториях Массачусетского технологического института в 60-х годах и продолжает процветать даже сегодня, благодаря своей большой популярности и общеизвестно мощному набору функций. Система предназначена для обращения к символическим и числовым выражениям, включая дифференцирование, интегрирование, ряды Тейлора, преобразования Лапласа, дифференциальные уравнения, системы линейных уравнений, а также полиномы, множества, списки, векторы, матрицы и тензоры.

  • Maxima обеспечивает более точные числовые результаты, чем большинство систем вычислительной алгебры для GNU / Linux, благодаря использованию целочисленных дробей произвольной разрядности.
  • Написана с использованием языка программирования Common Lisp и предоставляет собственный язык программирования с синтаксисом, похожим на ALGOL.
  • Maxima использует семантику в стиле Lisp для облегчения преподавания компьютерной алгебры и уроков программирования.
  • Поддерживает широкий выбор графических пользовательских интерфейсов (GUI), включая wxMaxima, TeXmacs и SAGE.

 

SymPy

SymPy - это библиотека Python с открытым исходным кодом для манипулирования математической символикой. Пользователи могут использовать SymPy в качестве отдельного приложения, онлайн в Интернет или в качестве библиотеки в других программах. Выпущенный под лицензии BSD, SymPy является одной из лучших систем компьютерной алгебры для энтузиастов с открытым исходным кодом или математиков, ищущих бесплатные системы компьютерной алгебры. SymPy поддерживается на регулярной основе, очень часто внедряются новые обновления, что делает его подходящим вариантом как для профессиональных аналитиков, так и для использования в академической среде.

  • С помощью SymPy можно решать полиномиальные, алгебраические, дифференциальные и диофантовы уравнения наряду с вычислительными, геометрическими и матричными задачами.
  • Функции построения графиков позволяют использовать разные системы координат, строить геометрические объекты, 2-D и 3-D графики, менять цвета и обеспечена поддержка Matplotlib.
  • SymPy имеет огромный список встроенных криптографических функций, которые включают шифрование по методам Hill, RSA, ElGamal и многие другие.
  • Поскольку SymPy является продуктом с открытым исходным кодом, это позволяет разработчикам расширять приложение в соответствии с требованиями современных компьютерных проектов.

SINGULAR

SINGULAR, возможно, является одной из лучших систем вычислительной алгебры для решения полиномиальных задач, в таких областях как коммутативная алгебра, алгебраическая геометрия и теория сингулярности. Он поставляется с самыми быстрыми алгоритмическими реализациями для базисов Грёбнера или стандартных базисов, включая алгоритм Мора и алгоритм Бухбергера. SINGULAR также предоставляет такие функции, как полиномиальная факторизация, Syzygy, вычисления в свободном разрешении и многое другое.

  • Основными вычислительными объектами SINGULAR являются идеалы и модули, причем охвачен большой выбор базовых колец или локализаций разных полей.
  • Поставляется с широким спектром алгоритмов, уже реализованных на C ++, что обеспечивает высокую производительность и оптимизацию.
  • Язык программирования, предлагаемый этой средой CAS, похож на C и интуитивно понятен для людей, которые имеют предварительные знания традиционных языков программирования.
  • SINGULAR предлагает обширную документацию, большой набор полезных библиотек, интерфейс Emacs, возможность загрузки динамических модулей, а также поддержку, обусловленную открытым исходным кодом.

SageMath

SageMath - это система вычислительной алгебры с открытым исходным кодом для GNU / Linux с обширным набором функций, которые делают ее превосходным инструментом для решения современных математических задач. Система построена на существующих и популярных пакетах с открытым исходным кодом, таких как NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R и многих других. Проект направлен на то, чтобы стать реальной альтернативой Magma, Maple, Mathematica и Matlab, и вполне оправдывает эти ожидания.

  • SageMath использует Python и Cython для того, чтобы воспользоваться возможностями своих базовых проектов через соответствующие интерфейсы.
  • Поставляется с инновационным и простым документальным интерфейсом для ноутбуков, который совместим с Chrome, Opera, Firefox, Safari и Konqueror.
  • SageMath также предлагает текстовый интерфейс командной строки, встроенный в оболочку iPython.
  • Поддерживает параллельную обработку с использованием разных процессорных архитектур и предоставляет интерфейсы для Mathematica, Magma и Maple.
  • SageMath позволяет пользователям встраивать Sage в документы LaTeX и использовать ползунки для задания входных данных для расчета.

 

Macaulay2

Macaulay2 - одна из самых выдающихся систем вычислительной алгебры для исследователей, работающих в алгебраической геометрии и коммутативной алгебре. Это довольно современная CAS с множеством встроенных функций, которые помогают в разработке новых решений как традиционных, так и будущих математических задач. Она реализует свой собственный язык программирования высокого уровня для работы с числовой и символической алгеброй и публикуется с открытым исходным кодом под лицензией GNU GPL.

  • Macaulay2 поддерживает эффективное вычисление параметров математических объектов высокого уровня, таких как поля Галуа, числовые поля, кольца полиномов, алгебры Вейля, фактор-кольца, гомоморфизмы, градуированные модули и цепные комплексы.
  • Интерпретируемый язык программирования этого CAS является простым, но мощным и присваивает каждому объекту тип.
  • Математические алгоритмы реализованы с использованием C ++ и, следовательно, предлагают высокую и оптимизированную производительность.
  • Эта кроссплатформенная CAS является системой с открытым исходным кодом и позволяет разработчикам расширять программное обеспечение по мере необходимости.

 

Cadabra

Если вы ищете лучшие системы вычислительной алгебры для задач теории поля, то Cadabra - один из наиболее подходящих вариантов для вас. Это современная система вычислительной алгебры (CAS), предназначенная для исследователей в области теории полей и предоставляющая широкий спектр функциональных возможностей для достижения вашей цели. Cadabra очень эффективно обрабатывает упрощения полиномов, используя тождества Бианки и Схоутена, и может также использоваться для фермионов и переменных, не требующих переключения, алгебр Клиффорда, преобразований Фирца и многих других задач.

  • Cadabra поставляется с удобным интерфейсом командной строки и простым, но интуитивно понятным графическим интерфейсом пользователя.
  • В высшей степени программируема и может быть легко расширена с помощью языка программирования Python.
  • Cadabra имеет отдельный графический интерфейс для ноутбуков, который можно использовать без проблем с Sympy.
  • Эта кроссплатформенная система вычислительной алгебры является проектом с открытым исходным кодом, и это означает, что может быть полностью модифицируема.

Reduce

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

  • Reduce предлагает точные целочисленные и дробные арифметические результаты с использованием методов числового приближения произвольной точности.
  • Puede может обрабатывать полиномы, рациональные, экспоненциальные, логарифмические, тригонометрические и гиперболические функции наряду с традиционным дифференцированием и интегрированием.
  • Реализует матричные вычисления Дирака, используемые в экспериментах по физике высоких энергий, и поставляется с интуитивно понятным языком программирования.
  • Reduce позволяет исследователям составлять графики из двумерных и трехмерных наборов данных и представлять результаты в различных форматах.

 

GAP

GAP - мощная система с открытым исходным кодом для решения задач дискретной вычислительной алгебры. Это впечатляющая платформа, которая сочетает в себе функции лучших систем вычислительной алгебры с высокоуровневым языком программирования, интуитивно понятным и удобным. GAP может решать различные типы дискретных математических задач, но при этом большое внимание уделяется теории вычислительных групп. Библиотека по умолчанию довольно обширна и с самого начала предлагает более тысячи реализаций функций.

  • GAP имеет удивительный графический пользовательский интерфейс, который прост в использовании и интуитивно понятен.
  • Язык программирования, включенный в эту систему CAS, интерпретируется и может быть легко скомпилирован для более быстрого выполнения.
  • GAP предлагает довольно обширную библиотеку данных, которая содержит большие классы различных алгебраических объектов, к которым можно получить доступ через интерфейс GAP.
  • Эта кроссплатформенная система вычислительной алгебры поставляется с полностью открытым исходным кодом и, что позволяет пользователям расширять или изменять её в соответствии со своими потребностями.

Axiom

Axiom - это система вычислительной алгебры общего назначения, которая широко используется в различных типах вычислительных задач. Она может быть использована как для академических исследовательских целей, так и для разработки сложных и современных математических алгоритмов. Аксиома подчеркивает иерархию строго типизированных и математически правильных типов, что гарантирует максимальную оптимизацию ваших алгоритмов. Axiom поставляется под модифицированной лицензией BSD, которая позволяет исследователям расширять программное обеспечение в соответствии с индивидуальными требованиями.

  • Аксиома реализует надежный интерфейс и эвристические алгоритмы для создания понятных аннотаций.
  • Эту систему можно использовать для построения двумерных и трехмерных графиков для анализа и визуализации данных.
  • Axiom оснащен инновационной интерактивной справочной системой браузерного типа под названием «HyperDoc».
  • Axiom обеспечивает интерактивные функции вращения и освещения наряду с алгоритмом Риша для аналитического вычисления неопределённых интегралов.

 

CoCoA

Если вы ищете лучшие системы вычислительной алгебры для решения задач коммутативной алгебры, CoCoA - отличный вариант для вас. Это легкая интерактивная система, которая предлагает ряд мощных функций, которые делают вычисления коммутативной алгебры проще, чем когда-либо. В нее встроена библиотека CoCoALib C ++, что обеспечивает более высокую производительность, чем у большинства традиционных систем компьютерной алгебры для GNU / Linux.

  • CoCoA может работать с чрезвычайно большими целыми и рациональными числами, используя библиотеку GNU Multi-Precision.
  • Она озволяет исследователям эффективно обрабатывать многомерные полиномы и работать с базисами Грёбнера.
  • CoCoA поставляется со встроенной поддержкой ряда интерфейсов, включая текстовый, Emacs и Qt.
  • Эта кроссплатформенная система вычислительной алгебры является бесплатной и позволяет вносить изменения в соответствии с лицензией GNU GPL.

Yacas

Yacas (название является аббревиатурой от "Another Another Computer Algebra System") - это система вычислительной алгебры общего назначения, которая может эффективно выполнять широкий спектр числовых и символьных математических вычислений. Он поставляется с собственным языком программирования, который обеспечивает высокий уровень абстракции сложных базовых математических выражений. Yacas может производить численные расчеты произвольной точности с точными результатами и предлагает мощные возможности построения графиков для визуализации и эффективного анализа данных.

  • Yacas позволяет пользователям-математикам вводить записи в текстовом формате или в формате OpenMath с возможностью обработки записей в пакетном режиме.
  • Поставляется с огромным набором алгоритмов, уже реализованных в форме сценариев, которые можно корректировать в редакторе.
  • Yacas ппоставляется с обширной документацией, что обеспечивает более быструю адаптацию этой CAS, чем для большинства систем компьютерной алгебры для GNU / Linux.
  • Yacas - это проект с полностью открытым исходным кодом и значит может быть изменен или расширен в соответствии с потребностями пользователей-математиков.

 

GNU/Linux предлагает математикам широкий выбор доступных алгебраических систем. Как следствие, это может запутать некоторых пользователей. Целью данной заметки было помочь пользователю подобрать систему, наиболее соответвующую его задачам.


Другие статьи о математическом ПО в Linux: