Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update scipy to 1.13.0 #39

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

@pyup-bot pyup-bot commented Apr 3, 2024

This PR updates scipy from 1.12.0 to 1.13.0.

Changelog

1.13.0

out-of-band release aims to support NumPy ``2.0.0``, and is backwards
compatible to NumPy ``1.22.4``. The version of OpenBLAS used to build
the PyPI wheels has been increased to ``0.3.26``.

This release requires Python 3.9+ and NumPy 1.22.4 or greater.

For running on PyPy, PyPy3 6.0+ is required.


Highlights of this release
===================
- Support for NumPy ``2.0.0``.
- Interactive examples have been added to the documentation, allowing users
to run the examples locally on embedded Jupyterlite notebooks in their
browser.
- Preliminary 1D array support for the COO and DOK sparse formats.
- Several `scipy.stats` functions have gained support for additional
``axis``, ``nan_policy``, and ``keepdims`` arguments. `scipy.stats` also
has several performance and accuracy improvements.


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

`scipy.integrate` improvements
==============================
- The ``terminal`` attribute of `scipy.integrate.solve_ivp` ``events``
callables now additionally accepts integer values to specify a number
of occurrences required for termination, rather than the previous restriction
of only accepting a ``bool`` value to terminate on the first registered
event.


`scipy.io` improvements
=======================
- `scipy.io.wavfile.write` has improved ``dtype`` input validation.


`scipy.interpolate` improvements
================================
- The Modified Akima Interpolation has been added to
``interpolate.Akima1DInterpolator``, available via the new ``method``
argument.
- ``RegularGridInterpolator`` gained the functionality to compute derivatives
in place. For instance, ``RegularGridInterolator((x, y), values,
method="cubic")(xi, nu=(1, 1))`` evaluates the mixed second derivative,
:math:`\partial^2 / \partial x \partial y` at ``xi``.
- Performance characteristics of tensor-product spline methods of
``RegularGridInterpolator`` have been changed: evaluations should be
significantly faster, while construction might be slower. If you experience
issues with construction times, you may need to experiment with optional
keyword arguments ``solver`` and ``solver_args``. Previous behavior (fast
construction, slow evaluations) can be obtained via `"*_legacy"` methods:
``method="cubic_legacy"`` is exactly equivalent to ``method="cubic"`` in
previous releases. See ``gh-19633`` for details.


`scipy.signal` improvements
===========================
- Many filter design functions now have improved input validation for the
sampling frequency (``fs``).


`scipy.sparse` improvements
===========================
- ``coo_array`` now supports 1D shapes, and has additional 1D support for
``min``, ``max``, ``argmin``, and ``argmax``. The DOK format now has
preliminary 1D support as well, though only supports simple integer indices
at the time of writing.
- Experimental support has been added for ``pydata/sparse`` array inputs to
`scipy.sparse.csgraph`.
- ``dok_array`` and ``dok_matrix`` now have proper implementations of
``fromkeys``.
- ``csr`` and ``csc`` formats now have improved ``setdiag`` performance.


`scipy.spatial` improvements
============================
- ``voronoi_plot_2d`` now draws Voronoi edges to infinity more clearly
when the aspect ratio is skewed.


`scipy.special` improvements
============================
- All Fortran code, namely, ``AMOS``, ``specfun``, and ``cdflib`` libraries
that the majority of special functions depend on, is ported to Cython/C.
- The function ``factorialk`` now also supports faster, approximate
calculation using ``exact=False``.


`scipy.stats` improvements
==========================
- `scipy.stats.rankdata` and `scipy.stats.wilcoxon` have been vectorized,
improving their performance and the performance of hypothesis tests that
depend on them.
- ``stats.mannwhitneyu`` should now be faster due to a vectorized statistic
calculation, improved caching, improved exploitation of symmetry, and a
memory reduction. ``PermutationMethod`` support was also added.
- `scipy.stats.mood` now has ``nan_policy`` and ``keepdims`` support.
- `scipy.stats.brunnermunzel` now has ``axis`` and ``keepdims`` support.
- `scipy.stats.friedmanchisquare`, `scipy.stats.shapiro`,
`scipy.stats.normaltest`, `scipy.stats.skewtest`,
`scipy.stats.kurtosistest`, `scipy.stats.f_oneway`,
`scipy.stats.alexandergovern`, `scipy.stats.combine_pvalues`, and
`scipy.stats.kstest` have gained ``axis``, ``nan_policy`` and
``keepdims`` support.
- `scipy.stats.boxcox_normmax` has gained a ``ymax`` parameter to allow user
specification of the maximum value of the transformed data.
- `scipy.stats.vonmises` ``pdf`` method has been extended to support
``kappa=0``. The ``fit`` method is also more performant due to the use of
non-trivial bounds to solve for ``kappa``.
- High order ``moment`` calculations for `scipy.stats.powerlaw` are now more
accurate.
- The ``fit`` methods of  `scipy.stats.gamma` (with ``method='mm'``) and
`scipy.stats.loglaplace` are faster and more reliable.
- `scipy.stats.goodness_of_fit` now supports the use of a custom ``statistic``
provided by the user.
- `scipy.stats.wilcoxon` now supports ``PermutationMethod``, enabling
calculation of accurate p-values in the presence of ties and zeros.
- `scipy.stats.monte_carlo_test` now has improved robustness in the face of
numerical noise.
- `scipy.stats.wasserstein_distance_nd` was introduced to compute the
Wasserstein-1 distance between two N-D discrete distributions.



Deprecated features
=================
- Complex dtypes in ``PchipInterpolator`` and ``Akima1DInterpolator`` have
been deprecated and will raise an error in SciPy 1.15.0. If you are trying
to use the real components of the passed array, use ``np.real`` on ``y``.




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


Other changes
===========
- The second argument of `scipy.stats.moment` has been renamed to ``order``
while maintaining backward compatibility.




Authors
======

* Name (commits)
* h-vetinari (50)
* acceptacross (1) +
* Petteri Aimonen (1) +
* Francis Allanah (2) +
* Jonas Kock am Brink (1) +
* anupriyakkumari (12) +
* Aman Atman (2) +
* Aaditya Bansal (1) +
* Christoph Baumgarten (2)
* Sebastian Berg (4)
* Nicolas Bloyet (2) +
* Matt Borland (1)
* Jonas Bosse (1) +
* Jake Bowhay (25)
* Matthew Brett (1)
* Dietrich Brunn (7)
* Evgeni Burovski (48)
* Matthias Bussonnier (4)
* Cale (1) +
* CJ Carey (4)
* Thomas A Caswell (1)
* Sean Cheah (44) +
* Lucas Colley (97)
* com3dian (1)
* Gianluca Detommaso (1) +
* Thomas Duvernay (1)
* DWesl (2)
* f380cedric (1) +
* fancidev (13) +
* Daniel Garcia (1) +
* Lukas Geiger (3)
* Ralf Gommers (139)
* Matt Haberland (79)
* Tessa van der Heiden (2) +
* inky (3) +
* Jannes Münchmeyer (2) +
* Aditya Vidyadhar Kamath (2) +
* Agriya Khetarpal (1) +
* Andrew Landau (1) +
* Eric Larson (7)
* Zhen-Qi Liu (1) +
* Adam Lugowski (4)
* m-maggi (6) +
* Chethin Manage (1) +
* Ben Mares (1)
* Chris Markiewicz (1) +
* Mateusz Sokół (3)
* Daniel McCloy (1) +
* Melissa Weber Mendonça (6)
* Josue Melka (1)
* Michał Górny (4)
* Juan Montesinos (1) +
* Juan F. Montesinos (1) +
* Takumasa Nakamura (1)
* Andrew Nelson (26)
* Praveer Nidamaluri (1)
* Yagiz Olmez (5) +
* Dimitri Papadopoulos Orfanos (1)
* Drew Parsons (1) +
* Tirth Patel (7)
* Matti Picus (3)
* Rambaud Pierrick (1) +
* Ilhan Polat (30)
* Quentin Barthélemy (1)
* Tyler Reddy (81)
* Pamphile Roy (10)
* Atsushi Sakai (4)
* Daniel Schmitz (10)
* Dan Schult (16)
* Eli Schwartz (4)
* Stefanie Senger (1) +
* Scott Shambaugh (2)
* Kevin Sheppard (2)
* sidsrinivasan (4) +
* Samuel St-Jean (1)
* Albert Steppi (30)
* Adam J. Stewart (4)
* Kai Striega (3)
* Ruikang Sun (1) +
* Mike Taves (1)
* Nicolas Tessore (3)
* Benedict T Thekkel (1) +
* Will Tirone (4)
* Jacob Vanderplas (2)
* Christian Veenhuis (1)
* Isaac Virshup (2)
* Ben Wallace (1) +
* Xuefeng Xu (3)
* Xiao Yuan (5)
* Irwin Zaid (6)
* Mathias Zechmeister (1) +

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant