SciPy 0.18.0 发行说明#

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

此版本需要 Python 2.7 或 3.4-3.5 以及 NumPy 1.7.1 或更高版本。

此版本的亮点包括

新特性#

scipy.integrate 改进#

已在 scipy.integrate.solve_bvp 中实现了 ODE 系统两点边值问题的求解器。该求解器允许非分离的边界条件、未知参数和某些奇异项。它使用四阶配置算法找到 C1 连续解。

scipy.interpolate 改进#

现在可以通过 scipy.interpolate.CubicSpline 使用三次样条插值。此类表示通过给定点且 C2 连续的分段三次多项式。它在每个段上以标准多项式为基表示。

n 维张量积分段多项式的表示形式以 scipy.interpolate.NdPPoly 类的形式提供。

单变量分段多项式类,PPolyBpoly,现在可以在周期域上进行求值。为此,请使用 extrapolate="periodic" 关键字参数。

scipy.fftpack 改进#

scipy.fftpack.next_fast_len 函数计算 FFTPACK 的下一个“规则”数字。将输入填充到此长度可以显著提高 scipy.fftpack.fft 的性能。

scipy.signal 改进#

在函数 scipy.signal.resample_poly 中实现了使用多相滤波的重采样。此方法对信号进行上采样,应用零相位低通 FIR 滤波器,并使用 scipy.signal.upfirdn(这也是 0.18.0 版本中的新功能)进行下采样。对于某些信号,此方法可能比 scipy.signal.resample 提供的基于 FFT 的滤波更快。

添加了 scipy.signal.firls,它使用最小二乘误差最小化来构造 FIR 滤波器。

添加了 scipy.signal.sosfiltfilt,它像 scipy.signal.filtfilt 一样进行前向-后向滤波,但适用于二阶部分。

离散时间线性系统#

scipy.signal.dlti 提供了离散时间线性系统的实现。因此,StateSpaceTransferFunctionZerosPolesGain 类学习了一个新的关键字 dt,该关键字可用于创建相应系统表示的离散时间实例。

scipy.sparse 改进#

scipy.sparse 中的函数 summaxmeanmintransposereshape 的签名已通过附加参数和功能进行了增强,以提高与 numpy 中类似定义函数的兼容性。

稀疏矩阵现在有一个 count_nonzero 方法,用于计算矩阵中非零元素的数量。与返回存储条目数(数据属性的长度)的 getnnz()nnz 属性不同,此方法计算数据中实际非零条目的数量。

scipy.optimize 改进#

Nelder-Mead 最小化实现 scipy.minimize(…, method=”Nelder-Mead”) 获得了一个新的关键字 initial_simplex,可用于指定优化过程的初始单纯形。

改进了 CG 和 BFGS 最小化器中的初始步长选择。我们期望此更改在某些情况下将提高优化的数值稳定性。有关详细信息,请参阅拉取请求 gh-5536。

改进了 SLSQP 优化中对无限边界的处理。我们期望此更改在某些情况下将提高优化的数值稳定性。有关详细信息,请参阅拉取请求 gh-6024。

已将一组大型全局优化基准添加到 scipy/benchmarks/go_benchmark_functions。有关详细信息,请参阅拉取请求 gh-4191。

如果调用者未设置最大迭代次数或函数评估次数的限制,则 Nelder-Mead 和 Powell 最小化现在只会设置默认值。在某些情况下,如果函数收敛速度较慢并且仅设置了 1 个限制,则最小化可能会比以前的版本持续更长时间,因此更有可能达到收敛。请参阅问题 gh-5966。

scipy.stats 改进#

梯形分布已实现为 scipy.stats.trapz。偏态正态分布已实现为 scipy.stats.skewnorm。Burr XII 型分布已实现为 scipy.stats.burr12。三参数和四参数 kappa 分布已分别实现为 scipy.stats.kappa3scipy.stats.kappa4

新的 scipy.stats.iqr 函数计算分布的四分位距。

随机矩阵#

scipy.stats.special_ortho_groupscipy.stats.ortho_group 分别提供了 SO(N) 和 O(N) 群中随机矩阵的生成器。它们生成 Haar 分布中的矩阵,这是这些群流形上唯一的均匀分布。

scipy.stats.random_correlation 为给定的指定特征值提供随机相关矩阵的生成器。

scipy.linalg 改进#

scipy.linalg.svd 获得了一个新的关键字参数 lapack_driver。可用的驱动程序有 gesdd(默认)和 gesvd

scipy.linalg.lapack.ilaver 返回 SciPy 链接到的 LAPACK 库的版本。

scipy.spatial 改进#

布尔距离 scipy.spatial.pdist 已加快速度。改进因函数和输入大小而异。在许多情况下,可以预期速度提高 2 到 10 倍。

新类 scipy.spatial.SphericalVoronoi 在球面上构造 Voronoi 图。有关详细信息,请参阅拉取请求 gh-5232。

scipy.cluster 改进#

scipy.cluster.hierarchy.linkage 实现了一种新的聚类算法,即最近邻链算法。因此,对于几种链接方法,可以预期算法性能的显着提高(\(O(N^2)\) 而不是 \(O(N^3)\))。

scipy.special 改进#

新的函数 scipy.special.loggamma 计算伽马函数对数的主分支。 对于实数输入,loggammascipy.special.gammaln 兼容。 对于复数输入,它在复平面中具有更一致的行为,应该优先于 gammaln

