SciPy 0.19.0 发布说明#

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

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

本次发布的亮点包括

  • 一个统一的外部函数接口层,scipy.LowLevelCallable

  • 通过 cimport scipy.special.cython_special,用于 scipy.special 模块中通用函数的标量、类型化版本的 Cython API。

新功能#

外部函数接口改进#

scipy.LowLevelCallable 提供了一个新的统一接口,用于在 Python 空间中封装低级编译回调函数。它支持 Cython 导入的“api”函数、ctypes 函数指针、CFFI 函数指针、PyCapsules、Numba 即时编译函数等。详情请参见 gh-6509

scipy.linalg 改进#

函数 scipy.linalg.solve 获得了两个新关键字 assume_atransposed。底层 LAPACK 例程已替换为“专家”版本,现在也可用于求解对称、厄米特和正定系数矩阵。此外,病态矩阵现在会发出警告,并附带估计的条件数信息。旧的 sym_pos 关键字出于向后兼容性原因而保留,但它与使用 assume_a='pos' 相同。此外,debug 关键字(除了打印 overwrite_<a, b> 值外没有其他功能)已被弃用。

添加了函数 scipy.linalg.matrix_balance,以使用 LAPACK xGEBAL 例程系列执行所谓的矩阵平衡。这可用于通过对角相似变换近似地平衡行和列范数。

函数 scipy.linalg.solve_continuous_arescipy.linalg.solve_discrete_are 具有数值上更稳定的算法。这些函数还可以求解广义代数矩阵 Riccati 方程。此外,两者都增加了一个 balanced 关键字,用于开启和关闭平衡。

scipy.spatial 改进#

scipy.spatial.SphericalVoronoi.sort_vertices_of_regions 已用 Cython 重写以提高性能。

scipy.spatial.SphericalVoronoi 可以处理超过 20 万个点(至少 1000 万个),并且性能有所提高。

添加了函数 scipy.spatial.distance.directed_hausdorff,用于计算有向 Hausdorff 距离。

scipy.spatial.cKDTreecount_neighbors 方法通过新关键字 weightscumulative 获得了执行加权对计数的能力。详情请参见 gh-5647

scipy.spatial.distance.pdistscipy.spatial.distance.cdist 现在支持非双精度自定义度量。

scipy.ndimage 改进#

回调函数 C API 在 Python 2.7 中支持 PyCapsules。

多维滤波器现在允许对不同轴使用不同的外推模式。

scipy.optimize 改进#

scipy.optimize.basinhopping 全局最小化器获得了一个新关键字 seed,可用于为随机数生成器设置种子并获得可重复的最小化结果。

scipy.optimize.curve_fit 中的关键字 sigma 被重载,也可以接受数据中误差的协方差矩阵。

scipy.signal 改进#

函数 scipy.signal.correlatescipy.signal.convolve 有一个新的可选参数 methodauto 的默认值会估算两种计算方法中哪种最快:直接法和傅里叶变换法。

添加了一个新函数 scipy.signal.choose_conv_method 来选择卷积/相关方法,如果对许多相同大小的数组执行卷积或相关操作,这可能很合适。

添加了新函数 scipy.signal.stftscipy.signal.istft,用于计算输入信号的复数短时傅里叶变换,并反转变换以恢复原始信号。此实现还修复了先前当请求复数输出数据时 scipy.signal.spectrogram 的不正确输出。

添加了函数 scipy.signal.sosfreqz,用于计算二阶截面的频率响应。

添加了函数 scipy.signal.unit_impulse,以便方便地生成脉冲函数。

添加了函数 scipy.signal.iirnotch,用于设计二阶 IIR 陷波滤波器,可用于从信号中移除频率分量。添加了对偶函数 scipy.signal.iirpeak,用于计算二阶 IIR 峰值(谐振)滤波器的系数。

添加了函数 scipy.signal.minimum_phase,用于将线性相位 FIR 滤波器转换为最小相位。

函数 scipy.signal.upfirdnscipy.signal.resample_poly 在对某些 n 维数组(当 n > 1 时)进行操作时现在速度显著加快。计算时间的最大减少体现在沿要过滤的轴数组大小较小(约 <1k 样本)的情况。

scipy.fftpack 改进#

快速傅里叶变换例程现在接受 np.float16 输入并将其提升为 np.float32。以前,它们会引发错误。

scipy.cluster 改进#

scipy.cluster.hierarchy.linkage 的“centroid”和“median”方法已显著加速。长期存在的在大型输入数据(超过 16 GB)上使用 linkage 的问题已解决。

scipy.sparse 改进#

添加了函数 scipy.sparse.save_npzscipy.sparse.load_npz,为一些稀疏格式提供了简单的序列化。

bsr_matrixcsc_matrixcsr_matrix 类中的 prune 方法已更新,可在特定条件下重新分配后端数组,从而减少内存使用。

