scipy/scipy: SciPy 1.11.0
Creators
- Ralf Gommers1
- Pauli Virtanen
- Evgeni Burovski
- Matt Haberland
- Warren Weckesser
- Travis E. Oliphant2
- Tyler Reddy3
- David Cournapeau4
- alexbrc
- Andrew Nelson
- Pearu Peterson1
- Pamphile Roy5
- Josh Wilson
- Ilhan Polat6
- endolith
- Nikolay Mayorov
- Stefan van der Walt7
- Matthew Brett8
- Denis Laxalde9
- Eric Larson10
- Jarrod Millman11
- Atsushi Sakai
- Lars
- peterbell101
- Paul van Mulbregt12
- CJ Carey12
- eric-jones
- Nicholas McKibben
- Robert Kern13
- Kai
- 1. Quansight
- 2. Quansight, OpenTeams
- 3. LANL
- 4. Mercari JP
- 5. @Quansight
- 6. Sandvik
- 7. University of California, Berkeley
- 8. London Interdisciplinary School
- 9. @dalibo
- 10. University of Washington
- 11. UC Berkeley
- 12. Google
- 13. @enthought
Description
SciPy 1.11.0
is the culmination of 6 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.11.x branch, and on adding new features on the main branch.
This release requires Python 3.9+
and NumPy 1.21.6
or greater.
For running on PyPy, PyPy3 6.0+
is required.
- Several
scipy.sparse
array API improvements, includingsparse.sparray
, a new public base class distinct from the oldersparse.spmatrix
class, proper 64-bit index support, and numerous deprecations paving the way to a modern sparse array experience. scipy.stats
added tools for survival analysis, multiple hypothesis testing, sensitivity analysis, and working with censored data.- A new function was added for quasi-Monte Carlo integration, and linear
algebra functions
det
andlu
now accept nD-arrays. - An
axes
argument was added broadly tondimage
functions, facilitating analysis of stacked image data.
scipy.integrate
improvements
- Added
scipy.integrate.qmc_quad
for quasi-Monte Carlo integration. - For an even number of points,
scipy.integrate.simpson
now calculates a parabolic segment over the last three points which gives improved accuracy over the previous implementation.
scipy.cluster
improvements
disjoint_set
has a new methodsubset_size
for providing the size of a particular subset.
scipy.constants
improvements
- The
quetta
,ronna
,ronto
, andquecto
SI prefixes were added.
scipy.linalg
improvements
scipy.linalg.det
is improved and now accepts nD-arrays.scipy.linalg.lu
is improved and now accepts nD-arrays. With the newp_indices
switch the output permutation argument can be 1D(n,)
permutation index instead of the full(n, n)
array.
scipy.ndimage
improvements
axes
argument was added torank_filter
,percentile_filter
,median_filter
,uniform_filter
,minimum_filter
,maximum_filter
, andgaussian_filter
, which can be useful for processing stacks of image data.
scipy.optimize
improvements
scipy.optimize.linprog
now passes unrecognized options directly to HiGHS.scipy.optimize.root_scalar
now uses Newton's method to be used without providingfprime
and thesecant
method to be used without a second guess.scipy.optimize.lsq_linear
now acceptsbounds
arguments of typescipy.optimize.Bounds
.scipy.optimize.minimize
method='cobyla'
now supports simple bound constraints.- Users can opt into a new callback interface for most methods of
scipy.optimize.minimize
: If the provided callback callable accepts a single keyword argument,intermediate_result
,scipy.optimize.minimize
now passes both the current solution and the optimal value of the objective function to the callback as an instance ofscipy.optimize.OptimizeResult
. It also allows the user to terminate optimization by raising aStopIteration
exception from the callback function.scipy.optimize.minimize
will return normally, and the latest solution information is provided in the result object. scipy.optimize.curve_fit
now supports an optionalnan_policy
argument.scipy.optimize.shgo
now has parallelization with theworkers
argument, symmetry arguments that can improve performance, class-based design to improve usability, and generally improved performance.
scipy.signal
improvements
istft
has an improved warning message when the NOLA condition fails.
scipy.sparse
improvements
- A new public base class
scipy.sparse.sparray
was introduced, allowing further extension of the sparse array API (such as the support for 1-dimensional sparse arrays) without breaking backwards compatibility.isinstance(x, scipy.sparse.sparray)
to select the new sparse array classes, whileisinstance(x, scipy.sparse.spmatrix)
selects only the old sparse matrix classes. - Division of sparse arrays by a dense array now returns sparse arrays.
scipy.sparse.isspmatrix
now only returnsTrue
for the sparse matrices instances.scipy.sparse.issparse
now has to be used instead to check for instances of sparse arrays or instances of sparse matrices.- Sparse arrays constructed with int64 indices will no longer automatically downcast to int32.
- The
argmin
andargmax
methods now return the correct result when explicit zeros are present.
scipy.sparse.linalg
improvements
- dividing
LinearOperator
by a number now returns a_ScaledLinearOperator
LinearOperator
now supports right multiplication by arrayslobpcg
should be more efficient following removal of an extraneous QR decomposition.
scipy.spatial
improvements
- Usage of new C++ backend for additional distance metrics, the majority of which will see substantial performance improvements, though a few minor regressions are known. These are focused on distances between boolean arrays.
scipy.special
improvements
- The factorial functions
factorial
,factorial2
andfactorialk
were made consistent in their behavior (in terms of dimensionality, errors etc.). Additionally,factorial2
can now handle arrays withexact=True
, andfactorialk
can handle arrays.
scipy.stats
improvements
New Features
scipy.stats.sobol_indices
, a method to compute Sobol' sensitivity indices.scipy.stats.dunnett
, which performs Dunnett's test of the means of multiple experimental groups against the mean of a control group.scipy.stats.ecdf
for computing the empirical CDF and complementary CDF (survival function / SF) from uncensored or right-censored data. This function is also useful for survival analysis / Kaplan-Meier estimation.scipy.stats.logrank
to compare survival functions underlying samples.scipy.stats.false_discovery_control
for adjusting p-values to control the false discovery rate of multiple hypothesis tests using the Benjamini-Hochberg or Benjamini-Yekutieli procedures.scipy.stats.CensoredData
to represent censored data. It can be used as input to thefit
method of univariate distributions and to the newecdf
function.- Filliben's goodness of fit test as
method='Filliben'
ofscipy.stats.goodness_of_fit
. scipy.stats.ttest_ind
has a new method,confidence_interval
for computing a confidence interval of the difference between means.scipy.stats.MonteCarloMethod
,scipy.stats.PermutationMethod
, andscipy.stats.BootstrapMethod
are new classes to configure resampling and/or Monte Carlo versions of hypothesis tests. They can currently be used withscipy.stats.pearsonr
.
- Added the von-Mises Fisher distribution as
scipy.stats.vonmises_fisher
. This distribution is the most common analogue of the normal distribution on the unit sphere. - Added the relativistic Breit-Wigner distribution as
scipy.stats.rel_breitwigner
. It is used in high energy physics to model resonances. - Added the Dirichlet multinomial distribution as
scipy.stats.dirichlet_multinomial
. Improved the speed and precision of several univariate statistical distributions.
scipy.stats.anglit
sf
scipy.stats.beta
entropy
scipy.stats.betaprime
cdf
,sf
,ppf
scipy.stats.chi
entropy
scipy.stats.chi2
entropy
scipy.stats.dgamma
entropy
,cdf
,sf
,ppf
, andisf
scipy.stats.dweibull
entropy
,sf
, andisf
scipy.stats.exponweib
sf
andisf
scipy.stats.f
entropy
scipy.stats.foldcauchy
sf
scipy.stats.foldnorm
cdf
andsf
scipy.stats.gamma
entropy
scipy.stats.genexpon
ppf
,isf
,rvs
scipy.stats.gengamma
entropy
scipy.stats.geom
entropy
scipy.stats.genlogistic
entropy
,logcdf
,sf
,ppf
, andisf
scipy.stats.genhyperbolic
cdf
andsf
scipy.stats.gibrat
sf
andisf
scipy.stats.gompertz
entropy
,sf
. andisf
scipy.stats.halflogistic
sf
, andisf
scipy.stats.halfcauchy
sf
andisf
scipy.stats.halfnorm
cdf
,sf
, andisf
scipy.stats.invgamma
entropy
scipy.stats.invgauss
entropy
scipy.stats.johnsonsb
pdf
,cdf
,sf
,ppf
, andisf
scipy.stats.johnsonsu
pdf
,sf
,isf
, andstats
scipy.stats.lognorm
fit
scipy.stats.loguniform
entropy
,logpdf
,pdf
,cdf
,ppf
, andstats
scipy.stats.maxwell
sf
andisf
scipy.stats.nakagami
entropy
scipy.stats.powerlaw
sf
scipy.stats.powerlognorm
logpdf
,logsf
,sf
, andisf
scipy.stats.powernorm
sf
andisf
scipy.stats.t
entropy
,logpdf
, andpdf
scipy.stats.truncexpon
sf
, andisf
scipy.stats.truncnorm
entropy
scipy.stats.truncpareto
fit
scipy.stats.vonmises
fit
scipy.stats.multivariate_t
now hascdf
andentropy
methods.scipy.stats.multivariate_normal
,scipy.stats.matrix_normal
, andscipy.stats.invwishart
now have anentropy
method.
scipy.stats.monte_carlo_test
now supports multi-sample statistics.scipy.stats.bootstrap
can now produce one-sided confidence intervals.scipy.stats.rankdata
performance was improved formethod=ordinal
andmethod=dense
.scipy.stats.moment
now supports non-central moment calculation.scipy.stats.anderson
now supports theweibull_min
distribution.scipy.stats.sem
andscipy.stats.iqr
now supportaxis
,nan_policy
, and masked array input.
- Multi-Ellipsis sparse matrix indexing has been deprecated and will be removed in SciPy 1.13.
- Several methods were deprecated for sparse arrays:
asfptype
,getrow
,getcol
,get_shape
,getmaxprint
,set_shape
,getnnz
, andgetformat
. Additionally, the.A
and.H
attributes were deprecated. Sparse matrix types are not affected. - The
scipy.linalg
functionstri
,triu
&tril
are deprecated and will be removed in SciPy 1.13. Users are recommended to use the NumPy versions of these functions with identical names. - The
scipy.signal
functionsbspline
,quadratic
&cubic
are deprecated and will be removed in SciPy 1.13. Users are recommended to usescipy.interpolate.BSpline
instead. - The
even
keyword ofscipy.integrate.simpson
is deprecated and will be removed in SciPy 1.13.0. Users should leave this as the default as this gives improved accuracy compared to the other methods. - Using
exact=True
when passing integers in a float array tofactorial
is deprecated and will be removed in SciPy 1.13.0. - float128 and object dtypes are deprecated for
scipy.signal.medfilt
andscipy.signal.order_filter
- The functions
scipy.signal.{lsim2, impulse2, step2}
had long been deprecated in documentation only. They now raise a DeprecationWarning and will be removed in SciPy 1.13.0. - Importing window functions directly from
scipy.window
has been soft deprecated since SciPy 1.1.0. They now raise aDeprecationWarning
and will be removed in SciPy 1.13.0. Users should instead import them fromscipy.signal.window
or use the convenience functionscipy.signal.get_window
.
- The default for the
legacy
keyword ofscipy.special.comb
has changed fromTrue
toFalse
, as announced since its introduction.
There is an ongoing effort to follow through on long-standing deprecations. The following previously deprecated features are affected:
- The
n
keyword has been removed fromscipy.stats.moment
. - The
alpha
keyword has been removed fromscipy.stats.interval
. - The misspelt
gilbrat
distribution has been removed (usescipy.stats.gibrat
). - The deprecated spelling of the
kulsinski
distance metric has been removed (usescipy.spatial.distance.kulczynski1
). - The
vertices
keyword ofscipy.spatial.Delauney.qhull
has been removed (use simplices). - The
residual
property ofscipy.sparse.csgraph.maximum_flow
has been removed (useflow
). - The
extradoc
keyword ofscipy.stats.rv_continuous
,scipy.stats.rv_discrete
andscipy.stats.rv_sample
has been removed. - The
sym_pos
keyword ofscipy.linalg.solve
has been removed. - The
scipy.optimize.minimize
function now raises an error forx0
withx0.ndim > 1
. - In
scipy.stats.mode
, the default value ofkeepdims
is nowFalse
, and support for non-numeric input has been removed. - The function
scipy.signal.lsim
does not support non-uniform time steps anymore.
- Rewrote the source build docs and restructured the contributor guide.
- Improved support for cross-compiling with meson build system.
- MyST-NB notebook infrastructure has been added to our documentation.
- h-vetinari (69)
- Oriol Abril-Pla (1) +
- Tom Adamczewski (1) +
- Anton Akhmerov (13)
- Andrey Akinshin (1) +
- alice (1) +
- Oren Amsalem (1)
- Ross Barnowski (13)
- Christoph Baumgarten (2)
- Dawson Beatty (1) +
- Doron Behar (1) +
- Peter Bell (1)
- John Belmonte (1) +
- boeleman (1) +
- Jack Borchanian (1) +
- Matt Borland (3) +
- Jake Bowhay (41)
- Larry Bradley (1) +
- Sienna Brent (1) +
- Matthew Brett (1)
- Evgeni Burovski (39)
- Matthias Bussonnier (2)
- Maria Cann (1) +
- Alfredo Carella (1) +
- CJ Carey (34)
- Hood Chatham (2)
- Anirudh Dagar (3)
- Alberto Defendi (1) +
- Pol del Aguila (1) +
- Hans Dembinski (1)
- Dennis (1) +
- Vinayak Dev (1) +
- Thomas Duvernay (1)
- DWesl (4)
- Stefan Endres (66)
- Evandro (1) +
- Tom Eversdijk (2) +
- Isuru Fernando (1)
- Franz Forstmayr (4)
- Joseph Fox-Rabinovitz (1)
- Stefano Frazzetto (1) +
- Neil Girdhar (1)
- Caden Gobat (1) +
- Ralf Gommers (153)
- GonVas (1) +
- Marco Gorelli (1)
- Brett Graham (2) +
- Matt Haberland (388)
- harshvardhan2707 (1) +
- Alex Herbert (1) +
- Guillaume Horel (1)
- Geert-Jan Huizing (1) +
- Jakob Jakobson (2)
- Julien Jerphanion (10)
- jyuv (2)
- Rajarshi Karmakar (1) +
- Ganesh Kathiresan (3) +
- Robert Kern (4)
- Andrew Knyazev (4)
- Sergey Koposov (1)
- Rishi Kulkarni (2) +
- Eric Larson (1)
- Zoufiné Lauer-Bare (2) +
- Antony Lee (3)
- Gregory R. Lee (8)
- Guillaume Lemaitre (2) +
- lilinjie (2) +
- Yannis Linardos (1) +
- Christian Lorentzen (5)
- Loïc Estève (1)
- Adam Lugowski (1) +
- Charlie Marsh (2) +
- Boris Martin (1) +
- Nicholas McKibben (11)
- Melissa Weber Mendonça (58)
- Michał Górny (1) +
- Jarrod Millman (5)
- Stefanie Molin (2) +
- Mark W. Mueller (1) +
- mustafacevik (1) +
- Takumasa N (1) +
- nboudrie (1)
- Andrew Nelson (112)
- Nico Schlömer (4)
- Lysandros Nikolaou (2) +
- Kyle Oman (1)
- OmarManzoor (2) +
- Simon Ott (1) +
- Geoffrey Oxberry (1) +
- Geoffrey M. Oxberry (2) +
- Sravya papaganti (1) +
- Tirth Patel (2)
- Ilhan Polat (32)
- Quentin Barthélemy (1)
- Matteo Raso (12) +
- Tyler Reddy (143)
- Lucas Roberts (1)
- Pamphile Roy (225)
- Jordan Rupprecht (1) +
- Atsushi Sakai (11)
- Omar Salman (7) +
- Leo Sandler (1) +
- Ujjwal Sarswat (3) +
- Saumya (1) +
- Daniel Schmitz (79)
- Henry Schreiner (2) +
- Dan Schult (8) +
- Eli Schwartz (6)
- Tomer Sery (2) +
- Scott Shambaugh (10) +
- Gagandeep Singh (1)
- Ethan Steinberg (6) +
- stepeos (2) +
- Albert Steppi (3)
- Strahinja Lukić (1)
- Kai Striega (4)
- suen-bit (1) +
- Tartopohm (2)
- Logan Thomas (2) +
- Jacopo Tissino (1) +
- Matus Valo (12) +
- Jacob Vanderplas (2)
- Christian Veenhuis (1) +
- Isaac Virshup (3)
- Stefan van der Walt (14)
- Warren Weckesser (63)
- windows-server-2003 (1)
- Levi John Wolf (3)
- Nobel Wong (1) +
- Benjamin Yeh (1) +
- Rory Yorke (1)
- Younes (2) +
- Zaikun ZHANG (1) +
- Alex Zverianskii (1) +
A total of 134 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.11.0.zip
Files
(26.5 MB)
Name | Size | Download all |
---|---|---|
md5:ee59e673b4d17b2193e06dd2563da94b
|
26.5 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/scipy/scipy/tree/v1.11.0 (URL)