球贝塞尔函数的向量化形式已实现为 scipy.special.spherical_jnscipy.special.spherical_knscipy.special.spherical_inscipy.special.spherical_yn。 建议使用它们来代替现在已弃用的 sph_* 函数。

一些特殊函数已扩展到复数域,并且/或者在域/稳定性方面有所改进。这包括 spencedigammalog1p 以及其他几个函数。

已弃用的特性#

已弃用 lti 系统的跨类属性。以下属性/设置器将引发 DeprecationWarning

名称 - (访问/设置会引发警告) - (设置会引发警告) * StateSpace - (num, den, gain) - (zeros, poles) * TransferFunction (A, B, C, D, gain) - (zeros, poles) * ZerosPolesGain (A, B, C, D, num, den) - ()

球贝塞尔函数 sph_insph_jnsph_knsph_ynsph_jnynsph_inkn 已弃用,建议使用 scipy.special.spherical_jnspherical_knspherical_ynspherical_in

scipy.constants 中的以下函数已被弃用: C2KK2CC2FF2CF2KK2F。 它们被新的函数 scipy.constants.convert_temperature 取代,该函数可以执行所有这些转换以及与开氏温度的相互转换。

不向后兼容的更改#

scipy.optimize#

optimize.bisectoptimize.brentqoptimize.brenthoptimize.ridder 的收敛标准现在与 numpy.allclose 的工作方式相同。

scipy.ndimage#

ndimage.interpolation.affine_transform 中的偏移现在始终在应用矩阵之后添加,而与使用一维还是二维数组指定矩阵无关。

scipy.stats#

如果输入不是实数或包含 NaN,stats.ks_2samp 过去会返回无意义的值。现在,它会针对此类输入引发异常。

已删除 scipy.stats 分布的几个已弃用的方法:est_loc_scalevecfuncveccdfvec_generic_moment

已从 scipy.stats 中删除已弃用的函数 nanmeannanstdnanmedian。 这些函数在 scipy 0.15.0 中已弃用,建议使用它们在 numpy 中的等效项。

已修复 scipy.stats 中分布的 rvs() 方法中的一个错误。 当给定 rvs() 的参数的形状用于广播时,在许多情况下,返回的随机样本不是随机的。 此问题的一个简单示例是 stats.norm.rvs(loc=np.zeros(10))。 由于此错误,该调用将返回 10 个相同的值。 该错误仅影响依赖于形状、位置和比例参数广播的代码。

rvs() 方法也接受了一些它不应该接受的参数。 在 rvs() 接受的参数实际上与广播不兼容的情况下,可能存在不向后兼容性。 一个例子是

stats.gamma.rvs([2, 5, 10, 15], size=(2,2))

第一个参数的形状与请求的大小不兼容,但该函数仍然返回一个形状为 (2, 2) 的数组。 在 scipy 0.18 中,该调用会生成 ValueError

scipy.io#

现在,如果同时给出了 _FillValue 属性和 missing_value 属性,scipy.io.netcdf 掩码会优先使用 _FillValue 属性。此外,仅当数据与其中一个属性完全匹配时,才将其视为缺失:与 _FillValuemissing_value 相差舍入误差的值不再被视为缺失值。

scipy.interpolate#

已删除 scipy.interpolate.PiecewisePolynomial 类。 它在 scipy 0.14.0 中已被弃用,并且 scipy.interpolate.BPoly.from_derivatives 可以作为直接替代品。

其他更改#

Scipy 现在使用 setuptools 而不是普通的 distutils 来进行构建。 这修复了在依赖 Scipy 的项目的 setup.py 文件中使用 install_requires='scipy' 的问题(有关详细信息,请参阅 Numpy 问题 gh-6551)。 但它可能会影响 Scipy 本身的构建/安装方法。 请在 Scipy 问题跟踪器上报告任何意外行为。

PR #6240 更改了 scipy.optimize 模块中基于 L-BFGS-B 的例程中 maxfun 选项的解释。L-BFGS-B 搜索由多次迭代组成,每次迭代由一个或多个函数评估组成。 虽然旧的搜索策略在达到 maxfun 函数评估后立即终止,但新的策略允许在达到 maxfun 后完成当前迭代。

已将 scipy.spatial 子包中捆绑的 Qhull 副本升级到 2015.2 版本。

已将 scipy.sparse.linalg 子包中捆绑的 ARPACK 副本升级到 arpack-ng 3.3.0。

已将 scipy.sparse 子包中捆绑的 SuperLU 副本升级到 5.1.1 版本。

