SciPy 0.17.0 发行说明#

SciPy 0.17.0 是 6 个月辛勤工作的结晶。它包含了许多新功能、众多错误修复、改进的测试覆盖率和更好的文档。此版本中包含一些弃用和 API 更改,这些在下面有所说明。建议所有用户升级到此版本,因为它包含大量的错误修复和优化。此外,我们的开发重心现在将转移到 0.17.x 分支上的错误修复版本,以及在主分支上添加新功能。

此版本需要 Python 2.6、2.7 或 3.2-3.5,以及 NumPy 1.6.2 或更高版本。

发行亮点

新功能#

scipy.cluster 改进#

新增函数 scipy.cluster.hierarchy.cut_tree,用于从链接矩阵确定剪切树。

scipy.io 改进#

scipy.io.mmwrite 增加了对对称稀疏矩阵的支持。

scipy.io.netcdf 增加了基于数据属性屏蔽和缩放数据的支持。

scipy.optimize 改进#

线性分配问题求解器#

scipy.optimize.linear_sum_assignment 是一个用于解决线性总和分配问题的新函数。它使用匈牙利算法(Kuhn-Munkres)。

最小二乘优化#

新增一个用于带约束的非线性最小二乘优化函数:scipy.optimize.least_squares。它提供了几种方法:用于无约束问题的 Levenberg-Marquardt,以及两种用于约束问题的信任域方法。此外,它还提供了不同的损失函数。新的信任域方法也能处理稀疏雅可比矩阵。

新增一个用于带约束的线性最小二乘优化函数:scipy.optimize.lsq_linear。它提供了一种信任域方法以及有界变量最小二乘(BVLS)算法的实现。

scipy.optimize.curve_fit 现在支持带边界的拟合。

scipy.signal 改进#

scipy.signal.spectrogram 中新增了 mode 关键字,使其能够返回功率谱密度之外的其他频谱图。

scipy.stats 改进#

scipy.stats 中的许多函数都增加了 nan_policy 关键字,允许指定如何处理含有 NaN 的输入:传播 NaN、引发错误或省略 NaN。

scipy.stats 中的许多函数已得到改进,能够正确处理为空或包含 inf/nan 的输入数组。

scipy.statsscipy.stats.mstats 中一些同名函数已更改为具有匹配的签名和行为。详情请参阅 gh-5474

scipy.stats.binom_testscipy.stats.mannwhitneyu 增加了 alternative 关键字,允许指定要测试的假设。最终所有假设检验函数都将获得此关键字。

对于许多连续分布的方法,现在接受复数输入。

矩阵正态分布已实现为 scipy.stats.matrix_normal

scipy.sparse 改进#

稀疏范数 scipy.sparse.linalg.norm 增加了 axis 关键字。

scipy.spatial 改进#

scipy.spatial.cKDTree 进行了部分重写以提高性能,并增加了几个新功能:

  • query_ball_point 方法显著加快

  • queryquery_ball_point 增加了用于并行执行的 n_jobs 关键字

  • 构建和查询方法现在释放 GIL

  • 全面支持序列化

  • 支持周期空间

  • sparse_distance_matrix 方法现在可以返回稀疏矩阵类型

scipy.interpolate 改进#

scipy.interpolate.interp1d 的越界行为已得到改进。使用双元素元组作为 fill_value 参数,可以为插值范围以下和以上的输入分别指定填充值。scipy.interpolate.interp1d 的线性插值和最近邻插值类型通过 fill_value="extrapolate" 关键字支持外推。

fill_value 也可以设置为数组类对象(或一个包含两个数组类对象的元组,用于分别指定下方和上方的值),只要它能正确广播到数组的非插值维度。Scipy 以前的版本隐式支持此功能,但现在已正式化并在使用前进行兼容性检查。例如,一组形状为 (2, 3, 5) 且沿最后一个轴 (2) 进行插值的 y 值,可以接受形状为 ()(单元素)、(1,)(2, 1)(1, 3)(3,)(2, 3)fill_value 数组;或者它可以是一个 2 元素元组,用于指定单独的下限和上限,其中每个元组元素都遵循适当的广播规则。

scipy.linalg 改进#

