Чтобы скомпилировать то, что сказали другие, а также добавить несколько решений для других языков ...
C ++
Piranha
Попробуйте Piranha от bluescarni "Библиотека компьютерной алгебры"
// Include the standard I/O header.
#include <iostream>
// Include the global Piranha header.
#include <piranha/piranha.hpp>
// Import the names from the Piranha namespace.
using namespace piranha;
int main()
{
// Piranha initialisation.
init();
// Print the rational number 4/3 to screen.
std::cout << rational{4, 3} << '\n';
}
Существует также оболочка Python ("Pyranha").
SymEngine
SymEngine - еще одна библиотека символьной математики на основе C ++ с оболочками для Python , Ruby , Джулия и Haskell . SymEngine прекрасно интегрируется с SymPy и Sage для Python.
Java
SymJa
Попробуйте Symja Library от Axkr
>>> sin(30*degree)
1/2
>>> sin(pi/2)
1
>>> a+a+4*b^2+3*b^2
2*a+7*b^2
Кроме того, вы можете использовать Jython , чтобы получить SymPy в Java.
Python
SymPy
Как уже упоминалось, SymPy - это символическая математика в Python :
рубин
Символическая
Символическая Brainopia - это библиотека математических символов (без внешних зависимостей) для Ruby:
0 * x # => 0
2 + x + 1 # => x + 3
-(x-y) + 2*x # => x + y
(x**2)**3 / x # => x**5
Symbolic::Math.cos(x**2).diff(x)
# => -2*(sin(x**2))*x
Symbolic::Math.cos(x).taylor(x,0,3)
# => -0.5*x**2+1.0
Пожалуйста, не стесняйтесь редактировать или изменять этот ответ с другими символическими библиотеками математики. Как правило, я не включал никакие библиотеки математики "произвольной точности", потому что это не одно и то же как библиотека символической математики с бесконечной точностью . Я также не включил устаревшие пакеты, которые недавно не обновлялись.