作者#

  • @endolith

  • @yanxun827 +

  • @kleskjr +

  • @MYheavyGo +

  • @solarjoe +

  • Gregory Allen +

  • Gilles Aouizerate +

  • Tom Augspurger +

  • Henrik Bengtsson +

  • Felix Berkenkamp

  • Per Brodtkorb

  • Lars Buitinck

  • Daniel Bunting +

  • Evgeni Burovski

  • CJ Carey

  • Tim Cera

  • Grey Christoforo +

  • Robert Cimrman

  • Philip DeBoer +

  • Yves Delley +

  • Dávid Bodnár +

  • Ion Elberdin +

  • Gabriele Farina +

  • Yu Feng

  • Andrew Fowlie +

  • Joseph Fox-Rabinovitz

  • Simon Gibbons +

  • Neil Girdhar +

  • Kolja Glogowski +

  • Christoph Gohlke

  • Ralf Gommers

  • Todd Goodall +

  • Johnnie Gray +

  • Alex Griffing

  • Olivier Grisel

  • Thomas Haslwanter +

  • Michael Hirsch +

  • Derek Homeier

  • Golnaz Irannejad +

  • Marek Jacob +

  • InSuk Joung +

  • Tetsuo Koyama +

  • Eugene Krokhalev +

  • Eric Larson

  • Denis Laxalde

  • Antony Lee

  • Jerry Li +

  • Henry Lin +

  • Nelson Liu +

  • Loïc Estève

  • Lei Ma +

  • Osvaldo Martin +

  • Stefano Martina +

  • Nikolay Mayorov

  • Matthieu Melot +

  • Sturla Molden

  • Eric Moore

  • Alistair Muldal +

  • Maniteja Nandana

  • Tavi Nathanson +

  • Andrew Nelson

  • Joel Nothman

  • Behzad Nouri

  • Nikolai Nowaczyk +

  • Juan Nunez-Iglesias +

  • Ted Pudlik

  • Eric Quintero

  • Yoav Ram

  • Jonas Rauber +

  • Tyler Reddy +

  • Juha Remes

  • Garrett Reynolds +

  • Ariel Rokem +

  • Fabian Rost +

  • Bill Sacks +

  • Jona Sassenhagen +

  • Kari Schoonbee +

  • Marcello Seri +

  • Sourav Singh +

  • Martin Spacek +

  • Søren Fuglede Jørgensen +

  • Bhavika Tekwani +

  • Martin Thoma +

  • Sam Tygier +

  • Meet Udeshi +

  • Utkarsh Upadhyay

  • Bram Vandekerckhove +

  • Sebastián Vanrell +

  • Ze Vinicius +

  • Pauli Virtanen

  • Stefan van der Walt

  • Warren Weckesser

  • Jakub Wilk +

  • Josh Wilson

  • Phillip J. Wolfram +

  • Nathan Woods

  • Haochen Wu

  • G Young +

总共有 99 人为本次发布做出了贡献。名字旁边带有 “+” 号的人是第一次贡献补丁。此名称列表为自动生成,可能并不完全完整。