coo_matrixcsc_matrixcsr_matrixbsr_matrix 类中添加了 argminargmax 方法。

新函数 scipy.sparse.csgraph.structural_rank 计算具有给定稀疏模式的图的结构秩。

新函数 scipy.sparse.linalg.spsolve_triangular 求解具有三角左侧矩阵的稀疏线性系统。

scipy.special 改进#

通过新模块 scipy.special.cython_specialcimportscipy.special 中的通用函数的标量、类型化版本可在 Cython 空间中使用。这些标量函数预计比用于标量参数的通用函数显著更快。详情请参见 scipy.special 教程。

函数 scipy.special.geterrscipy.special.seterr 以及上下文管理器 scipy.special.errstate 提供了对特殊函数错误的更好控制。

正交多项式根函数的名称已更改,以与其他正交多项式相关函数保持一致。例如,scipy.special.j_roots 已重命名为 scipy.special.roots_jacobi,以与相关函数 scipy.special.jacobiscipy.special.eval_jacobi 保持一致。为了保持向后兼容性,旧名称已保留为别名。

Wright Omega 函数已实现为 scipy.special.wrightomega

scipy.stats 改进#

添加了函数 scipy.stats.weightedtau。它提供了 Kendall’s tau 的加权版本。

新类 scipy.stats.multinomial 实现了多项式分布。

新类 scipy.stats.rv_histogram 从分箱数据样本构建一个具有分段线性 CDF 的连续单变量分布。

新类 scipy.stats.argus 实现了 Argus 分布。

scipy.interpolate 改进#

新类 scipy.interpolate.BSpline 表示样条。BSpline 对象包含节点和系数,并可以评估样条。该格式与 FITPACK 一致,例如可以进行以下操作:

>>> t, c, k = splrep(x, y, s=0)
>>> spl = BSpline(t, c, k)
>>> np.allclose(spl(x), y)

spl* 函数,scipy.interpolate.splevscipy.interpolate.splintscipy.interpolate.splderscipy.interpolate.splantider,接受 BSpline 对象和 (t, c, k) 元组以实现向后兼容性。

对于多维样条,当 c.ndim > 1 时,BSpline 对象与分段多项式 scipy.interpolate.PPoly 保持一致。这意味着 BSpline 对象与 scipy.interpolate.splprep 不直接兼容,并且不能执行 >>> BSpline(*splprep([x, y])[0])。有关精确等效的示例,请参阅 scipy.interpolate 测试套件。

在新代码中,建议使用 scipy.interpolate.BSpline 对象,而不是直接操作 (t, c, k) 元组。

新函数 scipy.interpolate.make_interp_spline 根据数据点和边界条件构建插值样条。

新函数 scipy.interpolate.make_lsq_spline 根据数据点构建最小二乘样条近似。

scipy.integrate 改进#

现在 scipy.integrate.fixed_quad 支持向量值函数。

已弃用功能#

scipy.interpolate.splmakescipy.interpolate.splevalscipy.interpolate.spline 已弃用。splmake/spleval 使用的格式与 splrep/splev 不一致,这让用户感到困惑。

scipy.special.errprint 已弃用。改进的功能可在 scipy.special.seterr 中找到。

调用 scipy.spatial.distance.pdistscipy.spatial.distance.cdist 时使用所选度量不需要的参数已被弃用。此外,度量 “old_cosine”“old_cos” 已弃用。

不兼容的更改#

已删除弃用的 scipy.weave 子模块。

scipy.spatial.distance.squareform 现在返回与输入相同 dtype 的数组,而不是总是 `float64`。

scipy.special.errprint 现在返回一个布尔值。

函数 scipy.signal.find_peaks_cwt 现在返回一个数组而不是一个列表。

scipy.stats.kendalltau 现在在输入包含平局的情况下计算正确的 p 值。p 值也与 scipy.stats.mstats.kendalltau 和 R 计算的 p 值相同。如果输入不包含平局,则与以前的实现相比没有变化。

函数 scipy.linalg.block_diag 不再忽略零大小的矩阵。相反,它将插入适当大小的全零行或列。详情请参见 gh-4908。

其他更改#

SciPy wheels 现在将在所有平台上报告它们对 numpy 的依赖。做出此更改是因为 NumPy wheels 可用,并且因为 pip 升级行为最终正在好转(对于 pip >= 8.2,使用 --upgrade-strategy=only-if-needed;该行为将在下一个 pip 主要版本中成为默认设置)。

scipy.interpolate.interp1d 使用 kind="cubic""quadratic" 返回的数值可能相对于以前的 SciPy 版本有所变化。如果您的代码依赖于特定的数值(即插值器的实现细节),您可能需要仔细检查结果。