scipy.linalg.leastsq 的默认算法已更改为使用 LAPACK 的函数 *gelsd。想要恢复之前行为的用户可以使用新的关键字 lapack_driver="gelss"(允许的值为 “gelss”、“gelsd” 和 “gelsy”)。

scipy.sparse 矩阵和线性运算符现在支持 matmul (@) 运算符(Python 3.5+ 版本可用)。详情请参阅 [PEP 465](https://legacy.python.org/dev/peps/pep-0465/)

新增函数 scipy.linalg.ordqz,用于带重新排序的 QZ 分解。

已弃用功能#

scipy.stats.histogram 已弃用,建议使用更快且提供相同功能的 np.histogram

scipy.stats.thresholdscipy.mstats.threshold 已弃用,建议使用 np.clip。详情请参阅 issue #617。

scipy.stats.ss 已弃用。这是一个辅助函数,不应暴露给用户。此外,其名称也不明确。详情请参阅 issue #663。

scipy.stats.square_of_sums 已弃用。这同样是一个不应暴露给用户的辅助函数。详情请参阅 issues #665 和 #663。

scipy.stats.f_valuescipy.stats.f_value_multivariatescipy.stats.f_value_wilks_lambdascipy.mstats.f_value_wilks_lambda 已弃用。这些函数与方差分析(ANOVA)相关,而 scipy.stats 提供的功能相当有限,这些函数作为独立函数用处不大。详情请参阅 issues #660 和 #650。

scipy.stats.chisqprob 已弃用。这是一个别名。应改用 stats.chi2.sf

scipy.stats.betai 已弃用。这是 special.betainc 的别名,应改用后者。

向后不兼容的更改#

函数 stats.trim1stats.trimboth 现在确保修剪的元素是最低和/或最高的,具体取决于情况。以前在没有至少部分排序的情况下进行了切片,但这对于未排序的输入没有意义。

variable_names 设置为空列表时,scipy.io.loadmat 现在正确返回空值,而不是 MAT 文件的所有内容。

稀疏矩阵的逐元素乘法现在在所有情况下都返回稀疏结果。以前,将稀疏矩阵与密集矩阵或数组相乘会返回一个密集矩阵。

函数 misc.lena 因许可证不兼容已被移除。

sparse.coo_matrix 的构造函数不再接受 (None, (m,n)) 来构造形状为 (m,n) 的全零矩阵。此功能至少自 2007 年以来已弃用,并且在之前的 SciPy 版本中已经损坏。请改用 coo_matrix((m,n))

linalg.cython_lapack 中用于 LAPACK 例程 *gegs*gegv*gelsx*geqpf*ggsvd*ggsvp*lahrd*latzm*tzrqf 的 Cython 封装器已被移除,因为这些例程在新版 LAPACK 3.6.0 中不存在。除了例程 *ggsvd*ggsvp 之外,这些都已被弃用,以支持目前存在于我们 Cython LAPACK 封装器中的例程。

由于 LAPACK *gegv 例程已在 LAPACK 3.6.0 中移除。scipy.linalg.lapack 中相应的 Python 封装器现在已弃用,并将在未来版本中移除。这些例程的源文件已作为 scipy.linalg 的一部分临时包含,以便 SciPy 可以针对不提供这些已弃用例程的 LAPACK 版本进行构建。

其他更改#

SciPy 开发版本的 HTML 和 PDF 文档现在在每个合并的拉取请求后自动重建。

scipy.constants 已更新为 CODATA 2014 推荐值。

SciPy 内部 scipy.fftpack 函数的使用方式已更改,以便 PyFFTW 可以轻松替换 scipy.fftpack 函数(并提高性能)。详情请参阅 gh-5295

scipy.miscscipy.ndimage 中的 imread 函数已统一,为此 scipy.misc.imread 中新增了 mode 参数。此外,修复了 1 位和索引 RGB 图像格式的错误。

用于构建和测试 SciPy 的开发脚本 runtests.py 现在允许使用 --parallel 进行并行构建。

作者#

  • @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 +

共有 101 人为此版本做出了贡献。名字旁有“+”的人是首次贡献补丁。此姓名列表是自动生成的,可能不完全完整。

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 after scipy.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

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* and mstats.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