scipy/scipy: SciPy 1.14.0rc2
Creators
- Ralf Gommers1
- Pauli Virtanen
- Matt Haberland
- Evgeni Burovski
- Warren Weckesser
- Tyler Reddy2
- Travis E. Oliphant3
- David Cournapeau4
- Andrew Nelson
- alexbrc
- Pamphile Roy
- Pearu Peterson1
- Ilhan Polat5
- Josh Wilson
- endolith
- Nikolay Mayorov
- Stefan van der Walt6
- Matthew Brett7
- Denis Laxalde8
- Eric Larson9
- Atsushi Sakai
- Jarrod Millman10
- Lars
- peterbell101
- CJ Carey11
- Paul van Mulbregt11
- Lucas Colley12
- Jake Bowhay12
- eric-jones
- Kai Striega
- 1. Quansight
- 2. LANL
- 3. Quansight, OpenTeams
- 4. Mercari JP
- 5. Sandvik
- 6. University of California, Berkeley
- 7. London Interdisciplinary School
- 8. @dalibo
- 9. University of Washington
- 10. UC Berkeley
- 11. Google
- 12. University of Oxford
Description
SciPy 1.14.0 Release Notes
Note: SciPy 1.14.0
is not released yet!
SciPy 1.14.0
is the culmination of 3 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.14.x branch, and on adding new features on the main branch.
This release requires Python 3.10+
and NumPy 1.23.5
or greater.
For running on PyPy, PyPy3 6.0+ is required.
Highlights of this release
- SciPy now supports the new Accelerate library introduced in macOS 13.3, and has wheels built against Accelerate for macOS >=14 resulting in significant performance improvements for many linear algebra operations.
- A new method,
cobyqa
, has been added toscipy.optimize.minimize
- this is an interface for COBYQA (Constrained Optimization BY Quadratic Approximations), a derivative-free optimization solver, designed to supersede COBYLA, developed by the Department of Applied Mathematics, The Hong Kong Polytechnic University. scipy.sparse.linalg.spsolve_triangular
is now more than an order of magnitude faster in many cases.
New features
scipy.fft
improvements
- A new function,
scipy.fft.prev_fast_len
, has been added. This function finds the largest composite of FFT radices that is less than the target length. It is useful for discarding a minimal number of samples before FFT.
scipy.io
improvements
wavfile
now supports reading and writing ofwav
files in the RF64 format, allowing files greater than 4 GB in size to be handled.
scipy.constants
improvements
- Experimental support for the array API standard has been added.
scipy.interpolate
improvements
scipy.interpolate.Akima1DInterpolator
now supports extrapolation via theextrapolate
argument.
scipy.optimize
improvements
scipy.optimize.HessianUpdateStrategy
now also accepts square arrays forinit_scale
.- A new method,
cobyqa
, has been added toscipy.optimize.minimize
- this is an interface for COBYQA (Constrained Optimization BY Quadratic Approximations), a derivative-free optimization solver, designed to supersede COBYLA, developed by the Department of Applied Mathematics, The Hong Kong Polytechnic University. - There are some performance improvements in
scipy.optimize.differential_evolution
. scipy.optimize.approx_fprime
now has linear space complexity.
scipy.signal
improvements
scipy.signal.minimum_phase
has a new argumenthalf
, allowing the provision of a filter of the same length as the linear-phase FIR filter coefficients and with the same magnitude spectrum.
scipy.sparse
improvements
- Sparse arrays now support 1D shapes in COO, DOK and CSR formats. These are all the formats we currently intend to support 1D shapes. Other sparse array formats raise an exception for 1D input.
- Sparse array methods min/nanmin/argmin and max analogs now return 1D arrays.
Results are still COO format sparse arrays for min/nanmin and
dense
np.ndarray
for argmin. - Sparse matrix and array objects improve their
repr
andstr
output. - A special case has been added to handle multiplying a
dia_array
by a scalar, which avoids a potentially costly conversion to CSR format. scipy.sparse.csgraph.yen
has been added, allowing usage of Yen's K-Shortest Paths algorithm on a directed on undirected graph.- Addition between DIA-format sparse arrays and matrices is now faster.
scipy.sparse.linalg.spsolve_triangular
is now more than an order of magnitude faster in many cases.
scipy.spatial
improvements
Rotation
supports an alternative "scalar-first" convention of quaternion component ordering. It is available via the keyword argumentscalar_first
offrom_quat
andas_quat
methods.- Some minor performance improvements for inverting of
Rotation
objects.
scipy.special
improvements
- Added
scipy.special.log_wright_bessel
, for calculation of the logarithm of Wright's Bessel function. - The relative error in
scipy.special.hyp2f1
calculations has improved substantially. - Improved behavior of
boxcox
,inv_boxcox
,boxcox1p
, andinv_boxcox1p
by preventing premature overflow.
scipy.stats
improvements
- A new function
scipy.stats.power
can be used for simulating the power of a hypothesis test with respect to a specified alternative. - The Irwin-Hall (AKA Uniform Sum) distribution has been added as
scipy.stats.irwinhall
. - Exact p-value calculations of
scipy.stats.mannwhitneyu
are much faster and use less memory. scipy.stats.pearsonr
now accepts n-D arrays and computes the statistic along a specifiedaxis
.scipy.stats.kstat
,scipy.stats.kstatvar
, andscipy.stats.bartlett
are faster at performing calculations along an axis of a large n-D array.
Array API Standard Support
Experimental support for array libraries other than NumPy has been added to
existing sub-packages in recent versions of SciPy. Please consider testing
these features by setting an environment variable SCIPY_ARRAY_API=1
and
providing PyTorch, JAX, or CuPy arrays as array arguments.
As of 1.14.0
, there is support for
scipy.cluster
scipy.fft
scipy.constants
scipy.special
: (select functions)scipy.special.log_ndtr
scipy.special.ndtr
scipy.special.ndtri
scipy.special.erf
scipy.special.erfc
scipy.special.i0
scipy.special.i0e
scipy.special.i1
scipy.special.i1e
scipy.special.gammaln
scipy.special.gammainc
scipy.special.gammaincc
scipy.special.logit
scipy.special.expit
scipy.special.entr
scipy.special.rel_entr
scipy.special.xlogy
scipy.special.chdtrc
scipy.stats
: (select functions)scipy.stats.describe
scipy.stats.moment
scipy.stats.skew
scipy.stats.kurtosis
scipy.stats.kstat
scipy.stats.kstatvar
scipy.stats.circmean
scipy.stats.circvar
scipy.stats.circstd
scipy.stats.entropy
scipy.stats.variation
scipy.stats.sem
scipy.stats.ttest_1samp
scipy.stats.pearsonr
scipy.stats.chisquare
scipy.stats.skewtest
scipy.stats.kurtosistest
scipy.stats.normaltest
scipy.stats.jarque_bera
scipy.stats.bartlett
scipy.stats.power_divergence
scipy.stats.monte_carlo_test
Deprecated features
scipy.stats.gstd
,scipy.stats.chisquare
, andscipy.stats.power_divergence
have deprecated support for masked array input.scipy.stats.linregress
has deprecated support for specifying both samples in one argument;x
andy
are to be provided as separate arguments.- The
conjtransp
method forscipy.sparse.dok_array
andscipy.sparse.dok_matrix
has been deprecated and will be removed in SciPy 1.16.0. - The option
quadrature="trapz"
inscipy.integrate.quad_vec
has been deprecated in favour ofquadrature="trapezoid"
and will be removed in SciPy 1.16.0. scipy.special.comb
has deprecated support for use ofexact=True
in conjunction with non-integralN
and/ork
.
Backwards incompatible changes
- Many
scipy.stats
functions now produce a standardized warning message when an input sample is too small (e.g. zero size). Previously, these functions may have raised an error, emitted one or more less informative warnings, or emitted no warnings. In most cases, returned results are unchanged; in almost all cases the correct result isNaN
.
Expired deprecations
There is an ongoing effort to follow through on long-standing deprecations. The following previously deprecated features are affected:
Several previously deprecated methods for sparse arrays were removed:
asfptype
,getrow
,getcol
,get_shape
,getmaxprint
,set_shape
,getnnz
, andgetformat
. Additionally, the.A
and.H
attributes were removed.scipy.integrate.{simps,trapz,cumtrapz}
have been removed in favour ofsimpson
,trapezoid
, andcumulative_trapezoid
.The
tol
argument ofscipy.sparse.linalg.{bcg,bicstab,cg,cgs,gcrotmk, mres,lgmres,minres,qmr,tfqmr}
has been removed in favour ofrtol
. Furthermore, the default value ofatol
for these functions has changed to0.0
.The
restrt
argument ofscipy.sparse.linalg.gmres
has been removed in favour ofrestart
.The
initial_lexsort
argument ofscipy.stats.kendalltau
has been removed.The
cond
andrcond
arguments ofscipy.linalg.pinv
have been removed.The
even
argument ofscipy.integrate.simpson
has been removed.The
turbo
andeigvals
arguments fromscipy.linalg.{eigh,eigvalsh}
have been removed.The
legacy
argument ofscipy.special.comb
has been removed.The
hz
/nyq
argument ofsignal.{firls, firwin, firwin2, remez}
has been removed.Objects that weren't part of the public interface but were accessible through deprecated submodules have been removed.
float128
,float96
, and object arrays now raise an error inscipy.signal.medfilt
andscipy.signal.order_filter
.scipy.interpolate.interp2d
has been replaced by an empty stub (to be removed completely in the future).Coinciding with changes to function signatures (e.g. removal of a deprecated keyword), we had deprecated positional use of keyword arguments for the affected functions, which will now raise an error. Affected functions are:
sparse.linalg.{bicg, bicgstab, cg, cgs, gcrotmk, gmres, lgmres, minres, qmr, tfqmr}
stats.kendalltau
linalg.pinv
integrate.simpson
linalg.{eigh,eigvalsh}
special.comb
signal.{firls, firwin, firwin2, remez}
Other changes
- SciPy now uses C17 as the C standard to build with, instead of C99. The C++ standard remains C++17.
- macOS Accelerate, which got a major upgrade in macOS 13.3, is now supported. This results in significant performance improvements for linear algebra operations, as well as smaller binary wheels.
- Cross-compilation should be smoother and QEMU or similar is no longer needed to run the cross interpreter.
- Experimental array API support for the JAX backend has been added to several parts of SciPy.
Authors
- Name (commits)
- h-vetinari (33)
- Steven Adams (1) +
- Max Aehle (1) +
- Ataf Fazledin Ahamed (2) +
- Luiz Eduardo Amaral (1) +
- Trinh Quoc Anh (1) +
- Miguel A. Batalla (7) +
- Tim Beyer (1) +
- Andrea Blengino (1) +
- boatwrong (1)
- Jake Bowhay (50)
- Dietrich Brunn (2)
- Evgeni Burovski (177)
- Tim Butters (7) +
- CJ Carey (5)
- Sean Cheah (46)
- Lucas Colley (72)
- Giuseppe "Peppe" Dilillo (1) +
- DWesl (2)
- Pieter Eendebak (5)
- Kenji S Emerson (1) +
- Jonas Eschle (1)
- fancidev (2)
- Anthony Frazier (1) +
- Ilan Gold (1) +
- Ralf Gommers (124)
- Rohit Goswami (28)
- Ben Greiner (1) +
- Lorenzo Gualniera (1) +
- Matt Haberland (256)
- Shawn Hsu (1) +
- Budjen Jovan (3) +
- Jozsef Kutas (1)
- Eric Larson (3)
- Gregory R. Lee (4)
- Philip Loche (1) +
- Christian Lorentzen (5)
- Sijo Valayakkad Manikandan (2) +
- marinelay (2) +
- Nikolay Mayorov (1)
- Nicholas McKibben (2)
- Melissa Weber Mendonça (7)
- João Mendes (1) +
- Samuel Le Meur-Diebolt (1) +
- Tomiță Militaru (2) +
- Andrew Nelson (35)
- Lysandros Nikolaou (1)
- Nick ODell (5) +
- Jacob Ogle (1) +
- Pearu Peterson (1)
- Matti Picus (5)
- Ilhan Polat (8)
- pwcnorthrop (3) +
- Bharat Raghunathan (1)
- Tom M. Ragonneau (2) +
- Tyler Reddy (84)
- Pamphile Roy (18)
- Atsushi Sakai (9)
- Daniel Schmitz (5)
- Julien Schueller (2) +
- Dan Schult (13)
- Tomer Sery (7)
- Scott Shambaugh (4)
- Tuhin Sharma (1) +
- Sheila-nk (4)
- Skylake (1) +
- Albert Steppi (215)
- Kai Striega (6)
- Zhibing Sun (2) +
- Nimish Telang (1) +
- toofooboo (1) +
- tpl2go (1) +
- Edgar Andrés Margffoy Tuay (44)
- Andrew Valentine (1)
- Valerix (1) +
- Christian Veenhuis (1)
- void (2) +
- Warren Weckesser (3)
- Xuefeng Xu (1)
- Rory Yorke (1)
- Xiao Yuan (1)
- Irwin Zaid (35)
- Elmar Zander (1) +
- Zaikun ZHANG (1)
- ਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (4) +
A total of 85 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.
Files
scipy/scipy-v1.14.0rc2.zip
Files
(28.1 MB)
Name | Size | Download all |
---|---|---|
md5:266ed41076d38af850056e327f866d3d
|
28.1 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/scipy/scipy/tree/v1.14.0rc2 (URL)