Scipy

Latest version: v1.13.0

Safety actively analyzes 629503 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 13 of 15

0.19.0

Not secure
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. Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.

This release requires Python 2.7 or 3.4-3.6 and NumPy 1.8.2 or greater.

Highlights of this release include:

- - A unified foreign function interface layer, `scipy.LowLevelCallable`.
- - Cython API for scalar, typed versions of the universal functions from
the `scipy.special` module, via `cimport scipy.special.cython_special`.


New features
============

Foreign function interface improvements
- ---------------------------------------

`scipy.LowLevelCallable` provides a new unified interface for wrapping
low-level compiled callback functions in the Python space. It supports
Cython imported "api" functions, ctypes function pointers, CFFI function
pointers, ``PyCapsules``, Numba jitted functions and more.
See `gh-6509 <https://github.com/scipy/scipy/pull/6509>`_ for details.


`scipy.linalg` improvements
- ---------------------------

The function `scipy.linalg.solve` obtained two more keywords ``assume_a`` and
``transposed``. The underlying LAPACK routines are replaced with "expert"
versions and now can also be used to solve symmetric, hermitian and positive
definite coefficient matrices. Moreover, ill-conditioned matrices now cause
a warning to be emitted with the estimated condition number information. Old
``sym_pos`` keyword is kept for backwards compatibility reasons however it
is identical to using ``assume_a='pos'``. Moreover, the ``debug`` keyword,
which had no function but only printing the ``overwrite_<a, b>`` values, is
deprecated.

The function `scipy.linalg.matrix_balance` was added to perform the so-called
matrix balancing using the LAPACK xGEBAL routine family. This can be used to
approximately equate the row and column norms through diagonal similarity
transformations.

The functions `scipy.linalg.solve_continuous_are` and
`scipy.linalg.solve_discrete_are` have numerically more stable algorithms.
These functions can also solve generalized algebraic matrix Riccati equations.
Moreover, both gained a ``balanced`` keyword to turn balancing on and off.

`scipy.spatial` improvements
- ----------------------------

`scipy.spatial.SphericalVoronoi.sort_vertices_of_regions` has been re-written in
Cython to improve performance.

`scipy.spatial.SphericalVoronoi` can handle > 200 k points (at least 10 million)
and has improved performance.

The function `scipy.spatial.distance.directed_hausdorff` was
added to calculate the directed Hausdorff distance.

``count_neighbors`` method of `scipy.spatial.cKDTree` gained an ability to
perform weighted pair counting via the new keywords ``weights`` and
``cumulative``. See `gh-5647 <https://github.com/scipy/scipy/pull/5647>`_ for
details.

`scipy.spatial.distance.pdist` and `scipy.spatial.distance.cdist` now support
non-double custom metrics.

`scipy.ndimage` improvements
- ----------------------------

The callback function C API supports PyCapsules in Python 2.7

Multidimensional filters now allow having different extrapolation modes for
different axes.

`scipy.optimize` improvements
- -----------------------------

The `scipy.optimize.basinhopping` global minimizer obtained a new keyword,
`seed`, which can be used to seed the random number generator and obtain
repeatable minimizations.

The keyword `sigma` in `scipy.optimize.curve_fit` was overloaded to also accept
the covariance matrix of errors in the data.

`scipy.signal` improvements
- ---------------------------

The function `scipy.signal.correlate` and `scipy.signal.convolve` have a new
optional parameter `method`. The default value of `auto` estimates the fastest
of two computation methods, the direct approach and the Fourier transform
approach.

A new function has been added to choose the convolution/correlation method,
`scipy.signal.choose_conv_method` which may be appropriate if convolutions or
correlations are performed on many arrays of the same size.

New functions have been added to calculate complex short time fourier
transforms of an input signal, and to invert the transform to recover the
original signal: `scipy.signal.stft` and `scipy.signal.istft`. This
implementation also fixes the previously incorrect ouput of
`scipy.signal.spectrogram` when complex output data were requested.

The function `scipy.signal.sosfreqz` was added to compute the frequency
response from second-order sections.

The function `scipy.signal.unit_impulse` was added to conveniently
generate an impulse function.

The function `scipy.signal.iirnotch` was added to design second-order
IIR notch filters that can be used to remove a frequency component from
a signal. The dual function `scipy.signal.iirpeak` was added to
compute the coefficients of a second-order IIR peak (resonant) filter.

