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 准时编译(jitted)函数等。详见 gh-6509

scipy.linalg 改进#

函数 scipy.linalg.solve 获得了另外两个关键字 assume_atransposed。底层的 LAPACK 例程已被“专家”版本取代,现在还可以用于求解对称、埃尔米特(Hermitian)和正定系数矩阵。此外,病态矩阵现在会触发一个警告,并附带估计的条件数信息。旧的 sym_pos 关键字出于向后兼容的原因予以保留,但它与使用 assume_a='pos' 是完全等效的。此外,没有任何功能、仅打印 overwrite_<a, b> 值的 debug 关键字已被弃用。

新增了 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 现在支持非双精度(non-double)自定义度量。

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 增加了一个新的可选参数 method。默认值 auto 会估算直接法和傅里叶变换法这两种计算方法中较快的一种。

新增了一个用于选择卷积/相关方法的函数 scipy.signal.choose_conv_method,如果对许多相同大小的数组进行卷积或相关操作,该函数可能会很有用。

新增了用于计算输入信号的复数短时傅里叶变换(STFT)以及反变换以恢复原始信号的函数:scipy.signal.stftscipy.signal.istft。此实现还修复了先前在请求复数输出数据时 scipy.signal.spectrogram 输出不正确的问题。

新增了 scipy.signal.sosfreqz 函数,用于计算二阶环节(second-order sections)的频率响应。

新增了 scipy.signal.unit_impulse 函数,以便于生成脉冲函数。

新增了 scipy.signal.iirnotch 函数,用于设计二阶 IIR 陷波滤波器,以从信号中去除特定频率成分。新增了其对偶函数 scipy.signal.iirpeak,用于计算二阶 IIR 峰值(共振)滤波器的系数。

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

