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 改进#

ODE 系统的两点边值问题的求解器已在 scipy.integrate.solve_bvp 中实现。该求解器允许非分离边界条件、未知参数和某些奇异项。 它使用四阶配置算法找到 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 的滤波更快。

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

添加了 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 type 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,已经加速。改进因函数和输入大小而异。在许多情况下,可以预期有 x2-x10 的加速。

新的类 scipy.spatial.SphericalVoronoi 在球面上构建 Voronoi 图。有关详细信息,请参阅 pull request gh-5232。

scipy.cluster 改进#

一个新的聚类算法,最近邻链算法,已经在 scipy.cluster.hierarchy.linkage 中实现。 因此,对于几种链接方法,可以预期算法的显著改进 (\(O(N^2)\) 代替 \(O(N^3)\))。

scipy.special 改进#

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

球 Bessel 函数的向量化形式已实现为 scipy.special.spherical_jn, scipy.special.spherical_kn, scipy.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) - ()

球 Bessel 函数,sph_in, sph_jn, sph_kn, sph_yn, sph_jnynsph_inkn 已经被弃用,建议使用 scipy.special.spherical_jnspherical_kn, spherical_yn, spherical_in 代替。

scipy.constants 中的以下函数已被弃用:C2KK2CC2FF2CF2KK2F。 它们被一个新的函数 scipy.constants.convert_temperature 取代,该函数可以执行所有这些转换,加上与/从 Rankine 温标的转换。

向后不兼容的更改#

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

已弃用的函数 nanmeannanstdnanmedian 已从 scipy.stats 中删除。这些函数在 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#