The function `scipy.signal.minimum_phase` was added to convert linear-phase
FIR filters to minimum phase.

The functions `scipy.signal.upfirdn` and `scipy.signal.resample_poly` are now
substantially faster when operating on some n-dimensional arrays when n > 1.
The largest reduction in computation time is realized in cases where the size
of the array is small (<1k samples or so) along the axis to be filtered.

`scipy.fftpack` improvements
- ----------------------------

Fast Fourier transform routines now accept `np.float16` inputs and upcast
them to `np.float32`. Previously, they would raise an error.

`scipy.cluster` improvements
- ----------------------------

Methods ``"centroid"`` and ``"median"`` of `scipy.cluster.hierarchy.linkage`
have been significantly sped up. Long-standing issues with using ``linkage`` on
large input data (over 16 GB) have been resolved.

`scipy.sparse` improvements
- ---------------------------

The functions `scipy.sparse.save_npz` and `scipy.sparse.load_npz` were added,
providing simple serialization for some sparse formats.

The `prune` method of classes `bsr_matrix`, `csc_matrix`, and `csr_matrix`
was updated to reallocate backing arrays under certain conditions, reducing
memory usage.

The methods `argmin` and `argmax` were added to classes `coo_matrix`,
`csc_matrix`, `csr_matrix`, and `bsr_matrix`.

New function `scipy.sparse.csgraph.structural_rank` computes the structural
rank of a graph with a given sparsity pattern.

New function `scipy.sparse.linalg.spsolve_triangular` solves a sparse linear
system with a triangular left hand side matrix.


`scipy.special` improvements
- ----------------------------

Scalar, typed versions of universal functions from `scipy.special` are available
in the Cython space via ``cimport`` from the new module
`scipy.special.cython_special`. These scalar functions can be expected to be
significantly faster then the universal functions for scalar arguments. See
the `scipy.special` tutorial for details.

Better control over special-function errors is offered by the
functions `scipy.special.geterr` and `scipy.special.seterr` and the
context manager `scipy.special.errstate`.

The names of orthogonal polynomial root functions have been changed to
be consistent with other functions relating to orthogonal
polynomials. For example, `scipy.special.j_roots` has been renamed
`scipy.special.roots_jacobi` for consistency with the related
functions `scipy.special.jacobi` and `scipy.special.eval_jacobi`. To
preserve back-compatibility the old names have been left as aliases.

Wright Omega function is implemented as `scipy.special.wrightomega`.


`scipy.stats` improvements
- --------------------------

The function `scipy.stats.weightedtau` was added. It provides a weighted
version of Kendall's tau.

New class `scipy.stats.multinomial` implements the multinomial distribution.

New class `scipy.stats.rv_histogram` constructs a continuous univariate
distribution with a piecewise linear CDF from a binned data sample.

New class `scipy.stats.argus` implements the Argus distribution.


`scipy.interpolate` improvements
- --------------------------------

New class `scipy.interpolate.BSpline` represents splines. ``BSpline`` objects
contain knots and coefficients and can evaluate the spline. The format is
consistent with FITPACK, so that one can do, for example::

>>> t, c, k = splrep(x, y, s=0)
>>> spl = BSpline(t, c, k)
>>> np.allclose(spl(x), y)

``spl*`` functions, `scipy.interpolate.splev`, `scipy.interpolate.splint`,
`scipy.interpolate.splder` and `scipy.interpolate.splantider`, accept both
``BSpline`` objects and ``(t, c, k)`` tuples for backwards compatibility.

For multidimensional splines, ``c.ndim > 1``, ``BSpline`` objects are consistent
with piecewise polynomials, `scipy.interpolate.PPoly`. This means that
``BSpline`` objects are not immediately consistent with
`scipy.interpolate.splprep`, and one *cannot* do
``>>> BSpline(*splprep([x, y])[0])``. Consult the `scipy.interpolate` test suite
for examples of the precise equivalence.

In new code, prefer using ``scipy.interpolate.BSpline`` objects instead of
manipulating ``(t, c, k)`` tuples directly.

New function `scipy.interpolate.make_interp_spline` constructs an interpolating
spline given data points and boundary conditions.

