Symbolica logo. Symbolica logo. Symbolica
  • Documentation
  • Pricing
  • Blog
  • About

Compute

Symbolica is a high-performance computer algebra library for Python and Rust. Manipulate large expressions, match patterns, and generate optimized numerical code — at unprecedented speed.

Trusted by CERN and leading research universities worldwide.

Input expression Optimized kernel x^5*y + cos(x) + a*b^3 - sqrt(z) + sin(a)^2 + ... ldr d0, [x0] fmul d1, d0, d0 fadd d0, d1, d2
Get Started Try the Demo
  • Pattern Matching
  • Differentiation
  • Factorization
  • Numerical Evaluation
from symbolica import *

f, x, x_, n_ = S('f', 'x', 'x_', 'n_')

# Extract exponent from a function argument
e = f((1+x)**2)
e = e.replace(f(x_**n_), f(x_)**n_)
print(e)  # ➜  f(1+x)**2
from symbolica import *

x = S('x')

# Symbolic derivative with chain and product rules applied automatically
e = E('exp(x^2) * sin(x)').derivative(x).expand()
print(e)  # ➜  2*x*exp(x^2)*sin(x) + cos(x)*exp(x^2)
from symbolica import *

# Factor a multivariate polynomial over the rationals
p = E('x^3 - y^3')
for factor, exp in p.factor():
    print(factor)
# ➜  x - y
# ➜  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
e = E('cos(x)*3*x^2 + f(x)')
ev = e.evaluator({}, {(f, "f", [y]): y**2}, [x])
print(ev.evaluate([0.3]))  # ➜  0.3479408520639137

▶ 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: Link to scientific paper Link to scientific paper Link to scientific paper

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

CERN logo ETH logo University of Zurich logo University of Bern logo Karlsruhe Institute of Technology logo

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 »

Symbolica logo

Ready to speed up your computations?

Get Started View Documentation