SciPy 0.17.0 Release Notes¶
Contents
- SciPy 0.17.0 Release Notes
- New features
scipy.cluster
improvementsscipy.io
improvementsscipy.optimize
improvementsscipy.signal
improvementsscipy.stats
improvementsscipy.sparse
improvementsscipy.spatial
improvementsscipy.interpolate
improvementsscipy.linalg
improvements
- Deprecated features
- Backwards incompatible changes
- Other changes
- Authors
- New features
SciPy 0.17.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. Moreover, our development attention will now shift to bug-fix releases on the 0.17.x branch, and on adding new features on the master branch.
This release requires Python 2.6, 2.7 or 3.2-3.5 and NumPy 1.6.2 or greater.
Release highlights:
- New functions for linear and nonlinear least squares optimization with constraints:
scipy.optimize.lsq_linear
andscipy.optimize.least_squares
- Support for fitting with bounds in
scipy.optimize.curve_fit
.- Significant improvements to
scipy.stats
, providing many functions with better handing of inputs which have NaNs or are empty, improved documentation, and consistent behavior betweenscipy.stats
andscipy.stats.mstats
.- Significant performance improvements and new functionality in
scipy.spatial.cKDTree
.
New features¶
scipy.cluster
improvements¶
A new function scipy.cluster.hierarchy.cut_tree
, which determines a cut tree
from a linkage matrix, was added.
scipy.io
improvements¶
scipy.io.mmwrite
gained support for symmetric sparse matrices.
scipy.io.netcdf
gained support for masking and scaling data based on data
attributes.
scipy.optimize
improvements¶
Linear assignment problem solver¶
scipy.optimize.linear_sum_assignment
is a new function for solving the
linear sum assignment problem. It uses the Hungarian algorithm (Kuhn-Munkres).
Least squares optimization¶
A new function for nonlinear least squares optimization with constraints was
added: scipy.optimize.least_squares
. It provides several methods:
Levenberg-Marquardt for unconstrained problems, and two trust-region methods
for constrained ones. Furthermore it provides different loss functions.
New trust-region methods also handle sparse Jacobians.
A new function for linear least squares optimization with constraints was
added: scipy.optimize.lsq_linear
. It provides a trust-region method as well
as an implementation of the Bounded-Variable Least-Squares (BVLS) algorithm.
scipy.optimize.curve_fit
now supports fitting with bounds.
scipy.signal
improvements¶
A mode
keyword was added to scipy.signal.spectrogram
, to let it return
other spectrograms than power spectral density.
scipy.stats
improvements¶
Many functions in scipy.stats
have gained a nan_policy
keyword, which
allows specifying how to treat input with NaNs in them: propagate the NaNs,
raise an error, or omit the NaNs.
Many functions in scipy.stats
have been improved to correctly handle input
arrays that are empty or contain infs/nans.
A number of functions with the same name in scipy.stats
and
scipy.stats.mstats
were changed to have matching signature and behavior.
See gh-5474 for details.
scipy.stats.binom_test
and scipy.stats.mannwhitneyu
gained a keyword
alternative
, which allows specifying the hypothesis to test for.
Eventually all hypothesis testing functions will get this keyword.
For methods of many continuous distributions, complex input is now accepted.
Matrix normal distribution has been implemented as scipy.stats.matrix_normal
.
scipy.sparse
improvements¶
The axis keyword was added to sparse norms, scipy.sparse.linalg.norm
.
scipy.spatial
improvements¶
scipy.spatial.cKDTree
was partly rewritten for improved performance and
several new features were added to it:
- the
query_ball_point
method became significantly faster query
andquery_ball_point
gained ann_jobs
keyword for parallel execution- build and query methods now release the GIL
- full pickling support
- support for periodic spaces
- the
sparse_distance_matrix
method can now return and sparse matrix type
scipy.interpolate
improvements¶
Out-of-bounds behavior of scipy.interpolate.interp1d
has been improved.
Use a two-element tuple for the fill_value
argument to specify separate
fill values for input below and above the interpolation range.
Linear and nearest interpolation kinds of scipy.interpolate.interp1d
support
extrapolation via the fill_value="extrapolate"
keyword.
fill_value
can also be set to an array-like (or a two-element tuple of
array-likes for separate below and above values) so long as it broadcasts
properly to the non-interpolated dimensions of an array. This was implicitly
supported by previous versions of scipy, but support has now been formalized
and gets compatibility-checked before use. For example, a set of y
values
to interpolate with shape (2, 3, 5)
interpolated along the last axis (2)
could accept a fill_value
array with shape ()
(singleton), (1,)
,
(2, 1)
, (1, 3)
, (3,)
, or (2, 3)
; or it can be a 2-element tuple
to specify separate below and above bounds, where each of the two tuple
elements obeys proper broadcasting rules.
scipy.linalg
improvements¶
The default algorithm for scipy.linalg.leastsq has been changed to use
LAPACK’s function *gelsd
. Users wanting to get the previous behavior
can use a new keyword lapack_driver="gelss"
(allowed values are
“gelss”, “gelsd” and “gelsy”).
scipy.sparse
matrices and linear operators now support the matmul (@
)
operator when available (Python 3.5+). See
[PEP 465](http://legacy.python.org/dev/peps/pep-0465/)
A new function scipy.linalg.ordqz
, for QZ decomposition with reordering, has
been added.
Deprecated features¶
scipy.stats.histogram
is deprecated in favor of np.histogram
, which is
faster and provides the same functionality.
scipy.stats.threshold
and scipy.mstats.threshold
are deprecated
in favor of np.clip
. See issue #617 for details.
scipy.stats.ss
is deprecated. This is a support function, not meant to
be exposed to the user. Also, the name is unclear. See issue #663 for details.
scipy.stats.square_of_sums
is deprecated. This too is a support function
not meant to be exposed to the user. See issues #665 and #663 for details.
scipy.stats.f_value
, scipy.stats.f_value_multivariate
,
scipy.stats.f_value_wilks_lambda
, and scipy.mstats.f_value_wilks_lambda
are deprecated. These are related to ANOVA, for which scipy.stats
provides
quite limited functionality and these functions are not very useful standalone.
See issues #660 and #650 for details.
scipy.stats.chisqprob
is deprecated. This is an alias. stats.chi2.sf
should be used instead.
scipy.stats.betai
is deprecated. This is an alias for special.betainc
which should be used instead.
Backwards incompatible changes¶
The functions stats.trim1
and stats.trimboth
now make sure the
elements trimmed are the lowest and/or highest, depending on the case.
Slicing without at least partial sorting was previously done, but didn’t
make sense for unsorted input.
When variable_names
is set to an empty list, scipy.io.loadmat
now
correctly returns no values instead of all the contents of the MAT file.
Element-wise multiplication of sparse matrices now returns a sparse result in all cases. Previously, multiplying a sparse matrix with a dense matrix or array would return a dense matrix.
The function misc.lena
has been removed due to license incompatibility.
The constructor for sparse.coo_matrix
no longer accepts (None, (m,n))
to construct an all-zero matrix of shape (m,n)
. This functionality was
deprecated since at least 2007 and was already broken in the previous SciPy
release. Use coo_matrix((m,n))
instead.
The Cython wrappers in linalg.cython_lapack
for the LAPACK routines
*gegs
, *gegv
, *gelsx
, *geqpf
, *ggsvd
, *ggsvp
,
*lahrd
, *latzm
, *tzrqf
have been removed since these routines
are not present in the new LAPACK 3.6.0 release. With the exception of
the routines *ggsvd
and *ggsvp
, these were all deprecated in favor
of routines that are currently present in our Cython LAPACK wrappers.
Because the LAPACK *gegv
routines were removed in LAPACK 3.6.0. The
corresponding Python wrappers in scipy.linalg.lapack
are now
deprecated and will be removed in a future release. The source files for
these routines have been temporarily included as a part of scipy.linalg
so that SciPy can be built against LAPACK versions that do not provide
these deprecated routines.
Other changes¶
Html and pdf documentation of development versions of Scipy is now automatically rebuilt after every merged pull request.
scipy.constants
is updated to the CODATA 2014 recommended values.
Usage of scipy.fftpack
functions within Scipy has been changed in such a
way that PyFFTW can easily replace
scipy.fftpack
functions (with improved performance). See
gh-5295 for details.
The imread
functions in scipy.misc
and scipy.ndimage
were unified, for
which a mode
argument was added to scipy.misc.imread. Also, bugs for
1-bit and indexed RGB image formats were fixed.
runtests.py
, the development script to build and test Scipy, now allows
building in parallel with --parallel
.
Authors¶
- @cel4 +
- @chemelnucfin +
- @endolith
- @mamrehn +
- @tosh1ki +
- Joshua L. Adelman +
- Anne Archibald
- Hervé Audren +
- Vincent Barrielle +
- Bruno Beltran +
- Sumit Binnani +
- Joseph Jon Booker
- Olga Botvinnik +
- Michael Boyle +
- Matthew Brett
- Zaz Brown +
- Lars Buitinck
- Pete Bunch +
- Evgeni Burovski
- CJ Carey
- Ien Cheng +
- Cody +
- Jaime Fernandez del Rio
- Ales Erjavec +
- Abraham Escalante
- Yves-Rémi Van Eycke +
- Yu Feng +
- Eric Firing
- Francis T. O’Donovan +
- André Gaul
- Christoph Gohlke
- Ralf Gommers
- Alex Griffing
- Alexander Grigorievskiy
- Charles Harris
- Jörn Hees +
- Ian Henriksen
- Derek Homeier +
- David Menéndez Hurtado
- Gert-Ludwig Ingold
- Aakash Jain +
- Rohit Jamuar +
- Jan Schlüter
- Johannes Ballé
- Luke Zoltan Kelley +
- Jason King +
- Andreas Kopecky +
- Eric Larson
- Denis Laxalde
- Antony Lee
- Gregory R. Lee
- Josh Levy-Kramer +
- Sam Lewis +
- François Magimel +
- Martín Gaitán +
- Sam Mason +
- Andreas Mayer
- Nikolay Mayorov
- Damon McDougall +
- Robert McGibbon
- Sturla Molden
- Will Monroe +
- Eric Moore
- Maniteja Nandana
- Vikram Natarajan +
- Andrew Nelson
- Marti Nito +
- Behzad Nouri +
- Daisuke Oyama +
- Giorgio Patrini +
- Fabian Paul +
- Christoph Paulik +
- Mad Physicist +
- Irvin Probst
- Sebastian Pucilowski +
- Ted Pudlik +
- Eric Quintero
- Yoav Ram +
- Joscha Reimer +
- Juha Remes
- Frederik Rietdijk +
- Rémy Léone +
- Christian Sachs +
- Skipper Seabold
- Sebastian Skoupý +
- Alex Seewald +
- Andreas Sorge +
- Bernardo Sulzbach +
- Julian Taylor
- Louis Tiao +
- Utkarsh Upadhyay +
- Jacob Vanderplas
- Gael Varoquaux +
- Pauli Virtanen
- Fredrik Wallner +
- Stefan van der Walt
- James Webber +
- Warren Weckesser
- Raphael Wettinger +
- Josh Wilson +
- Nat Wilson +
- Peter Yin +
A total of 101 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.
Issues closed for 0.17.0¶
- #1923: problem with numpy 0’s in stats.poisson.rvs (Trac #1398)
- #2138: scipy.misc.imread segfaults on 1 bit png (Trac #1613)
- #2237: distributions do not accept complex arguments (Trac #1718)
- #2282: scipy.special.hyp1f1(0.5, 1.5, -1000) fails (Trac #1763)
- #2618: poisson.pmf returns NaN if mu is 0
- #2957: hyp1f1 precision issue
- #2997: FAIL: test_qhull.TestUtilities.test_more_barycentric_transforms
- #3129: No way to set ranges for fitting parameters in Optimize functions
- #3191: interp1d should contain a fill_value_below and a fill_value_above…
- #3453: PchipInterpolator sets slopes at edges differently than Matlab’s…
- #4106: ndimage._ni_support._normalize_sequence() fails with numpy.int64
- #4118:
scipy.integrate.ode.set_solout
called afterscipy.integrate.ode.set_initial_value
fails silently - #4233: 1D scipy.interpolate.griddata using method=nearest produces nans…
- #4375: All tests fail due to bad file permissions
- #4580: scipy.ndimage.filters.convolve documenation is incorrect
- #4627: logsumexp with sign indicator - enable calculation with negative…
- #4702: logsumexp with zero scaling factor
- #4834: gammainc should return 1.0 instead of NaN for infinite x
- #4838: enh: exprel special function
- #4862: the scipy.special.boxcox function is inaccurate for denormal…
- #4887: Spherical harmonic incongruences
- #4895: some scipy ufuncs have inconsistent output dtypes?
- #4923: logm does not aggressively convert complex outputs to float
- #4932: BUG: stats: The fit method of the distributions silently ignores…
- #4956: Documentation error in
scipy.special.bi_zeros
- #4957: Docstring for pbvv_seq is wrong
- #4967: block_diag should look at dtypes of all arguments, not only the…
- #5037: scipy.optimize.minimize error messages are printed to stdout…
- #5039: Cubic interpolation: On entry to DGESDD parameter number 12 had…
- #5163: Base case example of Hierarchical Clustering (offer)
- #5181: BUG: stats.genextreme.entropy should use the explicit formula
- #5184: Some? wheels don’t express a numpy dependency
- #5197: mstats: test_kurtosis fails (ULP max is 2)
- #5260: Typo causing an error in splrep
- #5263: Default epsilon in rbf.py fails for colinear points
- #5276: Reading empty (no data) arff file fails
- #5280: 1d scipy.signal.convolve much slower than numpy.convolve
- #5326: Implementation error in scipy.interpolate.PchipInterpolator
- #5370: Test issue with test_quadpack and libm.so as a linker script
- #5426: ERROR: test_stats.test_chisquare_masked_arrays
- #5427: Automate installing correct numpy versions in numpy-vendor image
- #5430: Python3 : Numpy scalar types “not iterable”; specific instance…
- #5450: BUG: spatial.ConvexHull triggers a seg. fault when given nans.
- #5478: clarify the relation between matrix normal distribution and multivariate_normal
- #5539: lstsq related test failures on windows binaries from numpy-vendor
- #5560: doc: scipy.stats.burr pdf issue
- #5571: lstsq test failure after lapack_driver change
- #5577: ordqz segfault on Python 3.4 in Wine
- #5578: scipy.linalg test failures on python 3 in Wine
- #5607: Overloaded ‘isnan(double&)’ is ambiguous when compiling with…
- #5629: Test for lstsq randomly failed
- #5630: memory leak with scipy 0.16 spatial cKDEtree
- #5689: isnan errors compiling scipy/special/Faddeeva.cc with clang++
- #5694: fftpack test failure in test_import
- #5719: curve_fit(method!=”lm”) ignores initial guess
Pull requests for 0.17.0¶
- #3022: hyp1f1: better handling of large negative arguments
- #3107: ENH: Add ordered QZ decomposition
- #4390: ENH: Allow axis and keepdims arguments to be passed to scipy.linalg.norm.
- #4671: ENH: add axis to sparse norms
- #4796: ENH: Add cut tree function to scipy.cluster.hierarchy
- #4809: MAINT: cauchy moments are undefined
- #4821: ENH: stats: make distribution instances picklable
- #4839: ENH: Add scipy.special.exprel relative error exponential ufunc
- #4859: Logsumexp fixes - allows sign flags and b==0
- #4865: BUG: scipy.io.mmio.write: error with big indices and low precision
- #4869: add as_inexact option to _lib._util._asarray_validated
- #4884: ENH: Finite difference approximation of Jacobian matrix
- #4890: ENH: Port cKDTree query methods to C++, allow pickling on Python…
- #4892: how much doctesting is too much?
- #4896: MAINT: work around a possible numpy ufunc loop selection bug
- #4898: MAINT: A bit of pyflakes-driven cleanup.
- #4899: ENH: add ‘alternative’ keyword to hypothesis tests in stats
- #4903: BENCH: Benchmarks for interpolate module
- #4905: MAINT: prepend underscore to mask_to_limits; delete masked_var.
- #4906: MAINT: Benchmarks for optimize.leastsq
- #4910: WIP: Trimmed statistics functions have inconsistent API.
- #4912: MAINT: fix typo in stats tutorial. Closes gh-4911.
- #4914: DEP: deprecate scipy.stats.ss and scipy.stats.square_of_sums.
- #4924: MAINT: if the imaginary part of logm of a real matrix is small,…
- #4930: BENCH: Benchmarks for signal module
- #4941: ENH: update find_repeats.
- #4942: MAINT: use np.float64_t instead of np.float_t in cKDTree
- #4944: BUG: integer overflow in correlate_nd
- #4951: do not ignore invalid kwargs in distributions fit method
- #4958: Add some detail to docstrings for special functions
- #4961: ENH: stats.describe: add bias kw and empty array handling
- #4963: ENH: scipy.sparse.coo.coo_matrix.__init__: less memory needed
- #4968: DEP: deprecate
stats.f_value*
andmstats.f_value*
functions. - #4969: ENH: review stats.relfreq and stats.cumfreq; fixes to stats.histogram
- #4971: Extend github source links to line ranges
- #4972: MAINT: impove the error message in validate_runtests_log
- #4976: DEP: deprecate scipy.stats.threshold
- #4977: MAINT: more careful dtype treatment in block diagonal matrix…
- #4979: ENH: distributions, complex arguments
- #4984: clarify dirichlet distribution error handling
- #4992: ENH: stats.fligner and stats.bartlett empty input handling.
- #4996: DOC: fix stats.spearmanr docs
- #4997: Fix up boxcox for underflow / loss of precision
- #4998: DOC: improved documentation for stats.ppcc_max
- #5000: ENH: added empty input handling scipy.moment; doc enhancements
- #5003: ENH: improves rankdata algorithm
- #5005: scipy.stats: numerical stability improvement
- #5007: ENH: nan handling in functions that use stats._chk_asarray
- #5009: remove coveralls.io
- #5010: Hypergeometric distribution log survival function
- #5014: Patch to compute the volume and area of convex hulls
- #5015: DOC: Fix mistaken variable name in sawtooth
- #5016: DOC: resample example
- #5017: DEP: deprecate stats.betai and stats.chisqprob
- #5018: ENH: Add test on random inpu to volume computations
- #5026: BUG: Fix return dtype of lil_matrix.getnnz(axis=0)
- #5030: DOC: resample slow for prime output too
- #5033: MAINT: integrate, special: remove unused R1MACH and Makefile
- #5034: MAINT: signal: lift max_len_seq validation out of Cython
- #5035: DOC/MAINT: refguide / doctest drudgery
- #5041: BUG: fixing some small memory leaks detected by cppcheck
- #5044: [GSoC] ENH: New least-squares algorithms
- #5050: MAINT: C fixes, trimmed a lot of dead code from Cephes
- #5057: ENH: sparse: avoid densifying on sparse/dense elementwise mult
- #5058: TST: stats: add a sample distribution to the test loop
- #5061: ENH: spatial: faster 2D Voronoi and Convex Hull plotting
- #5065: TST: improve test coverage for stats.mvsdist and stats.bayes_mvs
- #5066: MAINT: fitpack: remove a noop
- #5067: ENH: empty and nan input handling for stats.kstat and stats.kstatvar
- #5071: DOC: optimize: Correct paper reference, add doi
- #5072: MAINT: scipy.sparse cleanup
- #5073: DOC: special: Add an example showing the relation of diric to…
- #5075: DOC: clarified parameterization of stats.lognorm
- #5076: use int, float, bool instead of np.int, np.float, np.bool
- #5078: DOC: Rename fftpack docs to README
- #5081: BUG: Correct handling of scalar ‘b’ in lsmr and lsqr
- #5082: loadmat variable_names: don’t confuse [] and None.
- #5083: Fix integrate.fixed_quad docstring to indicate None return value
- #5086: Use solve() instead of inv() for gaussian_kde
- #5090: MAINT: stats: add explicit _sf, _isf to gengamma distribution
- #5094: ENH: scipy.interpolate.NearestNDInterpolator: cKDTree configurable
- #5098: DOC: special: fix typesetting in
*_roots quadrature
functions - #5099: DOC: make the docstring of stats.moment raw
- #5104: DOC/ENH fixes and micro-optimizations for scipy.linalg
- #5105: enh: made l-bfgs-b parameter for the maximum number of line search…
- #5106: TST: add NIST test cases to stats.f_oneway
- #5110: [GSoC]: Bounded linear least squares
- #5111: MAINT: special: Cephes cleanup
- #5118: BUG: FIR path failed if len(x) < len(b) in lfilter.
- #5124: ENH: move the filliben approximation to a publicly visible function
- #5126: StatisticsCleanup: stats.kruskal review
- #5130: DOC: update PyPi trove classifiers. Beta -> Stable. Add license.
- #5131: DOC: differential_evolution, improve docstring for mutation and…
- #5132: MAINT: differential_evolution improve init_population_lhs comments…
- #5133: MRG: rebased mmio refactoring
- #5135: MAINT: stats.mstats consistency with stats.stats
- #5139: TST: linalg: add a smoke test for gh-5039
- #5140: EHN: Update constants.codata to CODATA 2014
- #5145: added ValueError to docstring as possible error raised
- #5146: MAINT: Improve implementation details and doc in stats.shapiro
- #5147: [GSoC] ENH: Upgrades to curve_fit
- #5150: Fix misleading wavelets/cwt example
- #5152: BUG: cluster.hierarchy.dendrogram: missing font size doesn’t…
- #5153: add keywords to control the summation in discrete distributions…
- #5156: DOC: added comments on algorithms used in Legendre function
- #5158: ENH: optimize: add the Hungarian algorithm
- #5162: FIX: Remove lena
- #5164: MAINT: fix cluster.hierarchy.dendrogram issues and docs
- #5166: MAINT: changed stats.pointbiserialr to delegate to stats.pearsonr
- #5167: ENH: add nan_policy to stats.kendalltau.
- #5168: TST: added nist test case (Norris) to stats.linregress.
- #5169: update lpmv docstring
- #5171: Clarify metric parameter in linkage docstring
- #5172: ENH: add mode keyword to signal.spectrogram
- #5177: DOC: graphical example for KDTree.query_ball_point
- #5179: MAINT: stats: tweak the formula for ncx2.pdf
- #5188: MAINT: linalg: A bit of clean up.
- #5189: BUG: stats: Use the explicit formula in stats.genextreme.entropy
- #5193: BUG: fix uninitialized use in lartg
- #5194: BUG: properly return error to fortran from ode_jacobian_function
- #5198: TST: Fix TestCtypesQuad failure on Python 3.5 for Windows
- #5201: allow extrapolation in interp1d
- #5209: MAINT: Change complex parameter to boolean in Y_()
- #5213: BUG: sparse: fix logical comparison dtype conflicts
- #5216: BUG: sparse: fixing unbound local error
- #5218: DOC and BUG: Bessel function docstring improvements, fix array_like,…
- #5222: MAINT: sparse: fix COO ctor
- #5224: DOC: optimize: type of OptimizeResult.hess_inv varies
- #5228: ENH: Add maskandscale support to netcdf; based on pupynere and…
- #5229: DOC: sparse.linalg.svds doc typo fixed
- #5234: MAINT: sparse: simplify COO ctor
- #5235: MAINT: sparse: warn on todia() with many diagonals
- #5236: MAINT: ndimage: simplify thread handling/recursion + constness
- #5239: BUG: integrate: Fixed issue 4118
- #5241: qr_insert fixes, closes #5149
- #5246: Doctest tutorial files
- #5247: DOC: optimize: typo/import fix in linear_sum_assignment
- #5248: remove inspect.getargspec and test python 3.5 on Travis CI
- #5250: BUG: Fix sparse multiply by single-element zero
- #5261: Fix bug causing a TypeError in splrep when a runtime warning…
- #5262: Follow up to 4489 (Addition LAPACK routines in linalg.lstsq)
- #5264: ignore zero-length edges for default epsilon
- #5269: DOC: Typos and spell-checking
- #5272: MAINT: signal: Convert array syntax to memoryviews
- #5273: DOC: raw strings for docstrings with math
- #5274: MAINT: sparse: update cython code for MST
- #5278: BUG: io: Stop guessing the data delimiter in ARFF files.
- #5289: BUG: misc: Fix the Pillow work-around for 1-bit images.
- #5291: ENH: call np.correlate for 1d in scipy.signal.correlate
- #5294: DOC: special: Remove a potentially misleading example from the…
- #5295: Simplify replacement of fftpack by pyfftw
- #5296: ENH: Add matrix normal distribution to stats
- #5297: Fixed leaf_rotation and leaf_font_size in Python 3
- #5303: MAINT: stats: rewrite find_repeats
- #5307: MAINT: stats: remove unused Fortran routine
- #5313: BUG: sparse: fix diags for nonsquare matrices
- #5315: MAINT: special: Cephes cleanup
- #5316: fix input check for sparse.linalg.svds
- #5319: MAINT: Cython code maintenance
- #5328: BUG: Fix place_poles return values
- #5329: avoid a spurious divide-by-zero in Student t stats
- #5334: MAINT: integrate: miscellaneous cleanup
- #5340: MAINT: Printing Error Msg to STDERR and Removing iterate.dat
- #5347: ENH: add Py3.5-style matmul operator (e.g. A @ B) to sparse linear…
- #5350: FIX error, when reading 32-bit float wav files
- #5351: refactor the PCHIP interpolant’s algorithm
- #5354: MAINT: construct csr and csc matrices from integer lists
- #5359: add a fast path to interp1d
- #5364: Add two fill_values to interp1d.
- #5365: ABCD docstrings
- #5366: Fixed typo in the documentation for scipy.signal.cwt() per #5290.
- #5367: DOC updated scipy.spatial.Delaunay example
- #5368: ENH: Do not create a throwaway class at every function call
- #5372: DOC: spectral: fix reference formatting
- #5375: PEP8 amendments to ffpack_basic.py
- #5377: BUG: integrate: builtin name no longer shadowed
- #5381: PEP8ified fftpack_pseudo_diffs.py
- #5385: BLD: fix Bento build for changes to optimize and spatial
- #5386: STY: PEP8 amendments to interpolate.py
- #5387: DEP: deprecate stats.histogram
- #5388: REL: add “make upload” command to doc/Makefile.
- #5389: DOC: updated origin param of scipy.ndimage.filters.convolve
- #5395: BUG: special: fix a number of edge cases related to x = np.inf.
- #5398: MAINT: stats: avoid spurious warnings in lognorm.pdf(0, s)
- #5407: ENH: stats: Handle mu=0 in stats.poisson
- #5409: Fix the behavior of discrete distributions at the right-hand…
- #5412: TST: stats: skip a test to avoid a spurious log(0) warning
- #5413: BUG: linalg: work around LAPACK single-precision lwork computation…
- #5414: MAINT: stats: move creation of namedtuples outside of function…
- #5415: DOC: fix up sections in ToC in the pdf reference guide
- #5416: TST: fix issue with a ctypes test for integrate on Fedora.
- #5418: DOC: fix bugs in signal.TransferFunction docstring. Closes gh-5287.
- #5419: MAINT: sparse: fix usage of NotImplementedError
- #5420: Raise proper error if maxiter < 1
- #5422: DOC: changed documentation of brent to be consistent with bracket
- #5444: BUG: gaussian_filter, BPoly.from_derivatives fail on numpy int…
- #5445: MAINT: stats: fix incorrect deprecation warnings and test noise
- #5446: DOC: add note about PyFFTW in fftpack tutorial.
- #5459: DOC: integrate: Some improvements to the differential equation…
- #5465: BUG: Relax mstats kurtosis test tolerance by a few ulp
- #5471: ConvexHull should raise ValueError for NaNs.
- #5473: MAINT: update decorators.py module to version 4.0.5
- #5476: BUG: imsave searches for wrong channel axis if image has 3 or…
- #5477: BLD: add numpy to setup/install_requires for OS X wheels
- #5479: ENH: return Jacobian/Hessian from BasinHopping
- #5484: BUG: fix ttest zero division handling
- #5486: Fix crash on kmeans2
- #5491: MAINT: Expose parallel build option to runtests.py
- #5494: Sort OptimizeResult.__repr__ by key
- #5496: DOC: update the author name mapping
- #5497: Enhancement to binned_statistic: option to unraveled returned…
- #5498: BUG: sparse: fix a bug in sparsetools input dtype resolution
- #5500: DOC: detect unprintable characters in docstrings
- #5505: BUG: misc: Ensure fromimage converts mode ‘P’ to ‘RGB’ or ‘RGBA’.
- #5514: DOC: further update the release notes
- #5515: ENH: optionally disable fixed-point acceleration
- #5517: DOC: Improvements and additions to the matrix_normal doc
- #5518: Remove wrappers for LAPACK deprecated routines
- #5521: TST: skip a linalg.orth memory test on 32-bit platforms.
- #5523: DOC: change a few floats to integers in docstring examples
- #5524: DOC: more updates to 0.17.0 release notes.
- #5525: Fix to minor typo in documentation for scipy.integrate.ode
- #5527: TST: bump arccosh tolerance to allow for inaccurate numpy or…
- #5535: DOC: signal: minor clarification to docstring of TransferFunction.
- #5538: DOC: signal: fix find_peaks_cwt documentation
- #5545: MAINT: Fix typo in linalg/basic.py
- #5547: TST: mark TestEig.test_singular as knownfail in master.
- #5550: MAINT: work around lstsq driver selection issue
- #5556: BUG: Fixed broken dogbox trust-region radius update
- #5561: BUG: eliminate warnings, exception (on Win) in test_maskandscale;…
- #5567: TST: a few cleanups in the test suite; run_module_suite and clearer…
- #5568: MAINT: simplify poisson’s _argcheck
- #5569: TST: bump GMean test tolerance to make it pass on Wine
- #5572: TST: lstsq: bump test tolerance for TravisCI
- #5573: TST: remove use of np.fromfile from cluster.vq tests
- #5576: Lapack deprecations
- #5579: TST: skip tests of linalg.norm axis keyword on numpy <= 1.7.x
- #5582: Clarify language of survival function documentation
- #5583: MAINT: stats/tests: A bit of clean up.
- #5588: DOC: stats: Add a note that stats.burr is the Type III Burr distribution.
- #5595: TST: fix test_lamch failures on Python 3
- #5600: MAINT: Ignore spatial/ckdtree.cxx and .h
- #5602: Explicitly numbered replacement fields for maintainability
- #5605: MAINT: collection of small fixes to test suite
- #5614: Minor doc change.
- #5624: FIX: Fix interpolate
- #5625: BUG: msvc9 binaries crash when indexing std::vector of size 0
- #5635: BUG: misspelled __dealloc__ in cKDTree.
- #5642: STY: minor fixup of formatting of 0.17.0 release notes.
- #5643: BLD: fix a build issue in special/Faddeeva.cc with isnan.
- #5661: TST: linalg tests used stdlib random instead of numpy.random.
- #5682: backports for 0.17.0
- #5696: Minor improvements to least_squares’ docstring.
- #5697: BLD: fix for isnan/isinf issues in special/Faddeeva.cc
- #5720: TST: fix for file opening error in fftpack test_import.py
- #5722: BUG: Make curve_fit respect an initial guess with bounds
- #5726: Backports for v0.17.0rc2
- #5727: API: Changes to least_squares API