[SciPy-User] ANN: first SciPy 1.0.0 release candidate

Andy Ray Terrel andy.terrel at gmail.com
Wed Sep 27 22:31:28 EDT 2017


This is amazing! Thanks for all the hard work everyone.

On Wed, Sep 27, 2017 at 4:41 PM, Ralf Gommers <ralf.gommers at gmail.com>
wrote:

> Hi all,
>
> I'm excited to be able to announce the availability of the first release
> candidate of Scipy 1.0. This is a big release, and a version number that
> has been 16 years in the making. It contains a few more deprecations and
> backwards incompatible changes than an average release. Therefore please do
> test it on your own code, and report any issues on the Github issue tracker
> or on the scipy-dev mailing list.
>
> Sources and binary wheels can be found at https://pypi.python.org/pypi/
> scipy and https://github.com/scipy/scipy/releases/tag/v1.0.0rc1. To
> install with pip:
>
>     pip install --pre --upgrade scipy
>
> Thanks to everyone who contributed to this release!
>
> Ralf
>
>
>
> Pull requests merged after v1.0.0b1:
>
> - `#7876 <https://github.com/scipy/scipy/pull/7876>`__: GEN: Add comments
> to the tests for clarification
> - `#7891 <https://github.com/scipy/scipy/pull/7891>`__: ENH: backport
> #7879 to 1.0.x
> - `#7902 <https://github.com/scipy/scipy/pull/7902>`__: MAINT: signal:
> Make freqz handling of multidim. arrays match...
> - `#7905 <https://github.com/scipy/scipy/pull/7905>`__: REV: restore
> wminkowski
> - `#7908 <https://github.com/scipy/scipy/pull/7908>`__: FIX: Avoid bad
> ``__del__`` (close) behavior
> - `#7918 <https://github.com/scipy/scipy/pull/7918>`__: TST: mark two
> optimize.linprog tests as xfail. See gh-7877.
> - `#7929 <https://github.com/scipy/scipy/pull/7929>`__: MAINT: changed
> defaults to lower in sytf2, sytrf and hetrf
> - `#7938 <https://github.com/scipy/scipy/pull/7938>`__: MAINT: backports
> from 1.0.x
> - `#7939 <https://github.com/scipy/scipy/pull/7939>`__: Fix umfpack
> solver construction for win-amd64
>
>
>
>
> ==========================
> SciPy 1.0.0 Release Notes
> ==========================
>
> .. note:: Scipy 1.0.0 is not released yet!
>
> .. contents::
>
> SciPy 1.0.0 is the culmination of 8 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.  Moreover, our development attention
> will now shift to bug-fix releases on the 1.0.x branch, and on adding
> new features on the master branch.
>
> Some of the highlights of this release are:
>
> - Major build improvements.  Windows wheels are available on PyPI for the
>   first time, and continuous integration has been set up on Windows and OS
> X
>   in addition to Linux.
> - A set of new ODE solvers and a unified interface to them
>   (`scipy.integrate.solve_ivp`).
> - Two new trust region optimizers and a new linear programming method, with
>   improved performance compared to what `scipy.optimize` offered
> previously.
> - Many new BLAS and LAPACK functions were wrapped.  The BLAS wrappers are
> now
>   complete.
>
> This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.
>
> This is also the last release to support LAPACK 3.1.x - 3.3.x.  Moving the
> lowest supported LAPACK version to >3.2.x was long blocked by Apple
> Accelerate
> providing the LAPACK 3.2.1 API.  We have decided that it's time to either
> drop
> Accelerate or, if there is enough interest, provide shims for functions
> added
> in more recent LAPACK versions so it can still be used.
>
>
> New features
> ============
>
> `scipy.cluster` improvements
> ----------------------------
>
> `scipy.cluster.hierarchy.optimal_leaf_ordering`, a function to reorder a
> linkage matrix to minimize distances between adjacent leaves, was added.
>
>
> `scipy.fftpack` improvements
> ----------------------------
>
> N-dimensional versions of the discrete sine and cosine transforms and their
> inverses were added as ``dctn``, ``idctn``, ``dstn`` and ``idstn``.
>
>
> `scipy.integrate` improvements
> ------------------------------
>
> A set of new ODE solvers have been added to `scipy.integrate`.  The
> convenience
> function `scipy.integrate.solve_ivp` allows uniform access to all solvers.
> The individual solvers (``RK23``, ``RK45``, ``Radau``, ``BDF`` and
> ``LSODA``)
> can also be used directly.
>
>
> `scipy.linalg` improvements
> ----------------------------
>
> The BLAS wrappers in `scipy.linalg.blas` have been completed.  Added
> functions
> are ``*gbmv``, ``*hbmv``, ``*hpmv``, ``*hpr``, ``*hpr2``, ``*spmv``,
> ``*spr``,
> ``*tbmv``, ``*tbsv``, ``*tpmv``, ``*tpsv``, ``*trsm``, ``*trsv``,
> ``*sbmv``,
> ``*spr2``,
>
> Wrappers for the LAPACK functions ``*gels``, ``*stev``, ``*sytrd``,
> ``*hetrd``,
> ``*sytf2``, ``*hetrf``, ``*sytrf``, ``*sycon``, ``*hecon``, ``*gglse``,
> ``*stebz``, ``*stemr``, ``*sterf``, and ``*stein`` have been added.
>
> The function `scipy.linalg.subspace_angles` has been added to compute the
> subspace angles between two matrices.
>
> The function `scipy.linalg.clarkson_woodruff_transform` has been added.
> It finds low-rank matrix approximation via the Clarkson-Woodruff Transform.
>
> The functions `scipy.linalg.eigh_tridiagonal` and
> `scipy.linalg.eigvalsh_tridiagonal`, which find the eigenvalues and
> eigenvectors of tridiagonal hermitian/symmetric matrices, were added.
>
>
> `scipy.ndimage` improvements
> ----------------------------
>
> Support for homogeneous coordinate transforms has been added to
> `scipy.ndimage.affine_transform`.
>
> The ``ndimage`` C code underwent a significant refactoring, and is now
> a lot easier to understand and maintain.
>
>
> `scipy.optimize` improvements
> -----------------------------
>
> The methods ``trust-region-exact`` and ``trust-krylov`` have been added to
> the
> function `scipy.optimize.minimize`. These new trust-region methods solve
> the
> subproblem with higher accuracy at the cost of more Hessian factorizations
> (compared to dogleg) or more matrix vector products (compared to ncg) but
> usually require less nonlinear iterations and are able to deal with
> indefinite
> Hessians. They seem very competitive against the other Newton methods
> implemented in scipy.
>
> `scipy.optimize.linprog` gained an interior point method.  Its performance
> is
> superior (both in accuracy and speed) to the older simplex method.
>
>
> `scipy.signal` improvements
> ---------------------------
>
> An argument ``fs`` (sampling frequency) was added to the following
> functions:
> ``firwin``, ``firwin2``, ``firls``, and ``remez``.  This makes these
> functions
> consistent with many other functions in `scipy.signal` in which the
> sampling
> frequency can be specified.
>
> `scipy.signal.freqz` has been sped up significantly for FIR filters.
>
>
> `scipy.sparse` improvements
> ---------------------------
>
> Iterating over and slicing of CSC and CSR matrices is now faster by up to
> ~35%.
>
> The ``tocsr`` method of COO matrices is now several times faster.
>
> The ``diagonal`` method of sparse matrices now takes a parameter,
> indicating
> which diagonal to return.
>
>
> `scipy.sparse.linalg` improvements
> ----------------------------------
>
> A new iterative solver for large-scale nonsymmetric sparse linear systems,
> `scipy.sparse.linalg.gcrotmk`, was added.  It implements ``GCROT(m,k)``, a
> flexible variant of ``GCROT``.
>
> `scipy.sparse.linalg.lsmr` now accepts an initial guess, yielding
> potentially
> faster convergence.
>
> SuperLU was updated to version 5.2.1.
>
>
> `scipy.spatial` improvements
> ----------------------------
>
> Many distance metrics in `scipy.spatial.distance` gained support for
> weights.
>
> The signatures of `scipy.spatial.distance.pdist` and
> `scipy.spatial.distance.cdist` were changed to ``*args, **kwargs`` in
> order to
> support a wider range of metrics (e.g. string-based metrics that need extra
> keywords).  Also, an optional ``out`` parameter was added to ``pdist`` and
> ``cdist`` allowing the user to specify where the resulting distance matrix
> is
> to be stored
>
>
> `scipy.stats` improvements
> --------------------------
>
> The methods ``cdf`` and ``logcdf`` were added to
> `scipy.stats.multivariate_normal`, providing the cumulative distribution
> function of the multivariate normal distribution.
>
> New statistical distance functions were added, namely
> `scipy.stats.wasserstein_distance` for the first Wasserstein distance and
> `scipy.stats.energy_distance` for the energy distance.
>
>
> Deprecated features
> ===================
>
> The following functions in `scipy.misc` are deprecated: ``bytescale``,
> ``fromimage``, ``imfilter``, ``imread``, ``imresize``, ``imrotate``,
> ``imsave``, ``imshow`` and ``toimage``.  Most of those functions have
> unexpected
> behavior (like rescaling and type casting image data without the user
> asking
> for that).  Other functions simply have better alternatives.
>
> ``scipy.interpolate.interpolate_wrapper`` and all functions in that
> submodule
> are deprecated.  This was a never finished set of wrapper functions which
> is
> not relevant anymore.
>
> The ``fillvalue`` of `scipy.signal.convolve2d` will be cast directly to the
> dtypes of the input arrays in the future and checked that it is a scalar or
> an array with a single element.
>
> ``scipy.spatial.distance.matching`` is deprecated.  It is an alias of
> `scipy.spatial.distance.hamming`, which should be used instead.
>
> Implementation of `scipy.spatial.distance.wminkowski` was based on a wrong
> interpretation of the metric definition. In scipy 1.0 it has been just
> deprecated in the documentation to keep retro-compatibility but is
> recommended
> to use the new version of `scipy.spatial.distance.minkowski` that
> implements
> the correct behaviour.
>
> Positional arguments of `scipy.spatial.distance.pdist` and
> `scipy.spatial.distance.cdist` should be replaced with their keyword
> version.
>
>
> Backwards incompatible changes
> ==============================
>
> The following deprecated functions have been removed from `scipy.stats`:
> ``betai``, ``chisqprob``, ``f_value``, ``histogram``, ``histogram2``,
> ``pdf_fromgamma``, ``signaltonoise``, ``square_of_sums``, ``ss`` and
> ``threshold``.
>
> The following deprecated functions have been removed from
> `scipy.stats.mstats`:
> ``betai``, ``f_value_wilks_lambda``, ``signaltonoise`` and ``threshold``.
>
> The deprecated ``a`` and ``reta`` keywords have been removed from
> `scipy.stats.shapiro`.
>
> The deprecated functions ``sparse.csgraph.cs_graph_components`` and
> ``sparse.linalg.symeig`` have been removed from `scipy.sparse`.
>
> The following deprecated keywords have been removed in
> `scipy.sparse.linalg`:
> ``drop_tol`` from ``splu``, and ``xtype`` from ``bicg``, ``bicgstab``,
> ``cg``,
> ``cgs``, ``gmres``, ``qmr`` and ``minres``.
>
> The deprecated functions ``expm2`` and ``expm3`` have been removed from
> `scipy.linalg`.  The deprecated keyword ``q`` was removed from
> `scipy.linalg.expm`.  And the deprecated submodule ``linalg.calc_lwork``
> was
> removed.
>
> The deprecated functions ``C2K``, ``K2C``, ``F2C``, ``C2F``, ``F2K`` and
> ``K2F`` have been removed from `scipy.constants`.
>
> The deprecated ``ppform`` class was removed from `scipy.interpolate`.
>
> The deprecated keyword ``iprint`` was removed from
> `scipy.optimize.fmin_cobyla`.
>
> The default value for the ``zero_phase`` keyword of `scipy.signal.decimate`
> has been changed to True.
>
> The ``kmeans`` and ``kmeans2`` functions in `scipy.cluster.vq` changed the
> method used for random initialization, so using a fixed random seed will
> not necessarily produce the same results as in previous versions.
>
> `scipy.special.gammaln` does not accept complex arguments anymore.
>
> The deprecated functions ``sph_jn``, ``sph_yn``, ``sph_jnyn``, ``sph_in``,
> ``sph_kn``, and ``sph_inkn`` have been removed. Users should instead use
> the functions ``spherical_jn``, ``spherical_yn``, ``spherical_in``, and
> ``spherical_kn``. Be aware that the new functions have different
> signatures.
>
> The cross-class properties of `scipy.signal.lti` systems have been removed.
> The following properties/setters have been removed:
>
> Name - (accessing/setting has been removed) - (setting has been removed)
>
> * StateSpace - (``num``, ``den``, ``gain``) - (``zeros``, ``poles``)
> * TransferFunction (``A``, ``B``, ``C``, ``D``, ``gain``) - (``zeros``,
> ``poles``)
> * ZerosPolesGain (``A``, ``B``, ``C``, ``D``, ``num``, ``den``) - ()
>
> ``signal.freqz(b, a)`` with ``b`` or ``a`` >1-D raises a ``ValueError``.
> This
> was a corner case for which it was unclear that the behavior was
> well-defined.
>
> The method ``var`` of `scipy.stats.dirichlet` now returns a scalar rather
> than
> an ndarray when the length of alpha is 1.
>
>
> Other changes
> =============
>
> SciPy now has a formal governance structure.  It consists of a BDFL (Pauli
> Virtanen) and a Steering Committee.  See `the governance document
> <https://github.com/scipy/scipy/blob/master/doc/source/
> dev/governance/governance.rst>`_
> for details.
>
> It is now possible to build SciPy on Windows with MSVC + gfortran!
> Continuous
> integration has been set up for this build configuration on Appveyor,
> building
> against OpenBLAS.
>
> Continuous integration for OS X has been set up on TravisCI.
>
> The SciPy test suite has been migrated from ``nose`` to ``pytest``.
>
> ``scipy/_distributor_init.py`` was added to allow redistributors of SciPy
> to
> add custom code that needs to run when importing SciPy (e.g. checks for
> hardware, DLL search paths, etc.).
>
> Support for PEP 518 (specifying build system requirements) was added - see
> ``pyproject.toml`` in the root of the SciPy repository.
>
> In order to have consistent function names, the function
> ``scipy.linalg.solve_lyapunov`` is renamed to
> `scipy.linalg.solve_continuous_lyapunov`.  The old name is kept for
> backwards-compatibility.
>
>
>
>
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at python.org
> https://mail.python.org/mailman/listinfo/scipy-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-user/attachments/20170927/e72b1611/attachment-0001.html>


More information about the SciPy-User mailing list