Releases: benruijl/symbolica
Releases · benruijl/symbolica
Symbolica 0.6.0
Symbolica 0.6.0 is released!
Notable changes
- Multiple replacements at the same time (see here)
cancel
function that cancels common factors between numerators and denominators- Arithmetical operator overloading for series and atoms
- Square brackets will be parsed as parentheses for functions
Upgrade note
- The
coefficient_list
function now handles multivariate polynomials and therefore its signature has changed
Symbolica 0.5.0
Symbolica 0.5.0 is released!
Notable changes
- Puiseux series expansion support with additional support for
log(x)
- Term streaming for very large expressions
- Import/export of expressions and state (Rust only for now)
- Option to expand in particular variable
Upgrade note
- Define variables and symbols in Python API using
symbol
/symbols
, instead ofvar
/vars
/,fun
/funs
- Expressions are now callable and a function is created if the expression is a variable (see #api>python )
Symbolica 0.4.0
Symbolica 0.4.0 is released!
Notable changes
- Integration of polynomials and rational polynomials
- Level range restrictions for pattern matching
Together
andapart
for expressions- Simple algebraic number support
- Add dense univariate polynomial
- Add resultant function for fields and resultant_prs for rings
- Code coverage testing suite
- New Python API documentation
Upgrade note
- Rust users will have to replace the module
representations
byatom
Symbolica 0.3.0
Symbolica 0.3.0 is released!
Notable changes:
- Remove explicit workspace and state construction by the user. This greatly improves Rust ergonomics (see Zulip) and is one of the final milestones for a Symbolica 1.0 release
- Introduce linear algebra and matrix manipulation
- Performance improvements for rational polynomial arithmetic
- Computational graph generation with C++ output for dependent expressions
- Add numerical integration state importing and exporting for easy use on HPC clusters
- Add convenience methods in Rust that allocate and ones that recycle memory, i.e.
expand()
vsexpand_into(&mut atom)
Symbolica 0.2.0
Symbolica 0.2.0 is released!
Notable changes:
- Conditions on patterns are now logical expressions and use overloaded operators,
&
,|
,!
(~
in Python) - Replacement now accepts settings, currently the only setting is
non_greedy_wildcards
Function.NUM
has been renamed toFunction.COEFF
andto_num
toto_coeff
Migration guide:
- In Rust, you can now use
into()
to convert a tuple of the wildcard identifier and the pattern restriction into a condition - In Python
req_ntype(..)
andreq_ngreedy
are deprecated. Use~x__.req_type(..)
and optionnon_greedy_wildcards=[x__]
instead
Symbolica 0.1.0
Symbolica 0.1.0 marks the first official release of Symbolica 🎉
A very short and incomplete overview of its features are given here:
- Pattern matching
- Common operations such as expansion and derivative taking
- State-of-the-art polynomial arithmetic
- Parallel execution over terms
- Fully functional and easy to use Python API
- Expression simplification for numerical evaluation
- Highly customizable numerical integration tool
Click here to start using Symbolica!