Symbolica | Modern Computer Algebra
Compute
Symbolica is a high-performance computer algebra library for Python and Rust .<br>Manipulate large expressions, match patterns, and generate optimized numerical code — at unprecedented speed.
Trusted by CERN and leading research universities worldwide.
Input expression<br>Optimized kernel
x^5*y + cos(x) +<br>a*b^3 - sqrt(z)<br>+ sin(a)^2 + ...
ldr d0, [x0]<br>fmul d1, d0, d0<br>fadd d0, d1, d2
Get Started<br>Try the Demo
Pattern Matching<br>Differentiation<br>Factorization<br>Numerical Evaluation
from symbolica import *
f, x, x_, n_ = S('f', 'x', 'x_', 'n_')
# Extract exponent from a function argument<br>e = f((1+x)**2)<br>e = e.replace(f(x_**n_), f(x_)**n_)<br>print(e) # ➜ f(1+x)**2
from symbolica import *
x = S('x')
# Symbolic derivative with chain and product rules applied automatically<br>e = E('exp(x^2) * sin(x)').derivative(x).expand()<br>print(e) # ➜ 2*x*exp(x^2)*sin(x) + cos(x)*exp(x^2)
from symbolica import *
# Factor a multivariate polynomial over the rationals<br>p = E('x^3 - y^3')<br>for factor, exp in p.factor():<br>print(factor)<br># ➜ x - y<br># ➜ x^2 + x*y + y^2
from symbolica import *
x, y, f = S('x', 'y', 'f')
# Mix built-in and user-defined functions in one expression<br>e = E('cos(x)*3*x^2 + f(x)')<br>ev = e.evaluator([x], functions={(f, (y,)): y**2})<br>print(ev.evaluate([[0.3]])) # ➜ [[0.34794085]]
▶ Run in Google Colab
Why Symbolica?
Orders of magnitude faster
Symbolica uses state-of-the-art algorithms that deliver dramatic speedups over alternatives like Mathematica and SymPy, cutting hours of computation down to seconds.
Greatest common divisor benchmark
Symbolica
4s
Mathematica
89s
Sympy
1h1m
Related papers:
Native integration, no glue code
No subprocess calls, no string-based interchange. Symbolica is a native Rust library with intuitive Python bindings that embeds directly in your codebase — clean, fast, and reliable.
Familiar API, zero friction
If you know Python or Rust, you already know how to use Symbolica. No domain-specific language to learn, no new ecosystem to adopt — just install and start computing.
Trusted by
Expressive API
A clean, intuitive API for Python and Rust that makes complex algebraic operations feel natural.
Learn more »
Advanced Pattern Matching
Match and transform mathematical expressions with powerful wildcard patterns and conditional rules.
Learn more »
Unlimited Scalability
Handle expressions larger than memory with streaming evaluation — no limits on problem size.
Learn more »
Polynomial Algebra
World-class multivariate GCD, factorization, and interpolation — the beating heart of Symbolica’s speed.
Learn more »
Free to Explore
One instance is free for personal and non-commercial use. Start computing today at no cost.
Learn more »
Source Available
The complete source code is on GitHub. Follow development, browse the internals, or contribute.
Learn more »
Ready to speed up your computations?
Get Started View Documentation