Skip to content

0.2.0

Latest

Choose a tag to compare

@lorenzleutgeb lorenzleutgeb released this 11 Feb 18:44

Release Notes — Version 0.2.0

Released: 2025-02-11

Version 0.2.0 focuses on improvements to the RCF backend, simplification infrastructure, interoperability with external tools, and developer support.

Highlights

Redlog integration

A new submodule RCF.redlog provides programmatic access to Redlog through process communication.

This enables integration with external symbolic computation workflows and facilitates experimentation with Redlog-based algorithms.

Improved simplification for Real Closed Fields

Simplification in RCF has been substantially improved.

Enhancements include:

  • more reliable recognition of negative definite terms
  • substitution of linear binomial equations
  • improved handling of substitutions during recursive simplification
  • revised definiteness tests based on a redesigned internal representation

Rational coefficients in terms

RCF.Term now uses rational coefficients instead of integer coefficients. The implementation expects and uses mpq values for coefficient input and output. Simplification optionally optionally yields formulas with monic polynomials over $\mathbb{Q}$ instead of primitve polynomials over $\mathbb{Z}$.

Developer improvements

Improved caching support

Methods using @lru_cache are now tracked systematically, and convenience methods cache_info and cache_clear are available without requiring explicit arguments.

MyPy support

Stub files for gmpy2 and sage have been added to improve MyPy type checking support.

Simplification infrastructure refactoring

The generic simplification backend in abc.simplify and corresponding theory modules has been refactored and reorganized.

Improved diagnostics and robustness

VV.imp now raises an exception when used outside the top-level scope of __main__.

License change

The project license has been relaxed from GPL-3.0 to GPL-2.0-or-later.

Versioning

The project follows Semantic Versioning. As this is still a 0.x release series, APIs may evolve between minor releases.