针对 0.18.0 版本关闭的问题#

  • #1484: 使用 *GESVD lapack 驱动程序的 SVD (Trac #957)

  • #1547: ndimage.interpolation.affine_transform() 中不一致的偏移量使用…

  • #1609: special.hyp0f1 返回 nan (Trac #1082)

  • #1656: fmin_slsqp 增强 (Trac #1129)

  • #2069: rvs 中的 stats 广播 (Trac #1544)

  • #2165: sph_jn 为某些阶数/值返回错误结果 (Trac #1640)

  • #2255: affine_transform 中平移和旋转的顺序不正确…

  • #2332: hyp0f1 参数和返回值不是 numpy 式的 (Trac #1813)

  • #2534: 带有 uint8 dtype 的稀疏 .sum() 方法的行为不像…

  • #3113: 为 CSPHJY、SPHJ、SPHY、CSPHIK、SPHI、SPHIK 实现 ufunc…

  • #3568: SciPy 0.13.3 - CentOS5 - test_arpack 中的错误

  • #3581: optimize: fmin_bfgs 中的步长是 “坏的”

  • #4476: scipy.sparse 非本地字节序错误

  • #4484: optimize.fmin 中的 ftol 无法工作

  • #4510: sparsetools.cxx call_thunk 可能因越界而发生段错误…

  • #5051: _minimize_neldermead 的 ftol 和 xtol 是绝对值而不是…

  • #5097: 建议:球形 Voronoi 图

  • #5123: 当传递 Cython 类型时,对 scipy.sparse.coo_matrix 的调用失败…

  • #5220: scipy.cluster.hierarchy.{ward,median,centroid} 不工作…

  • #5379: 在 .travis.yml 末尾添加构建步骤,上传工作…

  • #5440: scipy.optimize.basinhopping: accept_test 返回 numpy.bool_

  • #5452: 使用可变积分时,scipy.integrate.nquad 中出现错误…

  • #5520: 无法正确继承 csr_matrix

  • #5533: Kendall tau 实现使用 Python 归并排序

  • #5553: stats.tiecorrect 溢出

  • #5589: 将 XII 型 Burr 分布添加到 stats 中。

  • #5612: 由于默认的因素,稀疏 linalg 分解对于小 k 来说很慢…

  • #5626: io.netcdf 掩码应使用 masked_equal 而不是 masked_value

  • #5637: 简单的三次样条插值?

  • #5683: 错误:Akima1DInterpolator 可能会在给定多维的情况下返回 nans…

  • #5686: scipy.stats.ttest_ind_from_stats 不接受数组

  • #5702: scipy.ndimage.interpolation.affine_transform 缺少文档…

  • #5718: cdist 中加权闵可夫斯基距离的计算错误

  • #5745: 为下一次发布移动到 setuptools

  • #5752: DOC: solve_discrete_lyapunov 方程将转置放在错误的位置…

  • #5760: signal.ss2tf 不处理零阶状态空间模型

  • #5764: 超几何函数 hyp0f1 对于复数行为不正确…

  • #5814: stats NaN 策略错误消息与代码不一致

  • #5833: stats.binom_test() 的文档字符串需要更新

  • #5853: scipy.linalg.expm 对于形状为 (1,1) 的复数矩阵出现错误

  • #5856: 指定 Nelder-Mead 初始单纯形

  • #5865: scipy.linalg.expm 对于某些 numpy 矩阵失败

  • #5915: optimize.basinhopping - 变量在赋值前被引用。

  • #5916: LSQUnivariateSpline 拟合失败,使用从…生成的节点

  • #5927: scipy.stats.binned_statistic_dd 中的 unicode 与字符串比较

  • #5936: 更快的 ks_2samp 实现

  • #5948: csc 矩阵 .mean 返回单个元素矩阵而不是标量

  • #5959: 错误:使用 lgmres 时,root 的优化测试错误

  • #5972: 32 位 Python 上稀疏和测试的测试失败

  • #5976: 在使用 0 x 0 矩阵时,scipy.sparse.bmat 中出现意外异常

  • #6008: scipy.special.kl_div 在 0.14.1 中不可用

  • #6011: von-Mises 熵已损坏

  • #6016: 对于某些较大的 linalg.interpolative.svd,python 崩溃…

  • #6017: 带有 zero_method=”pratt” 或 “zsplit” 的 Wilcoxon 符号秩检验…

  • #6028: stats.distributions 没有梯形分布

  • #6035: f_oneway 中的链接错误

  • #6056: 错误:signal.decimate 应该只接受离散 LTI 对象

  • #6093: Linux 32 位和 openblas 上的精度错误

  • #6101: Python3、32 位 Linux 上的重心变换测试错误

  • #6105: scipy.misc.face 文档字符串不正确

  • #6113: scipy.linalg.logm 对于一个普通的矩阵失败

  • #6128: 当与 numpy 一起使用时,稀疏 COO 数组的点方法中出现错误…

  • #6132: 使用最新的 MKL 时出现故障

  • #6136: 在带有 MKL 的 master 上出现故障

  • #6162: fmin_l_bfgs_b 返回不一致的结果 (fmin ≠ f(xmin)) 并且…

  • #6165: 使用 Newton-CG 时 optimize.minimize 无限循环

  • #6167: 对于包含边界值的数据,分布拟合不正确。

  • #6194: lstsq() 和其他方法检测到 numpy.complex256 为实数

  • #6216: ENH: 提高 bradford 的 ppf cdf 往返精度

  • #6217: 错误:weibull_min.logpdf 为 c=1 和 x=0 返回 nan

  • #6218: 是否有方法来限制最短路径搜索距离?

  • #6222: PchipInterpolator 不再处理 2 元素数组

  • #6226: ENH: 提高 logistic.ppf 和 logistic.isf 的精度

  • #6227: ENH: 提高 rayleigh.logpdf 和 rayleigh.logsf 的精度…

  • #6228: ENH: 提高 gumbel_l 的 ppf cdf 往返精度

  • #6235: BUG: alpha.pdf 和 alpha.logpdf 在 x=0 时返回 nan

  • #6245: ENH: 改进 invgamma 的 ppf-cdf 和 sf-isf 往返的精度

  • #6263: BUG: stats: multivariate_normal 文档字符串中的不一致

  • #6292: Python 3 中 test_sparsetools.TestInt32Overflow 出现不可排序的类型错误

  • #6316: TestCloughTocher2DInterpolator.test_dense 在 python3.5.2rc1_64bit 上崩溃...

  • #6318: Scipy interp1d 在 x 轴高值时 ‘nearest’ 不起作用

