Skip to content

Release Notes for 1.6

SymPy Bot edited this page Dec 14, 2019 · 14 revisions

These are the release notes for SymPy 1.6.

SymPy 1.6 has not been released yet.

This version of SymPy has been tested on Python 2.7, 3.5, 3.6, 3.7, 3.8 and PyPy. See our Python version support policy for more information on when we plan to drop support for older Python versions.

Install SymPy with

pip install -U sympy

or if you use Anaconda

conda install sympy


There are many changes in 1.6 (see below). Some of the highlights are

Please feel free to manually add any major changes for this release here, in addition to the automatic change listed below.

Backwards compatibility breaks and deprecations

Please manually add any backwards compatibility breaks or deprecations here, in addition to the automatic listing below.


  • combinatorics

    • Cycle class is no longer mutable and can be regarded as a sparse representation of a permutation (#17973 by @sachin-4099)
  • functions

    • Maximum recursion depth is no longer exceeded when subfactorial is called on large numbers (#17983 by @sachin-4099)
    • Copy edited the Special submodule to reflect the style guide for Google Season of Docs. (#17844 by @lglattly)
  • matrices

    • Fixed FunctionMatrix.replace raising TypeError: 'property' object is not iterable when the function is not a Lambda instance. (#17998 by @sylee957)

    • FunctionMatrix and ElementwiseApplyFunction will always wrap the function inside Lambda. (#17998 by @sylee957)

    • Cleaned up unnecessary slowdown for MatMul.doit when it contains explicit matrices. (#17872 by @sylee957)

    • Fixed MatPow(Inverse(A), 3) and Inverse(MatPow(A, 3)) canonicalized into different objects. (#17872 by @sylee957)

  • parsing

  • polys

    • Added KSY_precondition() to test for the Kapur-Saxena-Yang precondition (#17974 by @ctsiagkalis)

    • Added get_KSY_Dixon_resultant() and auxiliary methods for computing the KSY approach to Dixon's Resultant (#17974 by @ctsiagkalis)

  • printing

  • sets

    • The logic for the Set.is_subset method is made correct. This prevents incorrectly returning True or False but also means that the method returns None more often in cases where a determination should be possible. (#17848 by @oscarbenjamin)

    • There is a new is_finiteset property for sets which is a fuzzy bool indicating whether a set has a finite number of elements. (#17848 by @oscarbenjamin)

  • solvers

    • Copy edited to reflect the style guide for Google Season of Docs. (#17921 by @lglattly)
  • tensor

    • .dummy_fmt changed to .dummy_name (#17518 by @drybalka)

    • metric parameter for TensorIndexType is now split into 2 optional parameters metric_name and metric_symmetry (#17518 by @drybalka)

    • TensorIndexType.dim is now a symbol and not None (#17518 by @drybalka)

  • other

    • updated the README.rst and doc/README.rst with links to the SymPy Documentation Style Guide. (#17922 by @lglattly)


Clone this wiki locally
You can’t perform that action at this time.