Benruijl Symbolica Versions Save

A modern computer algebra system which aims to handle expressions with billions of terms.

v0.2.0

5 days ago

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 to Function.COEFF and to_num to to_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(..) and req_ngreedy are deprecated. Use ~x__.req_type(..) and option non_greedy_wildcards=[x__] instead

v0.4.0

5 days ago

Symbolica 0.4.0 is released!

Notable changes

  • Integration of polynomials and rational polynomials
  • Level range restrictions for pattern matching
  • Together and apart 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 by atom

v0.5.0

5 days ago

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 of var/vars/,fun/funs
  • Expressions are now callable and a function is created if the expression is a variable (see #api>python )

v0.3.0

2 months ago

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() vs expand_into(&mut atom)

v0.1.0

8 months ago

Symbolica 0.1.0 marks the first official release of Symbolica :tada:

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!