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

  • 完整的 pickling 支持

  • 支持周期性空间

  • 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。详情参见第 #617 号问题。

scipy.stats.ss 已被弃用。这是一个辅助函数,不打算公开给用户。此外,名称不清晰。详情参见第 #663 号问题。

scipy.stats.square_of_sums 已被弃用。这同样是一个不打算公开给用户的辅助函数。详情参见第 #665 和 #663 号问题。

scipy.stats.f_valuescipy.stats.f_value_multivariatescipy.stats.f_value_wilks_lambdascipy.mstats.f_value_wilks_lambda 已被弃用。这些与方差分析 (ANOVA) 相关,scipy.stats 对此提供的功能相当有限,且这些函数单独使用并不是很有用。详情参见第 #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 中,以便在不提供这些弃用例程的 LAPACK 版本上也能构建 SciPy。

其他更改#

现在每次合并拉取请求后,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 图像格式的错误。

runtests.py(用于构建和测试 SciPy 的开发脚本)现在允许通过 --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: stats.poisson.rvs 中 numpy 0 的问题 (Trac #1398)

  • #2138: scipy.misc.imread 在 1 bit png 上发生段错误 (Trac #1613)

  • #2237: 分布不接受复数参数 (Trac #1718)

  • #2282: scipy.special.hyp1f1(0.5, 1.5, -1000) 失败 (Trac #1763)

  • #2618: 如果 mu 为 0,poisson.pmf 返回 NaN

  • #2957: hyp1f1 精度问题

  • #2997: 失败:test_qhull.TestUtilities.test_more_barycentric_transforms

  • #3129: 无法在 Optimize 函数中为拟合参数设置范围

  • #3191: interp1d 应该包含 fill_value_below 和 fill_value_above…

  • #3453: PchipInterpolator 设置边缘斜率的方式与 Matlab 不同…

  • #4106: ndimage._ni_support._normalize_sequence() 在使用 numpy.int64 时失败

  • #4118: 在 scipy.integrate.ode.set_initial_value 之后调用 scipy.integrate.ode.set_solout 静默失败

  • #4233: 使用 method=nearest 的 1D scipy.interpolate.griddata 产生 nans…

  • #4375: 由于文件权限错误,所有测试均失败

  • #4580: scipy.ndimage.filters.convolve 文档不正确

  • #4627: 带符号指示器的 logsumexp - 启用负值计算…

  • #4702: 缩放因子为零的 logsumexp

  • #4834: 对于无穷大的 x,gammainc 应返回 1.0 而不是 NaN

  • #4838: 增强:exprel 特殊函数

  • #4862: scipy.special.boxcox 函数在次正规数下不准确…

  • #4887: 球谐函数不一致性

  • #4895: 某些 scipy ufuncs 的输出 dtypes 不一致?

  • #4923: logm 不会积极地将复数输出转换为浮点数

  • #4932: 错误:stats: 分布的 fit 方法静默忽略了…

  • #4956: scipy.special.bi_zeros 中的文档错误

  • #4957: pbvv_seq 的 docstring 错误

  • #4967: block_diag 应该查看所有参数的 dtypes,而不仅仅是第一个…

  • #5037: scipy.optimize.minimize 错误消息被打印到 stdout…

  • #5039: 三次插值:进入 DGESDD 时,参数编号 12 具有…

  • #5163: 层次聚类的基础案例示例(提供)

  • #5181: 错误:stats.genextreme.entropy 应使用显式公式

  • #5184: 某些?轮子(wheels)没有表达 numpy 依赖

  • #5197: mstats: test_kurtosis 失败(ULP 最大值为 2)

  • #5260: 导致 splrep 错误的拼写错误

  • #5263: rbf.py 中的默认 epsilon 对共线点失效

  • #5276: 读取空(无数据)arff 文件失败

  • #5280: 1d scipy.signal.convolve 比 numpy.convolve 慢得多

  • #5326: scipy.interpolate.PchipInterpolator 中的实现错误

  • #5370: test_quadpack 以及作为链接脚本的 libm.so 的测试问题

  • #5426: 错误:test_stats.test_chisquare_masked_arrays

  • #5427: 在 numpy-vendor 镜像中自动安装正确的 numpy 版本

  • #5430: Python3:Numpy 标量类型“不可迭代”;特定实例…

  • #5450: 错误:spatial.ConvexHull 在给定 nans 时触发段错误。

  • #5478: 澄清矩阵正态分布与 multivariate_normal 之间的关系

  • #5539: 来自 numpy-vendor 的 Windows 二进制文件上与 lstsq 相关的测试失败

  • #5560: 文档:scipy.stats.burr pdf 问题

  • #5571: lapack_driver 更改后 lstsq 测试失败

  • #5577: Wine 中 Python 3.4 上的 ordqz 段错误

  • #5578: Wine 中 Python 3 上的 scipy.linalg 测试失败

  • #5607: 使用…编译时,重载的 ‘isnan(double&)’ 具有歧义

  • #5629: lstsq 测试随机失败

  • #5630: scipy 0.16 spatial cKDEtree 内存泄漏

  • #5689: 使用 clang++ 编译 scipy/special/Faddeeva.cc 时出现 isnan 错误

  • #5694: test_import 中的 fftpack 测试失败

  • #5719: curve_fit(method!=”lm”) 忽略了初始猜测

0.17.0 的拉取请求#

  • #3022: hyp1f1:更好地处理大的负参数

  • #3107: 增强:添加有序 QZ 分解

  • #4390: 增强:允许将 axis 和 keepdims 参数传递给 scipy.linalg.norm。

  • #4671: 增强:为稀疏范数添加 axis

  • #4796: 增强:为 scipy.cluster.hierarchy 添加剪枝树函数

  • #4809: 维护:柯西矩(cauchy moments)未定义

  • #4821: 增强:stats:使分布实例可被 pickle

  • #4839: 增强:添加 scipy.special.exprel 相对误差指数 ufunc

  • #4859: Logsumexp 修复 - 允许符号标志且 b==0

  • #4865: 错误:scipy.io.mmio.write:大索引和低精度时的错误

  • #4869: 为 _lib._util._asarray_validated 添加 as_inexact 选项

  • #4884: 增强:雅可比矩阵的有限差分逼近

  • #4890: 增强:将 cKDTree 查询方法移植到 C++,允许在 Python 上进行 pickle…

  • #4892: 多少文档测试才算太多?

  • #4896: 维护:绕过可能的 numpy ufunc 循环选择错误

  • #4898: 维护:由 pyflakes 驱动的一些清理工作。

  • #4899: 增强:为 stats 中的假设检验添加 ‘alternative’ 关键字

  • #4903: 基准:interpolate 模块的基准测试

  • #4905: 维护:在 mask_to_limits 前加下划线;删除 masked_var。

  • #4906: 维护:optimize.leastsq 的基准测试

  • #4910: 进行中:修剪统计函数的 API 不一致。

  • #4912: 维护:修复 stats 教程中的拼写错误。关闭 gh-4911。

  • #4914: 弃用:弃用 scipy.stats.ssscipy.stats.square_of_sums

  • #4924: 维护:如果实矩阵的 logm 虚部很小,…

  • #4930: 基准:signal 模块的基准测试

  • #4941: 增强:更新 find_repeats

  • #4942: 维护:在 cKDTree 中使用 np.float64_t 代替 np.float_t

  • #4944: 错误:correlate_nd 中的整数溢出

  • #4951: 分布拟合方法不应忽略无效的关键字参数 (kwargs)

  • #4958: 为特殊函数的 docstrings 添加一些细节

  • #4961: 增强:stats.describe:添加 bias 关键字和空数组处理

  • #4963: 增强:scipy.sparse.coo.coo_matrix.__init__:所需内存更少

  • #4968: 弃用:弃用 stats.f_value*mstats.f_value* 函数。

  • #4969: 增强:审查 stats.relfreqstats.cumfreq;修复 stats.histogram

  • #4971: 将 github 源码链接扩展到行号范围

  • #4972: 维护:改进 validate_runtests_log 中的错误消息

  • #4976: 弃用:弃用 scipy.stats.threshold

  • #4977: 维护:分块对角矩阵中更仔细的类型 (dtype) 处理…

  • #4979: 增强:分布,复数参数

  • #4984: 澄清 dirichlet 分布的错误处理

  • #4992: 增强:stats.flignerstats.bartlett 的空输入处理。

  • #4996: 文档:修复 stats.spearmanr 文档

  • #4997: 修复 boxcox 的下溢/精度损失问题

  • #4998: 文档:改进 stats.ppcc_max 的文档

  • #5000: 增强:增加了 scipy.moment 的空输入处理;文档增强

  • #5003: 增强:改进 rankdata 算法

  • #5005: scipy.stats:数值稳定性改进

  • #5007: 增强:在使用 stats._chk_asarray 的函数中进行 nan 处理

  • #5009: 移除 coveralls.io

  • #5010: 超几何分布对数生存函数

  • #5014: 计算凸包体积和面积的补丁

  • #5015: 文档:修复 sawtooth 中错误的变量名

  • #5016: 文档:resample 示例

  • #5017: 弃用:弃用 stats.betaistats.chisqprob

  • #5018: 增强:在体积计算中添加对随机输入的测试

  • #5026: 错误:修复 lil_matrix.getnnz(axis=0) 的返回类型 (dtype)

  • #5030: 文档:对于质数长度的输出,resample 也变慢了

  • #5033: 维护:integrate, special:移除未使用的 R1MACH 和 Makefile

  • #5034: 维护:signal:将 max_len_seq 验证从 Cython 中提取出来

  • #5035: 文档/维护:参考指南/文档测试繁杂工作

  • #5041: 错误:修复 cppcheck 检测到的一些小内存泄漏

  • #5044: [GSoC] 增强:新的最小二乘算法

  • #5050: 维护:C 修复,修剪了 Cephes 中大量的死代码

  • #5057: 增强:sparse:避免在稀疏/密集元素级乘法时使其密集化

  • #5058: 测试:stats:在测试循环中添加示例分布

  • #5061: 增强:spatial:更快的 2D Voronoi 和凸包绘图

  • #5065: 测试:提高 stats.mvsdiststats.bayes_mvs 的测试覆盖率

  • #5066: 维护:fitpack:移除一个空操作

  • #5067: 增强:stats.kstatstats.kstatvar 的空输入和 nan 输入处理

  • #5071: 文档:optimize:修正论文引用,添加 doi

  • #5072: 维护:scipy.sparse 清理

  • #5073: 文档:special:添加一个显示 diric 与…关系的示例

  • #5075: 文档:澄清 stats.lognorm 的参数化

  • #5076: 使用 int, float, bool 代替 np.int, np.float, np.bool

  • #5078: 文档:将 fftpack 文档重命名为 README

  • #5081: 错误:在 lsmr 和 lsqr 中正确处理标量 ‘b’

  • #5082: loadmat variable_names:不要混淆 [] 和 None。

  • #5083: 修复 integrate.fixed_quad docstring 以指示返回值为 None

  • #5086: 在 gaussian_kde 中使用 solve() 而不是 inv()

  • #5090: 维护:stats:为 gengamma 分布添加显式 _sf, _isf

  • #5094: 增强:scipy.interpolate.NearestNDInterpolator:cKDTree 可配置

  • #5098: 文档:special:修复 *_roots quadrature 函数中的排版

  • #5099: 文档:将 stats.moment 的 docstring 设置为 raw 格式

  • #5104: scipy.linalg 的文档/增强修复和微优化

  • #5105: 增强:使 l-bfgs-b 线性搜索最大次数的参数为…

  • #5106: 测试:将 NIST 测试用例添加到 stats.f_oneway

  • #5110: [GSoC]:有界线性最小二乘

  • #5111: 维护:special:Cephes 清理

  • #5118: 错误:在 lfilter 中,如果 len(x) < len(b),FIR 路径失败。

  • #5124: 增强:将 filliben 逼近移动到公开可见的函数中

  • #5126: 统计清理:stats.kruskal 审查

  • #5130: 文档:更新 PyPi 分类器。Beta -> Stable。添加许可证。

  • #301: 文档:differential_evolution,改进 mutation 和…的 docstring

  • #302: 维护:differential_evolution 改进 init_population_lhs 注释…

  • #303: 合并:重新基于 (rebased) mmio 重构

  • #304: 维护:stats.mstatsstats.stats 的一致性

  • #5139: 测试:linalg:添加 gh-5039 的冒烟测试

  • #306: 增强:将 constants.codata 更新为 CODATA 2014

  • #307: 在 docstring 中添加 ValueError 作为可能引发的错误

  • #308: 维护:改进 stats.shapiro 中的实现细节和文档

  • #309: [GSoC] 增强:curve_fit 升级

  • #310: 修复误导性的 wavelets/cwt 示例

  • #311: 错误:cluster.hierarchy.dendrogram:缺失字体大小不会…

  • #312: 在离散分布中添加用于控制求和的关键字…

  • #313: 文档:添加了勒让德函数中所用算法的注释

  • #314: 增强:optimize:添加匈牙利算法

  • #315: 修复:移除 lena

  • #316: 维护:修复 cluster.hierarchy.dendrogram 的问题和文档

  • #317: 维护:将 stats.pointbiserialr 更改为委托给 stats.pearsonr

  • #318: 增强:为 stats.kendalltau 添加 nan_policy。

  • #319: 测试:在 stats.linregress 中添加 nist 测试用例 (Norris)。

  • #321: 澄清 linkage docstring 中的 metric 参数

  • #322: 增强:为 signal.spectrogram 添加 mode 关键字

  • #320: 更新 lpmv docstring

  • #323: 文档:KDTree.query_ball_point 的图形化示例

  • #324: 维护:stats:微调 ncx2.pdf 的公式

  • #325: 维护:linalg:一些清理工作。

  • #326: 错误:stats:在 stats.genextreme.entropy 中使用显式公式

  • #327: 错误:修复 lartg 中未初始化的使用

  • #328: 错误:正确地从 ode_jacobian_function 向 fortran 返回错误

  • #329: 测试:修复 Windows 上 Python 3.5 下 TestCtypesQuad 的失败

  • #330: 允许在 interp1d 中进行外推

  • #331: 维护:在 Y_() 中将复数参数改为布尔值

  • #332: 错误:sparse:修复逻辑比较的 dtype 冲突

  • #333: 错误:sparse:修复未绑定的局部变量错误

  • #334: 文档和错误:贝塞尔函数 docstring 改进,修复 array_like,…

  • #335: 维护:sparse:修复 COO 构造函数

  • #336: 文档:optimize:OptimizeResult.hess_inv 的类型各不相同

  • #337: 增强:为 netcdf 添加 maskandscale 支持;基于 pupynere 和…

  • #338: 文档:修正 sparse.linalg.svds 的文档拼写错误

  • #339: 维护:sparse:简化 COO 构造函数

  • #340: 维护:sparse:对具有多条对角线的 todia() 发出警告

  • #341: 维护:ndimage:简化线程处理/递归 + 常量性 (constness)

  • #342: 错误:integrate:修复了第 4118 号问题

  • #343: qr_insert 修复,关闭 #5149

  • #344: 文档测试教程文件

  • #345: 文档:optimize:修正 linear_sum_assignment 中的拼写错误/导入

  • #346: 移除 inspect.getargspec 并在 Travis CI 上测试 Python 3.5

  • #347: 错误:修复稀疏矩阵乘以单元素零的情况

  • #348: 修复在运行时出现警告时导致 splrep 中 TypeError 的错误…

  • #349: 4489 的后续(linalg.lstsq 中新增 LAPACK 例程)

  • #350: 为默认 epsilon 忽略长度为零的边缘

  • #351: 文档:拼写错误和拼写检查

  • #352: 维护:signal:将数组语法转换为 memoryviews

  • #353: 文档:为包含数学公式的 docstrings 使用原始字符串 (raw strings)

  • #354: 维护:sparse:更新 MST 的 Cython 代码

  • #355: 错误:io:停止在 ARFF 文件中猜测数据分隔符。

  • #356: 错误:misc:修复了 1 位图像的 Pillow 临时解决方案。

  • #357: 增强:在 scipy.signal.correlate 中为 1d 调用 np.correlate

  • #358: 文档:special:从…中移除一个可能具有误导性的示例

  • #359: 简化用 pyfftw 替换 fftpack 的过程

  • #360: 增强:为 stats 添加矩阵正态分布

  • #361: 修复 Python 3 中的 leaf_rotation 和 leaf_font_size

  • #362: 维护:stats:重写 find_repeats

  • #363: 维护:stats:移除未使用的 Fortran 例程

  • #364: 错误:sparse:修复非方阵的 diags

  • #365: 维护:special:Cephes 清理

  • #366: 修复 sparse.linalg.svds 的输入检查

  • #367: 维护:Cython 代码维护

  • #368: 错误:修复 place_poles 的返回值

  • #369: 避免 Student t 统计中虚假的除以零错误

  • #371: 维护:将错误消息打印到 STDERR 并移除 iterate.dat

  • #370: 维护:integrate:各种清理

  • #372: 增强:为稀疏线性算子添加 Py3.5 风格的 matmul 运算符 (例如 A @ B)…

  • #373: 修复读取 32 位浮点 wav 文件时的错误

  • #374: 重构 PCHIP 插值算法

  • #375: 维护:从整数列表构建 csr 和 csc 矩阵

  • #376: 为 interp1d 添加快速路径

  • #377: 为 interp1d 添加两个 fill_values。

  • #378: ABCD docstrings

  • #379: 修正根据 #5290 的 scipy.signal.cwt() 文档中的拼写错误。

  • #380: 文档:更新了 scipy.spatial.Delaunay 示例

  • #381: 增强:不要在每次函数调用时创建一个一次性类

  • #382: 文档:spectral:修复引用格式

  • #383: 对 ffpack_basic.py 的 PEP8 修正

  • #384: 错误:integrate:内置名称不再被遮蔽

  • #385: 对 fftpack_pseudo_diffs.py 进行了 PEP8 化处理

  • #386: 构建:修复针对 optimize 和 spatial 更改的 Bento 构建

  • #387: 样式:对 interpolate.py 的 PEP8 修正

  • #388: 弃用:弃用 stats.histogram

  • #390: 文档:更新了 scipy.ndimage.filters.convolve 的 origin 参数

  • #389: 发布:在 doc/Makefile 中添加 “make upload” 命令。

  • #391: 错误:special:修复了许多与 x = np.inf 相关的边缘情况。

  • #392: 维护:stats:避免 lognorm.pdf(0, s) 中出现虚假警告

  • #393: 增强:stats:在 stats.poisson 中处理 mu=0 的情况

  • #394: 修复离散分布在右侧的行为…

  • #395: 测试:stats:跳过一个测试以避免虚假的 log(0) 警告

  • #396: 错误:linalg:绕过 LAPACK 单精度 lwork 计算错误…

  • #397: 维护:stats:将 namedtuples 的创建移动到函数外…

  • #398: 文档:修正 PDF 参考指南中目录的章节

  • #399: 测试:修复 Fedora 上 integrate 的 ctypes 测试问题。

  • #400: 文档:修复 signal.TransferFunction docstring 中的错误。关闭 gh-5287。

  • #401: 维护:sparse:修复 NotImplementedError 的用法

  • #402: 如果 maxiter < 1 则引发适当的错误

  • #403: 文档:更改 brent 的文档使其与 bracket 保持一致

  • #404: 错误:gaussian_filter, BPoly.from_derivatives 对 numpy int 失效…

  • #405: 维护:stats:修复不正确的弃用警告和测试噪声

  • #406: 文档:在 fftpack 教程中添加关于 PyFFTW 的说明。

  • #407: 文档:integrate:对微分方程的一些改进…

  • #408: 错误:放宽 mstats 峰度测试几个 ulp 的容差

  • #409: ConvexHull 对 NaNs 应引发 ValueError。

  • #410: 维护:将 decorators.py 模块更新到版本 4.0.5

  • #411: 错误:如果图像具有 3 个或更多通道,imsave 搜索错误的通道轴…

  • #412: 构建:为 OS X wheels 的 setup/install_requires 添加 numpy

  • #413: 增强:从 BasinHopping 返回雅可比/海森矩阵

  • #414: 错误:修复 ttest 除零处理

  • #415: 修复 kmeans2 上的崩溃

  • #416: 维护:向 runtests.py 公开并行构建选项

  • #417: 按键值排序 OptimizeResult.__repr__

  • #418: 文档:更新作者姓名映射

  • #419: 对 binned_statistic 的增强:解开返回结果的选项…

  • #420: 错误:sparse:修复 sparsetools 输入 dtype 解析中的错误

  • #421: 文档:检测 docstrings 中的不可打印字符

  • #5505: BUG: misc: 确保 fromimage 将模式 ‘P’ 转换为 ‘RGB’ 或 ‘RGBA’。

  • #5514: DOC: 进一步更新发行说明

  • #5515: ENH: 可选择禁用定点加速

  • #5517: DOC: 改进并补充 matrix_normal 文档

  • #5518: 移除 LAPACK 弃用例程的封装

  • #5521: TST: 在 32 位平台上跳过 linalg.orth 内存测试。

  • #5523: DOC: 将文档字符串示例中的一些浮点数更改为整数

  • #5524: DOC: 更多关于 0.17.0 发行说明的更新。

  • #5525: 修复 scipy.integrate.ode 文档中的细微拼写错误

  • #5527: TST: 调高 arccosh 容差以允许不精确的 numpy 或…

  • #5535: DOC: signal: 对 TransferFunction 文档字符串进行细微澄清。

  • #5538: DOC: signal: 修复 find_peaks_cwt 文档

  • #5545: MAINT: 修复 linalg/basic.py 中的拼写错误

  • #5547: TST: 在 master 分支中将 TestEig.test_singular 标记为已知失败。

  • #5550: MAINT: 解决 lstsq 驱动程序选择问题

  • #5556: BUG: 修复了损坏的 dogbox 置信域半径更新

  • #5561: BUG: 消除 test_maskandscale 中的警告和异常(在 Windows 上);…

  • #5567: TST: 测试套件的一些清理;run_module_suite 以及更清晰的…

  • #5568: MAINT: 简化 poisson 的 _argcheck

  • #5569: TST: 调高 GMean 测试容差使其在 Wine 上通过

  • #5572: TST: lstsq: 为 TravisCI 调高测试容差

  • #5573: TST: 在 cluster.vq 测试中移除 np.fromfile 的使用

  • #5576: Lapack 弃用项

  • #5579: TST: 在 numpy <= 1.7.x 上跳过 linalg.norm axis 关键字测试

  • #5582: 澄清生存函数文档的语言

  • #5583: MAINT: stats/tests: 一些清理工作。

  • #5588: DOC: stats: 添加注释说明 stats.burr 是 III 型 Burr 分布。

  • #5595: TST: 修复 Python 3 上的 test_lamch 失败

  • #5600: MAINT: 忽略 spatial/ckdtree.cxx 和 .h

  • #5602: 为了可维护性,使用显式编号的替换字段

  • #5605: MAINT: 测试套件的小修复集合

  • #5614: 细微的文档更改。

  • #5624: FIX: 修复 interpolate

  • #5625: BUG: 当索引大小为 0 的 std::vector 时,msvc9 二进制文件崩溃

  • #5635: BUG: cKDTree 中拼错的 __dealloc__。

  • #5642: STY: 0.17.0 发行说明格式的细微修正。

  • #5643: BLD: 修复 special/Faddeeva.cc 中关于 isnan 的构建问题。

  • #5661: TST: linalg 测试使用标准库 random 而不是 numpy.random。

  • #5682: 0.17.0 的向后移植 (backports)

  • #5696: 对 least_squares 文档字符串的细微改进。

  • #5697: BLD: 修复 special/Faddeeva.cc 中的 isnan/isinf 问题

  • #5720: TST: 修复 fftpack test_import.py 中的文件打开错误

  • #5722: BUG: 使 curve_fit 尊重带有边界的初始猜测

  • #5726: v0.17.0rc2 的向后移植 (Backports)

  • #5727: API: least_squares API 的更改