SciPy函数库在NumPy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数
SciPy函数库在NumPy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。 tylerjereddy released this
SciPy 1.3.0 Release Notes
SciPy 1.3.0 is the culmination of 5 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been some API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.3.x branch, and on adding new features on the master branch.
This release requires Python 3.5+ and NumPy 1.13.3 or greater.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
Highlights of this release
- Three new
stats
functions, a rewrite ofpearsonr
, and an exact
computation of the Kolmogorov-Smirnov two-sample test - A new Cython API for bounded scalar-function root-finders in
scipy.optimize
- Substantial
CSR
andCSC
sparse matrix indexing performance
improvements - Added support for interpolation of rotations with continuous angular
rate and acceleration inRotationSpline
New features
scipy.interpolate
improvements
A new class CubicHermiteSpline
is introduced. It is a piecewise-cubic
interpolator which matches observed values and first derivatives. Existing
cubic interpolators CubicSpline
, PchipInterpolator
and
Akima1DInterpolator
were made subclasses of CubicHermiteSpline
.
scipy.io
improvements
For the Attribute-Relation File Format (ARFF) scipy.io.arff.loadarff
now supports relational attributes.
scipy.io.mmread
can now parse Matrix Market format files with empty lines.
scipy.linalg
improvements
Added wrappers for ?syconv
routines, which convert a symmetric matrix
given by a triangular matrix factorization into two matrices and vice versa.
scipy.linalg.clarkson_woodruff_transform
now uses an algorithm that leverages
sparsity. This may provide a 60-90 percent speedup for dense input matrices.
Truly sparse input matrices should also benefit from the improved sketch
algorithm, which now correctly runs in O(nnz(A))
time.
Added new functions to calculate symmetric Fiedler matrices and
Fiedler companion matrices, named scipy.linalg.fiedler
and
scipy.linalg.fiedler_companion
, respectively. These may be used
for root finding.
scipy.ndimage
improvements
Gaussian filter performances may improve by an order of magnitude in
some cases, thanks to removal of a dependence on np.polynomial
. This
may impact scipy.ndimage.gaussian_filter
for example.
scipy.optimize
improvements
The scipy.optimize.brute
minimizer obtained a new keyword workers
, which
can be used to parallelize computation.
A Cython API for bounded scalar-function root-finders in scipy.optimize
is available in a new module scipy.optimize.cython_optimize
via cimport
.
This API may be used with nogil
and prange
to loop
over an array of function arguments to solve for an array of roots more
quickly than with pure Python.
'interior-point'
is now the default method for linprog
, and
'interior-point'
now uses SuiteSparse for sparse problems when the
required scikits (scikit-umfpack and scikit-sparse) are available.
On benchmark problems (gh-10026), execution time reductions by factors of 2-3
were typical. Also, a new method='revised simplex'
has been added.
It is not as fast or robust as method='interior-point'
, but it is a faster,
more robust, and equally accurate substitute for the legacy
method='simplex'
.
differential_evolution
can now use a Bounds
class to specify the
bounds for the optimizing argument of a function.
scipy.optimize.dual_annealing
performance improvements related to
vectorisation of some internal code.
scipy.signal
improvements
Two additional methods of discretization are now supported by
scipy.signal.cont2discrete
: impulse
and foh
.
scipy.signal.firls
now uses faster solvers
scipy.signal.detrend
now has a lower physical memory footprint in some
cases, which may be leveraged using the new overwrite_data
keyword argument
scipy.signal.firwin
pass_zero
argument now accepts new string arguments
that allow specification of the desired filter type: 'bandpass'
,
'lowpass'
, 'highpass'
, and 'bandstop'
scipy.signal.sosfilt
may have improved performance due to lower retention
of the global interpreter lock (GIL) in algorithm
scipy.sparse
improvements
A new keyword was added to csgraph.dijsktra
that
allows users to query the shortest path to ANY of the passed in indices,
as opposed to the shortest path to EVERY passed index.
scipy.sparse.linalg.lsmr
performance has been improved by roughly 10 percent
on large problems
Improved performance and reduced physical memory footprint of the algorithm
used by scipy.sparse.linalg.lobpcg
CSR
and CSC
sparse matrix fancy indexing performance has been
improved substantially
scipy.spatial
improvements
scipy.spatial.ConvexHull
now has a good
attribute that can be used
alongsize the QGn
Qhull options to determine which external facets of a
convex hull are visible from an external query point.
scipy.spatial.cKDTree.query_ball_point
has been modernized to use some newer
Cython features, including GIL handling and exception translation. An issue
with return_sorted=True
and scalar queries was fixed, and a new mode named
return_length
was added. return_length
only computes the length of the
returned indices list instead of allocating the array every time.
scipy.spatial.transform.RotationSpline
has been added to enable interpolation
of rotations with continuous angular rates and acceleration
scipy.stats
improvements
Added a new function to compute the Epps-Singleton test statistic,
scipy.stats.epps_singleton_2samp
, which can be applied to continuous and
discrete distributions.
New functions scipy.stats.median_absolute_deviation
and scipy.stats.gstd
(geometric standard deviation) were added. The scipy.stats.combine_pvalues
method now supports pearson
, tippett
and mudholkar_george
pvalue
combination methods.
The scipy.stats.ortho_group
and scipy.stats.special_ortho_group
rvs(dim)
functions' algorithms were updated from a O(dim^4)
implementation to a O(dim^3)
which gives large speed improvements
for dim>100
.
A rewrite of scipy.stats.pearsonr
to use a more robust algorithm,
provide meaningful exceptions and warnings on potentially pathological input,
and fix at least five separate reported issues in the original implementation.
Improved the precision of hypergeom.logcdf
and hypergeom.logsf
.
Added exact computation for Kolmogorov-Smirnov (KS) two-sample test, replacing
the previously approximate computation for the two-sided test stats.ks_2samp
.
Also added a one-sided, two-sample KS test, and a keyword alternative
to
stats.ks_2samp
.
Backwards incompatible changes
scipy.interpolate
changes
Functions from scipy.interpolate
(spleval
, spline
, splmake
,
and spltopp
) and functions from scipy.misc
(bytescale
,
fromimage
, imfilter
, imread
, imresize
, imrotate
,
imsave
, imshow
, toimage
) have been removed. The former set has
been deprecated since v0.19.0 and the latter has been deprecated since v1.0.0.
Similarly, aliases from scipy.misc
(comb
, factorial
,
factorial2
, factorialk
, logsumexp
, pade
, info
, source
,
who
) which have been deprecated since v1.0.0 are removed.
SciPy documentation for v1.1.0 <https://docs.scipy.org/doc/scipy-1.1.0/reference/misc.html>
__
can be used to track the new import locations for the relocated functions.
scipy.linalg
changes
For pinv
, pinv2
, and pinvh
, the default cutoff values are changed
for consistency (see the docs for the actual values).
scipy.optimize
changes
The default method for linprog
is now 'interior-point'
. The method's
robustness and speed come at a cost: solutions may not be accurate to
machine precision or correspond with a vertex of the polytope defined
by the constraints. To revert to the original simplex method,
include the argument method='simplex'
.
scipy.stats
changes
Previously, ks_2samp(data1, data2)
would run a two-sided test and return
the approximated p-value. The new signature, ks_2samp(data1, data2, alternative="two-sided", method="auto")
, still runs the two-sided test by
default but returns the exact p-value for small samples and the approximated
value for large samples. method="asymp"
would be equivalent to the
old version but auto
is the better choice.
Other changes
Our tutorial has been expanded with a new section on global optimizers
There has been a rework of the stats.distributions
tutorials.
scipy.optimize
now correctly sets the convergence flag of the result to
CONVERR
, a convergence error, for bounded scalar-function root-finders
if the maximum iterations has been exceeded, disp
is false, and
full_output
is true.
scipy.optimize.curve_fit
no longer fails if xdata
and ydata
dtypes
differ; they are both now automatically cast to float64
.
scipy.ndimage
functions including binary_erosion
, binary_closing
, and
binary_dilation
now require an integer value for the number of iterations,
which alleviates a number of reported issues.
Fixed normal approximation in case zero_method == "pratt"
in
scipy.stats.wilcoxon
.
Fixes for incorrect probabilities, broadcasting issues and thread-safety
related to stats distributions setting member variables inside _argcheck()
.
scipy.optimize.newton
now correctly raises a RuntimeError
, when default
arguments are used, in the case that a derivative of value zero is obtained,
which is a special case of failing to converge.
A draft toolchain roadmap is now available, laying out a compatibility plan
including Python versions, C standards, and NumPy versions.
Authors
- ananyashreyjain +
- ApamNapat +
- Scott Calabrese Barton +
- Christoph Baumgarten
- Peter Bell +
- Jacob Blomgren +
- Doctor Bob +
- Mana Borwornpadungkitti +
- Matthew Brett
- Evgeni Burovski
- CJ Carey
- Vega Theil Carstensen +
- Robert Cimrman
- Forrest Collman +
- Pietro Cottone +
- David +
- Idan David +
- Christoph Deil
- Dieter Werthmüller
- Conner DiPaolo +
- Dowon
- Michael Dunphy +
- Peter Andreas Entschev +
- Gökçen Eraslan +
- Johann Faouzi +
- Yu Feng
- Piotr Figiel +
- Matthew H Flamm
- Franz Forstmayr +
- Christoph Gohlke
- Richard Janis Goldschmidt +
- Ralf Gommers
- Lars Grueter
- Sylvain Gubian
- Matt Haberland
- Yaroslav Halchenko
- Charles Harris
- Lindsey Hiltner
- JakobStruye +
- He Jia +
- Jwink3101 +
- Greg Kiar +
- Julius Bier Kirkegaard
- John Kirkham +
- Thomas Kluyver
- Vladimir Korolev +
- Joseph Kuo +
- Michael Lamparski +
- Eric Larson
- Denis Laxalde
- Katrin Leinweber
- Jesse Livezey
- ludcila +
- Dhruv Madeka +
- Magnus +
- Nikolay Mayorov
- Mark Mikofski
- Jarrod Millman
- Markus Mohrhard +
- Eric Moore
- Andrew Nelson
- Aki Nishimura +
- OGordon100 +
- Petar Mlinarić +
- Stefan Peterson
- Matti Picus +
- Ilhan Polat
- Aaron Pries +
- Matteo Ravasi +
- Tyler Reddy
- Ashton Reimer +
- Joscha Reimer
- rfezzani +
- Riadh +
- Lucas Roberts
- Heshy Roskes +
- Mirko Scholz +
- Taylor D. Scott +
- Srikrishna Sekhar +
- Kevin Sheppard +
- Sourav Singh
- skjerns +
- Kai Striega
- SyedSaifAliAlvi +
- Gopi Manohar T +
- Albert Thomas +
- Timon +
- Paul van Mulbregt
- Jacob Vanderplas
- Daniel Vargas +
- Pauli Virtanen
- VNMabus +
- Stefan van der Walt
- Warren Weckesser
- Josh Wilson
- Nate Yoder +
- Roman Yurchak
A total of 97 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
Assets
22
tylerjereddy released this
SciPy 1.3.0 Release Notes
Note: Scipy 1.3.0 is not released yet!
SciPy 1.3.0 is the culmination of 5 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been some API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.3.x branch, and on adding new features on the master branch.
This release requires Python 3.5+ and NumPy 1.13.3 or greater.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
Highlights of this release
- Three new
stats
functions, a rewrite ofpearsonr
, and an exact
computation of the Kolmogorov-Smirnov two-sample test - A new Cython API for bounded scalar-function root-finders in
scipy.optimize
- Substantial
CSR
andCSC
sparse matrix indexing performance
improvements - Added support for interpolation of rotations with continuous angular
rate and acceleration inRotationSpline
New features
scipy.interpolate
improvements
A new class CubicHermiteSpline
is introduced. It is a piecewise-cubic
interpolator which matches observed values and first derivatives. Existing
cubic interpolators CubicSpline
, PchipInterpolator
and
Akima1DInterpolator
were made subclasses of CubicHermiteSpline
.
scipy.io
improvements
For the Attribute-Relation File Format (ARFF) scipy.io.arff.loadarff
now supports relational attributes.
scipy.io.mmread
can now parse Matrix Market format files with empty lines.
scipy.linalg
improvements
Added wrappers for ?syconv
routines, which convert a symmetric matrix
given by a triangular matrix factorization into two matrices and vice versa.
scipy.linalg.clarkson_woodruff_transform
now uses an algorithm that leverages
sparsity. This may provide a 60-90 percent speedup for dense input matrices.
Truly sparse input matrices should also benefit from the improved sketch
algorithm, which now correctly runs in O(nnz(A))
time.
Added new functions to calculate symmetric Fiedler matrices and
Fiedler companion matrices, named scipy.linalg.fiedler
and
scipy.linalg.fiedler_companion
, respectively. These may be used
for root finding.
scipy.ndimage
improvements
Gaussian filter performances may improve by an order of magnitude in
some cases, thanks to removal of a dependence on np.polynomial
. This
may impact scipy.ndimage.gaussian_filter
for example.
scipy.optimize
improvements
The scipy.optimize.brute
minimizer obtained a new keyword workers
, which
can be used to parallelize computation.
A Cython API for bounded scalar-function root-finders in scipy.optimize
is available in a new module scipy.optimize.cython_optimize
via cimport
.
This API may be used with nogil
and prange
to loop
over an array of function arguments to solve for an array of roots more
quickly than with pure Python.
'interior-point'
is now the default method for linprog
, and
'interior-point'
now uses SuiteSparse for sparse problems when the
required scikits (scikit-umfpack and scikit-sparse) are available.
On benchmark problems (gh-10026), execution time reductions by factors of 2-3
were typical. Also, a new method='revised simplex'
has been added.
It is not as fast or robust as method='interior-point'
, but it is a faster,
more robust, and equally accurate substitute for the legacy
method='simplex'
.
differential_evolution
can now use a Bounds
class to specify the
bounds for the optimizing argument of a function.
scipy.optimize.dual_annealing
performance improvements related to
vectorisation of some internal code.
scipy.signal
improvements
Two additional methods of discretization are now supported by
scipy.signal.cont2discrete
: impulse
and foh
.
scipy.signal.firls
now uses faster solvers
scipy.signal.detrend
now has a lower physical memory footprint in some
cases, which may be leveraged using the new overwrite_data
keyword argument
scipy.signal.firwin
pass_zero
argument now accepts new string arguments
that allow specification of the desired filter type: 'bandpass'
,
'lowpass'
, 'highpass'
, and 'bandstop'
scipy.signal.sosfilt
may have improved performance due to lower retention
of the global interpreter lock (GIL) in algorithm
scipy.sparse
improvements
A new keyword was added to csgraph.dijsktra
that
allows users to query the shortest path to ANY of the passed in indices,
as opposed to the shortest path to EVERY passed index.
scipy.sparse.linalg.lsmr
performance has been improved by roughly 10 percent
on large problems
Improved performance and reduced physical memory footprint of the algorithm
used by scipy.sparse.linalg.lobpcg
CSR
and CSC
sparse matrix fancy indexing performance has been
improved substantially
scipy.spatial
improvements
scipy.spatial.ConvexHull
now has a good
attribute that can be used
alongsize the QGn
Qhull options to determine which external facets of a
convex hull are visible from an external query point.
scipy.spatial.cKDTree.query_ball_point
has been modernized to use some newer
Cython features, including GIL handling and exception translation. An issue
with return_sorted=True
and scalar queries was fixed, and a new mode named
return_length
was added. return_length
only computes the length of the
returned indices list instead of allocating the array every time.
scipy.spatial.transform.RotationSpline
has been added to enable interpolation
of rotations with continuous angular rates and acceleration
scipy.stats
improvements
Added a new function to compute the Epps-Singleton test statistic,
scipy.stats.epps_singleton_2samp
, which can be applied to continuous and
discrete distributions.
New functions scipy.stats.median_absolute_deviation
and scipy.stats.gstd
(geometric standard deviation) were added. The scipy.stats.combine_pvalues
method now supports pearson
, tippett
and mudholkar_george
pvalue
combination methods.
The scipy.stats.ortho_group
and scipy.stats.special_ortho_group
rvs(dim)
functions' algorithms were updated from a O(dim^4)
implementation to a O(dim^3)
which gives large speed improvements
for dim>100
.
A rewrite of scipy.stats.pearsonr
to use a more robust algorithm,
provide meaningful exceptions and warnings on potentially pathological input,
and fix at least five separate reported issues in the original implementation.
Improved the precision of hypergeom.logcdf
and hypergeom.logsf
.
Added exact computation for Kolmogorov-Smirnov (KS) two-sample test, replacing
the previously approximate computation for the two-sided test stats.ks_2samp
.
Also added a one-sided, two-sample KS test, and a keyword alternative
to
stats.ks_2samp
.
Backwards incompatible changes
scipy.interpolate
changes
Functions from scipy.interpolate
(spleval
, spline
, splmake
,
and spltopp
) and functions from scipy.misc
(bytescale
,
fromimage
, imfilter
, imread
, imresize
, imrotate
,
imsave
, imshow
, toimage
) have been removed. The former set has
been deprecated since v0.19.0 and the latter has been deprecated since v1.0.0.
Similarly, aliases from scipy.misc
(comb
, factorial
,
factorial2
, factorialk
, logsumexp
, pade
, info
, source
,
who
) which have been deprecated since v1.0.0 are removed.
SciPy documentation for v1.1.0 <https://docs.scipy.org/doc/scipy-1.1.0/reference/misc.html>
__
can be used to track the new import locations for the relocated functions.
scipy.linalg
changes
For pinv
, pinv2
, and pinvh
, the default cutoff values are changed
for consistency (see the docs for the actual values).
scipy.stats
changes
Previously, ks_2samp(data1, data2)
would run a two-sided test and return
the approximated p-value. The new signature, ks_2samp(data1, data2, alternative="two-sided", method="auto")
, still runs the two-sided test by
default but returns the exact p-value for small samples and the approximated
value for large samples. method="asymp"
would be equivalent to the
old version but auto
is the better choice.
Other changes
Our tutorial has been expanded with a new section on global optimizers
There has been a rework of the stats.distributions
tutorials.
scipy.optimize
now correctly sets the convergence flag of the result to
CONVERR
, a convergence error, for bounded scalar-function root-finders
if the maximum iterations has been exceeded, disp
is false, and
full_output
is true.
scipy.optimize.curve_fit
no longer fails if xdata
and ydata
dtypes
differ; they are both now automatically cast to float64
.
scipy.ndimage
functions including binary_erosion
, binary_closing
, and
binary_dilation
now require an integer value for the number of iterations,
which alleviates a number of reported issues.
Fixed normal approximation in case zero_method == "pratt"
in
scipy.stats.wilcoxon
.
Fixes for incorrect probabilities, broadcasting issues and thread-safety
related to stats distributions setting member variables inside _argcheck()
.
scipy.optimize.newton
now correctly raises a RuntimeError
, when default
arguments are used, in the case that a derivative of value zero is obtained,
which is a special case of failing to converge.
A draft toolchain roadmap is now available, laying out a compatibility plan
including Python versions, C standards, and NumPy versions.
Authors
- ananyashreyjain +
- ApamNapat +
- Scott Calabrese Barton +
- Christoph Baumgarten
- Peter Bell +
- Jacob Blomgren +
- Doctor Bob +
- Mana Borwornpadungkitti +
- Matthew Brett
- Evgeni Burovski
- CJ Carey
- Vega Theil Carstensen +
- Robert Cimrman
- Forrest Collman +
- Pietro Cottone +
- David +
- Idan David +
- Christoph Deil
- Dieter Werthmüller
- Conner DiPaolo +
- Dowon
- Michael Dunphy +
- Peter Andreas Entschev +
- Gökçen Eraslan +
- Johann Faouzi +
- Yu Feng
- Piotr Figiel +
- Matthew H Flamm
- Franz Forstmayr +
- Christoph Gohlke
- Richard Janis Goldschmidt +
- Ralf Gommers
- Lars Grueter
- Sylvain Gubian
- Matt Haberland
- Yaroslav Halchenko
- Charles Harris
- Lindsey Hiltner
- JakobStruye +
- He Jia +
- Jwink3101 +
- Greg Kiar +
- Julius Bier Kirkegaard
- John Kirkham +
- Thomas Kluyver
- Vladimir Korolev +
- Joseph Kuo +
- Michael Lamparski +
- Eric Larson
- Denis Laxalde
- Katrin Leinweber
- Jesse Livezey
- ludcila +
- Dhruv Madeka +
- Magnus +
- Nikolay Mayorov
- Mark Mikofski
- Jarrod Millman
- Markus Mohrhard +
- Eric Moore
- Andrew Nelson
- Aki Nishimura +
- OGordon100 +
- Petar Mlinarić +
- Stefan Peterson
- Matti Picus +
- Ilhan Polat
- Aaron Pries +
- Matteo Ravasi +
- Tyler Reddy
- Ashton Reimer +
- Joscha Reimer
- rfezzani +
- Riadh +
- Lucas Roberts
- Heshy Roskes +
- Mirko Scholz +
- Taylor D. Scott +
- Srikrishna Sekhar +
- Kevin Sheppard +
- Sourav Singh
- skjerns +
- Kai Striega
- SyedSaifAliAlvi +
- Gopi Manohar T +
- Albert Thomas +
- Timon +
- Paul van Mulbregt
- Jacob Vanderplas
- Daniel Vargas +
- Pauli Virtanen
- VNMabus +
- Stefan van der Walt
- Warren Weckesser
- Josh Wilson
- Nate Yoder +
- Roman Yurchak
A total of 97 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
Assets
22
tylerjereddy released this
SciPy 1.3.0 Release Notes
Note: Scipy 1.3.0 is not released yet!
SciPy 1.3.0 is the culmination of 5 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been some API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.3.x branch, and on adding new features on the master branch.
This release requires Python 3.5+ and NumPy 1.13.3 or greater.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
Highlights of this release
- Three new
stats
functions, a rewrite ofpearsonr
, and an exact
computation of the Kolmogorov-Smirnov two-sample test - A new Cython API for bounded scalar-function root-finders in
scipy.optimize
- Substantial
CSR
andCSC
sparse matrix indexing performance
improvements - Added support for interpolation of rotations with continuous angular
rate and acceleration inRotationSpline
New features
scipy.interpolate
improvements
A new class CubicHermiteSpline
is introduced. It is a piecewise-cubic
interpolator which matches observed values and first derivatives. Existing
cubic interpolators CubicSpline
, PchipInterpolator
and
Akima1DInterpolator
were made subclasses of CubicHermiteSpline
.
scipy.io
improvements
For the Attribute-Relation File Format (ARFF) scipy.io.arff.loadarff
now supports relational attributes.
scipy.io.mmread
can now parse Matrix Market format files with empty lines.
scipy.linalg
improvements
Added wrappers for ?syconv
routines, which convert a symmetric matrix
given by a triangular matrix factorization into two matrices and vice versa.
scipy.linalg.clarkson_woodruff_transform
now uses an algorithm that leverages
sparsity. This may provide a 60-90 percent speedup for dense input matrices.
Truly sparse input matrices should also benefit from the improved sketch
algorithm, which now correctly runs in O(nnz(A))
time.
Added new functions to calculate symmetric Fiedler matrices and
Fiedler companion matrices, named scipy.linalg.fiedler
and
scipy.linalg.fiedler_companion
, respectively. These may be used
for root finding.
scipy.ndimage
improvements
Gaussian filter performances may improve by an order of magnitude in
some cases, thanks to removal of a dependence on np.polynomial
. This
may impact scipy.ndimage.gaussian_filter
for example.
scipy.optimize
improvements
The scipy.optimize.brute
minimizer obtained a new keyword workers
, which
can be used to parallelize computation.
A Cython API for bounded scalar-function root-finders in scipy.optimize
is available in a new module scipy.optimize.cython_optimize
via cimport
.
This API may be used with nogil
and prange
to loop
over an array of function arguments to solve for an array of roots more
quickly than with pure Python.
'interior-point'
is now the default method for linprog
, and
'interior-point'
now uses SuiteSparse for sparse problems when the
required scikits (scikit-umfpack and scikit-sparse) are available.
On benchmark problems (gh-10026), execution time reductions by factors of 2-3
were typical. Also, a new method='revised simplex'
has been added.
It is not as fast or robust as method='interior-point'
, but it is a faster,
more robust, and equally accurate substitute for the legacy
method='simplex'
.
differential_evolution
can now use a Bounds
class to specify the
bounds for the optimizing argument of a function.
scipy.optimize.dual_annealing
performance improvements related to
vectorisation of some internal code.
scipy.signal
improvements
Two additional methods of discretization are now supported by
scipy.signal.cont2discrete
: impulse
and foh
.
scipy.signal.firls
now uses faster solvers
scipy.signal.detrend
now has a lower physical memory footprint in some
cases, which may be leveraged using the new overwrite_data
keyword argument
scipy.signal.firwin
pass_zero
argument now accepts new string arguments
that allow specification of the desired filter type: 'bandpass'
,
'lowpass'
, 'highpass'
, and 'bandstop'
scipy.signal.sosfilt
may have improved performance due to lower retention
of the global interpreter lock (GIL) in algorithm
scipy.sparse
improvements
A new keyword was added to csgraph.dijsktra
that
allows users to query the shortest path to ANY of the passed in indices,
as opposed to the shortest path to EVERY passed index.
scipy.sparse.linalg.lsmr
performance has been improved by roughly 10 percent
on large problems
Improved performance and reduced physical memory footprint of the algorithm
used by scipy.sparse.linalg.lobpcg
CSR
and CSC
sparse matrix fancy indexing performance has been
improved substantially
scipy.spatial
improvements
scipy.spatial.ConvexHull
now has a good
attribute that can be used
alongsize the QGn
Qhull options to determine which external facets of a
convex hull are visible from an external query point.
scipy.spatial.cKDTree.query_ball_point
has been modernized to use some newer
Cython features, including GIL handling and exception translation. An issue
with return_sorted=True
and scalar queries was fixed, and a new mode named
return_length
was added. return_length
only computes the length of the
returned indices list instead of allocating the array every time.
scipy.spatial.transform.RotationSpline
has been added to enable interpolation
of rotations with continuous angular rates and acceleration
scipy.stats
improvements
Added a new function to compute the Epps-Singleton test statistic,
scipy.stats.epps_singleton_2samp
, which can be applied to continuous and
discrete distributions.
New functions scipy.stats.median_absolute_deviation
and scipy.stats.gstd
(geometric standard deviation) were added. The scipy.stats.combine_pvalues
method now supports pearson
, tippett
and mudholkar_george
pvalue
combination methods.
The scipy.stats.ortho_group
and scipy.stats.special_ortho_group
rvs(dim)
functions' algorithms were updated from a O(dim^4)
implementation to a O(dim^3)
which gives large speed improvements
for dim>100
.
A rewrite of scipy.stats.pearsonr
to use a more robust algorithm,
provide meaningful exceptions and warnings on potentially pathological input,
and fix at least five separate reported issues in the original implementation.
Improved the precision of hypergeom.logcdf
and hypergeom.logsf
.
Added exact computation for Kolmogorov-Smirnov (KS) two-sample test, replacing
the previously approximate computation for the two-sided test stats.ks_2samp
.
Also added a one-sided, two-sample KS test, and a keyword alternative
to
stats.ks_2samp
.
Backwards incompatible changes
scipy.interpolate
changes
Functions from scipy.interpolate
(spleval
, spline
, splmake
,
and spltopp
) and functions from scipy.misc
(bytescale
,
fromimage
, imfilter
, imread
, imresize
, imrotate
,
imsave
, imshow
, toimage
) have been removed. The former set has
been deprecated since v0.19.0 and the latter has been deprecated since v1.0.0.
Similarly, aliases from scipy.misc
(comb
, factorial
,
factorial2
, factorialk
, logsumexp
, pade
, info
, source
,
who
) which have been deprecated since v1.0.0 are removed.
SciPy documentation for v1.1.0 <https://docs.scipy.org/doc/scipy-1.1.0/reference/misc.html>
__
can be used to track the new import locations for the relocated functions.
scipy.linalg
changes
For pinv
, pinv2
, and pinvh
, the default cutoff values are changed
for consistency (see the docs for the actual values).
scipy.stats
changes
Previously, ks_2samp(data1, data2)
would run a two-sided test and return
the approximated p-value. The new signature, ks_2samp(data1, data2, alternative="two-sided", method="auto")
, still runs the two-sided test by
default but returns the exact p-value for small samples and the approximated
value for large samples. method="asymp"
would be equivalent to the
old version but auto
is the better choice.
Other changes
Our tutorial has been expanded with a new section on global optimizers
There has been a rework of the stats.distributions
tutorials.
scipy.optimize
now correctly sets the convergence flag of the result to
CONVERR
, a convergence error, for bounded scalar-function root-finders
if the maximum iterations has been exceeded, disp
is false, and
full_output
is true.
scipy.optimize.curve_fit
no longer fails if xdata
and ydata
dtypes
differ; they are both now automatically cast to float64
.
scipy.ndimage
functions including binary_erosion
, binary_closing
, and
binary_dilation
now require an integer value for the number of iterations,
which alleviates a number of reported issues.
Fixed normal approximation in case zero_method == "pratt"
in
scipy.stats.wilcoxon
.
Fixes for incorrect probabilities, broadcasting issues and thread-safety
related to stats distributions setting member variables inside _argcheck()
.
scipy.optimize.newton
now correctly raises a RuntimeError
, when default
arguments are used, in the case that a derivative of value zero is obtained,
which is a special case of failing to converge.
A draft toolchain roadmap is now available, laying out a compatibility plan
including Python versions, C standards, and NumPy versions.
Authors
- ananyashreyjain +
- ApamNapat +
- Scott Calabrese Barton +
- Christoph Baumgarten
- Peter Bell +
- Jacob Blomgren +
- Doctor Bob +
- Mana Borwornpadungkitti +
- Matthew Brett
- Evgeni Burovski
- CJ Carey
- Vega Theil Carstensen +
- Robert Cimrman
- Forrest Collman +
- Pietro Cottone +
- David +
- Idan David +
- Christoph Deil
- Dieter Werthmüller
- Conner DiPaolo +
- Dowon
- Michael Dunphy +
- Peter Andreas Entschev +
- Gökçen Eraslan +
- Johann Faouzi +
- Yu Feng
- Piotr Figiel +
- Matthew H Flamm
- Franz Forstmayr +
- Christoph Gohlke
- Richard Janis Goldschmidt +
- Ralf Gommers
- Lars Grueter
- Sylvain Gubian
- Matt Haberland
- Yaroslav Halchenko
- Charles Harris
- Lindsey Hiltner
- JakobStruye +
- He Jia +
- Jwink3101 +
- Greg Kiar +
- Julius Bier Kirkegaard
- John Kirkham +
- Thomas Kluyver
- Vladimir Korolev +
- Joseph Kuo +
- Michael Lamparski +
- Eric Larson
- Denis Laxalde
- Katrin Leinweber
- Jesse Livezey
- ludcila +
- Dhruv Madeka +
- Magnus +
- Nikolay Mayorov
- Mark Mikofski
- Jarrod Millman
- Markus Mohrhard +
- Eric Moore
- Andrew Nelson
- Aki Nishimura +
- OGordon100 +
- Petar Mlinarić +
- Stefan Peterson
- Matti Picus +
- Ilhan Polat
- Aaron Pries +
- Matteo Ravasi +
- Tyler Reddy
- Ashton Reimer +
- Joscha Reimer
- rfezzani +
- Riadh +
- Lucas Roberts
- Heshy Roskes +
- Mirko Scholz +
- Taylor D. Scott +
- Srikrishna Sekhar +
- Kevin Sheppard +
- Sourav Singh
- skjerns +
- Kai Striega
- SyedSaifAliAlvi +
- Gopi Manohar T +
- Albert Thomas +
- Timon +
- Paul van Mulbregt
- Jacob Vanderplas
- Daniel Vargas +
- Pauli Virtanen
- VNMabus +
- Stefan van der Walt
- Warren Weckesser
- Josh Wilson
- Nate Yoder +
- Roman Yurchak
A total of 97 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
Assets
22
tylerjereddy released this
SciPy 1.2.1 Release Notes
SciPy 1.2.1
is a bug-fix release with no new features compared to 1.2.0
.
Most importantly, it solves the issue that 1.2.0
cannot be installed
from source on Python 2.7
because of non-ASCII character issues.
It is also notable that SciPy 1.2.1
wheels were built with OpenBLAS
0.3.5.dev
, which may alleviate some linear algebra issues observed
in SciPy 1.2.0
.
Authors
- Eric Larson
- Mark Mikofski
- Evgeni Burovski
- Ralf Gommers
- Eric Moore
- Tyler Reddy
Assets
34
tylerjereddy released this
Assets
34
- Changelog 276 KB
- README 52.3 KB
- scipy-1.2.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.5 MB
- scipy-1.2.0-cp27-cp27m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0-cp27-cp27m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0-cp27-cp27m-win32.whl 26.1 MB
- scipy-1.2.0-cp27-cp27m-win_amd64.whl 30.7 MB
- scipy-1.2.0-cp27-cp27mu-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0-cp27-cp27mu-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.3 MB
- scipy-1.2.0-cp34-cp34m-manylinux1_i686.whl 20.3 MB
- scipy-1.2.0-cp34-cp34m-manylinux1_x86_64.whl 25.2 MB
- scipy-1.2.0-cp34-cp34m-win32.whl 25.4 MB
- scipy-1.2.0-cp34-cp34m-win_amd64.whl 29.9 MB
- scipy-1.2.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.3 MB
- scipy-1.2.0-cp35-cp35m-manylinux1_i686.whl 20.3 MB
- scipy-1.2.0-cp35-cp35m-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0-cp35-cp35m-win32.whl 25.7 MB
- scipy-1.2.0-cp35-cp35m-win_amd64.whl 30.3 MB
- scipy-1.2.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.4 MB
- scipy-1.2.0-cp36-cp36m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0-cp36-cp36m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0-cp36-cp36m-win32.whl 25.7 MB
- scipy-1.2.0-cp36-cp36m-win_amd64.whl 30.4 MB
- scipy-1.2.0-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.4 MB
- scipy-1.2.0-cp37-cp37m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0-cp37-cp37m-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0-cp37-cp37m-win32.whl 25.6 MB
- scipy-1.2.0-cp37-cp37m-win_amd64.whl 30.2 MB
- scipy-1.2.0.tar.gz 22.3 MB
- scipy-1.2.0.tar.xz 15.8 MB
- scipy-1.2.0.zip 23.8 MB
- Source code (zip)
- Source code (tar.gz)
SciPy 1.2.0 Release Notes
SciPy 1.2.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.2.x branch, and on adding new features on the master branch.
This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
Note: This will be the last SciPy release to support Python 2.7.
Consequently, the 1.2.x series will be a long term support (LTS)
release; we will backport bug fixes until 1 Jan 2020.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
Highlights of this release
- 1-D root finding improvements with a new solver,
toms748
, and a new
unified interface,root_scalar
- New
dual_annealing
optimization method that combines stochastic and
local deterministic searching - A new optimization algorithm,
shgo
(simplicial homology
global optimization) for derivative free optimization problems - A new category of quaternion-based transformations are available in
scipy.spatial.transform
New features
scipy.ndimage
improvements
Proper spline coefficient calculations have been added for the mirror
,
wrap
, and reflect
modes of scipy.ndimage.rotate
scipy.fftpack
improvements
DCT-IV, DST-IV, DCT-I, and DST-I orthonormalization are now supported in
scipy.fftpack
.
scipy.interpolate
improvements
scipy.interpolate.pade
now accepts a new argument for the order of the
numerator
scipy.cluster
improvements
scipy.cluster.vq.kmeans2
gained a new initialization method, kmeans++.
scipy.special
improvements
The function softmax
was added to scipy.special
.
scipy.optimize
improvements
The one-dimensional nonlinear solvers have been given a unified interface
scipy.optimize.root_scalar
, similar to the scipy.optimize.root
interface
for multi-dimensional solvers. scipy.optimize.root_scalar(f, bracket=[a ,b], method="brenth")
is equivalent to scipy.optimize.brenth(f, a ,b)
. If no
method
is specified, an appropriate one will be selected based upon the
bracket and the number of derivatives available.
The so-called Algorithm 748 of Alefeld, Potra and Shi for root-finding within
an enclosing interval has been added as scipy.optimize.toms748
. This provides
guaranteed convergence to a root with convergence rate per function evaluation
of approximately 1.65 (for sufficiently well-behaved functions.)
differential_evolution
now has the updating
and workers
keywords.
The first chooses between continuous updating of the best solution vector (the
default), or once per generation. Continuous updating can lead to faster
convergence. The workers
keyword accepts an int
or map-like callable,
and parallelises the solver (having the side effect of updating once per
generation). Supplying an int
evaluates the trial solutions in N parallel
parts. Supplying a map-like callable allows other parallelisation approaches
(such as mpi4py
, or joblib
) to be used.
dual_annealing
(and shgo
below) is a powerful new general purpose
global optizimation (GO) algorithm. dual_annealing
uses two annealing
processes to accelerate the convergence towards the global minimum of an
objective mathematical function. The first annealing process controls the
stochastic Markov chain searching and the second annealing process controls the
deterministic minimization. So, dual annealing is a hybrid method that takes
advantage of stochastic and local deterministic searching in an efficient way.
shgo
(simplicial homology global optimization) is a similar algorithm
appropriate for solving black box and derivative free optimization (DFO)
problems. The algorithm generally converges to the global solution in finite
time. The convergence holds for non-linear inequality and
equality constraints. In addition to returning a global minimum, the
algorithm also returns any other global and local minima found after every
iteration. This makes it useful for exploring the solutions in a domain.
scipy.optimize.newton
can now accept a scalar or an array
MINPACK
usage is now thread-safe, such that MINPACK
+ callbacks may
be used on multiple threads.
scipy.signal
improvements
Digital filter design functions now include a parameter to specify the sampling
rate. Previously, digital filters could only be specified using normalized
frequency, but different functions used different scales (e.g. 0 to 1 for
butter
vs 0 to π for freqz
), leading to errors and confusion. With
the fs
parameter, ordinary frequencies can now be entered directly into
functions, with the normalization handled internally.
find_peaks
and related functions no longer raise an exception if the
properties of a peak have unexpected values (e.g. a prominence of 0). A
PeakPropertyWarning
is given instead.
The new keyword argument plateau_size
was added to find_peaks
.
plateau_size
may be used to select peaks based on the length of the
flat top of a peak.
welch()
and csd()
methods in scipy.signal
now support calculation
of a median average PSD, using average='mean'
keyword
scipy.sparse
improvements
The scipy.sparse.bsr_matrix.tocsr
method is now implemented directly instead
of converting via COO format, and the scipy.sparse.bsr_matrix.tocsc
method
is now also routed via CSR conversion instead of COO. The efficiency of both
conversions is now improved.
The issue where SuperLU or UMFPACK solvers crashed on matrices with
non-canonical format in scipy.sparse.linalg
was fixed. The solver wrapper
canonicalizes the matrix if necessary before calling the SuperLU or UMFPACK
solver.
The largest
option of scipy.sparse.linalg.lobpcg()
was fixed to have
a correct (and expected) behavior. The order of the eigenvalues was made
consistent with the ARPACK solver (eigs()
), i.e. ascending for the
smallest eigenvalues, and descending for the largest eigenvalues.
The scipy.sparse.random
function is now faster and also supports integer and
complex values by passing the appropriate value to the dtype
argument.
scipy.spatial
improvements
The function scipy.spatial.distance.jaccard
was modified to return 0 instead
of np.nan
when two all-zero vectors are compared.
Support for the Jensen Shannon distance, the square-root of the divergence, has
been added under scipy.spatial.distance.jensenshannon
An optional keyword was added to the function
scipy.spatial.cKDTree.query_ball_point()
to sort or not sort the returned
indices. Not sorting the indices can speed up calls.
A new category of quaternion-based transformations are available in
scipy.spatial.transform
, including spherical linear interpolation of
rotations (Slerp
), conversions to and from quaternions, Euler angles,
and general rotation and inversion capabilities
(spatial.transform.Rotation
), and uniform random sampling of 3D
rotations (spatial.transform.Rotation.random
).
scipy.stats
improvements
The Yeo-Johnson power transformation is now supported (yeojohnson
,
yeojohnson_llf
, yeojohnson_normmax
, yeojohnson_normplot
). Unlike
the Box-Cox transformation, the Yeo-Johnson transformation can accept negative
values.
Added a general method to sample random variates based on the density only, in
the new function rvs_ratio_uniforms
.
The Yule-Simon distribution (yulesimon
) was added -- this is a new
discrete probability distribution.
stats
and mstats
now have access to a new regression method,
siegelslopes
, a robust linear regression algorithm
scipy.stats.gaussian_kde
now has the ability to deal with weighted samples,
and should have a modest improvement in performance
Levy Stable Parameter Estimation, PDF, and CDF calculations are now supported
for scipy.stats.levy_stable
.
The Brunner-Munzel test is now available as brunnermunzel
in stats
and mstats
scipy.linalg
improvements
scipy.linalg.lapack
now exposes the LAPACK routines using the Rectangular
Full Packed storage (RFP) for upper triangular, lower triangular, symmetric,
or Hermitian matrices; the upper trapezoidal fat matrix RZ decomposition
routines are now available as well.
Deprecated features
The functions hyp2f0
, hyp1f2
and hyp3f0
in scipy.special
have
been deprecated.
Backwards incompatible changes
LAPACK version 3.4.0 or later is now required. Building with
Apple Accelerate is no longer supported.
The function scipy.linalg.subspace_angles(A, B)
now gives correct
results for all angles. Before this, the function only returned
correct values for those angles which were greater than pi/4.
Support for the Bento build system has been removed. Bento has not been
maintained for several years, and did not have good Python 3 or wheel support,
hence it was time to remove it.
The required signature of scipy.optimize.lingprog
method=simplex
callback function has changed. Before iteration begins, the simplex solver
first converts the problem into a standard form that does not, in general,
have the same variables or constraints
as the problem defined by the user. Previously, the simplex solver would pass a
user-specified callback function several separate arguments, such as the
current solution vector xk
, corresponding to this standard form problem.
Unfortunately, the relationship between the standard form problem and the
user-defined problem was not documented, limiting the utility of the
information passed to the callback function.
In addition to numerous bug fix changes, the simplex solver now passes a
user-specified callback function a single OptimizeResult
object containing
information that corresponds directly to the user-defined problem. In future
releases, this OptimizeResult
object may be expanded to include additional
information, such as variables corresponding to the standard-form problem and
information concerning the relationship between the standard-form and
user-defined problems.
The implementation of scipy.sparse.random
has changed, and this affects the
numerical values returned for both sparse.random
and sparse.rand
for
some matrix shapes and a given seed.
scipy.optimize.newton
will no longer use Halley's method in cases where it
negatively impacts convergence
Other changes
Authors
- @endolith
- @luzpaz
- Hameer Abbasi +
- akahard2dj +
- Anton Akhmerov
- Joseph Albert
- alexthomas93 +
- ashish +
- atpage +
- Blair Azzopardi +
- Yoshiki Vázquez Baeza
- Bence Bagi +
- Christoph Baumgarten
- Lucas Bellomo +
- BH4 +
- Aditya Bharti
- Max Bolingbroke
- François Boulogne
- Ward Bradt +
- Matthew Brett
- Evgeni Burovski
- Rafał Byczek +
- Alfredo Canziani +
- CJ Carey
- Lucía Cheung +
- Poom Chiarawongse +
- Jeanne Choo +
- Robert Cimrman
- Graham Clenaghan +
- cynthia-rempel +
- Johannes Damp +
- Jaime Fernandez del Rio
- Dowon +
- emmi474 +
- Stefan Endres +
- Thomas Etherington +
- Piotr Figiel
- Alex Fikl +
- fo40225 +
- Joseph Fox-Rabinovitz
- Lars G
- Abhinav Gautam +
- Stiaan Gerber +
- C.A.M. Gerlach +
- Ralf Gommers
- Todd Goodall
- Lars Grueter +
- Sylvain Gubian +
- Matt Haberland
- David Hagen
- Will Handley +
- Charles Harris
- Ian Henriksen
- Thomas Hisch +
- Theodore Hu
- Michael Hudson-Doyle +
- Nicolas Hug +
- jakirkham +
- Jakob Jakobson +
- James +
- Jan Schlüter
- jeanpauphilet +
- josephmernst +
- Kai +
- Kai-Striega +
- kalash04 +
- Toshiki Kataoka +
- Konrad0 +
- Tom Krauss +
- Johannes Kulick
- Lars Grüter +
- Eric Larson
- Denis Laxalde
- Will Lee +
- Katrin Leinweber +
- Yin Li +
- P. L. Lim +
- Jesse Livezey +
- Duncan Macleod +
- MatthewFlamm +
- Nikolay Mayorov
- Mike McClurg +
- Christian Meyer +
- Mark Mikofski
- Naoto Mizuno +
- mohmmadd +
- Nathan Musoke
- Anju Geetha Nair +
- Andrew Nelson
- Ayappan P +
- Nick Papior
- Haesun Park +
- Ronny Pfannschmidt +
- pijyoi +
- Ilhan Polat
- Anthony Polloreno +
- Ted Pudlik
- puenka
- Eric Quintero
- Pradeep Reddy Raamana +
- Vyas Ramasubramani +
- Ramon Viñas +
- Tyler Reddy
- Joscha Reimer
- Antonio H Ribeiro
- richardjgowers +
- Rob +
- robbystk +
- Lucas Roberts +
- rohan +
- Joaquin Derrac Rus +
- Josua Sassen +
- Bruce Sharpe +
- Max Shinn +
- Scott Sievert
- Sourav Singh
- Strahinja Lukić +
- Kai Striega +
- Shinya SUZUKI +
- Mike Toews +
- Piotr Uchwat
- Miguel de Val-Borro +
- Nicky van Foreest
- Paul van Mulbregt
- Gael Varoquaux
- Pauli Virtanen
- Stefan van der Walt
- Warren Weckesser
- Joshua Wharton +
- Bernhard M. Wiedemann +
- Eric Wieser
- Josh Wilson
- Tony Xiang +
- Roman Yurchak +
- Roy Zywina +
A total of 137 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
tylerjereddy released this
Assets
34
- Changelog 275 KB
- README 52.5 KB
- scipy-1.2.0rc2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.5 MB
- scipy-1.2.0rc2-cp27-cp27m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc2-cp27-cp27m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0rc2-cp27-cp27m-win32.whl 26.1 MB
- scipy-1.2.0rc2-cp27-cp27m-win_amd64.whl 30.7 MB
- scipy-1.2.0rc2-cp27-cp27mu-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc2-cp27-cp27mu-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0rc2-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.3 MB
- scipy-1.2.0rc2-cp34-cp34m-manylinux1_i686.whl 20.3 MB
- scipy-1.2.0rc2-cp34-cp34m-manylinux1_x86_64.whl 25.2 MB
- scipy-1.2.0rc2-cp34-cp34m-win32.whl 25.4 MB
- scipy-1.2.0rc2-cp34-cp34m-win_amd64.whl 29.9 MB
- scipy-1.2.0rc2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.3 MB
- scipy-1.2.0rc2-cp35-cp35m-manylinux1_i686.whl 20.3 MB
- scipy-1.2.0rc2-cp35-cp35m-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0rc2-cp35-cp35m-win32.whl 25.7 MB
- scipy-1.2.0rc2-cp35-cp35m-win_amd64.whl 30.3 MB
- scipy-1.2.0rc2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.4 MB
- scipy-1.2.0rc2-cp36-cp36m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc2-cp36-cp36m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0rc2-cp36-cp36m-win32.whl 25.7 MB
- scipy-1.2.0rc2-cp36-cp36m-win_amd64.whl 30.4 MB
- scipy-1.2.0rc2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.4 MB
- scipy-1.2.0rc2-cp37-cp37m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc2-cp37-cp37m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0rc2-cp37-cp37m-win32.whl 25.6 MB
- scipy-1.2.0rc2-cp37-cp37m-win_amd64.whl 30.2 MB
- scipy-1.2.0rc2.tar.gz 22.3 MB
- scipy-1.2.0rc2.tar.xz 15.8 MB
- scipy-1.2.0rc2.zip 23.8 MB
- Source code (zip)
- Source code (tar.gz)
SciPy 1.2.0 Release Notes
Note: Scipy 1.2.0 is not released yet!
SciPy 1.2.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.2.x branch, and on adding new features on the master branch.
This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
.. note:: This will be the last SciPy release to support Python 2.7.
Consequently, the 1.2.x series will be a long term support (LTS)
release; we will backport bug fixes until 1 Jan 2020.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
Highlights of this release
- 1-D root finding improvements with a new solver,
toms748
, and a new
unified interface,root_scalar
- New
dual_annealing
optimization method that combines stochastic and
local deterministic searching - A new optimization algorithm,
shgo
(simplicial homology
global optimization) for derivative free optimization problems - A new category of quaternion-based transformations are available in
scipy.spatial.transform
New features
scipy.ndimage
improvements
Proper spline coefficient calculations have been added for the mirror
,
wrap
, and reflect
modes of scipy.ndimage.rotate
scipy.fftpack
improvements
DCT-IV, DST-IV, DCT-I, and DST-I orthonormalization are now supported in
scipy.fftpack
.
scipy.interpolate
improvements
scipy.interpolate.pade
now accepts a new argument for the order of the
numerator
scipy.cluster
improvements
scipy.cluster.vq.kmeans2
gained a new initialization method, kmeans++.
scipy.special
improvements
The function softmax
was added to scipy.special
.
scipy.optimize
improvements
The one-dimensional nonlinear solvers have been given a unified interface
scipy.optimize.root_scalar
, similar to the scipy.optimize.root
interface
for multi-dimensional solvers. scipy.optimize.root_scalar(f, bracket=[a ,b], method="brenth")
is equivalent to scipy.optimize.brenth(f, a ,b)
. If no
method
is specified, an appropriate one will be selected based upon the
bracket and the number of derivatives available.
The so-called Algorithm 748 of Alefeld, Potra and Shi for root-finding within
an enclosing interval has been added as scipy.optimize.toms748
. This provides
guaranteed convergence to a root with convergence rate per function evaluation
of approximately 1.65 (for sufficiently well-behaved functions.)
differential_evolution
now has the updating
and workers
keywords.
The first chooses between continuous updating of the best solution vector (the
default), or once per generation. Continuous updating can lead to faster
convergence. The workers
keyword accepts an int
or map-like callable,
and parallelises the solver (having the side effect of updating once per
generation). Supplying an int
evaluates the trial solutions in N parallel
parts. Supplying a map-like callable allows other parallelisation approaches
(such as mpi4py
, or joblib
) to be used.
dual_annealing
(and shgo
below) is a powerful new general purpose
global optizimation (GO) algorithm. dual_annealing
uses two annealing
processes to accelerate the convergence towards the global minimum of an
objective mathematical function. The first annealing process controls the
stochastic Markov chain searching and the second annealing process controls the
deterministic minimization. So, dual annealing is a hybrid method that takes
advantage of stochastic and local deterministic searching in an efficient way.
shgo
(simplicial homology global optimization) is a similar algorithm
appropriate for solving black box and derivative free optimization (DFO)
problems. The algorithm generally converges to the global solution in finite
time. The convergence holds for non-linear inequality and
equality constraints. In addition to returning a global minimum, the
algorithm also returns any other global and local minima found after every
iteration. This makes it useful for exploring the solutions in a domain.
scipy.optimize.newton
can now accept a scalar or an array
MINPACK
usage is now thread-safe, such that MINPACK
+ callbacks may
be used on multiple threads.
scipy.signal
improvements
Digital filter design functions now include a parameter to specify the sampling
rate. Previously, digital filters could only be specified using normalized
frequency, but different functions used different scales (e.g. 0 to 1 for
butter
vs 0 to π for freqz
), leading to errors and confusion. With
the fs
parameter, ordinary frequencies can now be entered directly into
functions, with the normalization handled internally.
find_peaks
and related functions no longer raise an exception if the
properties of a peak have unexpected values (e.g. a prominence of 0). A
PeakPropertyWarning
is given instead.
The new keyword argument plateau_size
was added to find_peaks
.
plateau_size
may be used to select peaks based on the length of the
flat top of a peak.
welch()
and csd()
methods in scipy.signal
now support calculation
of a median average PSD, using average='mean'
keyword
scipy.sparse
improvements
The scipy.sparse.bsr_matrix.tocsr
method is now implemented directly instead
of converting via COO format, and the scipy.sparse.bsr_matrix.tocsc
method
is now also routed via CSR conversion instead of COO. The efficiency of both
conversions is now improved.
The issue where SuperLU or UMFPACK solvers crashed on matrices with
non-canonical format in scipy.sparse.linalg
was fixed. The solver wrapper
canonicalizes the matrix if necessary before calling the SuperLU or UMFPACK
solver.
The largest
option of scipy.sparse.linalg.lobpcg()
was fixed to have
a correct (and expected) behavior. The order of the eigenvalues was made
consistent with the ARPACK solver (eigs()
), i.e. ascending for the
smallest eigenvalues, and descending for the largest eigenvalues.
The scipy.sparse.random
function is now faster and also supports integer and
complex values by passing the appropriate value to the dtype
argument.
scipy.spatial
improvements
The function scipy.spatial.distance.jaccard
was modified to return 0 instead
of np.nan
when two all-zero vectors are compared.
Support for the Jensen Shannon distance, the square-root of the divergence, has
been added under scipy.spatial.distance.jensenshannon
An optional keyword was added to the function
scipy.spatial.cKDTree.query_ball_point()
to sort or not sort the returned
indices. Not sorting the indices can speed up calls.
A new category of quaternion-based transformations are available in
scipy.spatial.transform
, including spherical linear interpolation of
rotations (Slerp
), conversions to and from quaternions, Euler angles,
and general rotation and inversion capabilities
(spatial.transform.Rotation
), and uniform random sampling of 3D
rotations (spatial.transform.Rotation.random
).
scipy.stats
improvements
The Yeo-Johnson power transformation is now supported (yeojohnson
,
yeojohnson_llf
, yeojohnson_normmax
, yeojohnson_normplot
). Unlike
the Box-Cox transformation, the Yeo-Johnson transformation can accept negative
values.
Added a general method to sample random variates based on the density only, in
the new function rvs_ratio_uniforms
.
The Yule-Simon distribution (yulesimon
) was added -- this is a new
discrete probability distribution.
stats
and mstats
now have access to a new regression method,
siegelslopes
, a robust linear regression algorithm
scipy.stats.gaussian_kde
now has the ability to deal with weighted samples,
and should have a modest improvement in performance
Levy Stable Parameter Estimation, PDF, and CDF calculations are now supported
for scipy.stats.levy_stable
.
The Brunner-Munzel test is now available as brunnermunzel
in stats
and mstats
scipy.linalg
improvements
scipy.linalg.lapack
now exposes the LAPACK routines using the Rectangular
Full Packed storage (RFP) for upper triangular, lower triangular, symmetric,
or Hermitian matrices; the upper trapezoidal fat matrix RZ decomposition
routines are now available as well.
Deprecated features
The functions hyp2f0
, hyp1f2
and hyp3f0
in scipy.special
have
been deprecated.
Backwards incompatible changes
LAPACK version 3.4.0 or later is now required. Building with
Apple Accelerate is no longer supported.
The function scipy.linalg.subspace_angles(A, B)
now gives correct
results for all angles. Before this, the function only returned
correct values for those angles which were greater than pi/4.
Support for the Bento build system has been removed. Bento has not been
maintained for several years, and did not have good Python 3 or wheel support,
hence it was time to remove it.
The required signature of scipy.optimize.lingprog
method=simplex
callback function has changed. Before iteration begins, the simplex solver
first converts the problem into a standard form that does not, in general,
have the same variables or constraints
as the problem defined by the user. Previously, the simplex solver would pass a
user-specified callback function several separate arguments, such as the
current solution vector xk
, corresponding to this standard form problem.
Unfortunately, the relationship between the standard form problem and the
user-defined problem was not documented, limiting the utility of the
information passed to the callback function.
In addition to numerous bug fix changes, the simplex solver now passes a
user-specified callback function a single OptimizeResult
object containing
information that corresponds directly to the user-defined problem. In future
releases, this OptimizeResult
object may be expanded to include additional
information, such as variables corresponding to the standard-form problem and
information concerning the relationship between the standard-form and
user-defined problems.
The implementation of scipy.sparse.random
has changed, and this affects the
numerical values returned for both sparse.random
and sparse.rand
for
some matrix shapes and a given seed.
scipy.optimize.newton
will no longer use Halley's method in cases where it
negatively impacts convergence
Other changes
Authors
- @endolith
- @luzpaz
- Hameer Abbasi +
- akahard2dj +
- Anton Akhmerov
- Joseph Albert
- alexthomas93 +
- ashish +
- atpage +
- Blair Azzopardi +
- Yoshiki Vázquez Baeza
- Bence Bagi +
- Christoph Baumgarten
- Lucas Bellomo +
- BH4 +
- Aditya Bharti
- Max Bolingbroke
- François Boulogne
- Ward Bradt +
- Matthew Brett
- Evgeni Burovski
- Rafał Byczek +
- Alfredo Canziani +
- CJ Carey
- Lucía Cheung +
- Poom Chiarawongse +
- Jeanne Choo +
- Robert Cimrman
- Graham Clenaghan +
- cynthia-rempel +
- Johannes Damp +
- Jaime Fernandez del Rio
- Dowon +
- emmi474 +
- Stefan Endres +
- Thomas Etherington +
- Piotr Figiel
- Alex Fikl +
- fo40225 +
- Joseph Fox-Rabinovitz
- Lars G
- Abhinav Gautam +
- Stiaan Gerber +
- C.A.M. Gerlach +
- Ralf Gommers
- Todd Goodall
- Lars Grueter +
- Sylvain Gubian +
- Matt Haberland
- David Hagen
- Will Handley +
- Charles Harris
- Ian Henriksen
- Thomas Hisch +
- Theodore Hu
- Michael Hudson-Doyle +
- Nicolas Hug +
- jakirkham +
- Jakob Jakobson +
- James +
- Jan Schlüter
- jeanpauphilet +
- josephmernst +
- Kai +
- Kai-Striega +
- kalash04 +
- Toshiki Kataoka +
- Konrad0 +
- Tom Krauss +
- Johannes Kulick
- Lars Grüter +
- Eric Larson
- Denis Laxalde
- Will Lee +
- Katrin Leinweber +
- Yin Li +
- P. L. Lim +
- Jesse Livezey +
- Duncan Macleod +
- MatthewFlamm +
- Nikolay Mayorov
- Mike McClurg +
- Christian Meyer +
- Mark Mikofski
- Naoto Mizuno +
- mohmmadd +
- Nathan Musoke
- Anju Geetha Nair +
- Andrew Nelson
- Ayappan P +
- Nick Papior
- Haesun Park +
- Ronny Pfannschmidt +
- pijyoi +
- Ilhan Polat
- Anthony Polloreno +
- Ted Pudlik
- puenka
- Eric Quintero
- Pradeep Reddy Raamana +
- Vyas Ramasubramani +
- Ramon Viñas +
- Tyler Reddy
- Joscha Reimer
- Antonio H Ribeiro
- richardjgowers +
- Rob +
- robbystk +
- Lucas Roberts +
- rohan +
- Joaquin Derrac Rus +
- Josua Sassen +
- Bruce Sharpe +
- Max Shinn +
- Scott Sievert
- Sourav Singh
- Strahinja Lukić +
- Kai Striega +
- Shinya SUZUKI +
- Mike Toews +
- Piotr Uchwat
- Miguel de Val-Borro +
- Nicky van Foreest
- Paul van Mulbregt
- Gael Varoquaux
- Pauli Virtanen
- Stefan van der Walt
- Warren Weckesser
- Joshua Wharton +
- Bernhard M. Wiedemann +
- Eric Wieser
- Josh Wilson
- Tony Xiang +
- Roman Yurchak +
- Roy Zywina +
A total of 137 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
tylerjereddy released this
Assets
34
- Changelog 273 KB
- README 51.4 KB
- scipy-1.2.0rc1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.5 MB
- scipy-1.2.0rc1-cp27-cp27m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc1-cp27-cp27m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0rc1-cp27-cp27m-win32.whl 26.1 MB
- scipy-1.2.0rc1-cp27-cp27m-win_amd64.whl 30.7 MB
- scipy-1.2.0rc1-cp27-cp27mu-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc1-cp27-cp27mu-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0rc1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.3 MB
- scipy-1.2.0rc1-cp34-cp34m-manylinux1_i686.whl 20.3 MB
- scipy-1.2.0rc1-cp34-cp34m-manylinux1_x86_64.whl 25.2 MB
- scipy-1.2.0rc1-cp34-cp34m-win32.whl 25.4 MB
- scipy-1.2.0rc1-cp34-cp34m-win_amd64.whl 29.9 MB
- scipy-1.2.0rc1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.3 MB
- scipy-1.2.0rc1-cp35-cp35m-manylinux1_i686.whl 20.3 MB
- scipy-1.2.0rc1-cp35-cp35m-manylinux1_x86_64.whl 25.3 MB
- scipy-1.2.0rc1-cp35-cp35m-win32.whl 25.7 MB
- scipy-1.2.0rc1-cp35-cp35m-win_amd64.whl 30.3 MB
- scipy-1.2.0rc1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.4 MB
- scipy-1.2.0rc1-cp36-cp36m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc1-cp36-cp36m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0rc1-cp36-cp36m-win32.whl 25.7 MB
- scipy-1.2.0rc1-cp36-cp36m-win_amd64.whl 30.4 MB
- scipy-1.2.0rc1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl 27.4 MB
- scipy-1.2.0rc1-cp37-cp37m-manylinux1_i686.whl 20.4 MB
- scipy-1.2.0rc1-cp37-cp37m-manylinux1_x86_64.whl 25.4 MB
- scipy-1.2.0rc1-cp37-cp37m-win32.whl 25.6 MB
- scipy-1.2.0rc1-cp37-cp37m-win_amd64.whl 30.2 MB
- scipy-1.2.0rc1.tar.gz 22.3 MB
- scipy-1.2.0rc1.tar.xz 15.8 MB
- scipy-1.2.0rc1.zip 23.8 MB
- Source code (zip)
- Source code (tar.gz)
SciPy 1.2.0 Release Notes
Note: Scipy 1.2.0 is not released yet!
SciPy 1.2.0 is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.2.x branch, and on adding new features on the master branch.
This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
Note: This will be the last SciPy release to support Python 2.7.
Consequently, the 1.2.x series will be a long term support (LTS)
release; we will backport bug fixes until 1 Jan 2020.
For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.
Highlights of this release
- 1-D root finding improvements with a new solver,
toms748
, and a new
unified interface,root_scalar
- New
dual_annealing
optimization method that combines stochastic and
local deterministic searching - A new optimization algorithm,
shgo
(simplicial homology
global optimization) for derivative free optimization problems - A new category of quaternion-based transformations are available in
scipy.spatial.transform
New features
scipy.ndimage
improvements
Proper spline coefficient calculations have been added for the mirror
,
wrap
, and reflect
modes of scipy.ndimage.rotate
scipy.fftpack
improvements
DCT-IV, DST-IV, DCT-I, and DST-I orthonormalization are now supported in
scipy.fftpack
.
scipy.interpolate
improvements
scipy.interpolate.pade
now accepts a new argument for the order of the
numerator
scipy.cluster
improvements
scipy.cluster.vq.kmeans2
gained a new initialization method, kmeans++.
scipy.special
improvements
The function softmax
was added to scipy.special
.
scipy.optimize
improvements
The one-dimensional nonlinear solvers have been given a unified interface
scipy.optimize.root_scalar
, similar to the scipy.optimize.root
interface
for multi-dimensional solvers. scipy.optimize.root_scalar(f, bracket=[a ,b], method="brenth")
is equivalent to scipy.optimize.brenth(f, a ,b)
. If no
method
is specified, an appropriate one will be selected based upon the
bracket and the number of derivatives available.
The so-called Algorithm 748 of Alefeld, Potra and Shi for root-finding within
an enclosing interval has been added as scipy.optimize.toms748
. This provides
guaranteed convergence to a root with convergence rate per function evaluation
of approximately 1.65 (for sufficiently well-behaved functions.)
differential_evolution
now has the updating
and workers
keywords.
The first chooses between continuous updating of the best solution vector (the
default), or once per generation. Continuous updating can lead to faster
convergence. The workers
keyword accepts an int
or map-like callable,
and parallelises the solver (having the side effect of updating once per
generation). Supplying an int
evaluates the trial solutions in N parallel
parts. Supplying a map-like callable allows other parallelisation approaches
(such as mpi4py
, or joblib
) to be used.
dual_annealing
(and shgo
below) is a powerful new general purpose
global optizimation (GO) algorithm. dual_annealing
uses two annealing
processes to accelerate the convergence towards the global minimum of an
objective mathematical function. The first annealing process controls the
stochastic Markov chain searching and the second annealing process controls the
deterministic minimization. So, dual annealing is a hybrid method that takes
advantage of stochastic and local deterministic searching in an efficient way.
shgo
(simplicial homology global optimization) is a similar algorithm
appropriate for solving black box and derivative free optimization (DFO)
problems. The algorithm generally converges to the global solution in finite
time. The convergence holds for non-linear inequality and
equality constraints. In addition to returning a global minimum, the
algorithm also returns any other global and local minima found after every
iteration. This makes it useful for exploring the solutions in a domain.
scipy.optimize.newton
can now accept a scalar or an array
MINPACK
usage is now thread-safe, such that MINPACK
+ callbacks may
be used on multiple threads.
scipy.signal
improvements
Digital filter design functions now include a parameter to specify the sampling
rate. Previously, digital filters could only be specified using normalized
frequency, but different functions used different scales (e.g. 0 to 1 for
butter
vs 0 to π for freqz
), leading to errors and confusion. With
the fs
parameter, ordinary frequencies can now be entered directly into
functions, with the normalization handled internally.
find_peaks
and related functions no longer raise an exception if the
properties of a peak have unexpected values (e.g. a prominence of 0). A
PeakPropertyWarning
is given instead.
The new keyword argument plateau_size
was added to find_peaks
.
plateau_size
may be used to select peaks based on the length of the
flat top of a peak.
welch()
and csd()
methods in scipy.signal
now support calculation
of a median average PSD, using average='mean'
keyword
scipy.sparse
improvements
The scipy.sparse.bsr_matrix.tocsr
method is now implemented directly instead
of converting via COO format, and the scipy.sparse.bsr_matrix.tocsc
method
is now also routed via CSR conversion instead of COO. The efficiency of both
conversions is now improved.
The issue where SuperLU or UMFPACK solvers crashed on matrices with
non-canonical format in scipy.sparse.linalg
was fixed. The solver wrapper
canonicalizes the matrix if necessary before calling the SuperLU or UMFPACK
solver.
The largest
option of scipy.sparse.linalg.lobpcg()
was fixed to have
a correct (and expected) behavior. The order of the eigenvalues was made
consistent with the ARPACK solver (eigs()
), i.e. ascending for the
smallest eigenvalues, and descending for the largest eigenvalues.
The scipy.sparse.random
function is now faster and also supports integer and
complex values by passing the appropriate value to the dtype
argument.
scipy.spatial
improvements
The function scipy.spatial.distance.jaccard
was modified to return 0 instead
of np.nan
when two all-zero vectors are compared.
Support for the Jensen Shannon distance, the square-root of the divergence, has
been added under scipy.spatial.distance.jensenshannon
An optional keyword was added to the function
scipy.spatial.cKDTree.query_ball_point()
to sort or not sort the returned
indices. Not sorting the indices can speed up calls.
A new category of quaternion-based transformations are available in
scipy.spatial.transform
, including spherical linear interpolation of
rotations (Slerp
), conversions to and from quaternions, Euler angles,
and general rotation and inversion capabilities
(spatial.transform.Rotation
), and uniform random sampling of 3D
rotations (spatial.transform.Rotation.random
).
scipy.stats
improvements
The Yeo-Johnson power transformation is now supported (yeojohnson
,
yeojohnson_llf
, yeojohnson_normmax
, yeojohnson_normplot
). Unlike
the Box-Cox transformation, the Yeo-Johnson transformation can accept negative
values.
Added a general method to sample random variates based on the density only, in
the new function rvs_ratio_uniforms
.
The Yule-Simon distribution (yulesimon
) was added -- this is a new
discrete probability distribution.
stats
and mstats
now have access to a new regression method,
siegelslopes
, a robust linear regression algorithm
scipy.stats.gaussian_kde
now has the ability to deal with weighted samples,
and should have a modest improvement in performance
Levy Stable Parameter Estimation, PDF, and CDF calculations are now supported
for scipy.stats.levy_stable
.
The Brunner-Munzel test is now available as brunnermunzel
in stats
and mstats
scipy.linalg
improvements
scipy.linalg.lapack
now exposes the LAPACK routines using the Rectangular
Full Packed storage (RFP) for upper triangular, lower triangular, symmetric,
or Hermitian matrices; the upper trapezoidal fat matrix RZ decomposition
routines are now available as well.
Deprecated features
The functions hyp2f0
, hyp1f2
and hyp3f0
in scipy.special
have
been deprecated.
Backwards incompatible changes
LAPACK version 3.4.0 or later is now required. Building with
Apple Accelerate is no longer supported.
The function scipy.linalg.subspace_angles(A, B)
now gives correct
results for all angles. Before this, the function only returned
correct values for those angles which were greater than pi/4.
Support for the Bento build system has been removed. Bento has not been
maintained for several years, and did not have good Python 3 or wheel support,
hence it was time to remove it.
The required signature of scipy.optimize.lingprog
method=simplex
callback function has changed. Before iteration begins, the simplex solver
first converts the problem into a standard form that does not, in general,
have the same variables or constraints
as the problem defined by the user. Previously, the simplex solver would pass a
user-specified callback function several separate arguments, such as the
current solution vector xk
, corresponding to this standard form problem.
Unfortunately, the relationship between the standard form problem and the
user-defined problem was not documented, limiting the utility of the
information passed to the callback function.
In addition to numerous bug fix changes, the simplex solver now passes a
user-specified callback function a single OptimizeResult
object containing
information that corresponds directly to the user-defined problem. In future
releases, this OptimizeResult
object may be expanded to include additional
information, such as variables corresponding to the standard-form problem and
information concerning the relationship between the standard-form and
user-defined problems.
The implementation of scipy.sparse.random
has changed, and this affects the
numerical values returned for both sparse.random
and sparse.rand
for
some matrix shapes and a given seed.
scipy.optimize.newton
will no longer use Halley's method in cases where it
negatively impacts convergence
Other changes
Authors
- @endolith
- @luzpaz
- Hameer Abbasi +
- akahard2dj +
- Anton Akhmerov
- Joseph Albert
- alexthomas93 +
- ashish +
- atpage +
- Blair Azzopardi +
- Yoshiki Vázquez Baeza
- Bence Bagi +
- Christoph Baumgarten
- Lucas Bellomo +
- BH4 +
- Aditya Bharti
- Max Bolingbroke
- François Boulogne
- Ward Bradt +
- Matthew Brett
- Evgeni Burovski
- Rafał Byczek +
- Alfredo Canziani +
- CJ Carey
- Lucía Cheung +
- Poom Chiarawongse +
- Jeanne Choo +
- Robert Cimrman
- Graham Clenaghan +
- cynthia-rempel +
- Johannes Damp +
- Jaime Fernandez del Rio
- Dowon +
- emmi474 +
- Stefan Endres +
- Thomas Etherington +
- Alex Fikl +
- fo40225 +
- Joseph Fox-Rabinovitz
- Lars G
- Abhinav Gautam +
- Stiaan Gerber +
- C.A.M. Gerlach +
- Ralf Gommers
- Todd Goodall
- Lars Grueter +
- Sylvain Gubian +
- Matt Haberland
- David Hagen
- Will Handley +
- Charles Harris
- Ian Henriksen
- Thomas Hisch +
- Theodore Hu
- Michael Hudson-Doyle +
- Nicolas Hug +
- jakirkham +
- Jakob Jakobson +
- James +
- Jan Schlüter
- jeanpauphilet +
- josephmernst +
- Kai +
- Kai-Striega +
- kalash04 +
- Toshiki Kataoka +
- Konrad0 +
- Tom Krauss +
- Johannes Kulick
- Lars Grüter +
- Eric Larson
- Denis Laxalde
- Will Lee +
- Katrin Leinweber +
- Yin Li +
- P. L. Lim +
- Jesse Livezey +
- Duncan Macleod +
- MatthewFlamm +
- Nikolay Mayorov
- Mike McClurg +
- Christian Meyer +
- Mark Mikofski
- Naoto Mizuno +
- mohmmadd +
- Nathan Musoke
- Anju Geetha Nair +
- Andrew Nelson
- Ayappan P +
- Nick Papior
- Haesun Park +
- Ronny Pfannschmidt +
- pijyoi +
- Ilhan Polat
- Anthony Polloreno +
- Ted Pudlik
- puenka
- Eric Quintero
- Pradeep Reddy Raamana +
- Vyas Ramasubramani +
- Ramon Viñas +
- Tyler Reddy
- Joscha Reimer
- Antonio H Ribeiro
- richardjgowers +
- Rob +
- robbystk +
- Lucas Roberts +
- rohan +
- Joaquin Derrac Rus +
- Josua Sassen +
- Bruce Sharpe +
- Max Shinn +
- Scott Sievert
- Sourav Singh
- Strahinja Lukić +
- Kai Striega +
- Shinya SUZUKI +
- Mike Toews +
- Piotr Uchwat
- Miguel de Val-Borro +
- Nicky van Foreest
- Paul van Mulbregt
- Gael Varoquaux
- Pauli Virtanen
- Stefan van der Walt
- Warren Weckesser
- Joshua Wharton +
- Bernhard M. Wiedemann +
- Eric Wieser
- Josh Wilson
- Tony Xiang +
- Roman Yurchak +
- Roy Zywina +
A total of 137 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.
SciPy 1.1.0
pv released this
Assets
- 259 KB Changelog
- 50.2 KB README
- 16 MB scipy-1.1.0-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 24.3 MB scipy-1.1.0-cp27-cp27m-manylinux1_i686.whl
- 29.4 MB scipy-1.1.0-cp27-cp27m-manylinux1_x86_64.whl
- 24.3 MB scipy-1.1.0-cp27-cp27mu-manylinux1_i686.whl
- 29.4 MB scipy-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl
- 25.5 MB scipy-1.1.0-cp27-none-win32.whl
- 30 MB scipy-1.1.0-cp27-none-win_amd64.whl
- 15.9 MB scipy-1.1.0-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 24.7 MB scipy-1.1.0-cp34-cp34m-manylinux1_i686.whl
- 29.6 MB scipy-1.1.0-cp34-cp34m-manylinux1_x86_64.whl
- 24.8 MB scipy-1.1.0-cp34-none-win32.whl
- 29.2 MB scipy-1.1.0-cp34-none-win_amd64.whl
- 15.8 MB scipy-1.1.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 26.2 MB scipy-1.1.0-cp35-cp35m-manylinux1_i686.whl
- 31.5 MB scipy-1.1.0-cp35-cp35m-manylinux1_x86_64.whl
- 25 MB scipy-1.1.0-cp35-none-win32.whl
- 29.6 MB scipy-1.1.0-cp35-none-win_amd64.whl
- 15.9 MB scipy-1.1.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 24.5 MB scipy-1.1.0-cp36-cp36m-manylinux1_i686.whl
- 29.7 MB scipy-1.1.0-cp36-cp36m-manylinux1_x86_64.whl
- 25 MB scipy-1.1.0-cp36-none-win32.whl
- 29.7 MB scipy-1.1.0-cp36-none-win_amd64.whl
- 16.4 MB scipy-1.1.0.zip
- Source code (zip)
- Source code (tar.gz)
SciPy 1.1.0 is the culmination of 7 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with python -Wd
and check for DeprecationWarning
s).
Our development attention will now shift to bug-fix releases on the
1.1.x branch, and on adding new features on the master branch.
This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
This release has improved but not necessarily 100% compatibility with
the PyPy Python implementation. For running on
PyPy, PyPy 6.0+ and Numpy 1.15.0+ are required.
New features
scipy.integrate improvements
The argument tfirst
has been added to the function
scipy.integrate.odeint. This allows odeint to use the same user
functions as scipy.integrate.solve_ivp and scipy.integrate.ode without
the need for wrapping them in a function that swaps the first two
arguments.
Error messages from quad()
are now clearer.
scipy.linalg improvements
The function scipy.linalg.ldl has been added for factorization of
indefinite symmetric/hermitian matrices into triangular and block
diagonal matrices.
Python wrappers for LAPACK sygst
, hegst
added in
scipy.linalg.lapack.
Added scipy.linalg.null_space, scipy.linalg.cdf2rdf,
scipy.linalg.rsf2csf.
scipy.misc improvements
An electrocardiogram has been added as an example dataset for a
one-dimensional signal. It can be accessed through
scipy.misc.electrocardiogram.
scipy.ndimage improvements
The routines scipy.ndimage.binary_opening, and
scipy.ndimage.binary_closing now support masks and different border
values.
scipy.optimize improvements
The method trust-constr
has been added to scipy.optimize.minimize. The
method switches between two implementations depending on the problem
definition. For equality constrained problems it is an implementation of
a trust-region sequential quadratic programming solver and, when
inequality constraints are imposed, it switches to a trust-region
interior point method. Both methods are appropriate for large scale
problems. Quasi-Newton options BFGS and SR1 were implemented and can be
used to approximate second order derivatives for this new method. Also,
finite-differences can be used to approximate either first-order or
second-order derivatives.
Random-to-Best/1/bin and Random-to-Best/1/exp mutation strategies were
added to scipy.optimize.differential_evolution as randtobest1bin
and
randtobest1exp
, respectively. Note: These names were already in use
but implemented a different mutation strategy. See Backwards
incompatible changes, below. The
init
keyword for the scipy.optimize.differential_evolution function
can now accept an array. This array allows the user to specify the
entire population.
Add an adaptive
option to Nelder-Mead to use step parameters adapted
to the dimensionality of the problem.
Minor improvements in scipy.optimize.basinhopping.
scipy.signal improvements
Three new functions for peak finding in one-dimensional arrays were
added. scipy.signal.find_peaks searches for peaks (local maxima) based
on simple value comparison of neighbouring samples and returns those
peaks whose properties match optionally specified conditions for their
height, prominence, width, threshold and distance to each other.
scipy.signal.peak_prominences and scipy.signal.peak_widths can
directly calculate the prominences or widths of known peaks.
Added ZPK versions of frequency transformations:
scipy.signal.bilinear_zpk, scipy.signal.lp2bp_zpk,
scipy.signal.lp2bs_zpk, scipy.signal.lp2hp_zpk,
scipy.signal.lp2lp_zpk.
Added scipy.signal.windows.dpss, scipy.signal.windows.general_cosine
and scipy.signal.windows.general_hamming.
scipy.sparse improvements
Previously, the reshape
method only worked on
scipy.sparse.lil_matrix, and in-place reshaping did not work on any
matrices. Both operations are now implemented for all matrices. Handling
of shapes has been made consistent with numpy.matrix
throughout the
scipy.sparse module (shape can be a tuple or splatted, negative number
acts as placeholder, padding and unpadding dimensions of size 1 to
ensure length-2 shape).
scipy.special improvements
Added Owen's T function as scipy.special.owens_t.
Accuracy improvements in chndtr
, digamma
, gammaincinv
, lambertw
,
zetac
.
scipy.stats improvements
The Moyal distribution has been added as scipy.stats.moyal.
Added the normal inverse Gaussian distribution as
scipy.stats.norminvgauss.
Deprecated features
The iterative linear equation solvers in scipy.sparse.linalg had a
sub-optimal way of how absolute tolerance is considered. The default
behavior will be changed in a future Scipy release to a more standard
and less surprising one. To silence deprecation warnings, set the
atol=
parameter explicitly.
scipy.signal.windows.slepian is deprecated, replaced by
scipy.signal.windows.dpss.
The window functions in scipy.signal are now available in
scipy.signal.windows. They will remain also available in the old
location in the scipy.signal namespace in future Scipy versions.
However, importing them from scipy.signal.windows is preferred, and new
window functions will be added only there.
Indexing sparse matrices with floating-point numbers instead of integers
is deprecated.
The function scipy.stats.itemfreq is deprecated.
Backwards incompatible changes
Previously, scipy.linalg.orth used a singular value cutoff value
appropriate for double precision numbers also for single-precision
input. The cutoff value is now tunable, and the default has been changed
to depend on the input data precision.
In previous versions of Scipy, the randtobest1bin
and randtobest1exp
mutation strategies in scipy.optimize.differential_evolution were
actually implemented using the Current-to-Best/1/bin and
Current-to-Best/1/exp strategies, respectively. These strategies were
renamed to currenttobest1bin
and currenttobest1exp
and the
implementations of randtobest1bin
and randtobest1exp
strategies were
corrected.
Functions in the ndimage module now always return their output array.
Before this most functions only returned the output array if it had been
allocated by the function, and would return None
if it had been
provided by the user.
Distance metrics in scipy.spatial.distance now require non-negative
weights.
scipy.special.loggamma returns now real-valued result when the input is
real-valued.
Other changes
When building on Linux with GNU compilers, the .so
Python extension
files now hide all symbols except those required by Python, which can
avoid problems when embedding the Python interpreter.
Authors
- Saurabh Agarwal +
- Diogo Aguiam +
- Joseph Albert +
- Gerrit Ansmann +
- Jean-François B +
- Vahan Babayan +
- Alessandro Pietro Bardelli
- Christoph Baumgarten +
- Felix Berkenkamp
- Lilian Besson +
- Aditya Bharti +
- Matthew Brett
- Evgeni Burovski
- CJ Carey
- Martin Ø. Christensen +
- Robert Cimrman
- Vicky Close +
- Peter Cock +
- Philip DeBoer
- Jaime Fernandez del Rio
- Dieter Werthmüller +
- Tom Donoghue +
- Matt Dzugan +
- Lars G +
- Jacques Gaudin +
- Andriy Gelman +
- Sean Gillies +
- Dezmond Goff
- Christoph Gohlke
- Ralf Gommers
- Uri Goren +
- Deepak Kumar Gouda +
- Douglas Lessa Graciosa +
- Matt Haberland
- David Hagen
- Charles Harris
- Jordan Heemskerk +
- Danny Hermes +
- Stephan Hoyer +
- Theodore Hu +
- Jean-François B. +
- Mads Jensen +
- Jon Haitz Legarreta Gorroño +
- Ben Jude +
- Noel Kippers +
- Julius Bier Kirkegaard +
- Maria Knorps +
- Mikkel Kristensen +
- Eric Larson
- Kasper Primdal Lauritzen +
- Denis Laxalde
- KangWon Lee +
- Jan Lehky +
- Jackie Leng +
- P.L. Lim +
- Nikolay Mayorov
- Mihai Capotă +
- Max Mikhaylov +
- Mark Mikofski +
- Jarrod Millman
- Raden Muhammad +
- Paul Nation
- Andrew Nelson
- Nico Schlömer
- Joel Nothman
- Kyle Oman +
- Egor Panfilov +
- Nick Papior
- Anubhav Patel +
- Oleksandr Pavlyk
- Ilhan Polat
- Robert Pollak +
- Anant Prakash +
- Aman Pratik
- Sean Quinn +
- Giftlin Rajaiah +
- Tyler Reddy
- Joscha Reimer
- Antonio H Ribeiro +
- Antonio Horta Ribeiro
- Benjamin Rose +
- Fabian Rost
- Divakar Roy +
- Scott Sievert
- Leo Singer
- Sourav Singh
- Martino Sorbaro +
- Eric Stansifer +
- Martin Thoma
- Phil Tooley +
- Piotr Uchwat +
- Paul van Mulbregt
- Pauli Virtanen
- Stefan van der Walt
- Warren Weckesser
- Florian Weimer +
- Eric Wieser
- Josh Wilson
- Ted Ying +
- Evgeny Zhurko
- Zé Vinícius
- @Astrofysicus +
- @awakenting +
- @endolith
- @FormerPhysicist +
- @gaulinmp +
- @hugovk
- @ksemb +
- @kshitij12345 +
- @luzpaz +
- @NKrvavica +
- @rafalalgo +
- @samyak0210 +
- @soluwalana +
- @sudheerachary +
- @Tokixix +
- @tttthomasssss +
- @vkk800 +
- @xoviat
- @ziejcow +
A total of 122 people contributed to this release. People with a "+"
by their names contributed a patch for the first time. This list of
names is automatically generated, and may not be fully complete.
Scipy 1.1.0rc1
pv released this
Assets
- 257 KB Changelog
- 50.2 KB README
- 16 MB scipy-1.1.0rc1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 24.3 MB scipy-1.1.0rc1-cp27-cp27m-manylinux1_i686.whl
- 29.4 MB scipy-1.1.0rc1-cp27-cp27m-manylinux1_x86_64.whl
- 24.3 MB scipy-1.1.0rc1-cp27-cp27mu-manylinux1_i686.whl
- 29.4 MB scipy-1.1.0rc1-cp27-cp27mu-manylinux1_x86_64.whl
- 25.5 MB scipy-1.1.0rc1-cp27-none-win32.whl
- 30 MB scipy-1.1.0rc1-cp27-none-win_amd64.whl
- 15.9 MB scipy-1.1.0rc1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 24.7 MB scipy-1.1.0rc1-cp34-cp34m-manylinux1_i686.whl
- 29.6 MB scipy-1.1.0rc1-cp34-cp34m-manylinux1_x86_64.whl
- 24.8 MB scipy-1.1.0rc1-cp34-none-win32.whl
- 29.2 MB scipy-1.1.0rc1-cp34-none-win_amd64.whl
- 15.8 MB scipy-1.1.0rc1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 26.2 MB scipy-1.1.0rc1-cp35-cp35m-manylinux1_i686.whl
- 31.6 MB scipy-1.1.0rc1-cp35-cp35m-manylinux1_x86_64.whl
- 25 MB scipy-1.1.0rc1-cp35-none-win32.whl
- 29.6 MB scipy-1.1.0rc1-cp35-none-win_amd64.whl
- 15.9 MB scipy-1.1.0rc1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 24.5 MB scipy-1.1.0rc1-cp36-cp36m-manylinux1_i686.whl
- 29.7 MB scipy-1.1.0rc1-cp36-cp36m-manylinux1_x86_64.whl
- 25 MB scipy-1.1.0rc1-cp36-none-win32.whl
- 29.7 MB scipy-1.1.0rc1-cp36-none-win_amd64.whl
- 15.1 MB scipy-1.1.0rc1.tar.gz
- 9.2 MB scipy-1.1.0rc1.tar.xz
- 16.7 MB scipy-1.1.0rc1.zip
- Source code (zip)
- Source code (tar.gz)
SciPy 1.1.0 Release Notes
Note: Scipy 1.1.0 is not released yet!
SciPy 1.1.0 is the culmination of 7 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Before upgrading, we recommend that users check that their own code does not use deprecated SciPy functionality (to do so, run your code with python -Wd
and check for DeprecationWarning
s). Our development attention will now shift to bug-fix releases on the 1.1.x branch, and on adding new features on the master branch.
This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
This release has improved but not necessarily 100% compatibility with the PyPy Python implementation. For running on PyPy, PyPy 6.0+ and Numpy 1.15.0+ are required.
New features
scipy.integrate improvements
The argument tfirst
has been added to the function scipy.integrate.odeint. This allows odeint to use the same user functions as scipy.integrate.solve_ivp and scipy.integrate.ode without the need for wrapping them in a function that swaps the first two arguments.
Error messages from quad()
are now clearer.
scipy.linalg improvements
The function scipy.linalg.ldl has been added for factorization of indefinite symmetric/hermitian matrices into triangular and block diagonal matrices.
Python wrappers for LAPACK sygst
, hegst
added in scipy.linalg.lapack.
Added scipy.linalg.null_space, scipy.linalg.cdf2rdf, scipy.linalg.rsf2csf.
scipy.misc improvements
An electrocardiogram has been added as an example dataset for a one-dimensional signal. It can be accessed through scipy.misc.electrocardiogram.
scipy.ndimage improvements
The routines scipy.ndimage.binary_opening, and scipy.ndimage.binary_closing now support masks and different border values.
scipy.optimize improvements
The method trust-constr
has been added to scipy.optimize.minimize. The method switches between two implementations depending on the problem definition. For equality constrained problems it is an implementation of a trust-region sequential quadratic programming solver and, when inequality constraints are imposed, it switches to a trust-region interior point method. Both methods are appropriate for large scale
problems. Quasi-Newton options BFGS and SR1 were implemented and can be used to approximate second order derivatives for this new method. Also, finite-differences can be used to approximate either first-order or
second-order derivatives.
Random-to-Best/1/bin and Random-to-Best/1/exp mutation strategies were added to scipy.optimize.differential_evolution as randtobest1bin
and randtobest1exp
, respectively. Note: These names were already in use but implemented a different mutation strategy. See Backwards incompatible changes, below. The init
keyword for the scipy.optimize.differential_evolution function can now accept an array. This array allows the user to specify the
entire population.
Add an adaptive
option to Nelder-Mead to use step parameters adapted to the dimensionality of the problem.
Minor improvements in scipy.optimize.basinhopping.
scipy.signal improvements
Three new functions for peak finding in one-dimensional arrays were added. scipy.signal.find_peaks searches for peaks (local maxima) based on simple value comparison of neighbouring samples and returns those
peaks whose properties match optionally specified conditions for their height, prominence, width, threshold and distance to each other. scipy.signal.peak_prominences and scipy.signal.peak_widths can directly calculate the prominences or widths of known peaks.
Added ZPK versions of frequency transformations: scipy.signal.bilinear_zpk, scipy.signal.lp2bp_zpk, scipy.signal.lp2bs_zpk, scipy.signal.lp2hp_zpk, scipy.signal.lp2lp_zpk.
Added scipy.signal.windows.dpss, scipy.signal.windows.general_cosine and scipy.signal.windows.general_hamming.
scipy.sparse improvements
An in-place resize
method has been added to all sparse matrix formats, which was only available for scipy.sparse.dok_matrix in previous releases.
scipy.special improvements
Added Owen's T function as scipy.special.owens_t.
Accuracy improvements in chndtr
, digamma
, gammaincinv
, lambertw
, zetac
.
scipy.stats improvements
The Moyal distribution has been added as scipy.stats.moyal.
Added the normal inverse Gaussian distribution as scipy.stats.norminvgauss.
Deprecated features
The iterative linear equation solvers in scipy.sparse.linalg had a sub-optimal way of how absolute tolerance is considered. The default behavior will be changed in a future Scipy release to a more standard and less surprising one. To silence deprecation warnings, set the atol=
parameter explicitly.
scipy.signal.windows.slepian is deprecated, replaced by scipy.signal.windows.dpss.
The window functions in scipy.signal are now available in scipy.signal.windows. They will remain also available in the old location in the scipy.signal namespace in future Scipy versions. However, importing them from scipy.signal.windows is preferred, and new window functions will be added only there.
Indexing sparse matrices with floating-point numbers instead of integers is deprecated.
The function scipy.stats.itemfreq is deprecated.
Backwards incompatible changes
Previously, scipy.linalg.orth used a singular value cutoff value appropriate for double precision numbers also for single-precision input. The cutoff value is now tunable, and the default has been changed to depend on the input data precision.
In previous versions of Scipy, the randtobest1bin
and randtobest1exp
mutation strategies in scipy.optimize.differential_evolution were actually implemented using the Current-to-Best/1/bin and Current-to-Best/1/exp strategies, respectively. These strategies were renamed to currenttobest1bin
and currenttobest1exp
and the implementations of randtobest1bin
and randtobest1exp
strategies were corrected.
Functions in the ndimage module now always return their output array. Before this most functions only returned the output array if it had been allocated by the function, and would return None
if it had been provided by the user.
Distance metrics in scipy.spatial.distance now require non-negative weights.
scipy.special.loggamma returns now real-valued result when the input is real-valued.
Other changes
When building on Linux with GNU compilers, the .so
Python extension files now hide all symbols except those required by Python, which can avoid problems when embedding the Python interpreter.
Authors
- Saurabh Agarwal +
- Diogo Aguiam +
- Joseph Albert +
- Gerrit Ansmann +
- Astrofysicus +
- Jean-François B +
- Vahan Babayan +
- Alessandro Pietro Bardelli
- Christoph Baumgarten +
- Felix Berkenkamp
- Lilian Besson +
- Aditya Bharti +
- Matthew Brett
- Evgeni Burovski
- CJ Carey
- Martin Ø. Christensen +
- Robert Cimrman
- Vicky Close +
- Peter Cock +
- Philip DeBoer
- Jaime Fernandez del Rio
- Dieter Werthmüller +
- Tom Donoghue +
- Matt Dzugan +
- Lars G +
- Jacques Gaudin +
- Andriy Gelman +
- Sean Gillies +
- Dezmond Goff
- Christoph Gohlke
- Ralf Gommers
- Uri Goren +
- Deepak Kumar Gouda +
- Douglas Lessa Graciosa +
- Matt Haberland
- David Hagen
- Charles Harris
- Jordan Heemskerk +
- Danny Hermes +
- Stephan Hoyer +
- Theodore Hu +
- Jean-François B. +
- Mads Jensen +
- Jon Haitz Legarreta Gorroño +
- Ben Jude +
- Noel Kippers +
- Julius Bier Kirkegaard +
- Maria Knorps +
- Mikkel Kristensen +
- Eric Larson
- Kasper Primdal Lauritzen +
- Denis Laxalde
- KangWon Lee +
- Jan Lehky +
- Jackie Leng +
- P.L. Lim +
- Nikolay Mayorov
- Mihai Capotă +
- Max Mikhaylov +
- Mark Mikofski +
- Jarrod Millman
- Raden Muhammad +
- Paul Nation
- Andrew Nelson
- Nico Schlömer
- Joel Nothman
- Kyle Oman +
- Egor Panfilov +
- Nick Papior
- Anubhav Patel +
- Oleksandr Pavlyk
- Ilhan Polat
- Robert Pollak +
- Anant Prakash +
- Aman Pratik
- Sean Quinn +
- Giftlin Rajaiah +
- Tyler Reddy
- Joscha Reimer
- Antonio H Ribeiro +
- Antonio Horta Ribeiro
- Benjamin Rose +
- Fabian Rost
- Divakar Roy +
- Scott Sievert
- Leo Singer
- Sourav Singh
- Martino Sorbaro +
- Eric Stansifer +
- Martin Thoma
- Phil Tooley +
- Piotr Uchwat +
- Paul van Mulbregt
- Pauli Virtanen
- Stefan van der Walt
- Warren Weckesser
- Florian Weimer +
- Eric Wieser
- Josh Wilson
- Ted Ying +
- Evgeny Zhurko
- Zé Vinícius
- @awakenting +
- @endolith
- @FormerPhysicist +
- @gaulinmp +
- @hugovk
- @ksemb +
- @kshitij12345 +
- @luzpaz +
- @NKrvavica +
- @rafalalgo +
- @samyak0210 +
- @soluwalana +
- @sudheerachary +
- @Tokixix +
- @tttthomasssss +
- @vkk800 +
- @xoviat
- @ziejcow +
A total of 122 people contributed to this release. People with a "+"
by their names contributed a patch for the first time. This list of
names is automatically generated, and may not be fully complete.
SciPy 1.0.1
rgommers released this
Assets
- 15.8 MB scipy-1.0.1-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 38.2 MB scipy-1.0.1-cp27-cp27m-manylinux1_i686.whl
- 44.6 MB scipy-1.0.1-cp27-cp27m-manylinux1_x86_64.whl
- 38.2 MB scipy-1.0.1-cp27-cp27mu-manylinux1_i686.whl
- 44.6 MB scipy-1.0.1-cp27-cp27mu-manylinux1_x86_64.whl
- 25.2 MB scipy-1.0.1-cp27-none-win32.whl
- 29.7 MB scipy-1.0.1-cp27-none-win_amd64.whl
- 15.7 MB scipy-1.0.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 39 MB scipy-1.0.1-cp34-cp34m-manylinux1_i686.whl
- 45.4 MB scipy-1.0.1-cp34-cp34m-manylinux1_x86_64.whl
- 24.5 MB scipy-1.0.1-cp34-none-win32.whl
- 28.9 MB scipy-1.0.1-cp34-none-win_amd64.whl
- 15.5 MB scipy-1.0.1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 40.5 MB scipy-1.0.1-cp35-cp35m-manylinux1_i686.whl
- 47.3 MB scipy-1.0.1-cp35-cp35m-manylinux1_x86_64.whl
- 24.8 MB scipy-1.0.1-cp35-none-win32.whl
- 29.4 MB scipy-1.0.1-cp35-none-win_amd64.whl
- 15.6 MB scipy-1.0.1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
- 40.9 MB scipy-1.0.1-cp36-cp36m-manylinux1_i686.whl
- 47.7 MB scipy-1.0.1-cp36-cp36m-manylinux1_x86_64.whl
- 24.8 MB scipy-1.0.1-cp36-none-win32.whl
- 29.4 MB scipy-1.0.1-cp36-none-win_amd64.whl
- 14.8 MB scipy-1.0.1.tar.gz
- 9.02 MB scipy-1.0.1.tar.xz
- 16.2 MB scipy-1.0.1.zip
- Source code (zip)
- Source code (tar.gz)
SciPy 1.0.1 is a bug-fix release with no new features compared to 1.0.0.
Probably the most important change is a fix for an incompatibility between
SciPy 1.0.0 and numpy.f2py
in the NumPy master branch.
Watchers：321 |
Star：6043 |
Fork：2870 |
创建时间： 2011-03-10 02:52:03 |
最后Commits： 昨天 |
许可协议：BSD-3-Clause |
600e7f5
Verified
tylerjereddy released this
Jun 7, 2019
· 1065 commits to master since this release
SciPy 1.2.2 Release Notes
SciPy
1.2.2
is a bug-fix release with no new features compared to1.2.1
.Importantly, the SciPy 1.2.2 wheels are built with OpenBLAS
0.3.7.dev
toalleviate issues with SkylakeX AVX512 kernels.
Authors
A total of 7 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully complete.