Что вы, ребята, рекомендуете для обширных систем математики/физики/химии.
Sympy или sage на основе последних версий?
Я также слышал о математике, использующей оба из них, w шляпа будет лучшим вариантом, если есть другой вариант?
Что вы, ребята, рекомендуете для обширных систем математики/физики/химии.
Sympy или sage на основе последних версий?
Я также слышал о математике, использующей оба из них, w шляпа будет лучшим вариантом, если есть другой вариант?
(Полное раскрытие: я являюсь ведущим разработчиком SymPy)
Первое, что вы должны понять, это то, что SymPy и Sage не совсем то же самое. SymPy - это чистая библиотека Python, которая выполняет компьютерную алгебру. Sage - это коллекция программного обеспечения с открытым исходным кодом. Мудрец пытается собрать все основные математические программы с открытым исходным кодом и объединить их в полезную систему. Фактически, Sage включает SymPy в качестве одной из своих систем.
Вот краткий список (необъективных) фактов для каждого (я не буду называть их "за" или "против", просто факты):
**
, как и в Python, а не ^
, как и во многих других системах.from sympy import init_session; init_session()
вверху (заменить init_session
на init_printing
, если вы просто хотите распечатать и не импортировать все).1/2
без обертывания целочисленных литералов, и он вернет рациональное. x^2
дает квадрат x, а не Xor(x, 2)
. Я не уверен, что он автоматически определяет переменные для вас по умолчанию. Это означает, что все, что вы делаете в интерактивном сеансе Sage, может не перевести непосредственно на Python script. С другой стороны, это может быть полезно для интерактивного использования (кстати, SymPy также имеет isympy -I
, что делает некоторые подобные вещи).Возможно, это не то, что вы искали. Вероятно, вам нужны некоторые математические функции. Но, как я уже сказал, Sage включает SymPy, поэтому по определению каждая особенность SymPy будет особенностью Sage. На практике это не обязательно так, потому что Sage не всегда использует SymPy по умолчанию (я не уверен, каков текущий статус этого на самом деле), поэтому вам может потребоваться вызвать SymPy вручную, если вы хотите его использовать изнутри мудреца.