Symbolica

Latest version: v0.14.0

Safety actively analyzes 702474 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.14.0

**Notable changes**
- Simplify the Rust API, document modules and provide more examples in the documentation. This should help new users get accustomed to Symbolica faster. Check out https://docs.rs/symbolica/latest/symbolica/!
- Control flow and conditions in transformers (see [**functionality>transformers485823833**](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/transformers/near/485823833))
- Allow for directed graphs in graph generation
- Collect in multiple variables and in coefficients (see [**functionality>collect484467423**](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/collect/near/484467423))
- Faster expansions and collect by conversion to polynomials
- Complex root approximation (see [**functionality>numerical solving479463685**](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/numerical.20solving/near/479463685))

**Upgrade notice**
The Rust API went through significant change:
- You need to use `AtomCore` for most basic features on atoms. Atom-like arguments are now generic over `AtomCore`, so `as_view` calls can be removed.
- Pattern matching now has a unified API (accepting `None` as arguments), and `AtomCore::pattern_match`'s return type implements `Iterator`
- `Replacement` and `FunctionMap` no longer depend on referenced values
- `State::get_symbol` is now `Symbol::new`. `State` should not be used directly anymore.

0.13.0

**Notable changes**
- Real root isolation (see [here](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/real.20root.20isolation/near/477972294)
- LLL basis reduction (see [here](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/lattice.20basis.20reduction/near/476103198))
- PSLQ for integer relations (see [here](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/lattice.20basis.20reduction/near/476595822))
- Import/export of expressions from Python (see [here](https://reform.zulipchat.com/#narrow/channel/392700-functionality/topic/exporting/near/476967918))
- Cyclesymmetry taken into account during pattern matching
- Jacobian and gradients functions for vectors

0.12.0

**Notable changes**
- User-defined normalization functions (see [here](https://reform.zulipchat.com/#narrow/stream/392700-functionality/topic/normalization/near/469959172))
- Arbitrary depth dual numbers (see [here](https://reform.zulipchat.com/#narrow/stream/392700-functionality/topic/dual.20numbers/near/472259682))
- Non-linear system solving using Newton's method (see [here](https://reform.zulipchat.com/#narrow/stream/392700-functionality/topic/numerical.20solving/near/474013970))
- `symb!()` and `fun!()` improvements for faster symbol and function construction (see [here](https://reform.zulipchat.com/#narrow/stream/363562-api/topic/rust/near/472431296))
- A vector type (Rust only for now)

0.11.0

**Notable changes**
- Graph generation
- Graph API for Pyton
- Native Windows support! You can now `pip install symbolica` on native Windows.
- Introduce short-hand notation `S`, `E`, `N` to define symbols, expressions and numbers in Python
- Fused `symbols` and `symbol`
- Right-hand side of replacement can now be a function
- Pattern filter based on the matches so far
- Determine size of automorphism group of graphs
- Support antisymmetric tensor canonization

**Upgrade notice**
- `Expression.symbols` has been deprecated, you can now always use `Expression.symbol`. You can also just write `S`.
- The RHS of replacements is no longer a pattern and requires an extra `into()` to convert from a pattern
- The match conditions also require an extra `into()` to support match stack filter functions

0.10.0

**Notable changes**
- Tensor dummy index symmetrization
- Graph canonization, with support for directed edges and vertex and edge colours
- Add support for cyclesymmetric functions
- ASM support for x86_64 Mac

0.9.0

**Notable changes**
- Optimized nested expression evaluation with C++ and ASM output modes
- Seamlessly load compiled evaluation library
- Add cycle-symmetrization transformer
- Improve Rust ergonomics

Page 1 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.