当 n > 1 且对某些 n 维数组进行操作时,函数 scipy.signal.upfirdnscipy.signal.resample_poly 的运行速度现在明显加快。在沿待滤波轴的数组大小较小(约小于 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 的标量、类型化版本的通用函数可以通过 cimport 从新模块 scipy.special.cython_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 现在可以在输入包含结(ties,相同值)时计算正确的 p 值。该 p 值也与 scipy.stats.mstats.kendalltau 以及 R 所计算的相同。如果输入不包含结,则与之前的实现相比没有变化。

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

其他变更#

SciPy 轮子(wheels)现在将在所有平台上报告其对 numpy 的依赖。做出这一更改是因为 Numpy 的轮子现已可用,并且 pip 的升级行为终于向好的方向转变(对于 pip >= 8.2,使用 --upgrade-strategy=only-if-needed;该行为将在下一个 pip 主版本中成为默认行为)。

与先前的 scipy 版本相比,使用 kind="cubic""quadratic"scipy.interpolate.interp1d 返回的数值可能会发生变化。如果您的代码依赖于特定的数值(即,依赖于插值器的实现细节),您可能需要重新核对您的结果。

作者#

  • @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 中码本(code book)初始化不一致

  • #4234:scipy.signal.flattop 文档未列出以下内容的来源…

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

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

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

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

  • #5056:稀疏矩阵与稠密矩阵按元素相乘返回稠密…

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

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

  • #5750:[文档] KDTree, cKDTree 中缺失数据索引值

  • #5755:scipy.stats.kendalltau() 中的 p 值计算在以下情况下损坏…

  • #5757:BUG:signal.spectrogram 错误的复数输出

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

  • #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:全局基准测试在 600 秒时超时。

  • #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:当使用 cmin/cmax 时 misc.bytescale 返回异常结果…

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

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

  • #6565:谱函数的覆盖率可以进一步提高

  • #6628:二项分布文档中的参数名称不正确

  • #6634:针对 linalg.solve 的病态矩阵公开 LAPACK 的 xGESVX 系列…

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

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

  • #6681:新增一个上下文管理器来包装 scipy.special.seterr

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

  • #6721:当 N > 64 时 scipy.special.chebyt(N) 抛出 ‘TypeError’

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

  • #6764:scipy.spatial.Delaunay 的文档有部分错误

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

  • #6841:当设置 nan_policy=’omit’ 时 spearmanr 失败

  • #6869:目前在 gaussian_kde 中,计算 logpdf 函数…

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

  • #6876:Python 在使用最小/最大滤波器时停止工作(段错误?)…

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

  • #6898:BUG:dblquad 忽略了误差容限

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

  • #6903:spatial.distance.pdist 文档字符串中的问题

  • #6917:向 scipy.sparse.linalg.spilu 传递 drop_rule 时出现问题

  • #6926:LowLevelCallable 的签名不匹配

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

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

  • #6984:断言导致 test_ill_condition_warning 的测试失败

  • #6990:BUG:sparse:sparse.linalg.eigs 中 k 参数的文档说明不良

  • #6991:linregress() 中除以零

  • #7011:rv_continuous.fit() 潜在的速度提升

  • #7015:在 Python 3.5 和 numpy 开发主分支上测试失败

  • #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:增强:添加单位脉冲波形函数

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

  • #5647:增强:cKDTree 中更快的 count_neighbor / 并增加了加权输入数据

  • #6021:Netcdf 追加

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

  • #6059:增强:对 zpk 系统更准确的 signal.freqresp

  • #6195:增强:special 的 Cython 接口

  • #6234:文档:修复了 ward() 帮助中的一处拼写错误

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

  • #6270:维护:special:为 cdflib 添加测试

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

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

  • #6279:维护:贝塞尔(Bessel)函数微调

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

  • #6294:风格:stats/_continuous_distns.py 中符合一些 PEP8 规范并清理导入

  • #6297:阐明 misc/__init__.py 中的文档

  • #6300:增强:sparse:放宽对带空输入的 diags 的输入校验

  • #6301:缺陷:标准化关于可选权重的 check_finite 行为,…

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

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

  • #6308:阐明超几何分布的文档。

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

  • #6315:增强:PPoly 中 x 的降序排列

  • #6317:增强:stats:为 stats.median_test 添加对 nan_policy 的支持

  • #6321:测试:修复测试名称中的一处拼写错误

  • #6328:增强:sosfreqz

  • #6335:在 linregress 之外定义 LinregressResult

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

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

  • #6342:文档:cluster:阐明 hierarchy.linkage 的用法

  • #6352:文档:从 brentq 自身的“另请参阅”中将其移除

  • #6362:增强:stats:在 weibull 中使用显式公式计算 sf、logsf 等…

  • #6369:维护:special:在 hyp0f1_complex 中添加注释

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

  • #6387:维护:special:提高 ellipj 的 dn 在四分之一周期处的精度…

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

  • #6394:增强:scipy.sparse:为稀疏矩阵添加 save 和 load 函数

  • #6400:维护:将全局基准测试运行从 setup_cache 移至 track_all

  • #6403:增强:basinhopping 的 seed 关键字。关闭 #6278

  • #6404:增强:signal:添加了 iirnotch 和 iirpeak 函数。

  • #6406:增强:special:将 sici/shichi 扩展至复数参数

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

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

  • #6427:维护:修复 gmpy 构建,并测试 mpmath 是否使用了 gmpy

  • #6439:维护:ndimage:更新回调函数 C API

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

  • #6447:修复议题 #6413 - 熵函数中的微小文档修复…

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

  • #6449:增强:修复用于 differential_evolution 终止条件的 rtol 和 atol…

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

  • #6454:文档:linalg:澄清 ordqz 中可调用对象的签名

  • #6457:增强:spatial:在 squareform 中支持非双精度 dtype

  • #6459:缺陷:expm_multiply 未正确处理复数矩阵…

  • #6465:测试 文档 窗口(Window)的文档、测试等

  • #6469:增强:linalg:在 eig/eigvals 中更好地处理无限特征值

  • #6475:文档:使用 NaN 调用 interp1d/interp2d 是未定义的行为

  • #6477:记录 optimize.py 中的魔术数

  • #6481:测试:抑制来自 test_windows 的某些警告

  • #6485:文档:spatial:纠正 procrustes 中的拼写错误

  • #6487:修复 pdist 文档字符串中的布雷-柯蒂斯(Bray-Curtis)公式

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

  • #6494:增强:stats:使用 log1p() 改善某些计算。

  • #6495:缺陷:在单联动聚类中使用 MST 算法代替 SLINK 算法

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

  • #6505:重置 scipy.signal.resample 的窗口形状为一维

  • #6507:缺陷:linkage:若 y 包含非有限元素则抛出异常

  • #6509:增强:_lib:为底层回调函数添加通用机制

  • #6520:scipy.sparse.base.__mul__ 带有 ‘shape’ 的非 numpy/scipy 对象…

  • #6522:在 entropy 中用 rel_entr 替换 kl_div

  • #6524:文档:将 next_fast_len 添加到函数列表中

  • #6527:文档:发行说明,以体现 optimize.curve_fit 中新的协方差特征

  • #6532:增强:简化 _cos_win 并编写文档,添加 symmetric/periodic 参数

  • #6535:维护:sparse.csgraph:更新旧的 Cython 循环

  • #6540:文档:补充正交多项式的文档

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

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

  • #6553:提交了我最初针对 scipy.signal.cspline 所呈交的更改…

  • #6561:缺陷:修改 signal.find_peaks_cwt() 使其返回数组并接受…

  • #6562:文档:负二项分布阐明

  • #6563:维护:在需要 numpy 方面更加宽松

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

  • #6572:缺陷:“sp.linalg.solve_discrete_are”在随机数据上失败

  • #6578:缺陷:misc:在 bytescale 中同时允许 cmin/cmax 和 low/high 参数

  • #6581:修复了一些令人遗憾的拼写错误

  • #6582:维护:linalg:在 ordqz 中进行对无限特征值的处理…

  • #6585:文档:interpolate:纠正指向 ndimage 的另请参阅链接

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

  • #6592:文档:在 mode 中将 ‘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:文档:添加关于 wheel 依赖在 numpy 和 pip 上变化的说明…

  • #6609:修复 #6602 - 文档中的拼写错误

  • #6616:增强:连续和离散黎卡提(Riccati)求解器的推广…

  • #6621:文档:改善 cluster.hierarchy 的文档字符串。

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

  • #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:维护:清理谱系图(dendrogram)的截断模式

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

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

  • #6647:文档:为 pdist 的马氏(Mahalanobis)距离描述添加平方根(sqrt)

  • #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:计算不一致数(discordances)的更快/更短代码

  • #6659:文档:special:使 __init__ 摘要和 HTML 摘要一致

  • #6661:general.rst:修复一处拼写错误

  • #6664:测试:谱函数的窗口修正系数

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

  • #6668:文档:提及质心(center of mass)的负质量

  • #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:在进行就地(in-place)相乘之前先转换为浮点数…

  • #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 accept 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:增强:对球面维诺(Voronoi)区域多边形顶点排序进行 Cython 化

  • #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:增强:为 ‘centroid’ 和 ‘median’ 方法提供更快的链接

  • #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:为黄金分割搜索(golden search)添加了 maxiter。

  • #6850:缺陷:为 scipy.stats.spearmanr 添加了可选参数校验

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

  • #6861:弃用:修复在 Python 3.6 中被弃用的转义序列。

  • #6862:文档:dx 应当是浮点数(float),而非整数(int)

  • #6863:更新了 curve_fit 的文档

  • #6866:文档:在 j1 中添加了引用 spherical_jn 的一些文档说明

  • #6867:文档:cdist 将冗长的示例列表移至“说明(Notes)”一节

  • #6868:缺陷:使 stats.mode 在空输入上返回 ModeResult 命名元组…

  • #6871:修正了文档。

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

  • #6877:缺陷:ndimage:防范全零的足迹(footprints)

  • #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: 修复 Bug:修复 32 位 Python 上的 LowLevelCallable 问题。

  • #6936: 修复 Bug:sparse:正确处理大小为 1 的二维索引

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

  • #6940: 在 cKDTree 文档字符串中添加了属性列表

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

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

  • #6944: 维护:文档字符串修复以及 linalg.solve 的附加测试

  • #6946: 文档:向 integrate... 添加带有带状雅可比矩阵的 odeint 示例

  • #6947: 增强:使用 betaln 表示 hypergeom.logpmf

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

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

  • #6952: 修复 Bug:正确处理 MMIO 中的大整数(修复 #6397)

  • #6956: 增强:LowLevelCallable 中轻微的用户友好性清理

  • #6957: 文档:改进 convolve 的 ‘output’ 关键字说明

  • #6962: 增强:在 sparse.bmat 中提供更多有用信息的错误

  • #6964: Shebang 修复

  • #6965: 文档:记录 argmin/argmax 的添加

  • #6971: 修复 Bug:修复在 dblquad 和 tplquad 中传递误差容限的问题。

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

  • #6975: 消除 scipy.ndimage.interpolation.zoom() 中预期的 numpy 警告

  • #6976: 修复 Bug:special:修复 generate_ufuncs.py 中的正则表达式

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

  • #6979: 避免在缩放因子计算中除以零

  • #6985: 修复 Bug:ARE 求解器未仔细检查广义情况

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

  • #6995: 维护:spatial:更新绘图工具函数

  • #6997: 文档:sparse.linalg.eigs 中关于 k 的文档有误,参见 #6990

  • #7000: 测试:更改测试,使用较少奇异的示例

  • #7007: 文档:澄清 interp1d 的 ‘zero’ 参数

  • #7009: 修复 Bug:修复 2 个数据点时 linregress() 中的除以零问题

  • #7012: 修复 Bug:修复向 scipy.sparse.linalg.spilu 传递 drop_rule 的问题

  • #7014: _distn_infrastructure.py 中的速度提升

  • #7021: 修复拼写错误:添加单引号以修复轻微的拼写错误

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

  • #7032: 维护:更新 .mailmap

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

  • #7036: 文档:更新 0.19.0 版本说明

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

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

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

  • #7053: 维护:重构并清理 Xdist 代码

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

  • #7062: 文档:使用 #7043 和 #6656 更新了版本说明

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

  • #7067: 修复 ValueError:路径位于挂载点 ‘X:’,起始于挂载点 ‘D:’,在...

  • #7068: 测试:修复 Windows 上的 PermissionError: [Errno 13] Permission denied

  • #7069: 测试:修复 UnboundLocalError: local variable ‘data’ referenced...

  • #7071: 修复 OverflowError: Python int too large to convert to C long...

  • #7072: 测试:消除 stats.spearmanr 的 nan 测试中的 RuntimeWarning

  • #7084: 修复 OverflowError: Python int too large to convert to C long...

  • #7095: 测试:linalg:提高 test_falker 中的容限

  • #7101: 测试:linalg:进一步提高 test_falker 中的容限

  • #7106: 测试:放宽 solve_continuous_are 测试用例 2 和 12 的限制

  • #7116: 修复 Bug:防止 cdist “correlation” 修改输入

  • #7117: 向后移植到 0.19.0rc2