0.18.0 的拉取请求#

  • #3226: DOC: 将 nbna 更改为传统的 m 和 n

  • #3867: 允许 cKDTree.query 在 k 中接受列表输入。

  • #4191: ENH: 全局优化器的基准测试

  • #4356: ENH: 添加 PPoly.solve(y) 以求解 p(x) == y

  • #4370: DOC 为了清晰起见,将布尔距离函数分开

  • #4678: BUG: sparse: 确保索引 dtype 足够大以传递所有参数...

  • #4881: scipy.signal: 为线性离散时间系统添加类 dlti....

  • #4901: MAINT: 为 signal.lfilter 添加基准测试并改进文档字符串

  • #5043: ENH: sparse: 添加 count_nonzero 方法

  • #5136: 将 kurtosistest() 归于 Anscombe & Glynn (1983)

  • #5186: ENH: 移植 upfirdn

  • #5232: ENH: 向 scipy.spatial 添加球面 Voronoi 图算法

  • #5279: ENH: 具有不同归一化、高阶的贝塞尔滤波器

  • #5384: BUG: 关闭 #5027 距离函数始终将布尔值转换为双精度浮点数

  • #5392: ENH: 向 signal.decimate 添加 zero_phase kwarg

  • #5394: MAINT: sparse: 非规范测试清理和修复

  • #5424: DOC: 添加 Scipy 开发者指南

  • #5442: STY: PEP8 修订

  • #5472: LGMRES 中的在线 QR

  • #5526: BUG: stats: 修复分布的 rvs() 方法中的广播。

  • #5530: MAINT: sparse: 显式设置 format 属性

  • #5536: optimize: 修复 cg/bfgs 初始步长

  • #5548: PERF: 提高 stats.kendalltau 中的性能

  • #5549: ENH: 用于层次聚类的最近邻链算法

  • #5554: MAINT/BUG: 关闭 stats.tiecorrect 中的溢出错误

  • #5557: BUG: 修改 optimize.bisect 以达到所需的公差

  • #5581: DOC: least_squares 教程

  • #5606: ENH: differential_evolution - 移动 solve 方法的核心循环...

  • #5609: [MRG] 针对 numpy dev 进行测试

  • #5611: 使用 setuptools 进行 bdist_egg 分发

  • #5615: MAINT: linalg: 紧缩 _decomp_update + special: 删除未使用的...

  • #5622: 添加 SO(N) 旋转矩阵生成器

  • #5623: ENH: special: 添加矢量化球形贝塞尔函数。

  • #5627: 回应问题 #5160,实现偏斜正态分布...

  • #5628: DOC: 对齐描述和操作

  • #5632: DOC: special: 扩展 Airy、椭圆、贝塞尔函数的文档。

  • #5633: MAINT: linalg: _decomp_update 中未检查的 malloc

  • #5634: MAINT: optimize: 紧缩 _group_columns

  • #5640: 修复 io.netcdf 掩码

  • #5645: MAINT: cKDTree 范围查询中大小为 0 的向量处理

  • #5649: MAINT: 更新许可证文本

  • #5650: DOC: 澄清 ltisys.py 中的指数顺序

  • #5651: DOC: 澄清 scipy.special.gammaln 的文档

  • #5652: DOC: 修复 scipy.special.betaln 文档

  • #5653: [MRG] ENH: CubicSpline 插值器

  • #5654: ENH: 将 Burr12 分布添加到 stats 模块

  • #5659: DOC: 在 runtests.py -h 中为 bench-compare 定义 BEFORE/AFTER

  • #5660: MAINT: 删除 0.16.0 之前弃用的函数

  • #5662: ENH: 循环统计优化

  • #5663: MAINT: 删除 np.testing.rand 的使用

  • #5665: MAINT: spatial: 删除匹配距离的实现

  • #5667: 将一些 HTTP 链接更改为 HTTPS

  • #5669: DOC: zpk2sos 不能处理模拟、类似数组等。

  • #5670: 更新 conf.py

  • #5672: MAINT: 将样本分布移动到 rv_discrete 的子类

  • #5678: MAINT: stats: 删除 est_loc_scale 方法

  • #5679: MAINT: 为离散分布整理通用计算

  • #5680: MAINT: 停止在 stats.distributions 中遮蔽内置函数

  • #5681: 向前移植 ENH: 重新启用 fill_value 的广播

  • #5684: BUG: 修复 Akima1DInterpolator 返回 nan

  • #5690: BUG: 修复 stats.ttest_ind_from_stats 以处理数组。

  • #5691: BUG: 修复 io._loadarff 中的生成器以符合 PEP 0479

  • #5693: ENH: 使用 math.factorial 进行精确阶乘计算

  • #5695: DOC: dx 可能是一个浮点数,不仅仅是整数

  • #5699: MAINT: io: 对 Matlab 读取代码进行微优化以减小大小

  • #5701: 实现 OptimizeResult.__dir__

  • #5703: ENH: stats: 使 probplot 中的 R² 打印成为可选

  • #5704: MAINT: 拼写错误 ouf->out

  • #5705: BUG: 修复 query_pairs 中的拼写错误

  • #5707: DOC: 在 scipy.optimize.fmin 中为 ftol xtol 添加一些解释

  • #5708: DOC: optimize: PEP8 最小化文档字符串

  • #5709: MAINT: 为速度和大小优化 Cython 代码

  • #5713: [DOC] 修复对参考的断开链接

  • #5717: DOC: curve_fit 在失败时引发 RuntimeError。

  • #5724: 向前移植 gh-5720

  • #5728: STY: 删除空行

  • #5729: ENH: spatial: 加快布尔距离的计算

  • #5732: MAINT: differential_evolution 对默认关键字的更改会破坏...

  • #5733: TST: differential_evolution - 种群初始化测试

  • #5736: log1p、expm1 和 xlog1py 中对复数的支持

  • #5741: MAINT: sparse: 清理提取函数

  • #5742: DOC: signal: 解释 get_window 中的 fftbins

  • #5748: ENH: 添加 O(N) 随机矩阵生成器

  • #5749: ENH: 添加多相重采样

  • #5756: RFC: 提高最低 numpy 版本,放弃旧的 python 版本

  • #5761: DOC: 对最小二乘文档字符串的一些改进

  • #5762: MAINT: spatial: 距离重构

  • #5768: DOC: 修复 io.loadmat 文档字符串中的 mdict 参数

  • #5770: BUG: 在 sparse.random 中,接受 np.dtype 可以处理的任何 dtype

  • #5772: 更新 sparse.csgraph.laplacian 文档字符串

  • #5777: BUG: 修复 special.hyp0f1 以使其正确处理复数输入。

  • #5780: DOC: 更新 PIL 错误安装 URL

  • #5781: DOC: 修复 solve_discrete_lyapunov 的文档

  • #5782: DOC: cKDTree 和 KDTree 现在相互引用

  • #5783: DOC: 澄清 scipy.optimize.brute 中的完成行为

  • #5784: MAINT: 将 least_squares 的默认公差更改为 1e-8

  • #5787: BUG: 允许在 signal.ss2tf 中处理零阶状态空间模型

  • #5788: DOC, BUG: 澄清并强制执行对 ‘Data’ 对象输入类型

  • #5789: ENH: sparse: 加快 LIL 矩阵切片速度(原 #3338)

  • #5791: 文档:README:移除 coveralls.io

  • #5792: 维护:移除已弃用的 np.random.random_integers 的用法

  • #5794: 修复 affine_transform(修复 #1547 和 #5702)

  • #5795: 文档:从 kmeans2 文档中移除 uniform 方法

  • #5797: 文档:澄清加权 Minkowski 距离的计算

  • #5798: 错误:确保 scipy 的 _asfarray 返回 ndarray

  • #5799: 测试:Mpmath 测试补丁

  • #5801: 允许读取某些 IDL 8.0 .sav 文件

  • #5803: 文档:修复错误消息中的模块名称

  • #5804: 文档:special:扩展特殊函数的文档。

  • #5805: 文档:修复 _spectral_helper 中返回值的顺序

  • #5806: 增强:sparse:向量化 coo_matrix.diagonal

  • #5808: 增强:添加 iqr 函数以计算 scipy/stats/stats.py 中的 IQR 指标

  • #5810: 维护/基准测试:sparse:基准测试清理和添加

  • #5811: 文档:sparse.linalg:是 shape,而不是 size

  • #5813: 更新 sparse ARPACK 函数的最小 ncv

  • #5815: 错误:错误消息包含错误的值

  • #5816: 从 stats 测试中移除死代码

  • #5820: order_filter 文档字符串中 “in”->”a”

  • #5821: 文档:README:INSTALL.txt 在 2014 年已重命名

  • #5825: 文档:least_squares 的文档字符串中的错别字

  • #5826: 维护:sparse:增加测试覆盖率

  • #5827: NdPPoly 重构

  • #5828: 提高大阶数 hyp0f1 的数值稳定性

  • #5829: 增强:sparse:为 sparse 中的所有 .toXXX() 方法添加 copy 参数

  • #5830: 文档:重做 INSTALL.rst.txt

  • #5831: 为 voronoi_plot_2d 添加绘图选项

  • #5834: 更新 stats.binom_test() 文档字符串

  • #5836: 增强,测试:允许 tf2ss 的 SIMO tf

  • #5837: 文档:图像示例

  • #5838: 增强:sparse:向 coo_matrix 添加 eliminate_zeros()

  • #5839: 错误:修复 NumpyVersion.__repr__ 的名称

  • #5845: 维护:修复文档中的错别字

  • #5847: 修复 sparsetools 中的错误

  • #5848: 错误:sparse.linalg:添加锁以确保 ARPACK 线程安全

  • #5849: 增强:sparse.linalg:升级到 superlu 5.1.1

  • #5851: 增强:向 Python 公开 lapack 的 ilaver 以允许 lapack 版本...

  • #5852: 维护:runtests.py:确保 Ctrl-C 中断构建

  • #5854: 文档:对文档进行小更新

  • #5855: Pr 5640

  • #5859: 增强:添加随机相关矩阵生成器

  • #5862: 错误:允许对形状为 (1, 1) 的复数矩阵使用 expm

  • #5863: 修复:修复测试

  • #5864: 文档:添加关于正态生存函数(Q 函数)的一点注释

  • #5867: 修复 #5865

  • #5869: 将正态分布 cdf 扩展到复数域

  • #5872: 文档:注意 morlet 和 cwt 不能一起使用

  • #5875: 文档:interp2d 类描述

  • #5876: 维护:spatial:移除无关的打印语句

  • #5878: 维护:修复 ndimage 测试中嘈杂的 UserWarning。修复 #5877

  • #5879: 维护:sparse.linalg/superlu:添加显式类型转换以解决编译器...

  • #5880: 维护:signal:当在 ... 上时,从 math 而不是 fractions 导入 gcd

  • #5887: Neldermead 初始单纯形

  • #5894: 错误:_CustomLinearOperator 在 python3.5 中不可 pickle

  • #5895: 文档:special:稍微改进 multigammaln 文档字符串

  • #5900: 移除重复的赋值。

  • #5901: 更新捆绑的 ARPACK

  • #5904: 增强:使 convolve 和 correlate 与顺序无关

  • #5905: 增强:sparse.linalg:进一步的 LGMRES 清理

  • #5906: scipy.integrate 中的增强和清理(尝试 #2)

  • #5907: 增强:更改 sparse summean 的 dtype 转换以匹配...

  • #5909: 卷积对称性的更改

  • #5913: 维护:basinhopping 移除实例测试,关闭 #5440

  • #5919: 维护:如果 basinhopping niter=0,则未初始化变量。关闭 #5915

  • #5920: 构建:修复 MKL 缺少 lsame.c 错误

  • #5921: 文档:interpolate:添加示例,演示如何解决问题...

  • #5926: 维护:spatial:升级到 Qhull 2015.2

  • #5928: 维护:sparse:优化 DIA sum/diagonal,csgraph.laplacian

  • #5929: 更新 octave-maintainers 讨论的信息/URL

  • #5930: 测试:special:静默来自 sph_yn 的 DeprecationWarning

  • #5931: 增强:实现 Gamma 对数的原理分支。

  • #5934: 错别字:“mush” => “must”

  • #5935: 错误:字符串比较 stats._binned_statistic 关闭 #5927

  • #5938: Cython 化 stats.ks_2samp,速度提高约 33%。

  • #5939: 文档:修复 optimize.fmin 收敛文档字符串

  • #5941: 修复 squareform 文档字符串中的小错别字

  • #5942: 更新 linregress stderr 描述。

  • #5943: 增强:提高 lognorm 的数值精度

  • #5944: 将 vonmises 合并到 stats pyx 中

  • #5945: 维护:interpolate:调整声明以避免 cython 警告...

  • #5946: 维护:sparse:清理格式转换方法

  • #5949: 错误:修复 sparse .mean 以返回标量而不是矩阵

  • #5955: 维护:将对 hanning 的调用替换为 hann

  • #5956: 文档:缺失句点干扰解析

  • #5958: 维护:为 lognorm.sf 下溢添加测试

  • #5961: 维护 _centered():将 size 重命名为 shape

  • #5962: 增强:constants:添加多尺度温度转换函数

  • #5965: 增强:special:更快地计算 comb(),当 exact=True 时

  • #5975: 增强:改进 signal.decimate 的 FIR 路径

  • #5977: 维护/错误:sparse:移除过于严格的 bmat 检查

  • #5978: minimize_neldermead() 在用户请求的 maxiter 或 maxfev 处停止

  • #5983: 增强:使 sparse sum 的 dtype 转换与 NumPy sum 匹配,对于 32 位...

  • #5985: 错误,API:向 curve_fit 添加 jac 参数

  • #5989: 增强:添加 firls 最小二乘拟合

  • #5990: 错误:read 尝试处理 20 位 WAV 文件,但不应该这样做

  • #5991: 文档:清理 wav 读取/写入文档,并为常见类型添加表格

  • #5994: 增强:为 svd 添加 gesvd 方法

  • #5996: 维护:Wave 清理

  • #5997: 测试:分解 upfirdn 测试并与 lfilter 进行比较

  • #6001: 滤波器设计文档

  • #6002: 兼容性:扩展 compatibility fromnumeric.py

  • #6007: 增强:在 freqresp 中跳过 TF 到 TF 的转换

  • #6009: 文档:修复 entr、rel_entr、kl_div 的不正确 versionadded

  • #6013: 修复 von Mises 分布的熵计算。

  • #6014: 维护:使 gamma、rgamma 对复数参数使用 loggamma

  • #6020: 在制品:增强:为向量添加 exact=True 的阶乘

  • #6022: 将“lanczos”添加到图像插值函数列表中。

  • #6024: 错误:optimize:当没有...时,不要在 SLSQP 中使用虚拟约束

  • #6025: 增强:ODE 系统的边值问题求解器

  • #6029: 维护:optimize._lsq 的未来导入

  • #6030: 增强:stats.trap - 添加梯形分布,关闭 #6028

  • #6031: MAINT: 对 optimize._numdiff 的一些改进

  • #6032: MAINT: 将 special/_comb.c 添加到 .gitignore

  • #6033: BUG: 检查 interpolative.svd 中请求的近似秩

  • #6034: DOC: stats.py 中 mannwhitneyu 的文档已更正

  • #6040: FIX: 编辑 f_oneway 中的错误链接

  • #6044: BUG: (ordqz) 始终将参数 lwork 增加 1。

  • #6047: ENH: 将 special.spence 扩展到复数参数。

  • #6049: DOC: 将 PR #5640 的文档添加到 0.18.0 发行说明中

  • #6050: MAINT: 与 loggamma 相关的小清理

  • #6070: 在 wilcoxon 中添加 asarray 以显式将列表转换为 numpy 数组…

  • #6071: DOC: 抗混叠滤波器和链接 decimate resample 等。

  • #6075: MAINT: 为复数参数重新实现 special.digamma

  • #6080: 避免在 kstest 中多次计算

  • #6081: 澄清了皮尔逊相关返回值的含义

  • #6085: ENH: 允许在 spsolve() 中使用 umfpack 处理稀疏矩阵的长索引

  • #6086: 修复了关联拉盖尔多项式的描述

  • #6087: 更正了 splrep 的文档字符串。

  • #6094: ENH: special: 将 zeta 签名更改为 zeta(x, q=1)

  • #6095: BUG: 修复 special.spence 中的整数溢出

  • #6106: 修复了问题 #6105

  • #6116: BUG: 矩阵对数边缘情况

  • #6119: TST: Python 3.5 中 stats 的 DeprecationWarnings 关闭了 #5885

  • #6120: MAINT: sparse: 清理 sputils.isintlike

  • #6122: DOC: optimize: linprog 文档应说明最小化而不是最大化

  • #6123: DOC: optimize: 文档化 fun 字段,参见 scipy.optimize.OptimizeResult

  • #6124: 将 FFT 零填充计算从 signaltools 移动到 fftpack

  • #6125: MAINT: 改进 a ~ x 范围内的 special.gammainc。

  • #6130: BUG: sparse: 修复 COO 点积与零列的问题

  • #6138: ENH: stats: 改进 genextreme.sf 和 genextreme.isf 的行为

  • #6146: MAINT: 简化 expit 的实现

  • #6151: MAINT: special: 使 generate_ufuncs.py 的输出具有确定性

  • #6152: TST: special: 更好地测试大参数下的 gammainc

  • #6153: ENH: 使 next_fast_len 公开且更快

  • #6154: 修复拼写错误 “mush”–>“must”

  • #6155: DOC: 修复一些不正确的 RST 定义列表

  • #6160: 使 logsumexp 在掩码数组上出错

  • #6161: 在 rosen 文档中添加了缺失的括号

  • #6163: ENH: 添加了 “kappa4” 和 “kappa3” 分布。

  • #6164: DOC: integrate._bvp 中的小清理

  • #6169: 修复 mpf_assert_allclose 以处理可迭代的结果,例如映射

  • #6170: 修复 pchip_interpolate 便捷函数

  • #6172: 更正了文档字符串中错放的括号

  • #6175: ENH: sparse.csgraph: 将索引传递给 shortest_path

  • #6178: TST: 增加广义极值 sf 和 isf 的测试覆盖率…

  • #6179: TST: 避免来自 numpy 的弃用警告

  • #6181: ENH: CubicSpline 的边界条件

  • #6182: DOC: 向 max_len_seq 添加示例/图表

  • #6183: BLD: 为最近的更改更新 Bento 构建配置文件。

  • #6184: BUG: 修复 io/wavfile 中 float96 输入的问题。

  • #6186: ENH: PPoly 和 BPoly 的周期性外推

  • #6192: MRG: 添加 circle-CI

  • #6193: ENH: sparse: 避免 setitem 密集化

  • #6196: 修复了 cdist 中马氏距离的文档字符串中缺失的 sqrt,…

  • #6206: MAINT: solve_bvp 中的小更改

  • #6207: BUG: linalg: 对于 BLAS,将 complex256 向下转换为 complex128,而不是…

  • #6209: BUG: io.matlab: 避免在 read_element_into 中出现缓冲区溢出

  • #6210: BLD: 构建时使用 setuptools。

  • #6214: BUG: sparse.linalg: 修复 LGMRES 分解处理中的错误

  • #6215: MAINT: special: 使 loggamma 使用 zdiv

  • #6220: DOC: 添加参数

  • #6221: ENH: 改进 solve_bvp 的牛顿求解器

  • #6223: pchip 应适用于长度为 2 的数组

  • #6224: signal.lti: 弃用跨类属性/设置器

  • #6229: BUG: optimize: 避免在 Newton-CG 中出现无限循环

  • #6230: 添加高斯滤波器应用的示例

  • #6236: MAINT: gumbel_l 的准确性

  • #6237: MAINT: rayleigh 的准确性

  • #6238: MAINT: logistic 的准确性

  • #6239: MAINT: bradford 分布的准确性

  • #6240: MAINT: 避免由于 maxfun 中断而导致 l-bfgs-b 中出现错误的 fmin

  • #6241: MAINT: weibull_min 的准确性

  • #6246: ENH: 将 _support_mask 添加到分布中

  • #6247: 修复了 ode 示例的打印错误

  • #6249: MAINT: 将 stats.probplot 的 x 轴标签更改为 “theoretical…”

  • #6250: DOC: 修复拼写错误

  • #6251: MAINT: constants: 从弃用的转换中过滤掉测试噪声

  • #6252: MAINT: io/arff: 删除未使用的变量

  • #6253: 向 scipy.ndimage.filters 添加示例

  • #6254: MAINT: special: 修复一些构建警告

  • #6258: MAINT: 逆伽玛分布的准确性

  • #6260: MAINT: signal.decimate - 使用离散时间对象

  • #6262: BUG: odr: 修复字符串格式

  • #6267: TST: 修复 interpolate 和 stats 中的一些测试问题。

  • #6269: TST: 修复测试套件中的一些警告

  • #6274: ENH: 添加 sosfiltfilt

  • #6276: DOC: 更新 0.18.0 的发行说明

  • #6277: MAINT: 更新作者名称映射

  • #6282: DOC: 更正 scipy.stats.normaltest 的引用

  • #6283: DOC: 为 0.18.0 发行说明添加更多内容。

  • #6284: 向 loggamma 添加 versionadded:: 指令。

  • #6285: BUG: stats: multivariate_normal 文档字符串中的不一致…

  • #6290: 将作者列表、gh-list 添加到 0.18.0 发行说明中

  • #6293: TST: special: 放宽测试的精度

  • #6295: BUG: sparse: 停止比较 bsr_matrix 构造函数中的 None 和 int

  • #6313: MAINT: 修复 python 3.5 travis-ci 构建问题。

  • #6327: TST: signal: 使用 assert_allclose 来测试接近相等性…

  • #6330: BUG: spatial/qhull: 通过 malloc 分配 qhT,以确保 CRT 喜欢…

  • #6332: TST: 修复 stats.iqr 测试以不发出警告,并修复行长度。

  • #6334: MAINT: special: 修复 hyp0f1 的测试

  • #6347: TST: spatial.qhull: 跳过 32 位平台上的测试

  • #6350: BUG: optimize/slsqp: 不要覆盖超出边界的数组

  • #6351: BUG: #6318 Interp1d ‘nearest’ 整数 x 轴溢出问题已修复

  • #6355: 0.18.0 的向后移植