Releases: symengine/symengine
Releases · symengine/symengine
SymEngine v0.11.2
What's Changed
Bug Fixes
- Support Flint3 by @isuruf in #1985, #1988
- Minor fix for SBML printing of piecewise function by @lkeegan in #1991
- Fix deprecated function declarations by @thilinarmtb in #1977
- Fix doc rendering by @HaoZeke in #1968
- Fix README.md: Change from Travis-CI to GitHub Actions by @cclauss in #1986
Contributors
- Rohit Goswami
- Thilina Bandara Rathnayake
- Ondřej Čertík
- Isuru Fernando
- Christian Clauss
- Liam Keegan
Full Changelog: v0.11.1...v0.11.2
v0.11.1
v0.11.0
What's Changed
- In subs, check if coeff is a number and use a faster code path by @isuruf in #1962
- use new llvm pass manager instead of legacy pass manager by @lkeegan in #1963
- Check that INTEGER_CLASS=boostmp is not used with FLINT, ARB or MPFR by @autoantwort in #1971
- Exposing the
has_symbol
function through cwrapper.h by @anutosh491 in #1978
New Contributors
- @autoantwort made their first contribution in #1971
- @anutosh491 made their first contribution in #1978
Full Changelog: v0.10.1...v0.11.0
SymEngine v0.10.1
This release fixes some compilation failures due to build system issues.
No new features or bug fixes in the release.
SymEngine v0.10.0
Build system changes
- cmake: fix pthread detection - #1911
New Features:
- Add support for LLVM 16 - #1954
- Add support for Matrix expressions - #1918
- Add Intersection class - #1893
- Add functions to convert to and from hex strings - #1936
- Add is_real to CSRMatrix - #1917
- Add sympy names for Eq, Lt, etc in parsing - #1930
- Support Mul and Pow in is_real - #1923
- Refine for min and max - #1814
- Refine interval from -inf to +inf to Reals - #1894
- Support NaN in LLVM- and Lambda visitors - #1888
- Canonicalize Piecewise to remove redundant conditions - #1890
Bug Fixes
- Handle Piecewise in TransformVisitor (for e.g. cse) - #1953
- Fix run-time warnings when using llvm 15 - #1945
- Handle denominator of zero explicitly for boost - #1942
- Use the correct free function when printing GMP numbers - #1940
- Fix (-x)**I - #1915
- Fix complex double serialization - #1913
- Fix substituting I - #1916
- Fix Mul canonical to match that of Pow canonical - #1900
People who contributed to the release:
- Rikard Nordgren
- Björn Dahlgren
- Isuru Fernando
- Brandon Bocklund
- Jialin Ma
- Sam James
- Gabriel Baraldi
- Liam Keegan
- Christian Gould
SymEngine v0.9.0
Build system changes
- Cereal is a hard dependency now. By default, the vendored copy
is used, but cmake option WITH_SYSTEM_CEREAL can be turned on
to use an external installation.
New Features
- Serialization using cereal - #1704, #1867, #1871
- Support Piecewise in parser - #1882
- Add sets Naturals and Naturals0 - #1874
- Add Tuple class - #1873
- Product of n terms in cwrapper - #1880
- Refine
x**n**k => x**(n*k)
in certain cases - #1863 - Support set of complex numbers by assumptions - #1841
- Refine log of integers which are perfect powers - #1864
- Add function to decompose perfect powers - #1862
- Add logarithm power rule to refine - #1861
- Add sets to cwrapper - #1845
- Add is_algebraic and is_transcendental - #1819
- First version of simplify - #1831
- Add ceiling and floor to cwrapper - #1851
- Add polygonal numbers and polygonal roots functions - #1688
- sbml parser: add support for zero arg function symbols - #1844
- Add boundary, closure and interior of Set - #1834
Bug Fixes
- Fix building docs - #1856
- Fix unicode printer for windows - #1872
- Return NaN when subs results in 0/0 - #1853
- Fixes for "static initialization order fiasco" - #1849
People who contributed to the release:
- Isuru Fernando
- Björn Dahlgren
- Rikard Nordgren
- Alec Edgington
- Liam Keegan
- Pieter Eendebak
- Rohit Goswami
- Zgoda Iu.N
SymEngine v0.8.1
Bug Fixes
- Fixes a compilation failure on MSVC2017
SymEngine v0.8.0
Breaking changes
- Let 0 * real be exactly 0 (fix #1559) - #1769
- Return SYMENGINE_NOT_IMPLEMENTED in basic_solve_poly - #1668
New Features
- Add SBML infix parsing and printing - #1785
- Add refine function - #1800
- Add unicode printer - #1782
- Allow assumptions in is_positive etc - #1795, #1765, #1793
- Add is_polynomial, is_complex, is_integer, is_finite, is_infinite, is_nonzero, is_odd, is_even, is_rational and is_irrational - #1747, #1753, #1775, #1764, #1776, #1817, #1818
- Add optional local_parser_constants to Parser - #1773
- Add primorial, primepi function - #1762, #1771
- Add rewrite_as_sin - #1778
- Add floor, ceiling functions to parser - #1783
- Add logical operators to subs - #1797
- Add sup and inf for sets - #1813
- Add set of complex numbers - #1811
- Wrap add(vector) in C - #1829
Bug Fixes
- Check for libflint-arb as well as libarb - #1749
- Fixes segfault when parsing long expressions - #1805
- Fix compatibility with newer boost versions - #1803
- fix naming of llvm intrinsics - #1751
- Mark some RCP functions as const - #1756
- Support parsing unary plus (fixes #1720) - #1767
- Simplify floor(constant + integer) to integer - #1763
- Add Assumptions class - #1759
- Better symbols for number sets in LaTeX printing - #1760
- Fix rationals not being canonicalized with boost - #1788
- LLVM intrinsics fixes for new LLVM versions - #1810, #1823
- Use SymEngine exceptions in LLVMVisitor - #1824
- Fix building with cotire - #1825
- Fix exp(x + num)/exp(x) not evaluating - #1828
- Fix exception handling for basic_diff - #1830
People who contributed to the release:
- Jialin Ma
- Naveen Sai
- Liam Keegan
- Isuru Fernando
- Peter Schmitteckert
- Rikard Nordgren
- Alec Edgington
- Björn Dahlgren
- Tom Barrett
SymEngine v0.7.0
Breaking changes
- Rename typeID enums to avoid conflicts - #1656
Build system changes
- Support LLVM 11 - #1678, - #1691
- Support Apple Silicon - #1735
- Allow using symengine as a subdirectory in other CMake projects - #1670
- Partial support for Oracle Development Studio - #1657
New Features
- Add Float & LongDouble LLVMVisitors to cwrapper - #1645
- Add is_positive_definite for DenseMatrix - #1710
- Add set of Rationals - #1713
- Add trace for DenseMatrix - #1706
- Add tests for diagonal dominance for DenseMatrix - #1707
- Add is_positive, is_nonpositive, is_negative and is_nonnegative - #1705
- Add test methods for zero, real, diagonal, symmetric and hermitian matrices - #1703
- Add tribool type and update is_zero to return tribool - #1698
- Add elementwise_mul_matrix method for Dense and CSR matrices - #1693
- Add Integers set - #1695
- Add conjugate, conjugate_transpose and is_square for matrices - #1690
- Add function_symbols() method to get all function_symbols - #1687
- Add Reals set - #1686
- Parse atan2 in the string parser - #1664
- Add UnevaluatedExpr - #1641
Bug Fixes
- Fix a segfault in lambda_double.h - #1734
- Fix LambdaRealDoubleVisitor use-after-free issue - #1722
- Fix subs with coefficient in Mul - #1655
- Fix union of FiniteSet containing symbols and Interval - #1650
- Faster determinant and Eigen Value Calculation - #1651
- Fix a crash in CSRMatrix - #1700
- Fix checking for float zero in matrix operations - #1683
- Fix some warnings on windows - #1663
- Fix return value of basic_solve_poly - #1635
- Add support for newer versions of binutils - #1714
People who contributed to the release:
- Jialin Ma
- Isuru Fernando
- Björn Dahlgren
- Rikard Nordgren
- Ondřej Čertík
- Will Simmons
- myd7349
- Fabian Köhler
SymEngine v0.6.0
Bug Fixes
- Use opt_level in code generation - #1615
- Add const qualifier to call method in LLVM visitors - #1619
- Update license for Bison parser code and cotire code - #1627, #1628
- Hide LLVM symbols in osx - #1629
- Fix linsolve segfault - #1632
Build system changes
- Support for LLVM 10 - #1636
New Functionality
- Add cancel method - #1625
- Add opt_level to some init calls - #1615
- Add Julia specialization for print calls - #1616
People who contributed to the release:
- Simon Stelter
- Isuru Fernando
- Roger Luo
- Björn Dahlgren
- Jogi Miglani
- Ondřej Čertík
- Jialin Ma
- Liam Keegan