New function `scipy.interpolate.make_lsq_spline` constructs a least-squares
spline approximation given data points.

`scipy.integrate` improvements
- ------------------------------

Now `scipy.integrate.fixed_quad` supports vector-valued functions.


Deprecated features
===================

`scipy.interpolate.splmake`, `scipy.interpolate.spleval` and
`scipy.interpolate.spline` are deprecated. The format used by `splmake/spleval`
was inconsistent with `splrep/splev` which was confusing to users.

`scipy.special.errprint` is deprecated. Improved functionality is
available in `scipy.special.seterr`.

calling `scipy.spatial.distance.pdist` or `scipy.spatial.distance.cdist` with
arguments not needed by the chosen metric is deprecated. Also, metrics
`"old_cosine"` and `"old_cos"` are deprecated.


Backwards incompatible changes
==============================

The deprecated ``scipy.weave`` submodule was removed.

`scipy.spatial.distance.squareform` now returns arrays of the same dtype as
the input, instead of always float64.

`scipy.special.errprint` now returns a boolean.

The function `scipy.signal.find_peaks_cwt` now returns an array instead of
a list.

`scipy.stats.kendalltau` now computes the correct p-value in case the
input contains ties. The p-value is also identical to that computed by
`scipy.stats.mstats.kendalltau` and by R. If the input does not
contain ties there is no change w.r.t. the previous implementation.

The function `scipy.linalg.block_diag` will not ignore zero-sized matrices anymore.
Instead it will insert rows or columns of zeros of the appropriate size.
See gh-4908 for more details.


Other changes
=============

SciPy wheels will now report their dependency on ``numpy`` on all platforms.
This change was made because Numpy wheels are available, and because the pip
upgrade behavior is finally changing for the better (use
``--upgrade-strategy=only-if-needed`` for ``pip >= 8.2``; that behavior will
become the default in the next major version of ``pip``).

Numerical values returned by `scipy.interpolate.interp1d` with ``kind="cubic"``
and ``"quadratic"`` may change relative to previous scipy versions. If your
code depended on specific numeric values (i.e., on implementation
details of the interpolators), you may want to double-check your results.


Authors
=======

* endolith
* Max Argus +
* Hervé Audren
* Alessandro Pietro Bardelli +
* Michael Benfield +
* Felix Berkenkamp
* Matthew Brett
* Per Brodtkorb
* Evgeni Burovski
* Pierre de Buyl
* CJ Carey
* Brandon Carter +
* Tim Cera
* Klesk Chonkin
* Christian Häggström +
* Luca Citi
* Peadar Coyle +
* Daniel da Silva +
* Greg Dooper +
* John Draper +
* drlvk +
* David Ellis +
* Yu Feng
* Baptiste Fontaine +
* Jed Frey +
* Siddhartha Gandhi +
* Wim Glenn +
* Akash Goel +
* Christoph Gohlke
* Ralf Gommers
* Alexander Goncearenco +
* Richard Gowers +
* Alex Griffing
* Radoslaw Guzinski +
* Charles Harris
* Callum Jacob Hays +
* Ian Henriksen
* Randy Heydon +
* Lindsey Hiltner +
* Gerrit Holl +
* Hiroki IKEDA +
* jfinkels +
* Mher Kazandjian +
* Thomas Keck +
* keuj6 +
* Kornel Kielczewski +
* Sergey B Kirpichev +
* Vasily Kokorev +
* Eric Larson
* Denis Laxalde
* Gregory R. Lee
* Josh Lefler +
* Julien Lhermitte +
* Evan Limanto +
* Jin-Guo Liu +
* Nikolay Mayorov
* Geordie McBain +
* Josue Melka +
* Matthieu Melot
* michaelvmartin15 +
* Surhud More +
* Brett M. Morris +
* Chris Mutel +
* Paul Nation
* Andrew Nelson
* David Nicholson +
* Aaron Nielsen +
* Joel Nothman
* nrnrk +
* Juan Nunez-Iglesias
* Mikhail Pak +
* Gavin Parnaby +
* Thomas Pingel +
* Ilhan Polat +
* Aman Pratik +
* Sebastian Pucilowski
* Ted Pudlik
* puenka +
* Eric Quintero
* Tyler Reddy
* Joscha Reimer
* Antonio Horta Ribeiro +
* Edward Richards +
* Roman Ring +
* Rafael Rossi +
* Colm Ryan +
* Sami Salonen +
* Alvaro Sanchez-Gonzalez +
* Johannes Schmitz
* Kari Schoonbee
* Yurii Shevchuk +
* Jonathan Siebert +
* Jonathan Tammo Siebert +
* Scott Sievert +
* Sourav Singh
* Byron Smith +
* Srikiran +
* Samuel St-Jean +
* Yoni Teitelbaum +
* Bhavika Tekwani
* Martin Thoma
* timbalam +
* Svend Vanderveken +
* Sebastiano Vigna +
* Aditya Vijaykumar +
* Santi Villalba +
* Ze Vinicius
* Pauli Virtanen
* Matteo Visconti
* Yusuke Watanabe +
* Warren Weckesser
* Phillip Weinberg +
* Nils Werner
* Jakub Wilk
* Josh Wilson
* wirew0rm +
* David Wolever +
* Nathan Woods
* ybeltukov +
* G Young
* Evgeny Zhurko +

