{ "access": { "embargo": { "active": false, "reason": null }, "files": "public", "record": "public", "status": "open" }, "created": "2016-08-17T22:08:41+00:00", "custom_fields": {}, "deletion_status": { "is_deleted": false, "status": "P" }, "files": { "count": 1, "enabled": true, "entries": { "scipy-v0.18.0-1.zip": { "checksum": "md5:34310962922207c9105ff4f96b400092", "ext": "zip", "id": "788a2f61-366f-48e5-8524-112d989ee1ea", "key": "scipy-v0.18.0-1.zip", "metadata": null, "mimetype": "application/zip", "size": 13433316 } }, "order": [], "total_bytes": 13433316 }, "id": "60419", "is_draft": false, "is_published": true, "links": { "access": "https://zenodo.org/api/records/60419/access", "access_links": "https://zenodo.org/api/records/60419/access/links", "access_request": "https://zenodo.org/api/records/60419/access/request", "access_users": "https://zenodo.org/api/records/60419/access/users", "archive": "https://zenodo.org/api/records/60419/files-archive", "archive_media": "https://zenodo.org/api/records/60419/media-files-archive", "communities": "https://zenodo.org/api/records/60419/communities", "communities-suggestions": "https://zenodo.org/api/records/60419/communities-suggestions", "doi": "https://doi.org/10.5281/zenodo.60419", "draft": "https://zenodo.org/api/records/60419/draft", "files": "https://zenodo.org/api/records/60419/files", "latest": "https://zenodo.org/api/records/60419/versions/latest", "latest_html": "https://zenodo.org/records/60419/latest", "media_files": "https://zenodo.org/api/records/60419/media-files", "parent": "https://zenodo.org/api/records/595738", "parent_doi": "https://zenodo.org/doi/10.5281/zenodo.595738", "parent_html": "https://zenodo.org/records/595738", "requests": "https://zenodo.org/api/records/60419/requests", "reserve_doi": "https://zenodo.org/api/records/60419/draft/pids/doi", "self": "https://zenodo.org/api/records/60419", "self_doi": "https://zenodo.org/doi/10.5281/zenodo.60419", "self_html": "https://zenodo.org/records/60419", "self_iiif_manifest": "https://zenodo.org/api/iiif/record:60419/manifest", "self_iiif_sequence": "https://zenodo.org/api/iiif/record:60419/sequence/default", "versions": "https://zenodo.org/api/records/60419/versions" }, "media_files": { "count": 0, "enabled": false, "entries": {}, "order": [], "total_bytes": 0 }, "metadata": { "creators": [ { "person_or_org": { "family_name": "Pauli Virtanen", "name": "Pauli Virtanen", "type": "personal" } }, { "person_or_org": { "family_name": "Ralf Gommers", "name": "Ralf Gommers", "type": "personal" } }, { "person_or_org": { "family_name": "Travis Oliphant", "name": "Travis Oliphant", "type": "personal" } }, { "affiliations": [ { "name": "Enthought" } ], "person_or_org": { "family_name": "David Cournapeau", "name": "David Cournapeau", "type": "personal" } }, { "person_or_org": { "family_name": "Evgeni Burovski", "name": "Evgeni Burovski", "type": "personal" } }, { "person_or_org": { "family_name": "Pearu Peterson", "name": "Pearu Peterson", "type": "personal" } }, { "person_or_org": { "family_name": "alexbrc", "name": "alexbrc", "type": "personal" } }, { "person_or_org": { "family_name": "Warren Weckesser", "name": "Warren Weckesser", "type": "personal" } }, { "person_or_org": { "family_name": "wnbell", "name": "wnbell", "type": "personal" } }, { "person_or_org": { "family_name": "mattknox_ca", "name": "mattknox_ca", "type": "personal" } }, { "person_or_org": { "family_name": "endolith", "name": "endolith", "type": "personal" } }, { "affiliations": [ { "name": "University of California, Berkeley" } ], "person_or_org": { "family_name": "Stefan van der Walt", "name": "Stefan van der Walt", "type": "personal" } }, { "affiliations": [ { "name": "UC Berkeley" } ], "person_or_org": { "family_name": "Matthew Brett", "name": "Matthew Brett", "type": "personal" } }, { "affiliations": [ { "name": "UC Berkeley" } ], "person_or_org": { "family_name": "Jarrod Millman", "name": "Jarrod Millman", "type": "personal" } }, { "person_or_org": { "family_name": "Lars", "name": "Lars", "type": "personal" } }, { "affiliations": [ { "name": "Logilab" } ], "person_or_org": { "family_name": "Denis Laxalde", "name": "Denis Laxalde", "type": "personal" } }, { "person_or_org": { "family_name": "eric-jones", "name": "eric-jones", "type": "personal" } }, { "person_or_org": { "family_name": "Robert Kern", "name": "Robert Kern", "type": "personal" } }, { "person_or_org": { "family_name": "Eric Moore", "name": "Eric Moore", "type": "personal" } }, { "affiliations": [ { "name": "Breakaway Consulting" } ], "person_or_org": { "family_name": "Tim Leslie", "name": "Tim Leslie", "type": "personal" } }, { "person_or_org": { "family_name": "argriffing", "name": "argriffing", "type": "personal" } }, { "person_or_org": { "family_name": "Andrew Nelson", "name": "Andrew Nelson", "type": "personal" } }, { "affiliations": [ { "name": "University of Washington" } ], "person_or_org": { "family_name": "Jake Vanderplas", "name": "Jake Vanderplas", "type": "personal" } }, { "person_or_org": { "family_name": "Blake Griffith", "name": "Blake Griffith", "type": "personal" } }, { "affiliations": [ { "name": "UMass Department of Computer Science" } ], "person_or_org": { "family_name": "CJ Carey", "name": "CJ Carey", "type": "personal" } }, { "person_or_org": { "family_name": "Abraham Escalante", "name": "Abraham Escalante", "type": "personal" } }, { "person_or_org": { "family_name": "Josh Wilson", "name": "Josh Wilson", "type": "personal" } }, { "affiliations": [ { "name": "NASA Glenn Research Center" } ], "person_or_org": { "family_name": "Rob Falck", "name": "Rob Falck", "type": "personal" } }, { "person_or_org": { "family_name": "Nikolay Mayorov", "name": "Nikolay Mayorov", "type": "personal" } }, { "affiliations": [ { "name": "University of Washington" } ], "person_or_org": { "family_name": "Eric Larson", "name": "Eric Larson", "type": "personal" } }, { "affiliations": [ { "name": "Space Dynamics Laboratory" } ], "person_or_org": { "family_name": "Charles Harris", "name": "Charles Harris", "type": "personal" } }, { "person_or_org": { "family_name": "Sturla Molden", "name": "Sturla Molden", "type": "personal" } } ], "description": "
==========================
\nSciPy 0.18.0 Release Notes
\n==========================
\nSciPy 0.18.0 is the culmination of 6 months of hard work. It contains
\nmany new features, numerous bug-fixes, improved test coverage and
\nbetter documentation. There have been a number of deprecations and
\nAPI changes in this release, which are documented below. All users
\nare encouraged to upgrade to this release, as there are a large number
\nof bug-fixes and optimizations. Moreover, our development attention
\nwill now shift to bug-fix releases on the 0.19.x branch, and on adding
\nnew features on the master branch.
This release requires Python 2.7 or 3.4-3.5 and NumPy 1.7.1 or greater.
\n\nHighlights of this release include:
\n\n- - A new ODE solver for two-point boundary value problems,
\n `scipy.optimize.solve_bvp`.
\n- - A new class, `CubicSpline`, for cubic spline interpolation of data.
\n- - N-dimensional tensor product polynomials, `scipy.interpolate.NdPPoly`.
\n- - Spherical Voronoi diagrams, `scipy.spatial.SphericalVoronoi`.
\n- - Support for discrete-time linear systems, `scipy.signal.dlti`.
\nNew features
\n============
`scipy.integrate` improvements
\n- ------------------------------
A solver of two-point boundary value problems for ODE systems has been
\nimplemented in `scipy.integrate.solve_bvp`. The solver allows for non-separated
\nboundary conditions, unknown parameters and certain singular terms. It finds
\na C1 continious solution using a fourth-order collocation algorithm.
\n`scipy.interpolate` improvements
\n- --------------------------------
Cubic spline interpolation is now available via `scipy.interpolate.CubicSpline`.
\nThis class represents a piecewise cubic polynomial passing through given points
\nand C2 continuous. It is represented in the standard polynomial basis on each
\nsegment.
A representation of n-dimensional tensor product piecewise polynomials is
\navailable as the `scipy.interpolate.NdPPoly` class.
Univariate piecewise polynomial classes, `PPoly` and `Bpoly`, can now be
\nevaluated on periodic domains. Use ``extrapolate="periodic"`` keyword
\nargument for this.
\n`scipy.fftpack` improvements
\n- ----------------------------
`scipy.fftpack.next_fast_len` function computes the next "regular" number for
\nFFTPACK. Padding the input to this length can give significant performance
\nincrease for `scipy.fftpack.fft`.
\n`scipy.signal` improvements
\n- ---------------------------
Resampling using polyphase filtering has been implemented in the function
\n`scipy.signal.resample_poly`. This method upsamples a signal, applies a
\nzero-phase low-pass FIR filter, and downsamples using `scipy.signal.upfirdn`
\n(which is also new in 0.18.0). This method can be faster than FFT-based
\nfiltering provided by `scipy.signal.resample` for some signals.
`scipy.signal.firls`, which constructs FIR filters using least-squares error
\nminimization, was added.
`scipy.signal.sosfiltfilt`, which does forward-backward filtering like
\n`scipy.signal.filtfilt` but for second-order sections, was added.
\nDiscrete-time linear systems
\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~
`scipy.signal.dlti` provides an implementation of discrete-time linear systems.
\nAccordingly, the `StateSpace`, `TransferFunction` and `ZerosPolesGain` classes
\nhave learned a the new keyword, `dt`, which can be used to create discrete-time
\ninstances of the corresponding system representation.
\n`scipy.sparse` improvements
\n- ---------------------------
The functions `sum`, `max`, `mean`, `min`, `transpose`, and `reshape` in
\n`scipy.sparse` have had their signatures augmented with additional arguments
\nand functionality so as to improve compatibility with analogously defined
\nfunctions in `numpy`.
Sparse matrices now have a `count_nonzero` method, which counts the number of
\nnonzero elements in the matrix. Unlike `getnnz()` and ``nnz`` propety,
\nwhich return the number of stored entries (the length of the data attribute),
\nthis method counts the actual number of non-zero entries in data.
\n`scipy.optimize` improvements
\n- -----------------------------
The implementation of Nelder-Mead minimization,
\n`scipy.minimize(..., method="Nelder-Mead")`, obtained a new keyword,
\n`initial_simplex`, which can be used to specify the initial simplex for the
\noptimization process.
Initial step size selection in CG and BFGS minimizers has been improved. We
\nexpect that this change will improve numeric stability of optimization in some
\ncases. See pull request gh-5536 for details.
\n
\nHandling of infinite bounds in SLSQP optimization has been improved. We expect
\nthat this change will improve numeric stability of optimization in the some
\ncases. See pull request gh-6024 for details.
A large suite of global optimization benchmarks has been added to
\n``scipy/benchmarks/go_benchmark_functions``. See pull request gh-4191 for details.
Nelder-Mead and Powell minimization will now only set defaults for
\nmaximum iterations or function evaluations if neither limit is set by
\nthe caller. In some cases with a slow converging function and only 1
\nlimit set, the minimization may continue for longer than with previous
\nversions and so is more likely to reach convergence. See issue gh-5966.
`scipy.stats` improvements
\n- --------------------------
Trapezoidal distribution has been implemented as `scipy.stats.trapz`.
\nSkew normal distribution has been implemented as `scipy.stats.skewnorm`.
\nBurr type XII distribution has been implemented as `scipy.stats.burr12`.
\nThree- and four-parameter kappa distributions have been implemented as
\n`scipy.stats.kappa3` and `scipy.stats.kappa4`, respectively.
New `scipy.stats.iqr` function computes the interquartile region of a
\ndistribution.
Random matrices
\n~~~~~~~~~~~~~~~
`scipy.stats.special_ortho_group` and `scipy.stats.ortho_group` provide
\ngenerators of random matrices in the SO(N) and O(N) groups, respectively. They
\ngenerate matrices in the Haar distribution, the only uniform distribution on
\nthese group manifolds.
`scipy.stats.random_correlation` provides a generator for random
\ncorrelation matrices, given specified eigenvalues.
\n`scipy.linalg` improvements
\n- ---------------------------
`scipy.linalg.svd` gained a new keyword argument, ``lapack_driver``. Available
\ndrivers are ``gesdd`` (default) and ``gesvd``.
`scipy.linalg.lapack.ilaver` returns the version of the LAPACK library SciPy
\nlinks to.
\n`scipy.spatial` improvements
\n- ----------------------------
Boolean distances, `scipy.spatial.pdist`, have been sped up. Improvements vary
\nby the function and the input size. In many cases, one can expect a speed-up
\nof x2--x10.
New class `scipy.spatial.SphericalVoronoi` constructs Voronoi diagrams on the
\nsurface of a sphere. See pull request gh-5232 for details.
`scipy.cluster` improvements
\n- ----------------------------
A new clustering algorithm, the nearest neighbor chain algorithm, has been
\nimplemented for `scipy.cluster.hierarchy.linkage`. As a result, one can expect
\na significant algorithmic improvement (:math:`O(N^2)` instead of :math:`O(N^3)`)
\nfor several linkage methods.
\n`scipy.special` improvements
\n- ----------------------------
The new function `scipy.special.loggamma` computes the principal branch of the
\nlogarithm of the Gamma function. For real input, ``loggamma`` is compatible
\nwith `scipy.special.gammaln`. For complex input, it has more consistent
\nbehavior in the complex plane and should be preferred over ``gammaln``.
Vectorized forms of spherical Bessel functions have been implemented as
\n`scipy.special.spherical_jn`, `scipy.special.spherical_kn`,
\n`scipy.special.spherical_in` and `scipy.special.spherical_yn`.
\nThey are recommended for use over ``sph_*`` functions, which are now deprecated.
Several special functions have been extended to the complex domain and/or
\nhave seen domain/stability improvements. This includes `spence`, `digamma`,
\n`log1p` and several others.
\nDeprecated features
\n===================
The cross-class properties of `lti` systems have been deprecated. The
\nfollowing properties/setters will raise a `DeprecationWarning`:
Name - (accessing/setting raises warning) - (setting raises warning)
\n* StateSpace - (`num`, `den`, `gain`) - (`zeros`, `poles`)
\n* TransferFunction (`A`, `B`, `C`, `D`, `gain`) - (`zeros`, `poles`)
\n* ZerosPolesGain (`A`, `B`, `C`, `D`, `num`, `den`) - ()
Spherical Bessel functions, ``sph_in``, ``sph_jn``, ``sph_kn``, ``sph_yn``,
\n``sph_jnyn`` and ``sph_inkn`` have been deprecated in favor of
\n`scipy.special.spherical_jn` and ``spherical_kn``, ``spherical_yn``,
\n``spherical_in``.
The following functions in `scipy.constants` are deprecated: ``C2K``, ``K2C``,
\n``C2F``, ``F2C``, ``F2K`` and ``K2F``. They are superceded by a new function
\n`scipy.constants.convert_temperature` that can perform all those conversions
\nplus to/from the Rankine temperature scale.
\nBackwards incompatible changes
\n==============================
`scipy.optimize`
\n- ----------------
The convergence criterion for ``optimize.bisect``,
\n``optimize.brentq``, ``optimize.brenth``, and ``optimize.ridder`` now
\nworks the same as ``numpy.allclose``.
`scipy.ndimage`
\n- ---------------
The offset in ``ndimage.iterpolation.affine_transform``
\nis now consistently added after the matrix is applied,
\nindependent of if the matrix is specified using a one-dimensional
\nor a two-dimensional array.
`scipy.stats`
\n- -------------
``stats.ks_2samp`` used to return nonsensical values if the input was
\nnot real or contained nans. It now raises an exception for such inputs.
Several deprecated methods of `scipy.stats` distributions have been removed:
\n``est_loc_scale``, ``vecfunc``, ``veccdf`` and ``vec_generic_moment``.
Deprecated functions ``nanmean``, ``nanstd`` and ``nanmedian`` have been removed
\nfrom `scipy.stats`. These functions were deprecated in scipy 0.15.0 in favor
\nof their `numpy` equivalents.
A bug in the ``rvs()`` method of the distributions in `scipy.stats` has
\nbeen fixed. When arguments to ``rvs()`` were given that were shaped for
\nbroadcasting, in many cases the returned random samples were not random.
\nA simple example of the problem is ``stats.norm.rvs(loc=np.zeros(10))``.
\nBecause of the bug, that call would return 10 identical values. The bug
\nonly affected code that relied on the broadcasting of the shape, location
\nand scale parameters.
The ``rvs()`` method also accepted some arguments that it should not have.
\nThere is a potential for backwards incompatibility in cases where ``rvs()``
\naccepted arguments that are not, in fact, compatible with broadcasting.
\nAn example is
stats.gamma.rvs([2, 5, 10, 15], size=(2,2))
\n\nThe shape of the first argument is not compatible with the requested size,
\nbut the function still returned an array with shape (2, 2). In scipy 0.18,
\nthat call generates a ``ValueError``.
`scipy.io`
\n- ----------
`scipy.io.netcdf` masking now gives precedence to the ``_FillValue`` attribute
\nover the ``missing_value`` attribute, if both are given. Also, data are only
\ntreated as missing if they match one of these attributes exactly: values that
\ndiffer by roundoff from ``_FillValue`` or ``missing_value`` are no longer
\ntreated as missing values.
`scipy.interpolate`
\n- -------------------
`scipy.interpolate.PiecewisePolynomial` class has been removed. It has been
\ndeprecated in scipy 0.14.0, and `scipy.interpolate.BPoly.from_derivatives` serves
\nas a drop-in replacement.
\nOther changes
\n=============
Scipy now uses ``setuptools`` for its builds instead of plain distutils. This
\nfixes usage of ``install_requires='scipy'`` in the ``setup.py`` files of
\nprojects that depend on Scipy (see Numpy issue gh-6551 for details). It
\npotentially affects the way that build/install methods for Scipy itself behave
\nthough. Please report any unexpected behavior on the Scipy issue tracker.
PR `#6240 `__
\nchanges the interpretation of the `maxfun` option in `L-BFGS-B` based routines
\nin the `scipy.optimize` module.
\nAn `L-BFGS-B` search consists of multiple iterations,
\nwith each iteration consisting of one or more function evaluations.
\nWhereas the old search strategy terminated immediately upon reaching `maxfun`
\nfunction evaluations, the new strategy allows the current iteration
\nto finish despite reaching `maxfun`.
The bundled copy of Qhull in the `scipy.spatial` subpackage has been upgraded to
\nversion 2015.2.
The bundled copy of ARPACK in the `scipy.sparse.linalg` subpackage has been
\nupgraded to arpack-ng 3.3.0.
The bundled copy of SuperLU in the `scipy.sparse` subpackage has been upgraded
\nto version 5.1.1.
\nAuthors
\n=======
* @endolith
\n* @yanxun827 +
\n* @kleskjr +
\n* @MYheavyGo +
\n* @solarjoe +
\n* Gregory Allen +
\n* Gilles Aouizerate +
\n* Tom Augspurger +
\n* Henrik Bengtsson +
\n* Felix Berkenkamp
\n* Per Brodtkorb
\n* Lars Buitinck
\n* Daniel Bunting +
\n* Evgeni Burovski
\n* CJ Carey
\n* Tim Cera
\n* Grey Christoforo +
\n* Robert Cimrman
\n* Philip DeBoer +
\n* Yves Delley +
\n* Dávid Bodnár +
\n* Ion Elberdin +
\n* Gabriele Farina +
\n* Yu Feng
\n* Andrew Fowlie +
\n* Joseph Fox-Rabinovitz
\n* Simon Gibbons +
\n* Neil Girdhar +
\n* Kolja Glogowski +
\n* Christoph Gohlke
\n* Ralf Gommers
\n* Todd Goodall +
\n* Johnnie Gray +
\n* Alex Griffing
\n* Olivier Grisel
\n* Thomas Haslwanter +
\n* Michael Hirsch +
\n* Derek Homeier
\n* Golnaz Irannejad +
\n* Marek Jacob +
\n* InSuk Joung +
\n* Tetsuo Koyama +
\n* Eugene Krokhalev +
\n* Eric Larson
\n* Denis Laxalde
\n* Antony Lee
\n* Jerry Li +
\n* Henry Lin +
\n* Nelson Liu +
\n* Loïc Estève
\n* Lei Ma +
\n* Osvaldo Martin +
\n* Stefano Martina +
\n* Nikolay Mayorov
\n* Matthieu Melot +
\n* Sturla Molden
\n* Eric Moore
\n* Alistair Muldal +
\n* Maniteja Nandana
\n* Tavi Nathanson +
\n* Andrew Nelson
\n* Joel Nothman
\n* Behzad Nouri
\n* Nikolai Nowaczyk +
\n* Juan Nunez-Iglesias +
\n* Ted Pudlik
\n* Eric Quintero
\n* Yoav Ram
\n* Jonas Rauber +
\n* Tyler Reddy +
\n* Juha Remes
\n* Garrett Reynolds +
\n* Ariel Rokem +
\n* Fabian Rost +
\n* Bill Sacks +
\n* Jona Sassenhagen +
\n* Kari Schoonbee +
\n* Marcello Seri +
\n* Sourav Singh +
\n* Martin Spacek +
\n* Søren Fuglede Jørgensen +
\n* Bhavika Tekwani +
\n* Martin Thoma +
\n* Sam Tygier +
\n* Meet Udeshi +
\n* Utkarsh Upadhyay
\n* Bram Vandekerckhove +
\n* Sebastián Vanrell +
\n* Ze Vinicius +
\n* Pauli Virtanen
\n* Stefan van der Walt
\n* Warren Weckesser
\n* Jakub Wilk +
\n* Josh Wilson
\n* Phillip J. Wolfram +
\n* Nathan Woods
\n* Haochen Wu
\n* G Young +
A total of 99 people contributed to this release.
\nPeople with a "+" by their names contributed a patch for the first time.
\nThis list of names is automatically generated, and may not be fully complete.