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 的滤波更快。

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

添加了 scipy.signal.sosfiltfilt,它像 scipy.signal.filtfilt 一样执行前向-后向滤波,但用于二阶节(second-order sections)。

离散时间线性系统#

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 在球体表面构建泰森多边形图。详情请参阅合并请求 gh-5232。

scipy.cluster 改进#

一种新的聚类算法——最近邻链算法——已为 scipy.cluster.hierarchy.linkage 实现。因此,对于几种联动方法,预计会有显著的算法改进(\(O(N^2)\) 而不是 \(O(N^3)\))。

scipy.special 改进#

新函数 scipy.special.loggamma 计算 Gamma 函数对数的主分支。对于实数输入,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_jn 以及 spherical_knspherical_ynspherical_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#

stats.ks_2samp 在输入不是实数或包含 NaN 时曾返回无意义的值。现在,它会为此类输入引发异常。

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 属性时,优先使用 _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 等实现 ufuncs…

  • #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: 提案:球形泰森多边形图

  • #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: 由于默认设置,sparse.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: 文档: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: 错误:使用 lgmres 时 root 的 optimize 测试错误

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

  • #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: 在带有 openblas 的 Linux 32 位上出现精度错误

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

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

  • #6113: scipy.linalg.logm 对于简单矩阵失败

  • #6128: 稀疏 COO 数组的 dot 方法与 numpy 一起使用时的错误…

  • #6132: 最新的 MKL 失败

  • #6136: master 上 MKL 的失败

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

  • #6165: optimize.minimize Newton-CG 死循环

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

  • #6194: lstsq() 等将 numpy.complex256 检测为实数

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

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

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

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

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

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

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

  • #6235: 错误:alpha.pdf 和 alpha.logpdf 对 x=0 返回 nan

  • #6245: 增强:提高 invgamma 的 ppf-cdf 和 sf-isf 往返精度

  • #6263: 错误: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: 文档:将 nbna 更改为传统的 m 和 n

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

  • #4191: 增强:对全局优化器进行基准测试

  • #4356: 增强:添加 PPoly.solve(y) 用于求解 p(x) == y

  • #4370: 文档:分离布尔距离函数以保持清晰

  • #4678: 错误:sparse: 确保索引 dtype 足以传递所有参数…

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

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

  • #5043: 增强:sparse: 添加 count_nonzero 方法

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

  • #5186: 增强:移植 upfirdn

  • #5232: 增强:将球形泰森多边形图算法添加到 scipy.spatial

  • #5279: 增强:不同归一化的高阶贝塞尔滤波器

  • #5384: 错误:关闭 #5027 距离函数总是将 bool 转换为 double

  • #5392: 增强:向 signal.decimate 添加 zero_phase 关键字参数

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

  • #5424: 文档:添加 Scipy 开发人员指南

  • #5442: 样式:PEP8 修正

  • #5472: LGMRES 中的在线 QR

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

  • #5530: 维护:sparse: 明确设置 format 属性

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

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

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

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

  • #5557: 错误:修改 optimize.bisect 以实现所需的容差

  • #5581: 文档:least_squares 的教程

  • #5606: 增强:differential_evolution - 移动 solve 方法的核心循环…

  • #5609: [MRG] 对抗 numpy 开发版本测试

  • #5611: 对 bdist_egg 分发使用 setuptools

  • #5615: 维护:linalg: 收紧 _decomp_update + special: 删除未使用的…

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

  • #5623: 增强:special: 添加向量化球面贝塞尔函数。

  • #5627: 对问题 #5160 的响应,实现偏态正态分布…

  • #5628: 文档:对齐描述和操作

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

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

  • #5634: 维护:optimize: 收紧 _group_columns

  • #5640: io.netcdf 掩码的修复

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

  • #5649: 维护:更新许可证文本

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

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

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

  • #5653: [MRG] 增强:CubicSpline 插值器

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

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

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

  • #5662: 增强:循环统计优化

  • #5663: 维护:删除对 np.testing.rand 的使用

  • #5665: 维护:spatial: 删除匹配距离实现

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

  • #5669: 文档:zpk2sos 不能做模拟、array_like 等。

  • #5670: 更新 conf.py

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

  • #5678: 维护:stats: 删除 est_loc_scale 方法

  • #5679: 维护:DRY 离散分布的通用计算

  • #5680: 维护:停止在 stats.distributions 中隐藏内置函数

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

  • #5684: 错误:修复 Akima1DInterpolator 返回 nans

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

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

  • #5693: 增强:使用 math.factorial 进行精确阶乘

  • #5695: 文档:dx 可能是浮点数,不仅仅是整数

  • #5699: 维护:io: Matlab 读取代码的大小微优化

  • #5701: 实现 OptimizeResult.__dir__

  • #5703: 增强:stats: 使 R² 在 probplot 中可选打印

  • #5704: 维护:typo ouf->out

  • #5705: 错误:修复 query_pairs 中的排版

  • #5707: 文档:为 scipy.optimize.fmin 中的 ftol xtol 添加一些解释

  • #5708: 文档:optimize: PEP8 minimize 文档字符串

  • #5709: 维护:针对速度和大小优化 optimize Cython 代码

  • #5713: [文档] 修复断开的参考链接

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

  • #5724: 前向移植 gh-5720

  • #5728: 样式:删除空行

  • #5729: 增强:spatial: 加速布尔距离

  • #5732: 维护:differential_evolution 对默认关键字的更改会破坏…

  • #5733: 测试:differential_evolution - 人口启动测试

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

  • #5741: 维护:sparse: 清理提取函数

  • #5742: 文档:signal: 解释 get_window 中的 fftbins

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

  • #5749: 增强:添加多相重采样

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

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

  • #5762: 维护:spatial: 距离重构

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

  • #5770: 错误:允许 np.dtype 在 sparse.random 中处理的任何内容作为 dtype

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

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

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

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

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

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

  • #5784: 维护:将最小二乘法的默认容差更改为 1e-8

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

  • #5788: 文档,错误:澄清并强制执行“Data”对象的输入类型

  • #5789: 增强:sparse: 加速 LIL 矩阵切片 (之前是 #3338)

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

  • #5792: 维护:删除对已弃用的 np.random.random_integers 的使用

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

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

  • #5797: 文档:澄清加权闵可夫斯基的计算

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

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

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

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

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

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

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

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

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

  • #5811: 文档:sparse.linalg: 形状,不是大小

  • #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: 增强:将 lapack 的 ilaver 暴露给 python 以允许 lapack 版本…

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

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

  • #5855: Pr 5640

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

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

  • #5863: 修复:修复测试

  • #5864: 文档:添加关于正态生存函数 (Q-function) 的简要说明

  • #5867: #5865 的修复

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

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

  • #5875: 文档:interp2d 类描述

  • #5876: 维护:spatial: 删除杂乱的 print 语句

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

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

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

  • #5887: Neldermead 初始单纯形

  • #5894: 错误:_CustomLinearOperator 在 python3.5 中不可序列化

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

  • #5900: 删除重复赋值。

  • #5901: 更新捆绑的 ARPACK

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

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

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

  • #5907: 增强:更改稀疏 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 的 DeprecationWarnings

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

  • #5934: 排版:“mush” => “must”

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

  • #5938: Cythonize stats.ks_2samp 以获得约 33% 的速度提升。

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

  • #5941: 修复 squareform 文档字符串中的小排版

  • #5942: 更新 linregress stderr 描述。

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

  • #5944: 将 vonmises 合并到 stats pyx

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

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

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

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

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

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

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

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

  • #5965: 增强:special: 计算 exact=True 的 comb() 的更快方法

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

  • #5977: 维护/错误:sparse: 删除过度热心的 bmat 检查

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

  • #5983: 增强:使稀疏 sum 像 NumPy sum 那样为 32 位转换 dtypes…

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

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

  • #5990: 错误:读取尝试处理 20 位 WAV 文件,但本不应如此

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

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

  • #5996: 维护:Wave 清理

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

  • #6001: 滤波器设计文档

  • #6002: 兼容性:扩展 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: 维护:optimize._numdiff 的一些改进

  • #6032: 维护:将 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:在 0.18.0 发行说明中添加 PR #5640 的文档

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

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

  • #6081: DOC:抗锯齿滤波器,并链接 decimate 重采样等功能

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

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

  • #6081: 明确 pearson 相关性的返回值

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

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

  • #6087: 修正 splrep 的文档字符串

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

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

  • #6106: 修复 Issue #6105

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

  • #6119: TST:Python 3.5 上 stats 中的 DeprecationWarnings,关闭 #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 中马氏距离文档字符串缺失 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 列表添加到 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 的向后移植