A total of 121 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.

0.19.0rc2

This is the second release candidate for scipy 0.19.0. See https://github.com/scipy/scipy/blob/maintenance/0.19.x/doc/release/0.19.0-notes.rst for the release notes.

The main difference to rc1 is several Windows-specific issues that were fixed (Thanks Christoph!)

Please note that this is a source-only release. OS X and manylinux1 wheels will be produced for the final release.

If no issues are reported for this release, it will become the final 0.19.0 release. Issues can be reported via Github or on the scipy-dev mailing list (see http://scipy.org/scipylib/mailing-lists.html).

0.19.0rc1

This is the first release candidate for scipy 0.19.0. See https://github.com/scipy/scipy/blob/maintenance/0.19.x/doc/release/0.19.0-notes.rst for the release notes.

Please note that this is a source-only release.

If no issues are reported for this release, it will become the final 0.19.0 release. Issues can be reported via Github or on the scipy-dev mailing list (see http://scipy.org/scipylib/mailing-lists.html).

0.18.1

Not secure
---
- \- `6405 <https://github.com/scipy/scipy/pull/6405>`__: BUG: sparse: fix elementwise divide for CSR/CSC
- \- `6431 <https://github.com/scipy/scipy/pull/6431>`__: BUG: result for insufficient neighbours from cKDTree is wrong.
- \- `6432 <https://github.com/scipy/scipy/pull/6432>`__: BUG Issue #6421: scipy.linalg.solve_banded overwrites input 'b'...
- \- `6455 <https://github.com/scipy/scipy/pull/6455>`__: DOC: add links to release notes
- \- `6462 <https://github.com/scipy/scipy/pull/6462>`__: BUG: interpolate: fix .roots method of PchipInterpolator
- \- `6492 <https://github.com/scipy/scipy/pull/6492>`__: BUG: Fix regression in dblquad: #6458
- \- `6543 <https://github.com/scipy/scipy/pull/6543>`__: fix the regression in circmean
- \- `6545 <https://github.com/scipy/scipy/pull/6545>`__: Revert gh-5938, restore ks_2samp
- \- `6557 <https://github.com/scipy/scipy/pull/6557>`__: Backports for 0.18.1

0.18.01

This is the same tag as v0.18.0, but re-issued to obtain a DOI.
The content and release notes can be found here: https://github.com/scipy/scipy/releases/tag/v0.18.0

0.18.0

Not secure
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. Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.

This release requires Python 2.7 or 3.4-3.5 and NumPy 1.7.1 or greater.

Highlights of this release include:
- \- A new ODE solver for two-point boundary value problems,
`scipy.optimize.solve_bvp`.
- \- A new class, `CubicSpline`, for cubic spline interpolation of data.
- \- N-dimensional tensor product polynomials, `scipy.interpolate.NdPPoly`.
- \- Spherical Voronoi diagrams, `scipy.spatial.SphericalVoronoi`.
- \- Support for discrete-time linear systems, `scipy.signal.dlti`.

New features

`scipy.integrate` improvements

---

A solver of two-point boundary value problems for ODE systems has been
implemented in `scipy.integrate.solve_bvp`. The solver allows for non-separated
boundary conditions, unknown parameters and certain singular terms. It finds
a C1 continious solution using a fourth-order collocation algorithm.

`scipy.interpolate` improvements

---

Cubic spline interpolation is now available via `scipy.interpolate.CubicSpline`.
This class represents a piecewise cubic polynomial passing through given points
and C2 continuous. It is represented in the standard polynomial basis on each
segment.

A representation of n-dimensional tensor product piecewise polynomials is
available as the `scipy.interpolate.NdPPoly` class.

Univariate piecewise polynomial classes, `PPoly` and `Bpoly`, can now be
evaluated on periodic domains. Use `extrapolate="periodic"` keyword
argument for this.

`scipy.fftpack` improvements

---

`scipy.fftpack.next_fast_len` function computes the next "regular" number for
FFTPACK. Padding the input to this length can give significant performance
increase for `scipy.fftpack.fft`.

`scipy.signal` improvements

---

Resampling using polyphase filtering has been implemented in the function
`scipy.signal.resample_poly`. This method upsamples a signal, applies a
zero-phase low-pass FIR filter, and downsamples using `scipy.signal.upfirdn`
(which is also new in 0.18.0). This method can be faster than FFT-based
filtering provided by `scipy.signal.resample` for some signals.

`scipy.signal.firls`, which constructs FIR filters using least-squares error
minimization, was added.

`scipy.signal.sosfiltfilt`, which does forward-backward filtering like
`scipy.signal.filtfilt` but for second-order sections, was added.

Discrete-time linear systems



`scipy.signal.dlti` provides an implementation of discrete-time linear systems.
Accordingly, the `StateSpace`, `TransferFunction` and `ZerosPolesGain` classes
have learned a the new keyword, `dt`, which can be used to create discrete-time
instances of the corresponding system representation.


`scipy.sparse` improvements
- ---------------------------

The functions `sum`, `max`, `mean`, `min`, `transpose`, and `reshape` in
`scipy.sparse` have had their signatures augmented with additional arguments
and functionality so as to improve compatibility with analogously defined
functions in `numpy`.

Sparse matrices now have a `count_nonzero` method, which counts the number of
nonzero elements in the matrix. Unlike `getnnz()` and ``nnz`` propety,
which return the number of stored entries (the length of the data attribute),
this method counts the actual number of non-zero entries in data.


`scipy.optimize` improvements
- -----------------------------

The implementation of Nelder-Mead minimization,
`scipy.minimize(..., method="Nelder-Mead")`, obtained a new keyword,
`initial_simplex`, which can be used to specify the initial simplex for the
optimization process.

Initial step size selection in CG and BFGS minimizers has been improved. We
expect that this change will improve numeric stability of optimization in some
cases. See pull request gh-5536 for details.

Handling of infinite bounds in SLSQP optimization has been improved. We expect
that this change will improve numeric stability of optimization in the some
cases. See pull request gh-6024 for details.

A large suite of global optimization benchmarks has been added to
``scipy/benchmarks/go_benchmark_functions``. See pull request gh-4191 for details.

Nelder-Mead and Powell minimization will now only set defaults for
maximum iterations or function evaluations if neither limit is set by
the caller. In some cases with a slow converging function and only 1
limit set, the minimization may continue for longer than with previous
versions and so is more likely to reach convergence. See issue gh-5966.

`scipy.stats` improvements
- --------------------------

Trapezoidal distribution has been implemented as `scipy.stats.trapz`.
Skew normal distribution has been implemented as `scipy.stats.skewnorm`.
Burr type XII distribution has been implemented as `scipy.stats.burr12`.
Three- and four-parameter kappa distributions have been implemented as
`scipy.stats.kappa3` and `scipy.stats.kappa4`, respectively.

New `scipy.stats.iqr` function computes the interquartile region of a
distribution.

Random matrices


`scipy.stats.special_ortho_group` and `scipy.stats.ortho_group` provide
generators of random matrices in the SO(N) and O(N) groups, respectively. They
generate matrices in the Haar distribution, the only uniform distribution on
these group manifolds.

`scipy.stats.random_correlation` provides a generator for random
correlation matrices, given specified eigenvalues.

`scipy.linalg` improvements

---

`scipy.linalg.svd` gained a new keyword argument, `lapack_driver`. Available
drivers are `gesdd` (default) and `gesvd`.

`scipy.linalg.lapack.ilaver` returns the version of the LAPACK library SciPy
links to.

`scipy.spatial` improvements

---

Boolean distances, `scipy.spatial.pdist`, have been sped up. Improvements vary
by the function and the input size. In many cases, one can expect a speed-up
of x2--x10.

New class `scipy.spatial.SphericalVoronoi` constructs Voronoi diagrams on the
surface of a sphere. See pull request gh-5232 for details.

`scipy.cluster` improvements

---

A new clustering algorithm, the nearest neighbor chain algorithm, has been
implemented for `scipy.cluster.hierarchy.linkage`. As a result, one can expect
a significant algorithmic improvement (:math:`O(N^2)` instead of :math:`O(N^3)`)
for several linkage methods.

`scipy.special` improvements

---

The new function `scipy.special.loggamma` computes the principal branch of the
logarithm of the Gamma function. For real input, `loggamma` is compatible
with `scipy.special.gammaln`. For complex input, it has more consistent
behavior in the complex plane and should be preferred over `gammaln`.

Vectorized forms of spherical Bessel functions have been implemented as
`scipy.special.spherical_jn`, `scipy.special.spherical_kn`,
`scipy.special.spherical_in` and `scipy.special.spherical_yn`.
They are recommended for use over `sph_*` functions, which are now deprecated.

Several special functions have been extended to the complex domain and/or
have seen domain/stability improvements. This includes `spence`, `digamma`,
`log1p` and several others.

Deprecated features

The cross-class properties of `lti` systems have been deprecated. The
following properties/setters will raise a `DeprecationWarning`:

Name - (accessing/setting raises warning) - (setting raises warning)
- StateSpace - (`num`, `den`, `gain`) - (`zeros`, `poles`)
- TransferFunction (`A`, `B`, `C`, `D`, `gain`) - (`zeros`, `poles`)
- ZerosPolesGain (`A`, `B`, `C`, `D`, `num`, `den`) - ()

Spherical Bessel functions, `sph_in`, `sph_jn`, `sph_kn`, `sph_yn`,
`sph_jnyn` and `sph_inkn` have been deprecated in favor of
`scipy.special.spherical_jn` and `spherical_kn`, `spherical_yn`,
`spherical_in`.

The following functions in `scipy.constants` are deprecated: `C2K`, `K2C`,
`C2F`, `F2C`, `F2K` and `K2F`. They are superceded by a new function
`scipy.constants.convert_temperature` that can perform all those conversions
plus to/from the Rankine temperature scale.

Backwards incompatible changes

`scipy.optimize`

---

The convergence criterion for `optimize.bisect`,
`optimize.brentq`, `optimize.brenth`, and `optimize.ridder` now
works the same as `numpy.allclose`.

`scipy.ndimage`

---

The offset in `ndimage.iterpolation.affine_transform`
is now consistently added after the matrix is applied,
independent of if the matrix is specified using a one-dimensional
or a two-dimensional array.

`scipy.stats`

---

`stats.ks_2samp` used to return nonsensical values if the input was
not real or contained nans. It now raises an exception for such inputs.

Several deprecated methods of `scipy.stats` distributions have been removed:
`est_loc_scale`, `vecfunc`, `veccdf` and `vec_generic_moment`.

Deprecated functions `nanmean`, `nanstd` and `nanmedian` have been removed
from `scipy.stats`. These functions were deprecated in scipy 0.15.0 in favor
of their `numpy` equivalents.

A bug in the `rvs()` method of the distributions in `scipy.stats` has
been fixed. When arguments to `rvs()` were given that were shaped for
broadcasting, in many cases the returned random samples were not random.
A simple example of the problem is `stats.norm.rvs(loc=np.zeros(10))`.
Because of the bug, that call would return 10 identical values. The bug
only affected code that relied on the broadcasting of the shape, location
and scale parameters.

The `rvs()` method also accepted some arguments that it should not have.
There is a potential for backwards incompatibility in cases where `rvs()`
accepted arguments that are not, in fact, compatible with broadcasting.
An example is


stats.gamma.rvs([2, 5, 10, 15], size=(2,2))


The shape of the first argument is not compatible with the requested size,
but the function still returned an array with shape (2, 2). In scipy 0.18,
that call generates a `ValueError`.

`scipy.io`

---

`scipy.io.netcdf` masking now gives precedence to the `_FillValue` attribute
over the `missing_value` attribute, if both are given. Also, data are only
treated as missing if they match one of these attributes exactly: values that
differ by roundoff from `_FillValue` or `missing_value` are no longer
treated as missing values.

`scipy.interpolate`

---

`scipy.interpolate.PiecewisePolynomial` class has been removed. It has been
deprecated in scipy 0.14.0, and `scipy.interpolate.BPoly.from_derivatives` serves
as a drop-in replacement.

Other changes

Scipy now uses `setuptools` for its builds instead of plain distutils. This
fixes usage of `install_requires='scipy'` in the `setup.py` files of
projects that depend on Scipy (see Numpy issue gh-6551 for details). It
potentially affects the way that build/install methods for Scipy itself behave
though. Please report any unexpected behavior on the Scipy issue tracker.

PR `6240 <https://github.com/scipy/scipy/pull/6240>`__
changes the interpretation of the `maxfun` option in `L-BFGS-B` based routines
in the `scipy.optimize` module.
An `L-BFGS-B` search consists of multiple iterations,
with each iteration consisting of one or more function evaluations.
Whereas the old search strategy terminated immediately upon reaching `maxfun`
function evaluations, the new strategy allows the current iteration
to finish despite reaching `maxfun`.

The bundled copy of Qhull in the `scipy.spatial` subpackage has been upgraded to
version 2015.2.

The bundled copy of ARPACK in the `scipy.sparse.linalg` subpackage has been
upgraded to arpack-ng 3.3.0.

The bundled copy of SuperLU in the `scipy.sparse` subpackage has been upgraded
to version 5.1.1.

Authors
- endolith
- yanxun827 +
- kleskjr +
- MYheavyGo +
- solarjoe +
- Gregory Allen +
- Gilles Aouizerate +
- Tom Augspurger +
- Henrik Bengtsson +
- Felix Berkenkamp
- Per Brodtkorb
- Lars Buitinck
- Daniel Bunting +
- Evgeni Burovski
- CJ Carey
- Tim Cera
- Grey Christoforo +
- Robert Cimrman
- Philip DeBoer +
- Yves Delley +
- Dávid Bodnár +
- Ion Elberdin +
- Gabriele Farina +
- Yu Feng
- Andrew Fowlie +
- Joseph Fox-Rabinovitz
- Simon Gibbons +
- Neil Girdhar +
- Kolja Glogowski +
- Christoph Gohlke
- Ralf Gommers
- Todd Goodall +
- Johnnie Gray +
- Alex Griffing
- Olivier Grisel
- Thomas Haslwanter +
- Michael Hirsch +
- Derek Homeier
- Golnaz Irannejad +
- Marek Jacob +
- InSuk Joung +
- Tetsuo Koyama +
- Eugene Krokhalev +
- Eric Larson
- Denis Laxalde
- Antony Lee
- Jerry Li +
- Henry Lin +
- Nelson Liu +
- Loïc Estève
- Lei Ma +
- Osvaldo Martin +
- Stefano Martina +
- Nikolay Mayorov
- Matthieu Melot +
- Sturla Molden
- Eric Moore
- Alistair Muldal +
- Maniteja Nandana
- Tavi Nathanson +
- Andrew Nelson
- Joel Nothman
- Behzad Nouri
- Nikolai Nowaczyk +
- Juan Nunez-Iglesias +
- Ted Pudlik
- Eric Quintero
- Yoav Ram
- Jonas Rauber +
- Tyler Reddy +
- Juha Remes
- Garrett Reynolds +
- Ariel Rokem +
- Fabian Rost +
- Bill Sacks +
- Jona Sassenhagen +
- Kari Schoonbee +
- Marcello Seri +
- Sourav Singh +
- Martin Spacek +
- Søren Fuglede Jørgensen +
- Bhavika Tekwani +
- Martin Thoma +
- Sam Tygier +
- Meet Udeshi +
- Utkarsh Upadhyay
- Bram Vandekerckhove +
- Sebastián Vanrell +
- Ze Vinicius +
- Pauli Virtanen
- Stefan van der Walt
- Warren Weckesser
- Jakub Wilk +
- Josh Wilson
- Phillip J. Wolfram +
- Nathan Woods
- Haochen Wu
- G Young +

A total of 99 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.

Page 13 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.