作者#

  • @endolith

  • Max Argus +

  • Hervé Audren

  • Alessandro Pietro Bardelli +

  • Michael Benfield +

  • Felix Berkenkamp

  • Matthew Brett

  • Per Brodtkorb

  • Evgeni Burovski

  • Pierre de Buyl

  • CJ Carey

  • Brandon Carter +

  • Tim Cera

  • Klesk Chonkin

  • Christian Häggström +

  • Luca Citi

  • Peadar Coyle +

  • Daniel da Silva +

  • Greg Dooper +

  • John Draper +

  • drlvk +

  • David Ellis +

  • Yu Feng

  • Baptiste Fontaine +

  • Jed Frey +

  • Siddhartha Gandhi +

  • Wim Glenn +

  • Akash Goel +

  • Christoph Gohlke

  • Ralf Gommers

  • Alexander Goncearenco +

  • Richard Gowers +

  • Alex Griffing

  • Radoslaw Guzinski +

  • Charles Harris

  • Callum Jacob Hays +

  • Ian Henriksen

  • Randy Heydon +

  • Lindsey Hiltner +

  • Gerrit Holl +

  • Hiroki IKEDA +

  • jfinkels +

  • Mher Kazandjian +

  • Thomas Keck +

  • keuj6 +

  • Kornel Kielczewski +

  • Sergey B Kirpichev +

  • Vasily Kokorev +

  • Eric Larson

  • Denis Laxalde

  • Gregory R. Lee

  • Josh Lefler +

  • Julien Lhermitte +

  • Evan Limanto +

  • Jin-Guo Liu +

  • Nikolay Mayorov

  • Geordie McBain +

  • Josue Melka +

  • Matthieu Melot

  • michaelvmartin15 +

  • Surhud More +

  • Brett M. Morris +

  • Chris Mutel +

  • Paul Nation

  • Andrew Nelson

  • David Nicholson +

  • Aaron Nielsen +

  • Joel Nothman

  • nrnrk +

  • Juan Nunez-Iglesias

  • Mikhail Pak +

  • Gavin Parnaby +

  • Thomas Pingel +

  • Ilhan Polat +

  • Aman Pratik +

  • Sebastian Pucilowski

  • Ted Pudlik

  • puenka +

  • Eric Quintero

  • Tyler Reddy

  • Joscha Reimer

  • Antonio Horta Ribeiro +

  • Edward Richards +

  • Roman Ring +

  • Rafael Rossi +

  • Colm Ryan +

  • Sami Salonen +

  • Alvaro Sanchez-Gonzalez +

  • Johannes Schmitz

  • Kari Schoonbee

  • Yurii Shevchuk +

  • Jonathan Siebert +

  • Jonathan Tammo Siebert +

  • Scott Sievert +

  • Sourav Singh

  • Byron Smith +

  • Srikiran +

  • Samuel St-Jean +

  • Yoni Teitelbaum +

  • Bhavika Tekwani

  • Martin Thoma

  • timbalam +

  • Svend Vanderveken +

  • Sebastiano Vigna +

  • Aditya Vijaykumar +

  • Santi Villalba +

  • Ze Vinicius

  • Pauli Virtanen

  • Matteo Visconti

  • Yusuke Watanabe +

  • Warren Weckesser

  • Phillip Weinberg +

  • Nils Werner

  • Jakub Wilk

  • Josh Wilson

  • wirew0rm +

  • David Wolever +

  • Nathan Woods

  • ybeltukov +

  • G Young

  • Evgeny Zhurko +

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

