Release Notes for 0.7.5 - wrat/sympy GitHub Wiki
These are the release notes for SymPy 0.7.5, which was released on February 22, 2014.
This version of SymPy has been tested on Python 2.6, 2.7, 3.2, 3.3, and PyPy.
Major changes
-
The version of mpmath included in SymPy has been updated to 0.18.
-
New routines for efficiently compute the dispersion of a polynomial or a pair thereof.
-
Fancy indexing of matrices is now provided, e.g.
A[:, [1, 2, 5]]
selects all rows and only 3 columns. -
Enumeration of multiset partitions is now based on an implementation of Algorithm 7.1.2.5M from Knuth's The Art of Computer Programming. The new version is much faster, and includes fast methods for enumerating only those partitions with a restricted range of sizes, and counting multiset partitions. (See the new file sympy.utilities.enumerative.py.)
-
distance
methods were added to Line and Ray to compute the shortest distance to them from a point. -
The
normal_lines
method was added to Ellipse to compute the lines from a point that strike the Ellipse at a normal angle. -
inv_quick
anddet_quick
were added as functions in solvers.py to facilitate fast solution of small symbolic matrices; their use in solve has reduced greatly the time needed to solve such systems. -
solve_univariate_inequality
has been added to sympy.solvers.inequalities.py. -
as_set
attribute for Relationals and Booleans has been added. -
Several classes and functions strictly associated with vector calculus were moved from
sympy.physics.mechanics
to a new packagesympy.physics.vector
. (PRs #2732 #2862 #2894) -
New implementation of the Airy functions
Ai
andBi
and their derivativesAi'
andBi'
(calledairyai
,airybi
,airyaiprime
andairybiprime
, respectively). Most of the usual features of SymPy special function are present. Notable exceptions are Gruntz limit computation helpers and meijerg special functions integration code. -
Euler-Lagrange equations (function
euler_equations
) in a new packagesympy.calculus
(PR #2431).
Minor changes
-
Some improvements to the gamma function.
-
generate_bell
now generates correct permutations for any number of elements. -
It is no longer necessary to provide
nargs
to objects subclassed from Function unless aneval
class method is not defined. (Ifeval
is defined, the number of arguments will be inferred from its signature.) -
geometric
Point
creation will be faster since simplification is done only on Floats -
Some improvements to the intersection method of the Ellipse.
-
solutions from solve of equations involving multiple log terms are more robust
-
idiff
can now return higher order derivatives -
Added
to_matrix()
method tosympy.physics.vector.Vector
andsympy.physics.dyadic.Dyadic
. (PR #2686). -
Printing improvements for
sympy.physics.vector
objects and mechanics printing. (PRs #2687, #2728, #2772, #2862, #2894) -
Functions with LaTeX symbols now print correct LaTeX. (PR #2772)
-
init_printing
has several new options, including a flagprint_builtin
to prevent SymPy printing of basic Python types (PR #2683), and flags to let you supply custom printers (PR #2894). -
improvements in evaluation of
imageset
for Intervals (PR #2723). -
Set properties to determine boundary and interior (PR #2744).
-
input to a function created by lambdify no longer needs to be flattened.
Backwards compatibility breaks and deprecations
-
the
submatrix
method of matrices was removed; access the functionality by providing slices or list of rows/columns to matrix directly, e.g.A[:, [1, 2]]
. -
Matrix([])
andMatrix([](/wrat/sympy/wiki/))
now both return a 0x0 matrix -
terms_gcd
no longer removes a -1.0 from expressions -
extract_multiplicatively
will not remove a negative Number from a positive one, so(4*x*y).extract_multiplicatively(-2*x)
will return None. -
the shape of the result from
M.cross(B)
now has the same shape as matrix M. -
The factorial of negative numbers is now
zoo
instead of0
. This is consistent with the definitionfactorial(n) = gamma(n + 1)
. -
1/0
returnszoo
, notoo
(PR #2813). -
zoo.is_number is True
(PR #2823). -
oo < I
raisesTypeError
, just as for finite numbers (PR #2734). -
1**oo == nan
instead of1
, better documentation for Pow class (PR #2606).
Authors
The following people contributed at least one patch to this release (names are given in alphabetical order by last name). A total of 34 people contributed to this release. People with a * by their names contributed a patch for the first time for this release; 11 people contributed for the first time for this release.
Thanks to everyone who contributed to this release!
- Tuomas Airaksinen
- Akshay*
- Shipra Banga*
- Francesco Bonazzi
- Raoul Bourquin
- Ondřej Čertík
- Pramod Ch*
- Björn Dahlgren
- Avichal Dayal*
- Edward*
- Gilbert Gede
- James Goppert*
- Alexey U. Gudchenko
- Harsh Gupta
- Randy Heydon
- hm
- Sachin Joglekar
- Sergey B Kirpichev
- Stephen Loo
- Aaron Meurer
- Jonathan Miller*
- Jason Moore
- Khagesh Patel
- rathmann
- Thilina Rathnayake
- Timothy Reluga
- Julien Rioux
- Matthew Rocklin
- Rajath S*
- Paul Scott*
- Buck Shlegeris*
- Chris Smith
- Paul Strickland*
- Ramana Venkata