Альтернатива с открытым исходным кодом для Maple и Mathematica

Мне нужно:

  • возможности символьных вычислений (мне не нужно программное обеспечение, которое делает численные вещи)
  • расширяемый с помощью простого языка программирования. Его можно интерпретировать (Python или Ruby), но что-то классическое, например, Lisp или Haskell, также было бы неплохо.
  • отличная документация
  • предварительно скомпилированные версии для Linux

Есть ли что-нибудь в наличии?

Ответы (3)

СимПи

Мне очень нравится SymPy в Джулии . Я не очень часто использовал базовый модуль в Python .

Использование его в IJulia / IPython для работы с ноутбуком Mathematica. Технически это библиотека, но она очень хорошо подходит для интерактивного использования в блокноте.

  • возможности символьных вычислений. Да .
    • Он также хорошо взаимодействует с numpy (в python) и Arrays (в julia).
  • расширяемый с помощью простого языка программирования. Да .

    • Я расширил его в Джулии
    • основная разработка ведется на Python
  • отличная документация. В основном

    • Документация для Джулии немного скудна, но все в порядке.
    • Документация по Python (которая будет полезна, если вы работаете в Julia) достаточно надежна. Не тихий уровень Mathematica, но очень хороший.
  • предварительно скомпилированные версии для Linux. Не технически, а практически
    • Поскольку python и Julia интерпретируются, вы не можете предварительно скомпилировать для них вещи.
    • Но установка очень проста
      • Питон:pip install sympy
      • Джулия: После установки для python в оболочке (I)Julia:Pkg.add("SymPy")
Я проверил все предложенные решения, и кажется, что это лучший выбор.
enedil: Могу я узнать, используете ли вы его в Python или в Julia?
На данный момент это Python (больше информации в Интернете), но я, вероятно, переключусь на Джулию в будущем в поисках производительности.

Я могу порекомендовать два возможных программного обеспечения, похожих на Wolfram Mathematica :

  • Mathics : альтернатива Mathematica с открытым исходным кодом с аналогичным синтаксисом, начатая как версия языка Mathematica с открытым исходным кодом . Имеет хорошую документацию и онлайн-версию, а также простоту установки под Linux.
  • Sage : хороший математический пакет, имеет более ограниченные возможности символов по сравнению с Mathics или Mathematica . Имеет документацию, двоичные файлы и расширяемость с помощью Python.
Я попробовал Sage, но он 1) огромен (3 ГБ, да 3 ГБ!) 2) разнородная смесь множества вещей (Python очень хорош Numpy, R, Maxima и т. д.), так что это может быть лабиринтом для тех, кто не знать их 3) не предлагает готовый графический интерфейс (или, может быть, это скрытая функция, потому что они не говорят об этом здесь wiki.sagemath.org/SageWindows и показывают только консольный режим)... Итак он даже близок к Maple (я ищу аналог Maple с открытым исходным кодом, но пока не нашел...).

Maxima — это система для обработки символьных и числовых выражений. Исходный код Maxima можно скомпилировать во многих системах, включая Windows, Linux и MacOS X. Исходный код для всех систем и предварительно скомпилированные двоичные файлы для Windows и Linux доступны в файловом менеджере SourceForge.