← Back to all sparks
S

symengine

ANALYTICS
Velocity0.0

Interface to the SymEngine Library

An R symbolic-maths binding whose changelog is really the C++ core's release notes.

symbolic-computationcascpp-corer-bindingsllvm
Current state
symengine gives R access to the SymEngine computer algebra core for symbolic expressions, matrices and sets. The tracked feed carries the upstream C++ library's releases rather than R-binding changes, so what shows here is core work: parser fixes, locale-independent double parsing, an SOVERSION bump and matrix transpose corrections. Feature growth in the core has slowed considerably since the 0.9 and 0.10 releases.
Where it's heading
The upstream core has moved from adding capability — serialization, a first simplify(), set types, matrix expressions, LLVM support — toward maintenance: build fixes, dependency support such as Flint3, and correctness patches. For R users the practical consequence is that new symbolic features arrive only as fast as the binding exposes them, which this feed does not report on.
Prediction
Expect further upstream maintenance releases tracking LLVM and Flint versions; nothing in these notes signals a new capability push.

Recent moves

  1. 1y ago

    Locale-independent double parsing and matrix transpose fix

    Adds parser support for sign, makes double parsing locale-independent and faster, bumps SOVERSION, and fixes an immutable matrix transpose bug and a unicode printer segfault. Locale-independent parsing is the notable one — locale-dependent number reading is a classic source of silent cross-machine divergence.

    View source ↗
  2. 2y ago

    Flint3 support and SBML printing fixes

    Adds Flint3 support and fixes SBML piecewise printing plus deprecated function declarations. Keeping pace with a major arbitrary-precision dependency is what allows the core to keep building on current systems.

    View source ↗
  3. 3y ago

    Build fixes only, no functional change

    A patch that fixes build system compilation failures, with the notes explicitly stating no new features or bug fixes. Published two days after 0.10.0.

    View source ↗
  4. 3y ago

    Matrix expressions, Intersection class and LLVM 16 support

    Adds matrix expressions, an Intersection class, hex string conversion, LLVM 16 support and sympy-compatible parsing names, alongside a long list of canonicalisation fixes. One of the last substantial capability releases in this window.

    View source ↗
  5. 4y ago

    Adds serialization and a first simplify() implementation

    Introduces cereal-based serialization as a hard dependency, a first version of simplify(), Naturals and Tuple set types, and assumption-driven refinement rules. Serialization and simplify() are the entries here with the widest reach for downstream bindings.

    View source ↗
  6. 4y ago

    Fixes MSVC2017 compilation failure

    Fixes a compilation failure on MSVC2017. Platform upkeep with no behavioural effect.

    View source ↗