Releases: RamanujanMachine/ramanujantools
Releases · RamanujanMachine/ramanujantools
v0.0.6
What's Changed
Features
- Added Birkhoff-Trjitzinsky asymptotics to extract a formal basis of asymptotic solutions for scalar linear difference equations (
LinearRecurrence.asymptotics()). - Added new classes to support asymptotic calculations:
SeriesMatrix,GrowthRate, andReducer. - Added calculation of the determinant of a
pFqCMF axis matrix via a hardcoded formula. - Made determinant calculations a built-in
CMFfunctionality.
Bug Fixes
- Fixed broken LaTeX rendering of objects in JupyterLab (such as
PCF,CMF, andLinearRecurrence) by correctly wrapping the output in math delimiters. - Fixed an equality evaluation bug in
FlintRationaloccurring when negations were present in both the numerator and denominator. - Fixed pickling cache issues for
CMF,pFq, andMeijerGobjects by correctly implementing their respective__getstate__and__setstate__methods.
Refactors
- Replaced custom
_repr_latex_methods withsympy.printing.defaults.Printableinheritance for cleaner and more standardized LaTeX representation.
New Contributors
- @UriKH made their first contribution in #143
- @tsvikas made their first contribution in #146
- @talimonodromy made their first contribution in #145
Full Changelog: v0.0.5...v0.0.6
v0.0.5
Changelog:
-
Features
- Added the Meijer G CMF
- Added the DFinite base class (which inherits from CMF) for constructing D-finite CMFs. Consists methods such as:
- differential equation
- construct matrix (in the future could be derived automatically from contiguous relations)
- Added support for caching negative matrices when using them while constructing the CMF (For example, in the MeijerG CMF we first calculate the a matrices in the inverse direction as this is the direction we get from the contiguous relations).
- Added the CMF.coboundary method which computes coboundary on the enitre CMF.
- Added the CMF.dual method which returns the dual CMF (all matrices are inverse-transposed).
- Added the CMF.sub_cmf method which projects the CMF into a smaller subspace.
- Added the LinearRecurrence.compose function
-
Refactors
- LinearRecurrence now prints as sum = 0 and not as p(n+1) = sum.
- pFq and MeijerG now inherit from the D-finite CMF.
v0.0.4
Changelog:
- Bugfixes:
- Fixed the bug in Limit.identify where sometimes it just returns the zero matrix.
v0.0.3
Changelog:
- Bugfixes:
- Fixed a bug in the LaTeX representations of
LinearRecurrence,PCFandCMF. Limit.deltanow returns afloatinstead of anmp.mpf
- Fixed a bug in the LaTeX representations of
v0.0.2
Changelog:
-
Refactors:
- Flattened the
cmfmodule. The contents offfbarandknown_cmfsare directly incmfnow.- Notice that import now looks as
from ramanujantools.cmf import pFq
- Notice that import now looks as
- Grouped all solvers in a new
solversmodule - Removed
multimethodusage (and dependency) PCFnow usesLinearRecurrencefor key logic, such asinflate,deflate, and especially conversion from matrix formPCFFromMatrixwas deleted completely
- Merged
NumericMatrix.walkandNumericMatrix.walk_listinto a singleNumericMatrix.walkthat accepts bothintandlist[int]
- Flattened the
-
Bugfixes:
MatrixandLinearRecurrencenow acceptinitial_valuesin theirwalkandlimitmethods- Fixed a bug where
Matrix.factorwould crash when the matrix was numeric (no symbols)
-
Features:
- Add a distinct repr to
pFq - Add LaTeX pretty printing to
CMF,PCFandLinearRecurrence:
- Add a distinct repr to
v0.0.1 – Initial PyPi Release
Initial public release of ramanujantools on PyPi! 🎉
This version includes:
- Core symbolic and numeric tools used by the Ramanujan Machine group
- Contains the key classes
MatrixPCF(Polynomial Continued Fraction)LinearRecurrenceCMF(Conservative Matrix Field)Limit
- Python 3.11+ compatibility
- Optimized
python-flintbackend