0.19.0 版本已解决问题#

  • #1767: __fitpack.h 中的函数定义应移动。(Trac #1240)

  • #1774: _kmeans 在大阈值下失效 (Trac #1247)

  • #2089: 整数溢出导致 linkage 函数在大型…时段错误

  • #2190: 奇数长度的窗函数是否总是对称的?…

  • #2251: scipy.linalg 中的 solve_discrete_are(有时)无法求解…

  • #2580: scipy.interpolate.UnivariateSpline(或其新的超类)…

  • #2592: scipy.stats.anderson 假定 gumbel_l

  • #3054: scipy.linalg.eig 不处理无限特征值

  • #3160: 多项式 pmf / logpmf

  • #3904: scipy.special.ellipj 在四分之一周期处 dn 值错误

  • #4044: kmeans 中代码本初始化不一致

  • #4234: scipy.signal.flattop 文档未列出来源…

  • #4831: __quadpack.h 中的 C 代码错误

  • #4908: bug: scipy.sparse.block_diag 中块维度不必要的有效性检查

  • #4917: BUG: 稀疏矩阵与 ix_ 的索引错误

  • #4938: ndimage 扩展文档需要更新。

  • #5056: 稀疏矩阵元素级乘法稠密矩阵返回稠密…

  • #5337: correlate 文档中的公式错误

  • #5537: 在 io.netcdf 中使用 OrderedDict

  • #5750: [doc] KDTree, cKDTree 中缺少数据索引值

  • #5755: scipy.stats.kendalltau() 中的 p 值计算有问题…

  • #5757: BUG: signal.spectrogram 的复数输出不正确

  • #5964: ENH: 将 scipy.special 函数的标量版本暴露给 cython

  • #6107: scipy.cluster.hierarchy.single 在 2**16… 时段错误

  • #6278: optimize.basinhopping 应接受一个 RandomState 对象

  • #6296: InterpolatedUnivariateSpline: 当未指定 w 时 check_finite 失败

  • #6306: Anderson-Darling 结果不佳

  • #6314: scipy.stats.kendaltau() p 值与 R, SPSS 不一致…

  • #6340: Curve_fit 界限和 maxfev

  • #6377: expm_multiply,复杂矩阵在使用 start,stop 等时不工作…

  • #6382: optimize.differential_evolution 停止条件不直观…

  • #6391: 全局基准测试在 600s 超时。

  • #6397: mmwrite 在大(但仍为 64 位)整数时出错

  • #6413: scipy.stats.dirichlet 计算多元高斯微分…

  • #6428: scipy.stats.mstats.mode 修改输入

  • #6440: 弄清楚 scipy.special Cython API 的 ABI 破坏策略

  • #6441: 使用 Qhull 进行半空间交集:段错误

  • #6442: scipy.spatial:在增量模式下不重新计算体积

  • #6451: scipy.cluster.hierarchy.to_tree 的文档令人困惑…

  • #6490: interp1d (kind=zero) 对于最右侧的插值返回错误值…

  • #6521: scipy.stats.entropy 计算 KL 散度

  • #6530: scipy.stats.spearmanr 意外的 NaN 处理

  • #6541: 测试运行器不运行 scipy._lib/tests?

  • #6552: BUG: misc.bytescale 在使用 cmin/cmax 时返回意外结果…

  • #6556: RectSphereBivariateSpline(u, v, r) 在 min(v) >= pi 时失败

  • #6559: Differential_evolution maxiter 导致内存溢出

  • #6565: 频谱函数的覆盖率可以提高

  • #6628: binomial 文档中参数名称不正确

  • #6634: 将 LAPACK 的 xGESVX 系列暴露给 linalg.solve 病态…

  • #6657: scipy.special.sph_harm 的文档令人困惑

  • #6676: optimize: `minimize(…` 返回的雅可比矩阵大小不正确

  • #6681: 添加一个新的上下文管理器来封装 scipy.special.seterr

  • #6700: BUG: scipy.io.wavfile.read 陷入无限循环,在 wav 上发出警告…

  • #6721: scipy.special.chebyt(N) 在 N > 64 时抛出 'TypeError'

  • #6727: scipy.stats.norm.fit 的文档不正确

  • #6764: scipy.spatial.Delaunay 的文档部分不正确

  • #6811: scipy.spatial.SphericalVoronoi 在点数较多时失败

  • #6841: spearmanr 在 nan_policy='omit' 设置时失败

  • #6869: 当前在 gaussian_kde 中,logpdf 函数的计算方式为…

  • #6875: SLSQP 对无效边界的处理不一致

  • #6876: Python 停止工作 (Segfault?) 与 minimum/maximum filter…

  • #6889: dblquad 在 scipy 0.17.1 和 0.18.1 下给出不同结果

  • #6898: BUG: dblquad 忽略错误容差

  • #6901: 求解 CSR 格式的稀疏线性系统与复数值

  • #6903: spatial.distance.pdist docstring 中的问题

  • #6917: 传递 drop_rule 给 scipy.sparse.linalg.spilu 的问题

  • #6926: LowLevelCallable 的签名不匹配

  • #6961: Scipy 包含指向 /usr/bin/python 和 /bin/bash 的 shebang…

  • #6972: BUG: special: generate_ufuncs.py 已损坏

  • #6984: Assert 导致 test_ill_condition_warning 测试失败

  • #6990: BUG: sparse: sparse.linalg.eigsk 参数的文档不佳

  • #6991: linregress() 中的零除

  • #7011: rv_continuous.fit() 中可能的加速改进

  • #7015: Python 3.5 和 numpy master 的测试失败

  • #7055: SciPy 0.19.0rc1 在 Windows 上的测试错误和失败

  • #7096: macOS 上 test_solve_continuous_are 的测试失败

  • #7100: 0.19.0rc2 中 test_distance.test_Xdist_deprecated_args 测试错误

