Skip to content

Releases: symengine/symengine

SymEngine v0.11.2

07 Dec 16:43
c1fc32c
Compare
Choose a tag to compare

What's Changed

Bug Fixes

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

27 Sep 17:01
72a01e4
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.11.1

v0.11.0

27 Sep 16:43
a3867fc
Compare
Choose a tag to compare

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

Full Changelog: v0.10.1...v0.11.0

SymEngine v0.10.1

23 Mar 16:43
ef93156
Compare
Choose a tag to compare

This release fixes some compilation failures due to build system issues.
No new features or bug fixes in the release.

SymEngine v0.10.0

20 Mar 21:26
103bb7b
Compare
Choose a tag to compare

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

16 Feb 22:52
7b18808
Compare
Choose a tag to compare

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

06 Sep 17:47
e9cefb0
Compare
Choose a tag to compare

Bug Fixes

  • Fixes a compilation failure on MSVC2017

SymEngine v0.8.0

04 Sep 00:36
286e8ef
Compare
Choose a tag to compare

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

12 Mar 22:52
17de51f
Compare
Choose a tag to compare

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

10 Feb 22:17
d036928
Compare
Choose a tag to compare

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