如果同时给定,scipy.io.netcdf 掩码现在优先考虑 _FillValue 属性而不是 missing_value 属性。此外,只有当数据与这些属性之一完全匹配时,才会被视为缺失数据:与 _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 issue gh-6551)。尽管如此,它可能会影响 Scipy 本身的构建/安装方法的行为方式。请在 Scipy issue tracker 上报告任何意外行为。

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 参数和返回值未numpyic (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 typed 时,调用 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 mergesort

  • #5553: stats.tiecorrect 溢出

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

  • #5612: 由于默认值,sparse.linalg 的分解对于小 k 来说很慢…

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

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

  • #5683: BUG: Akima1DInterpolator 可能会返回给定多维数据的 nans…

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

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

  • #5718: cdist 中加权 Minkowski 距离的错误计算

  • #5745: 对于下一个版本,迁移到 setuptools

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

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

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

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

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

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

  • #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: BUG:使用 lgmres 时,根的优化测试错误

  • #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: Wilcoxon 带符号秩检验,其中 zero_method=”pratt” 或 “zsplit”…

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

  • #6035: f_oneway 中的错误链接

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

  • #6093: 使用 openblas 的 Linux 32 位系统上的精度误差

  • #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: BUG:对于 c=1 和 x=0,weibull_min.logpdf 返回 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:对于 x=0,alpha.pdf 和 alpha.logpdf 返回 nan

  • #6245: ENH:提高 invgamma 的 ppf-cdf 和 sf-isf 往返的准确性

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

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

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

  • #6318: Scipy interp1d 'nearest' 不适用于 x 轴上的高值

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:将球形 Voronoi 图算法添加到 scipy.spatial

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

  • #5384: BUG:关闭 #5027 距离函数始终将 bool 转换为 double

  • #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:添加向量化球形 Bessel 函数。

  • #5627: 对 issue #5160 的响应,实现了偏斜正态分布…

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

  • #5632: DOC:special:扩展了 Airy、elliptic、Bessel 函数的文档。

  • #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 Doc

  • #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 返回 nans

  • #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:使 R² 打印在 probplot 中成为可选

  • #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: 对最小二乘 docstring 的一些改进

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

  • #5768: DOC: 修复 io.loadmat docstring 中的 mdict 参数

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

  • #5772: 更新 sparse.csgraph.laplacian docstring

  • #5777: BUG: 修复 special.hyp0f1 以使其对复数输入正确工作。

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

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

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

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

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

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

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

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

  • #5791: DOC: README: 删除 coveralls.io

  • #5792: MAINT: 移除已弃用的 np.random.random_integers 的使用

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

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

  • #5797: DOC: 澄清加权 Minkowski 的计算

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

  • #5799: TST: Mpmath 测试补丁

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

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

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

  • #5805: DOC: 修复 _spectral_helper 中的返回顺序

  • #5806: ENH: sparse: 向量化 coo_matrix.diagonal

  • #5808: ENH: 添加了 iqr 函数以在 scipy/stats/stats.py 中计算 IQR 指标

  • #5810: MAINT/BENCH: sparse: 基准测试清理和添加

  • #5811: DOC: sparse.linalg: 形状,而不是大小

  • #5813: 更新 sparse ARPACK 函数 min ncv

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

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

  • #5820: “in”->“a” 在 order_filter docstring 中

  • #5821: DOC: README: INSTALL.txt 在 2014 年重命名

  • #5825: DOC: least_squares 的 docstring 中的错别字

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

  • #5827: NdPPoly 重新构建

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

  • #5829: ENH: sparse: 将 copy 参数添加到 sparse 中所有 .toXXX() 方法...

  • #5830: DOC: 重写 INSTALL.rst.txt

  • #5831: 将绘图选项添加到 voronoi_plot_2d

  • #5834: 更新 stats.binom_test() docstring

  • #5836: ENH, TST: 允许 SIMO tf's 用于 tf2ss

  • #5837: DOC: 图像示例

  • #5838: ENH: sparse: 将 eliminate_zeros() 添加到 coo_matrix

  • #5839: BUG: 修复了 NumpyVersion.__repr__ 的名称

  • #5845: MAINT: 修复了文档中的拼写错误

  • #5847: 修复 sparsetools 中的错误

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

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

  • #5851: ENH: 将 lapack 的 ilaver 暴露给 python 以允许 lapack 版本...

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

  • #5854: DOC: 对文档的小更新

  • #5855: Pr 5640

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

  • #5862: BUG: 允许 expm 用于形状为 (1, 1) 的复数矩阵

  • #5863: FIX: 修复测试

  • #5864: DOC: 添加有关正态生存函数(Q 函数)的简短说明

  • #5867: #5865 的修复

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

  • #5872: DOC: 注意 morlet 和 cwt 不能一起工作

  • #5875: DOC: interp2d 类描述

  • #5876: MAINT: spatial: 删除多余的 print 语句

  • #5878: MAINT: 修复了 ndimage 测试中嘈杂的 UserWarnings。修复 #5877

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

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

  • #5887: Neldermead 初始单纯形

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

  • #5895: DOC: special: 稍微改进 multigammaln docstring

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

  • #5901: 更新捆绑的 ARPACK

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

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

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

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

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

  • #5913: MAINT: basinhopping 删除实例测试 closes #5440

  • #5919: MAINT: 如果 basinhopping niter=0,则未初始化 var。closes #5915

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

  • #5921: DOC: interpolate: 添加示例,展示如何解决问题...

  • #5926: MAINT: spatial: 升级到 Qhull 2015.2

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

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

  • #5930: TST: special: 抑制 sph_yn 的 DeprecationWarnings

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

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

  • #5935: BUG: 字符串比较 stats._binned_statistic closes #5927

  • #5938: Cythonize stats.ks_2samp,速度提升约 33%。

  • #5939: DOC: 修复 optimize.fmin 收敛 docstring

  • #5941: 修复 squareform docstring 中的小错别字

  • #5942: 更新 linregress stderr 描述。

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

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

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

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

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

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

  • #5956: DOC: 缺失句点会干扰解析

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

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

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

  • #5965: ENH: special: 更快的方式来计算 comb() for exact=True

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

  • #5977: MAINT/BUG: sparse: 删除过度热情的 bmat 检查

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

  • #5983: ENH: 使 sparse sum 像 NumPy sum 一样强制转换 dtypes,用于 32 位...

  • #5985: BUG, API: 将 jac 参数添加到 curve_fit

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

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

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

  • #5994: ENH: 为 svd 添加 gesvd 方法

  • #5996: MAINT: Wave 清理

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

  • #6001: 滤波器设计文档

  • #6002: COMPAT: 扩展 compatibility fromnumeric.py

  • #6007: ENH: 跳过 freqresp 中 TF 到 TF 的转换

  • #6009: DOC: 修复 entr、rel_entr、kl_div 的错误 versionadded

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

  • #6014: MAINT: 使 gamma、rgamma 为复数参数使用 loggamma

  • #6020: WIP: ENH: 为向量添加 exact=True 阶乘

  • #6022: 将 ‘lanczos’ 添加到图像插值函数列表。

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

  • #6025: ENH: ODE 系统边界值问题求解器

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

  • #6030: ENH: stats.trap - 添加梯形分布 closes #6028

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

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

  • #6033: BUG: 检查插值分解中请求的近似秩

  • #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: 添加 asarray 以显式地将列表转换为 wilcoxon 中的 numpy 数组…

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

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

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

  • #6081: 澄清 Pearson 相关返回值

  • #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 中的 DeprecationWarning 关闭 #5885

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

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

  • #6123: DOC: optimize: 在 scipy.optimize.OptimizeResult 中记录 fun 字段

  • #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 以处理可迭代的结果,例如 maps

  • #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 中 Mahalanobis 距离文档字符串中缺失的 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 的 Newton 求解器

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

  • #6224: signal.lti: 弃用跨类属性/setter

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

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

  • #6236: MAINT: gumbel_l 精度

  • #6237: MAINT: rayleigh 精度

  • #6238: MAINT: logistic 精度

  • #6239: MAINT: bradford 分布精度

  • #6240: MAINT: 避免 l-bfgs-b 中由于 maxfun 中断导致的错误 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: 将 versionadded:: 指令添加到 loggamma

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

  • #6290: 将作者列表、gh-lists 添加到 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 的向后移植