0.19.0 版本拉取请求#

  • #2908: Scipy 1.0 路线图

  • #3174: 添加 B 样条

  • #4606: ENH: 添加单位脉冲波形函数

  • #5608: 添加关键字参数以选择更快的卷积方法

  • #5647: ENH: cKDTree 中更快的 count_neighour / + 加权输入数据

  • #6021: Netcdf 追加

  • #6058: ENH: scipy.signal - 添加 stft 和 istft

  • #6059: ENH: zpk 系统的 signal.freqresp 更准确

  • #6195: ENH: special 的 Cython 接口

  • #6234: DOC: 修正 ward() 帮助中的错字

  • #6261: ENH: 为 signal.normalize 添加文档字符串并清理代码

  • #6270: MAINT: special: 为 cdflib 添加测试

  • #6271: 修复 scipy.cluster.hierarchy.is_isomorphic

  • #6273: optimize: 将 while 循环重写为 for 循环

  • #6279: MAINT: Bessel 微调

  • #6291: 修复 gh-6219: 移除 genextreme 分布的运行时警告

  • #6294: STY: stats/_continuous_distns.py 中一些 PEP8 和清理导入

  • #6297: 澄清 misc/__init__.py 中的文档

  • #6300: ENH: sparse: 放宽对空输入的 diags 输入验证

  • #6301: BUG: 标准化 check_finite 行为与可选权重有关…

  • #6303: 修复 _lazyselect 文档字符串中的示例。

  • #6307: MAINT: 对 gammainc/gammaincc 的更多改进

  • #6308: 澄清超几何分布的文档。

  • #6309: BUG: stats: 改进 Anderson-Darling 统计量的计算。

  • #6315: ENH: PPoly 中 x 的降序

  • #6317: ENH: stats: 为 stats.median_test 添加 nan_policy 支持

  • #6321: TST: 修复测试名称中的错字

  • #6328: ENH: sosfreqz

  • #6335: 在 linregress 之外定义 LinregressResult

  • #6337: 在 anderson 测试中,增加了对右偏 Gumbel 分布的支持。

  • #6341: 接受 curve_fit 函数最大调用次数的几种拼写…

  • #6342: DOC: cluster: 澄清 hierarchy.linkage 用法

  • #6352: DOC: 从 brentq 自己的“另请参阅”中移除

  • #6362: ENH: stats: 在 weibull… 中使用显式公式进行 sf, logsf 等计算

  • #6369: MAINT: special: 为 hyp0f1_complex 添加注释

  • #6375: 添加多项式分布。

  • #6387: MAINT: special: 提高 ellipj 在四分之一… 处 dn 的精度

  • #6388: BenchmarkGlobal - 使其在 Python3 中工作

  • #6394: ENH: scipy.sparse: 为稀疏矩阵添加保存和加载函数

  • #6400: MAINT: 将全局基准测试运行从 setup_cache 移动到 track_all

  • #6403: ENH: basinhopping 的 seed kwd。关闭 #6278

  • #6404: ENH: signal: 添加 irrnotch 和 iirpeak 函数。

  • #6406: ENH: special: 将 sici/shichi 扩展到复数参数

  • #6407: ENH: 窗函数不应接受非整数或负数…

  • #6408: MAINT: _differentialevolution 现在使用 _lib._util.check_random_state

  • #6427: MAINT: 修复 gmpy 构建并测试 mpmath 是否使用 gmpy

  • #6439: MAINT: ndimage: 更新回调函数 c api

  • #6443: BUG: 修复增量模式下的体积计算

  • #6447: 修复问题 #6413 - entropy 函数中的次要文档修复…

  • #6448: ENH: 为 Qhull 添加半空间模式

  • #6449: ENH: differential_evolution 终止的 rtol 和 atol 修复…

  • #6453: DOC: 添加一些相似函数之间的“另请参阅”链接

  • #6454: DOC: linalg: 澄清 ordqz 中的可调用签名

  • #6457: ENH: spatial: 在 squareform 中启用非双精度 dtype

  • #6459: BUG: expm_multiply 未正确处理复杂矩阵…

  • #6465: TST DOC 窗口文档、测试等。

  • #6469: ENH: linalg: 更好地处理 eig/eigvals 中的无限特征值

  • #6475: DOC: 使用 NaN 调用 interp1d/interp2d 是未定义的

  • #6477: 优化.py 中的魔术数字文档

  • #6481: TST: 抑制来自 test_windows 的一些警告

  • #6485: DOC: spatial: 修正 procrustes 中的错字

  • #6487: 修复 pdist 文档字符串中的 Bray-Curtis 公式

  • #6493: ENH: 为 scipy.optimize.curve_fit 添加协方差功能

  • #6494: ENH: stats: 使用 log1p() 改进一些计算。

  • #6495: BUG: 使用 MST 算法而不是 SLINK 进行单连接聚类

  • #6497: MRG: 添加 minimum_phase 滤波器函数

  • #6505: 将 scipy.signal.resample 窗口形状重置为 1-D

  • #6507: BUG: linkage: 如果 y 包含非有限元素则抛出异常

  • #6509: ENH: _lib: 添加低级回调函数的通用机制

  • #6520: scipy.sparse.base.__mul__ 非 numpy/scipy 对象与 'shape'…

  • #6522: 将 entropy 中的 kl_div 替换为 rel_entr

  • #6524: DOC: 将 next_fast_len 添加到函数列表

  • #6527: DOC: 发布说明以反映 optimize.curve_fit 中新的协方差功能

  • #6532: ENH: 简化 _cos_win,为其编写文档,添加 symmetric/periodic 参数

  • #6535: MAINT: sparse.csgraph: 更新旧的 cython 循环

  • #6540: DOC: 添加正交多项式文档

  • #6544: TST: 确保 scipy.test() 运行 scipy._lib 的测试

  • #6546: 更新 stats.linregress 的文档字符串

  • #6553: 提交了我最初为 scipy.signal.cspline 提交的更改…

  • #6561: BUG: 修改 signal.find_peaks_cwt() 返回数组并接受…

  • #6562: DOC: 负二项式分布澄清

  • #6563: MAINT: 对 numpy 的要求更宽松

  • #6567: MAINT: 在 differential_evolution 中使用 xrange 进行迭代修复…

  • #6572: BUG: “sp.linalg.solve_discrete_are” 在随机数据下失败

  • #6578: BUG: misc: 允许 bytescale 中同时使用 cmin/cmax 和 low/high 参数

  • #6581: 修复一些不幸的错字

  • #6582: MAINT: linalg: 使 ordqz 中无限特征值的处理更…

  • #6585: DOC: interpolate: 修正 ndimage 的 seealso 链接

  • #6588: 更新 scipy.spatial.distance_matrix 的文档字符串

  • #6592: 文档:将模式中的“first”替换为“smallest”

  • #6593: 维护:移除 scipy.weave 子模块

  • #6594: 文档:distance.squareform:修复 html 文档,添加关于 dtype 的注释…

  • #6598: [文档] 修复 medfilt2d 中不正确的错误消息

  • #6599: 维护:linalg:重新开启一个 solve_discrete_are 测试

  • #6600: 文档:将 SOS 目标添加到路线图

  • #6601: 依赖:将 numpy 的最低版本提升至 1.8.2

  • #6605: 维护:“new”模块已弃用,请勿使用

  • #6607: 文档:添加关于 numpy 和 pip 的 wheel 依赖项更改的说明…

  • #6609: 修复 #6602 - 文档中的错字

  • #6616: 增强:连续和离散 Riccati 求解器的泛化…

  • #6621: 文档:改进 cluster.hierarchy 文档字符串

  • #6623: CS 矩阵修剪方法应从大的未修剪数组中复制数据

  • #6625: 文档:special:完善 eval_* 函数的文档

  • #6626: 测试:special:抑制一些弃用警告

  • #6631: 修复离散分布的参数名文档

  • #6632: 维护:stats:将 special 的一些实例更改为 sc

  • #6633: 维护:refguide:py2k 长整数与 py3k 整数相等

  • #6638: 维护:更改 cluster.linkage 中的类型声明,防止溢出

  • #6640: 错误:修复 cluster.vq.kmeans 中使用重复值的问题

  • #6641: 错误:修复 cluster.vq.kmeans 中大阈值的边界情况

  • #6643: 维护:清理树状图的截断模式

  • #6645: 维护:special:重命名 *_roots 函数

  • #6646: 维护:清理 mpmath 导入

  • #6647: 文档:为 pdist 的 Mahalanobis 描述添加平方根

  • #6648: 文档:special:在教程中添加关于 cython_special 的部分

  • #6649: 增强:新增 scipy.spatial.distance.directed_hausdorff

  • #6650: 文档:为 DOI 和 arXiv 链接添加 Sphinx 角色

  • #6651: 错误:mstats:确保 mode(…, None) 不修改其输入

  • #6652: 文档:special:在教程中添加关于不在 special 中的函数的部分

  • #6653: 增强:special:添加 Wright Omega 函数

  • #6656: 增强:在使用自定义度量的 cdist 中不强制将输入转换为双精度…

  • #6658: 更快/更短的计算不一致性代码

  • #6659: 文档:special:使 __init__ 摘要和 html 摘要匹配

  • #6661: general.rst:修复一个错字

  • #6664: 测试:谱函数的窗校正因子

  • #6665: [文档] RectSphereBivariateSpline 中 v 的条件

  • #6668: 文档:提及质心的负质量

  • #6675: 维护:special:移除过时的 README

  • #6677: 错误:修复 p 值计算

  • #6679: 错误:optimize:为方法“SLSQP”返回正确的雅可比矩阵…

  • #6680: 增强:为 sparse.csgraph 添加结构秩

  • #6686: 测试:为 SphericalVoronoi 添加了 Airspeed Velocity 基准测试

  • #6687: 文档:在开发者指南中添加“新功能决策”部分

  • #6691: 增强:当 fmin_slsqp 对象不返回标量时提供更清晰的错误

  • #6702: 测试:为 scipy.spatial.distance.cdist 添加了 airspeed velocity 基准测试

  • #6707: 测试:interpolate:测试 fitpack 包装器,而不是 _impl

  • #6709: 测试:修复 32 位系统上的一些测试失败

  • #6711: 维护:将函数定义从 __fitpack.h 移动到 _fitpackmodule.c

  • #6712: 维护:清理 stats.morestats 中的愿望清单和版权声明

  • #6715: 文档:用 BSpline 等更新发行说明

  • #6716: 维护:scipy.io.wavfile:尝试读取时不会无限循环…

  • #6717: 一些样式清理

  • #6723: 错误:special:在原地乘法前转换为浮点数…

  • #6726: 解决 interp1d 中的性能回归

  • #6728: 文档:使 integrate 教程中的代码示例可复制粘贴

  • #6731: 文档:scipy.optimize:添加了包装复数值的示例…

  • #6732: 维护:cython_special:移除 errprint

  • #6733: 维护:special:修复一些 pyflakes 警告

  • #6734: 文档:sparse.linalg:修复 bicgstab 文档中的矩阵描述

  • #6737: 构建:更新 cythonize.py 以检测 pxi 文件中的更改

  • #6740: 文档:special:文档字符串的一些小修复

  • #6741: 维护:移除 interpolate.py 中的死代码

  • #6742: 错误:修复 linalg.block_diag 以支持零大小矩阵

  • #6744: 增强:interpolate:使 PPoly.from_spline 接受 BSpline 对象

  • #6746: 文档:special:澄清 sph_harm/lpmv 中 Condon-Shortley 相位的使用

  • #6750: 增强:sparse:避免广播元素级乘法时的密集化

  • #6751: sinm 文档解释了 cosm

  • #6753: 增强:special:允许更精细的错误处理

  • #6759: 将 logsumexp 和 pade 从 scipy.misc 移动到 scipy.special 和…

  • #6761: 增强:稀疏矩阵的 argmax 和 argmin 方法

  • #6762: 文档:改进稀疏矩阵的文档字符串

  • #6763: 增强:加权 tau

  • #6768: 增强:Cython 化球形 Voronoi 区域多边形顶点排序

  • #6770: Delaunay 类的文档修正

  • #6775: 增强:集成带有条件警告的 LAPACK“专家”例程…

  • #6776: 维护:移除琐碎的 f2py 警告

  • #6777: 文档:更新 rv_continuous.fit 文档

  • #6778: 维护:cluster.hierarchy:改进了错误消息的措辞

  • #6786: 构建:将 Cython 最低版本提升至 0.23.4

  • #6787: 文档:扩展 0.19.0 版本中 linalg.block_diag 的更改…

  • #6789: 增强:为 norm.fit 添加更多文档

  • #6790: 维护:修复 nn_chain 链接算法中的潜在问题

  • #6791: 文档:为 scipy.ndimage.fourier 添加示例

  • #6792: 文档:修复一些 numpydoc / Sphinx 问题

  • #6793: 维护:在将函数从 misc 移出后修复循环导入

  • #6796: 测试:测试导入每个子模块。gh-6793 的回归测试

  • #6799: 增强:stats:Argus 分布

  • #6801: 增强:stats:直方图分布

  • #6803: 测试:确保运行 _build_utils 的测试

  • #6804: 维护:loggamma 的更多修复

  • #6806: 增强:“质心”和“中位数”方法更快的链接

  • #6810: 增强:加速 n 维数组的 upfirdn 和 resample_poly

  • #6812: 测试:添加了 ConvexHull asv 基准测试代码

  • #6814: 增强:不同维度采用不同外推模式…

  • #6826: 信号谱窗默认修复

  • #6828: 错误:SphericalVoronoi 空间复杂度(修复 #6811)

  • #6830: RealData 文档字符串修正

  • #6834: 文档:为 skewtest 函数添加了参考。参见 #6829

  • #6836: 文档:为接受参数的函数的文档字符串添加了 mode='mirror'…

  • #6838: 维护:sparse:开始移除旧的 BSR 方法

  • #6844: 当输入不是 ndarray 时处理不兼容维度…

  • #6847: 为黄金搜索添加了 maxiter

  • #6850: 错误:为可选参数 scipy.stats.spearmanr 添加了检查

  • #6858: 维护:移除冗余测试

  • #6861: 依赖:修复 Python 3.6 中已弃用的转义序列

  • #6862: 文档:dx 应该是浮点数,而不是整数

  • #6863: 更新了 curve_fit 文档

  • #6866: 文档:为 j1 添加了一些指向 spherical_jn 的文档

  • #6867: 文档:cdist 将长示例列表移至注释部分

  • #6868: 错误:使 stats.mode 在空输入时返回 ModeResult 命名元组…

  • #6871: 文档已更正

  • #6874: 增强:基于 logsumexp 的 gaussian_kde.logpdf

  • #6877: 错误:ndimage:防止全零的足迹

  • #6881: Python 3.6

  • #6885: integrate.fixed_quad 的向量化

  • #6886: 修复了错字

  • #6891: 测试:修复因测试收紧导致的 linalg.dare/care 失败…

  • #6892: 文档:修复大量 Sphinx 错误

  • #6894: 测试:为 scipy.spatial.Voronoi 添加了 asv 基准测试

  • #6908: 错误:修复 spsolve 中复杂输入的返回 dtype

  • #6909: 增强:fftpack:对 float16 输入使用 float32 例程

  • #6911: 为 binned_statistic 添加了 min/max 支持

  • #6913: 修复 6875:SLSQP 对所有无效边界引发 ValueError

  • #6914: 文档:GH6903 更新 Spatial.distance.pdist 的文档

  • #6916: 维护:修复 32 位 Python 的一些问题

  • #6924: 构建:更新 scipy.LowLevelCallable 的 Bento 构建

  • #6932: 增强:在 io.netcdf 中使用 OrderedDict。关闭 gh-5537

  • #6933: 错误:修复 32 位 Python 上的 LowLevelCallable 问题

  • #6936: 错误:sparse:正确处理大小为 1 的 2D 索引

  • #6938: 测试:修复 32 位 Python 上 special 中的测试失败

  • #6939: 为 cKDTree 文档字符串添加了属性列表

  • #6940: 提高 dok_matrix.tocoo 的效率

  • #6942: 文档:在 io.arff 文档字符串中添加 liac-arff 包的链接

  • #6943: 维护:文档字符串修复和 linalg.solve 的额外测试

  • #6944: 文档:在 integrate 中添加 odeint 与带状雅可比矩阵的示例…

  • #6946: 增强:以 betaln 表示的 hypergeom.logpmf

  • #6947: 测试:加速距离测试

  • #6948: 依赖:弃用 linalg.solve 中的关键字“debug”

  • #6950: 错误:在 MMIO 中正确处理大整数(修复 #6397)

  • #6952: 增强:LowLevelCallable 中的少量用户友好性清理

  • #6956: 文档:改进 convolve 的‘output’关键字描述

  • #6957: 增强:sparse.bmat 中更具信息量的错误

  • #6962: Shebang 修复

  • #6964: 文档:注意 argmin/argmax 添加

  • #6965: 错误:修复 dblquad 和 tplquad 中传递错误容差的问题

  • #6971: 修复 signaltools.correlate 的文档字符串

  • #6973: 抑制 scipy.ndimage.interpolation.zoom() 中预期的 numpy 警告

  • #6975: 错误:special:修复 generate_ufuncs.py 中的正则表达式

  • #6976: 更新 griddata 的文档字符串

  • #6978: 避免缩放因子计算中的除以零错误

  • #6979: 错误:ARE 求解器未仔细检查广义情况

  • #6985: 增强:sparse:添加 scipy.sparse.linalg.spsolve_triangular

  • #6994: 维护:spatial:绘图工具更新

  • #6995: 文档:sparse.linalg.eigs 中 k 的错误文档。参见 #6990

  • #6997: 测试:用一个不那么奇异的例子更改了测试

  • #7000: 文档:澄清 interp1d 的“zero”参数

  • #7007: 错误:修复 linregress() 中 2 个数据点时的除以零错误

  • #7009: 错误:修复将 drop_rule 传递给 scipy.sparse.linalg.spilu 的问题

  • #7012: _distn_infrastructure.py 的速度改进

  • #7014: 修复错字:添加一个单引号来修复一个小错字

  • #7021: 维护:stats:使用 np.finfo 中的机器常数,而不是 machar

  • #7026: 维护:更新 .mailmap

  • #7032: 修复 rv_histogram 文档的布局

  • #7035: 文档:更新 0.19.0 发行说明

  • #7036: 增强:为 signal.stft 添加更多边界选项

  • #7040: 测试:stats:跳过过慢的测试

  • #7042: 维护:sparse:加速 setdiag 测试

  • #7043: 维护:重构和代码清理 Xdist

  • #7053: 修复 msvc 9 和 10 编译错误

  • #7060: 文档:用 #7043 和 #6656 更新了发行说明

  • #7062: 维护:将默认 STFT 边界关键字参数更改为“zeros”

  • #7064: 修复 ValueError:路径在卷‘X:’上,在卷‘D:’上开始…

  • #7067: 测试:修复 PermissionError: [Errno 13] Windows 上的权限拒绝

  • #7068: 测试:修复 UnboundLocalError:引用了局部变量“data”…

  • #7069: 修复 OverflowError:Python int 太大无法转换为 C long…

  • #7071: 测试:抑制 stats.spearmanr 的 nan 测试的 RuntimeWarning

  • #7072: 修复 OverflowError:Python int 太大无法转换为 C long…

  • #7084: 测试:linalg:提高 test_falker 中的容差

  • #7095: 测试:linalg:提高 test_falker 中的更多容差

  • #7101: 测试:放宽 solve_continuous_are 测试用例 2 和 12

  • #7106: 错误:阻止 cdist“关联”修改输入

  • #7116: 回溯到 0.19.0rc2