Наиболее известными и приспособленными для математических символьных вычислений считаются Maple, Mathematica, MatLab и Python.
Проведём обзор и краткий анализ этих программных продуктов.
MatLab
Продукт компании MathWorks, Inc., представляющий собой язык высокого уровня для научно-технических вычислений. Среди основных областей его применения — математические расчеты, разработка алгоритмов, моделирование, анализ данных и визуализация, научная и инженерная графика, разработка приложений, включая графический интерфейс пользователя. MatLab решает множество компьютерных задач — от сбора и анализа данных до разработки готовых приложений. Среда соединяет в себе математические вычисления, визуализацию и мощный технический язык. Встроенные универсальные интерфейсы позволяют легко работать с внешними информационными источниками, а также осуществлять интеграцию с процедурами, написанными на языках высокого уровня (C, C++, Java и др.). Мультиплатформенность MatLab сделала его одним из самых распространенных продуктов, также он имеет широкий спектр применений, в том числе цифровую обработку сигналов и изображений, проектирование систем управления, естественные науки, финансы, экономику, приборостроение и т.п.
Mathematica
Компании Wolfram Research, Inc. имеет чрезвычайно широкий набор средств, переводящих сложные математические алгоритмы в программы. По сути дела, все алгоритмы, содержащиеся в курсе высшей математики технического вуза, заложены в память компьютерной системы Mathematica. Огромное преимущество системы Mathematica состоит в том, что ее операторы и способы записи алгоритмов просты и естественны. Mathematica имеет мощный графический пакет, с помощью которого можно строить графики очень сложных функций одной и двух переменных. Главное преимущество Mathmatica, делающее ее бесспорным лидером среди других систем высокого уровня, состоит в том, что эта система получила сегодня очень широкое распространение во всем мире, охватив огромные области применения в научных и инженерных исследованиях, а также в сфере образования.
Maple
Продукт компании Waterloo Maple Software, Inc., который часто называют системой символьных вычислений или системой компьютерной алгебры. Maple позволяет выполнять как численные, так и аналитические расчеты с возможностью редактирования текста и формул на рабочем листе. Благодаря представлению формул в полиграфическом формате, великолепной двух- и трехмерной графике и анимации Maple является одновременно и мощным научным графическим редактором. Простой и эффективный язык-интерпретатор, открытая архитектура, возможность преобразования кодов в коды C делает его очень эффективным средством создания новых алгоритмов. Обладает интуитивно понятным интерфейсом, простыми правилами работы и широким функционалом.
Python
высокоуровневый язык программирования общего назначения, который поддерживает структурное, обобщенное, объектно-ориентированное, функциональное и аспектно-ориентированное программирование. Для выполнения научных исследований используются дополнительные пакеты: Numpy, Scipy, Matplotlib и др.
Сравнительный анализ систем компьютерной математики приведём в таблице ниже.
| 
 Критерий сравнения  | 
 MatLab  | 
 Mathematica  | 
 Maple  | 
 Python  | 
| 
 Интерфейс  | 
 ● содержит три окна: командное окно, все переменные и их типы и окно подсказок; ● есть строка приглашения, обозначается знаком ">>"; ● в отличие от Mathcad все функции приходится вводить с клавиатуры.  | 
 ● строка приглашения в отличие от MatLab разделена на две области: ввода и вывода, которые составляют вместе область всего выражения; ● область ввода можно редактировать; ● имеется палитра с греческими буквами, различными символами и панель мат анализа.  | 
 ● возможность работы в режиме интерпретатора; ● позволяет вводить электронные таблицы, содержащие как числа, так и символы; ● имеются опции разбиения на параграфы и разделы, а также добавления гиперссылок; ● рабочие листы можно организовать иерархически.  | 
 ● зависит от среды разработки.  | 
| 
 Работа с массивами и матрицами  | 
 ● аналогично Mathematica матрицы и вектора формируются при помощи списка элементов. ● функции вводятся с клавиатуры.  | 
 ● многомерный набор данных создается с помощью списка, который вводится с клавиатуры. ● также с клавиатуры вводятся и функции для работы с матрицами и векторами.  | 
 ● может находить собственные значения и собственные векторы операторов, ● вычислять криволинейные координаты, находить матричные нормы и вычислять множество различных типов разложения матриц.  | 
 ● Python не имеет встроенного типа данных для матриц. ● для линейной алгебры принято использовать numpy, вектора и матрицы которого типизированы, в отличии от встроенный в язык списков.  | 
| 
 Решение уравнений  | 
 ● решает уравнения и системы уравнений функций с различными параметрами.  | 
 ● содержит несколько функций для решения уравнений и систем уравнений. ● можно находить корни уравнений с параметром. ● имеется функция для особых решений.  | 
 ● предлагает различные способы представления, сокращения и преобразования выражений, например такие операции, как упрощение и разложение на множители алгебраических выражений и приведение их к различному виду  | 
 ● для использования символьных вычислений можно использовать библиотеку sympy. Однако, код, написанный с помощью sympy, уступает в красоте коду, написанному на Mathematica, которая специализирована на символьных вычислениях.  | 
| 
 Математические операторы  | 
 ● в отличие от Mathcad все операторы вводятся с клавиатуры в виде отдельных символов и функций. Дан относительно подробный список операторов.  | 
 ● как и в MatLab операторы приходится вводить с клавиатуры, но некоторые можно найти и на палитре инструментов.  | 
 ● способен выполнять арифметические действия в символьном виде.  | 
 ● для научных вычислений используется библиотека scipy.  | 
| 
 Встроенные функции  | 
 ● в основном используются только функции, которые вводятся с клавиатуры.  | 
 ● приведено множество функций различного назначения с различным числом параметров.  | 
 ● включены пакеты для решения задач линейной и тензорной алгебры, евклидовой и аналитической геометрии, теории чисел, теории вероятностей и мат.статистики, комбинаторики, теории групп, интегральных преобразований, численной аппроксимации и линейной оптимизации и др.  | 
 ● существует очень много арифметических, тригонометрических, гиперболических, логарифмических функций, которые становятся доступные после импортирования библиотеки null>  | 
Как видно из сравнительного анализа, все математические пакеты схожи между собой. Но среди них особенно выделяется Python, у которого можно выделить следующие основные преимущества:
1) свободно распространяемый и работает практически на всех известных платформах;
2) прост для изучения и обладает такими важными свойствами, как интерактивность и интерпретируемость;
3) имеет богатый набор функций стандартной библиотеки и широкий набор внешних библиотек, позволяющих решать практически любые задачи;
4) пространства имен: например, Matlab поддерживает пространства имен для функций, которые используются в программе, но ядро Matlab не имеет пространств имен (то есть каждая функция определена в глобальном пространстве имен). Python же работает с модулями, которые нужно импортировать, если они будут использоваться;
5) самоанализ. Поскольку программа имеет четкую структуру, самоанализ очень прост. Закрытые переменные существуют только по соглашению, поэтому можно получить доступ к любой части приложения, включая некоторые внутренние компоненты Python.
6) инструментарий GUI, который позволяет создавать внешний интерфейс.
Таким образом, Python — это, пожалуй, наиболее удачно сбалансированная система и бесспорный лидер по возможностям символьных вычислений для математики.
Полезные ссылки: