Release Note Entries for SciPy 1.13.0
This file contains release note entries for the SciPy 1.13.0 release. PR authors and maintainers can add descriptions here when a PR gets merged. The release manager will then integrate those into the release notes in the main repo. The reason for doing it this way is to avoid merge conflicts that would happen if many PRs each add a bit to those release notes. See gh-7794 for discussion on how we arrived at this mechanism.
To authors: if you're unsure about the formatting, please follow an example from https://raw.githubusercontent.com/scipy/scipy/master/doc/release/0.19.0-notes.rst
Note also that the material on this page should be written in reST syntax. For literal text and routine names etc., use double backticks --- for parts where you want source code link, write the fully qualified name with single backticks, e.g. `scipy.sparse.linalg`
Note: Scipy 1.13.0 has not been released yet
SciPy 1.13.0 is the culmination of X 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.10.x branch, and on adding new features on the master branch.
This release requires Python 3.X+ and NumPy 1.X.X or greater.
For running on PyPy, PyPy3 >= X.X and NumPy >=1.X.X are required.
- Interactive examples have been added to the documentation, allowing users to run the examples locally on embedded Jupyterlite notebooks in their browser.
- The
terminal
attribute of event functions passed toscipy.integrate.solve_ivp
may now be a positive integer: integration stops afterterminal
events have occurred.
- The modified Modified Akima Interpolation has been added to
interpolate.Akima1DInterpolator
-
RegularGridInterpolator
gained the functionality to compute derivative 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
atxi
. - 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 argumentssolver
andsolver_args
. Previous behavior (fast construction, slow evaluations) can be obtained via"*_legacy"
methods:method="cubic_legacy"
is exactly equivalent tomethod="cubic"
in previous releases. See gh-19633 for details.
- Experimental support has been added for
pydata/sparse
array inputs toscipy.sparse.csgraph
.
- All Fortran code, namely,
AMOS
,specfun
, andcdflib
libraries that majority of special functions depends on, is ported to Cython/C. - The function
factorialk
now also supports faster, approximate calculation usingexact=False
.
-
scipy.stats.wasserstein_distance_nd
was introduced to compute the Wasserstein-1 distance between two N-D discrete distributions. - Vectorized calculations with
scipy.stats.wilcoxon
,scipy.stats.mannwhitneyu
, andscipy.stats.rankdata
are faster. - The
method
parameter ofscipy.stats.wilcoxon
andscipy.stats.mannwhitneyu
now accepts instances ofscipy.stats.PermutationMethod
for computing exact p-values in the presents of ties. -
scipy.stats.boxcox_normmax
now acceptsymax
parameter, which allows users to specify the maximum allowable magnitude of the transformed data whenmethod='mle'
. -
scipy.stats.loglaplace.fit
is faster and more reliable. -
scipy.stats.gamma.fit
withmethod='mm'
is faster and more reliable. - Moment calculations of
scipy.stats.powerlaw
are faster and more accurate. - The
statistic
parameter ofscipy.stats.goodness_of_fit
now accepts custom callables. - Support for
axis
,keepdims
, andnan_policy
keyword arguments has been added or improved for the following functions:scipy.stats.f_oneway
,scipy.stats.alexandergovern
, scipy.stats.shapiro,
scipy.stats.normaltest, scipy.stats.skewtest
, scipy.stats.kurtosistest, scipy.stats.friedmanchisquare
, scipy.stats.brunnermunzel, and
scipy.stats.mood`.
- Complex dtypes in
PchipInterpolator
andAkima1DInterpolator
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, usenp.real
ony
.
There is an ongoing effort to follow through on long-standing deprecations. The following previously deprecated features are affected:
- The second argument of
scipy.stats.moment
has been renamed toorder
while maintaining backward compatibility.