SciPy 1.6.0 发布说明#
SciPy 1.6.0 是六个月辛勤工作的结晶。它包含许多新功能、众多错误修复、改进的测试覆盖率和更好的文档。此版本中有一些已弃用和 API 变更,下文对此进行了说明。建议所有用户升级到此版本,因为它包含大量的错误修复和优化。在升级之前,我们建议用户检查自己的代码是否使用了已弃用的 SciPy 功能(为此,请使用 python -Wd
运行代码并检查 DeprecationWarning
)。我们的开发重心现在将转移到 1.6.x 分支上的错误修复版本以及 master 分支上的新功能添加。
此版本需要 Python 3.7+ 和 NumPy 1.16.5 或更高版本。
在 PyPy 上运行需要 PyPy3 6.0+。
本次发布的亮点#
scipy.ndimage
改进:修复并增强了插值函数的边界扩展模式。许多滤波和插值函数支持复数值输入。为scipy.ndimage.zoom
添加了新的grid_mode
选项,使其结果与 scikit-image 的rescale
保持一致。scipy.optimize.linprog
提供了来自HiGHS
库的快速新方法,用于解决大型稀疏问题。scipy.stats
改进包括新的分布、新的测试以及对现有分布和测试的增强
新特性#
scipy.special
改进#
scipy.special
现在改进了对 64 位 LAPACK
后端的支持。
scipy.odr
改进#
scipy.odr
现在支持 64 位整数 BLAS
。
scipy.odr.ODR
新增了一个可选的 overwrite
参数,以便可以覆盖现有文件。
scipy.integrate
改进#
由于向后兼容性原因,一些命名不佳的函数进行了重命名,旧名称保留但未包含在参考指南中: - integrate.simps
已重命名为 integrate.simpson
- integrate.trapz
已重命名为 integrate.trapezoid
- integrate.cumtrapz
已重命名为 integrate.cumulative_trapezoid
scipy.cluster
改进#
为增量连接查询添加了 scipy.cluster.hierarchy.DisjointSet
。
scipy.cluster.hierarchy.dendrogram
的返回值现在还在 leaves_color_list 中包含了叶子颜色信息。
scipy.interpolate
改进#
scipy.interpolate.interp1d
新增了一个 nearest-up
方法,类似于现有的 nearest
方法,但将半整数向上而不是向下取整。
scipy.io
改进#
已添加对读取 1 到 32 位任意比特深度整数 PCM WAV 文件的支持,包括常用到的 24 位深度。
scipy.linalg
改进#
新函数 scipy.linalg.matmul_toeplitz
使用 FFT 计算 Toeplitz 矩阵与另一个矩阵的乘积。
scipy.linalg.sqrtm
和 scipy.linalg.logm
由于新增的 Cython 代码而获得了性能提升。
已为 pptrf
、pptrs
、ppsv
、pptri
和 ppcon
添加了 Python LAPACK
封装器。
scipy.linalg.norm
和 svd
系列函数现在在可用时将使用 64 位整数后端。
scipy.ndimage
改进#
scipy.ndimage.convolve
、scipy.ndimage.correlate
及其一维对应函数现在接受复数值图像和/或复数值滤波器核。所有基于卷积的滤波器现在也接受复数值输入(例如 gaussian_filter
、uniform_filter
等)。
scipy.ndimage
插值函数(即 affine_transform
、geometric_transform
、map_coordinates
、rotate
、shift
、zoom
)引入了多项边界处理的修复和增强。
新增了边界模式 grid-wrap
,它使用与输入图像网格形状相等的周期来周期性地包裹图像。这与现有的 wrap
模式形成对比,后者使用的周期比原始信号沿每个维度的范围小一个样本。
reflect
边界条件中长期存在的错误已修复,并引入了模式 grid-mirror
作为 reflect
的同义词。
现在可以使用新的边界模式 grid-constant
。这类似于现有的 ndimage constant
模式,但插值仍将在原始图像范围之外的坐标值处执行。此 grid-constant
模式与 OpenCV 的 BORDER_CONSTANT
模式和 scikit-image 的 constant
模式保持一致。
样条预滤波(在 order >= 2
时由 ndimage
插值函数内部使用)现在支持所有边界模式,而不再总是默认为镜像边界条件。独立的函数 spline_filter
和 spline_filter1d
具有与模式 mirror
、grid-wrap
和 reflect
匹配的解析边界条件。
scipy.ndimage
插值函数现在接受复数值输入。在这种情况下,插值独立应用于实部和虚部。
ndimage
教程 (https://docs.scipy.org.cn/doc/scipy/reference/tutorial/ndimage.html) 已更新,新增了图片以更好地阐明所有插值边界模式的确切行为。
scipy.ndimage.zoom
现在有一个 grid_mode
选项,它将沿轴的第一个像素中心坐标从 0 更改为 0.5。这允许以与 scikit-image 的 resize
和 rescale
函数(以及 OpenCV 的 cv2.resize
)行为一致的方式进行大小调整。
scipy.optimize
改进#
scipy.optimize.linprog
提供了来自 HiGHS
C++ 库的快速新方法,用于解决大型稀疏问题。method='highs-ds'
使用高性能对偶修正单纯形实现 (HSOL),method='highs-ipm'
使用带交叉的内点法,而 method='highs'
则自动在两者之间选择。这些方法通常快得多,并且常常超过其他 linprog
方法的精度,因此我们建议在使用 linprog
时明确指定这三种方法值中的一种。
已添加 scipy.optimize.quadratic_assignment
,用于近似求解二次分配问题。
scipy.optimize.linear_sum_assignment
现在对于小型成本矩阵尺寸的开销已大幅减少。
当用户以 csr_matrix
格式提供稀疏雅可比矩阵时,scipy.optimize.least_squares
的性能得到改进。
scipy.optimize.linprog
现在有一个 rr_method
参数,用于指定冗余处理方法,并且基于插值分解方法,提供了一种新的处理方法。
scipy.signal
改进#
已添加 scipy.signal.gammatone
,用于设计模拟人类听觉系统的 FIR 或 IIR 滤波器。
已添加 scipy.signal.iircomb
,用于设计能够增强/衰减信号中某个频率的 IIR 峰值/陷波梳状滤波器。
scipy.signal.sosfilt
的性能已得到改进,以避免之前观察到的一些减速。
已添加 scipy.signal.windows.taylor
> — 泰勒窗函数常用于雷达数字信号处理。
scipy.signal.gauss_spline
现在支持 list
类型输入,以与其他相关 SciPy 函数保持一致。
已添加 scipy.signal.correlation_lags
,以允许计算一维互相关的时间滞后/位移索引数组。
scipy.sparse
改进#
已在 scipy.sparse.csgraph.min_weight_full_bipartite_matching
中添加了一个求解二分图最小权重完全匹配问题(也称为线性分配问题)的求解器。特别是,这提供了与 scipy.optimize.linear_sum_assignment
类似的功能,但对于稀疏输入具有改进的性能,并且能够处理其密集表示不适合内存的输入。
scipy.sparse.block_diag
的时间复杂度已从二次方显著提高到线性。
scipy.sparse.linalg
改进#
SuperLU
的供应商版本已更新。
scipy.fft
改进#
供应商提供的 pocketfft
库现在支持使用 ARM neon 向量扩展进行编译,并改进了线程池行为。
scipy.spatial
改进#
KDTree
的 Python 实现已移除,现在 KDTree
是用 cKDTree
实现的。默认情况下,您现在可以期待类似 cKDTree
的性能。这也意味着查询大型树时不再需要增加 sys.setrecursionlimit
。
transform.Rotation
已更新,支持改进罗德里格斯参数以及现有旋转表示(PR gh-12667)。
scipy.spatial.transform.Rotation
已部分 Cython 化,观察到一些性能改进。
scipy.spatial.distance.cdist
在使用 minkowski
度量时性能有所提高,特别是对于 p 范数值为 1 或 2 的情况。
scipy.stats
改进#
scipy.stats
中已添加新分布。
已添加非对称拉普拉斯连续分布,即
scipy.stats.laplace_asymmetric
。已添加负超几何分布,即
scipy.stats.nhypergeom
。已添加多元 t 分布,即
scipy.stats.multivariate_t
。已添加多元超几何分布,即
scipy.stats.multivariate_hypergeom
。
fit
方法已针对多个分布(laplace
、pareto
、rayleigh
、invgauss
、logistic
、gumbel_l
、gumbel_r
)进行了覆盖;它们现在使用分析性的、特定于分布的最大似然估计结果,以实现比通用(数值优化)实现更高的速度和精度。
已添加单样本 Cramér-von Mises 检验,即 scipy.stats.cramervonmises
。
为 scipy.stats.ttest_1samp
、scipy.stats.ttest_ind_from_stats
、scipy.stats.ttest_ind
和 scipy.stats.ttest_rel
添加了计算单侧 p 值 的选项。
函数 scipy.stats.kendalltau
现在有一个计算 Kendall's tau-c(也称为 Stuart's tau-c)的选项,并且已添加对样本量 > 171
的精确 p 值计算支持。
stats.trapz 已重命名为 stats.trapezoid,旧名称作为别名保留,以实现向后兼容。
函数 scipy.stats.linregress
的返回值现在包含截距的标准误差。
_logpdf
、_sf
和 _isf
方法已添加到 scipy.stats.nakagami
;_sf
和 _isf
方法也已添加到 scipy.stats.gumbel_r
。
为提高精度,已将 sf
方法添加到 scipy.stats.levy
和 scipy.stats.levy_l
。
scipy.stats.binned_statistic_dd
在以下计算统计量方面的性能得到改进:max
、min
、median
和 std
。
我们衷心感谢陈-扎克伯格倡议的“科学必需开源软件”计划对 scipy.stats
的许多改进提供的支持。
已弃用功能#
scipy.spatial
变更#
使用 k=None
调用 KDTree.query
以查找所有邻居的功能已弃用。请改用 KDTree.query_ball_point
。
distance.wminkowski
已弃用;请改用 distance.minkowski
并使用 w
关键字提供权重。
向后不兼容的变更#
scipy
变更#
在 SciPy 1.4.0
中弃用后,将 scipy.fft
用作 numpy.fft.fft
的函数别名功能已被移除。因此,现在必须明确导入 scipy.fft
子模块,与其他 SciPy 子包保持一致。
scipy.interpolate
变更#
scipy.linalg
变更#
scipy.signal
变更#
decimate
、lfilter_zi
、lfiltic
、sos2tf
和 sosfilt_zi
的输出已更改,以匹配其输入的 numpy.result_type
。
窗函数 slepian
已移除。它自 SciPy 1.1
起已被弃用。
scipy.spatial
变更#
cKDTree.query
现在在 Windows 上返回 64 位而不是 32 位整数,使行为在不同平台之间保持一致(PR gh-12673)。
scipy.stats
变更#
frechet_l
和 frechet_r
分布已移除。它们自 SciPy 1.0
起已被弃用。
其他变更#
setup_requires
已从 setup.py
中移除。这意味着用户在未安装 numpy 的情况下调用 python setup.py install
时将收到错误,而不是通过 easy_install
为他们安装 numpy。这种安装方法一直脆弱且有问题,建议用户从源代码安装时使用 pip
。
修复了
scipy.optimize.dual_annealing
的accept_reject
计算中的一个错误,该错误导致上坡跳跃被接受的频率降低。scipy.stats.rv_continuous
、scipy.stats.rv_discrete
和 scipy.stats.rv_frozen 的(反)序列化所需时间已显著减少 (gh12550)。继承子类应注意,__setstate__
在反序列化时不再调用__init__
。
1.6.0 版本已关闭的问题#
#1323: ndimage.shift 破坏了边缘数据 (Trac #796)
#1892: 将 rptfile= 与现有文件一起使用会导致 Fortran 运行时…
#1903: ndimage.rotate 遗漏了一些值 (Trac #1378)
#1930: scipy.io.wavfile 应该能够读取 24 位有符号波形 (Trac…
#3158: signal.filtfilt 奇怪的类型转换行为
#3203: interpolation.zoom 在某些情况下输出不正确
#3645: 错误:stats: 如果掩码…,mstats.pearsonr 计算错误
#3665: 从 stats 函数返回 Bunch 对象
#4922: zoom 意外的零输出值
#5202: 错误:stats: 多个…的 pdf 方法发出虚假警告
#5223: 调整子数组大小时,Zoom 不返回相同的值…
#5396: scipy.spatial.distance.pdist 文档错误
#5489: ValueError: 无法创建 intent(cache|hide)|可选数组——…
#6096: 当 squeeze_me=True 时,loadmat 会丢弃空数组的 dtype
#6713: sicpy.ndimage.zoom 在某些情况下返回伪影和边界
#7125: 无法知道 c 函数使用的维度数量…
#7324: scipy.ndimage.zoom 在下采样时插值不良 (zoom…
#8131: 错误:geometric_transform 包裹模式可能存在错误
#8163: 提供 x0 时,LSMR 在某些随机值上失败
#8210: 为什么 scipy.ndimage.zoom 要选择 order > 1?
#8465: ndimage.rotate 的 reflect 模式出现意外行为
#8776: cdist 与 Minkowsky 和 np.inf 的行为
#9168: scipy.stats 中 pearson3 的文档不明确
#9223: scipy.sparse.block_diag 的更快实现
#9476: signal.medfilt2d 的 QUICK_SELECT 中索引无效
#9857: scipy.odr.Output.sd_beta 不是标准误差
#9865: `ndimage.shift` 和 `ndimage.affine_transform` 的奇怪行为
#10042: 考虑支持多元学生 t 分布吗?
#10134: gausshyper 分布接受无效参数
#10179: test_lapack.py 中的 str+bytes 拼接错误
#10216: cKDTree.query_ball_point 速度回归
#10463: 增强:为更多 CPU 架构矢量化 scipy.fft
#10593: 重命名 `sum` ndimage 函数
#10595: scipy.stats.ttest_1samp 应该支持备择假设
#10610: ndimage.interpolation.spline_filter1d 模式的默认值
#10620: ndimage.interpolation.zoom() 选项使其行为类似于 skimage.transform.resize()
#10711: scipy.optimize._lsq.lsq_linear.py 中数组形状未对齐的错误
#10782: 错误:优化:`scipy.optimize.show_options` 未知的方法
#10892: optimize/dual_annealing 方程中可能存在拼写错误
#11020: signal.fftconvolve 返回包含滞后信息的元组
#11093: scipy.interpolate.interp1d 无法处理 datetime64
#11170: 增强:使用 manylinux2014 获取 aarch64/ppc64le 支持
#11186: 错误:stats: pearson3 CDF 和 SF 函数在偏斜时不正确…
#11366: 由于无效的转义序列导致的 DeprecationWarning
#11403: Optimize 抛出“ValueError: `x0` 违反边界约束”…
#11558: 增强:IIR 梳状滤波器
#11559: 错误:iirdesign 不会因高于奈奎斯特频率的频率而失败
#11567: scipy.signal.iirdesign 不检查 wp 和 ws 的一致性…
#11654: 增强:添加负超几何分布
#11720: 错误:stats: median_absolute_deviation 对数组返回错误的形状…
#11746: 错误:stats: pearson3 返回大小为 1 的数组,而其他分布…
#11756: 改进并修复 *Spline 文档字符串和代码
#11758: 错误:当 `bc_type` 设置为…时,scipy.interpolate.CubicSpline 出现错误
#11925: 维护:在 CI 中移除字符编码检查?
#11963: 测试失败 - TestLinprogIPSparseCholmod
#12102: 非中心 t 分布的第一个矩不正确
#12113: scipy.stats.poisson 关于 rate = 0 的文档
#12152: 增强:signal.gauss_spline 应该接受列表
#12157: 错误:scipy.optimize.linesearch.scalar_search_wolfe2 中迭代索引初始化错误
#12162: 将 Rotation 对象存储在 NumPy 数组中会返回一个数组…
#12176: 无法修改 `wavfile.read` 返回的数组切片
#12190: 从树状图检索叶子颜色
#12196: 性能:scipy.linalg.pinv 比 numpy.linalg.pinv 慢得多
#12222: 插值分类数据 (interp1d)
#12231: Kruskal-Wallis 检验的 p 值是双侧的吗?
#12249: 增强:least_squares: 如果已是…,则不应重新实例化 csr_matrix
#12264: 文档:优化:linprog 方法特定函数签名
#12290: 文档:2 维…的凸包面积实际上是周长
#12308: 当 yDot = 0 时,integrate.solve_ivp 使用 DOP853 方法失败
#12326: 错误:stats.exponnorm.pdf 在 K 值较小时返回 0
#12337: scipy.sparse.linalg.eigsh 文档具有误导性
#12339: scipy.io.wavfile.write 文档有错误的示例
#12340: sparse.lil_matrix.tocsr() 在 nzn…矩阵上静默失败
#12350: 创建一个 2 参数版本的 gamma 分布
#12369: scipy.signal.correlate 的文档、示例中存在错误…
#12373: interp1d 对阶跃函数返回不正确的值
#12378: interpolate.NearestNDInterpolator.__call__ & LinearNDInterpolator.__call__…
#12411: scipy.stats.spearmanr 错误处理带有“propogate”的 NaN 变量
#12413: 文档:从 SciPy 教程中删除“基本函数”部分。
#12415: scipy.stats.dirichlet 文档问题
#12419: least_squares 使用“lm”方法时出现 ValueError - 从 1.4.1 开始的回归…
#12431: 请求 LAPACK 的 ?pptrf (Cholesky 分解…) 的 Python 封装器
#12458: 带有整个 NaN 列的 spearmanr 会产生错误
#12477: 进行中:为 stats.invgauss/wald 添加 MLE
#12483: python 3.6.0 上读取 .wav 文件过大时失败
#12490: 错误:stats: logistic 和 genlogistic logpdf 在大…时溢出
#12499: 当值数组 writeable=False 时,LinearNDInterpolator 引发 ValueError…
#12523: __odrpack.c 中错误的键
#12547: scipy/cluster/_hierarchy.pyx 中的拼写错误
#12549: 文档:least_squares 返回类型格式不佳。
#12578: 测试:test_bounds_infeasible_2 在 wheels repo cron 作业中失败
#12585: 增强:添加多元超几何分布
#12604: `scipy.constants.lambda2nu` 中不直观的转换
#12606: 文档:示例中语法无效。
#12665: 自动化代码分析发现的可能错误列表
#12696: scipy.optimize.fminbound, numpy 弃用警告 创建…
#12699: TestProjections.test_iterative_refinements_dense 失败
#12701: TestDifferentialEvolutionSolver::test_L4 失败
#12719: scipy.signal.get_window() 文档字符串与“exponential”…有误导性
#12740: circstd 不处理 R = hypot(S, C) > 1 的情况
#12749: 增强:interp1d Matlab 兼容性
#12773: 元问题:ndimage 样条边界处理 (NumFOCUS 提案)
#12813: 如果 options[“tol_norm”] 期望…,则 optimize.root(method=”krylov”) 失败
#12815: 当所有值相同时,stats.zscore 行为不一致
#12840: scipy.signal.windows.dpss 文档字符串拼写错误
#12874: Rotation.random 与 stats.special_ortho_group
#12881: FFT - 文档 - 示例 - linspace 构造
#12904: 错误:loadarff() 中的解析错误
#12917: GitHub Actions 夜间构建在 fork 上触发
#12919: 错误:数值精度,在 nct.mean 中使用 gammaln
#12924: 重命名基于样本的积分方法以符合…代码
#12940: AIX 的最小 numpy 版本是否应提升到 1.16.5
#12951: scipy.stats.weightedtau 中可能存在拼写错误
#12952: [文档问题] 指定…是否会更精确?
#12970: 文档将二阶节呈现为正确的选择…
#12982: 计算 linregress 中截距的标准误差
#12985: scipy.stats.wilcoxon 文档中可能存在错误的链接
#12991: least_squares 在 float32 下损坏
#13001: 来自 L-BFGS-B 的 OptimizeResult.message 是字节,而不是…
#13030: 错误:lint_diff.py 对回溯 PR 仍然失败
#13077: CI:codecov 正确的补丁差异
#13085: 在 HiGHS 求解器合并后,主分支构建失败
#13088: 构建,错误:HiGHS/optimize 导致 wheel 构建失败
#13099: kron 的空稀疏结果输出格式错误
#13108: 测试,CI:GitHub Actions MacOS 失败
#13111: 错误,文档:refguide 检查失败
#13127: ODR 输出文件写入在带有系统编译器的 conda 环境中损坏
#13134: FromTravis 迁移跟踪器
#13140: 错误:signal: `ss2tf` 错误地将输出截断为整数。
#13179: CI:lint 因输出到 stderr 而失败
#13182: `test_optimize.test_show_options` 中键出现两次
#13191: scipy.linalg.lapack.dgesjv 如果…会覆盖原始数组
#13207: 测试:test_cossin_separate 中不稳定的测试失败
#13221: 错误:pavement.py 故障
#13239: 10x10…的 `eigh(…, driver=”evx”)` 导致段错误
#13248: ndimage: 复数值输入的 cval 处理不当
1.6.0 的拉取请求#
#8032: ENH: 在雷达处理中添加常用的泰勒窗
#8779: CI: 运行基准测试
#9361: ENH: 将 Kendall 的 tau-a 和 tau-c 变体添加到 scipy.stats.kendalltau()
#11068: ENH: 将 correlation_lags 函数添加到 scipy.signal
#11119: ENH: 将 Cramer-von-Mises(单样本)测试添加到 scipy.stats
#11249: ENH: 优化:插值分解冗余去除...
#11346: ENH: 使用 FFT 添加快速 Toeplitz 矩阵乘法
#11413: ENH: 多元 t 分布(已过期)
#11563: ENH: stats.kendalltau() 中样本量 > 171 的精确 p 值
#11691: ENH: 向 linprog 添加一组反转函数
#12043: ENH: 优化:向 linprog 添加 HiGHS 方法 - 续
#12061: 检查 signal.iirdesign 中的参数一致性
#12067: MAINT: 清理 ndimage/src/_ctest.c 中的 OLDAPI
#12069: DOC: 添加实现 nan_policy 的开发人员指南...
#12077: MAINT: Cython 的 malloc 返回值检查
#12080: MAINT: 移除 suppress_warnings
#12085: ENH: special: 支持 ILP64 Lapack
#12086: MAINT: 清理 2to3 期间使用的 PyMODINIT_FUNC
#12097: ENH: stats: 使用解析 MLE 覆盖 stats.rayleigh.fit
#12112: DOC: 改进 integrate.nquad 文档字符串
#12125: TST: 添加 stats.gmean 负输入测试
#12139: TST: 减少 lsmr 测试中的不稳定性
#12142: DOC: 在泊松分布中添加一个关于 mu=0 和 k=0 的注释...
#12144: DOC: 更新 ndimage.morphology.distance_transform*
#12154: ENH: scipy.signal: 在 gauss_spline 中允许列表
#12170: ENH: scipy.stats: 添加负超几何分布
#12177: MAINT: 正确地将输入行添加到 ValueError
#12183: ENH: 尽可能使用 fromfile
#12186: MAINT: 推广 SphericalVoronoi 中的测试
#12198: TST: 修复字符串 + 字节错误
#12199: ENH: 在某些 scipy.signal 函数中匹配 np.result_type 行为
#12200: ENH: 向 scipy.signal 添加 FIR 和 IIR Gammatone 滤波器
#12204: ENH: 为 odr.ODR() 及其测试添加 overwrite 参数。
#12206: MAINT:lstsq: 如果数组是高数组,则切换到转置问题
#12208: wavfile 错误修复和维护
#12214: DOC: 修复 odr.Output 中“sd_beta”的文档字符串。
#12234: MAINT: 防止 scipy.optimize BFGS 中的零除警告...
#12235: REL: 将版本设置为 1.6.0.dev0
#12237: BUG: 修复 QUICK_SELECT 枢轴的退出条件
#12242: ENH: 将 ndimage.sum 重命名为 ndimage.sum_labels(将 sum 保留为别名)
#12243: ENH: 更新 SuperLU
#12244: MAINT: stats: 避免 ncx2.pdf 中虚假的警告
#12245: DOC: 修复 scipy.ndimage.spline_filter1d 中 mode 的错误默认值
#12248: MAINT: 清理 pavement.py
#12250: ENH: 用 tocsr() 替换 csr_matrix() 并补充文档字符串
#12253: TST, CI: 开启 codecov 补丁差异
#12259: MAINT: 移除重复的导入循环测试
#12263: ENH: 重命名 LocalSearchWrapper 界限
#12265: BUG 优化:在 lsq_linear 中接受 np.matrix
#12266: BUG: 修复双重退火接受/拒绝计算中的括号错误
#12269: MAINT: 在错误消息中包含不匹配的形状。
#12279: MAINT: `__array__` 和数组协议不能用于稀疏。
#12281: DOC: 更新 wheel 下载文档
#12283: ENH: odr: ODR 中支持 ILP64 Blas
#12284: ENH: linalg: f2py 封装器中支持 ILP64 BLAS/LAPACK
#12286: ENH: Cython化 scipy.spatial.transform.Rotation
#12287: ENH: 读取任意位深度(包括 24 位)WAV 文件
#12292: BLD: 修复 musl 编译
#12293: MAINT: 修复 validate_runtests_log.py 中的 DeprecationWarning。
#12296: DOC: 澄清 scipy.spatial.ConvexHull 文档字符串中的面积/体积
#12302: CI: 在 master 分支上运行 Travis 构建以保持缓存最新
#12305: TST: 清理测试中的 print 语句
#12323: ENH: 添加一个类似 Bunch 的类,用作向后兼容的...
#12324: BUG: io: 修复尝试引发错误时发生的错误...
#12327: DOC: 澄清 `query_ball_tree` 和 `query_pairs` 的文档字符串
#12334: PERF: 改进 cKDTree.query_ball_point 的常数时间 Cython 开销
#12338: DOC: 改进 linalg 和 sparse/linalg 文档的一致性和清晰度
#12341: DOC: 为 KDTree query_ball_tree 和 query_pairs 添加示例
#12343: DOC: 为 special.eval_legendre() 添加示例
#12349: BUG: 避免 32 位系统上 sum() 的溢出
#12351: DOC: 修复 wavfile 示例为 16 位
#12352: [BUG] 考虑 DOP853 误差估计中的 0/0 除法
#12353: 修复 vq.py 中的异常原因
#12354: MAINT: 清理 setlist.pxd 中不必要的 void* 类型转换
#12355: TST: 移除旧的 win-amd64 错误的临时修复
#12356: ENH: 更快的 scipy.sparse.block_diag 实现 (#9411…)
#12357: MAINT,TST: 更新并运行 scipy/special/utils/convert.py
#12358: TST: 检查 mstat.skewtest p 值
#12359: TST: 带有 int64 indptr 和 indices 的稀疏矩阵测试
#12363: DOC: CloughTocher2DInterpolator 中的引用
#12364: DOC: `sparse_distance_matrix` 和 `count_neighbors` 示例
#12371: MAINT, CI: 更新到最新的稳定版 OpenBLAS
#12372: MAINT: 少量清理 (c)KDTree 测试
#12374: DEP: 弃用 `distance.wminkowski`
#12375: ENH: 为 p=1,2 的 Minkowski 距离添加快速路径并支持...
#12376: 修复大部分代码库中的异常原因
#12377: DOC: 快速修复 - 在 correlation_lags 文档字符串示例中添加换行符...
#12381: BENCH: 移除过时的 goal_time 参数
#12382: ENH: 将 KDTree 替换为 cKDTree 的轻量级封装
#12385: DOC: 改进 interpolate.NearestNDInterpolator.__call__ 的文档字符串...
#12387: DOC/STY: 向 scipy.signal.correlate 添加示例
#12393: CI: 将现有的非 ASCII 字符检查替换为...
#12394: CI: arm64 numpy 现已可用
#12395: ENH: 改进 stats.binned_statistic_dd 性能
#12396: DOC, MAINT: 前向移植 1.5.0 发布说明
#12398: API: 禁用 Rotation 实例的 len() 和单索引...
#12399: MAINT: 将一些 Unicode 破折号类字符替换为 ASCII 连字符。
#12402: 更新 .mailmap
#12404: MAINT: io: 将 test_mio.py 的编码注释更改为 utf-8。
#12416: CI: 缓存 mingw, Azure Pipelines
#12427: BUG: 循环展开中的逻辑错误 (cKDTree)
#12432: DOC: 从 SciPy 教程中删除“基本函数”部分。
#12434: ENH:linalg: 添加 LAPACK 封装器 pptrf/pptrs/ppsv/pptri/ppcon
#12435: DOC: 修复 scipy.stats.dirichlet 文档中的单形体数学
#12439: DOC: 添加 NdPPoly 的 API 方法摘要
#12443: BUG: stats: 改进 exponnorm.pdf 的计算
#12448: DOC: stats: 在 ansari 文档字符串中添加“示例”。
#12450: ENH: 为 cluster.dendrogram 字典添加 `leaves_color_list`。
#12451: MAINT: 从代码库中移除“黑名单”术语
#12452: DOC: 澄清 cluster.vq.whiten() 中白化的含义
#12455: MAINT: setup.py 中更清晰的错误消息
#12457: ENH: stats: 使用解析 MLE 覆盖 stats.pareto.fit
#12460: 检查 spearman rho 中的列是否完全是 NaN 或 Inf
#12463: DOC: 改进和清理 fitpack2.py 中的 *Spline 文档字符串
#12474: ENH: linalg: 通过将紧密循环移动到 Cython 来加速 _sqrtm_triu
#12476: ENH: 向 scipy.signal 添加 IIR 梳状滤波器
#12484: 修复 minimize 的文档
#12486: DOC: 在泊松分布中添加一个关于 mu=0 和 k=0 的注释...
#12491: MAINT: 前向移植 1.5.1 发布说明
#12508: 修复整个代码库中的异常原因
#12514: ENH: stats: 使用解析 MLE 覆盖 stats.invgauss.fit
#12519: PERF: 在需要自定义初始化时避免使用 np.zeros
#12520: DOC: 少量 RST 章节重命名。
#12521: MAINT: 移除未使用的导入
#12522: PERF: 消除 VarReader5.cread_fieldnames 中不必要的分配
#12524: DOC: special: 设置 Axes3D rect 以避免在图中裁剪标签。
#12525: 修复大稀疏 nnz
#12526: DOC: 移除双节和过长的标题下划线。
#12527: 改进错误插值类型的错误消息
#12530: 将冗余逻辑移到循环外部以实现有条件的速度提升...
#12532: ENH: 将 norm={“forward”, “backward”} 添加到 `scipy.fft`
#12535: MAINT: 避免 Sphinx 对 SeeAlso 和 Only 使用已弃用的别名
#12540: BUG: 修复 odr.output.work_ind 键错误并添加其测试。
#12541: ENH: 添加最小权重完全二分匹配的求解器
#12550: PERF: rv* 的序列化速度
#12551: DOC: 修复 cluster/_hierarchy.pyx 中的拼写错误
#12552: CI: 清理 Travis pip 安装
#12556: BUG: 修复 Scipy.integrate.solve_bvp 在大问题上的问题
#12557: MAINT: 使用外部模板来改进 sparsetools 编译时间
#12558: MAINT: 移除让 scipy.fft 像函数一样工作的临时修复
#12563: MAINT: 移除 special/orthogonal.py 中未使用的 mu0
#12564: DOC: 修复 least_squares 的返回类型文档字符串
#12565: DOC: stats: 回应关于 Kruskal-Wallis 测试的查询...
#12566: BUG: Interpolate: 使用稳定排序
#12568: 更新 as_quat 的文档
#12571: DEP: 移除已弃用的 Slepian 窗
#12573: DEP: 移除 `frechet_l` 和 `frechet_r`
#12575: BUG: stats: 修复当参数和 > 1 时 multinomial.pmf 中的 NaNs
#12576: MAINT: 移除 LSQSphereBivariateSpline 的警告
#12582: ENH: 多元 t 分布
#12587: ENH: 加速 scipy.stats 中 gengamma 的 rvs
#12588: DOC: 添加示例并添加 LinearNDInterpolator 的“另请参阅”部分...
#12597: ENH: 向 t 检验添加单侧 p 值
#12599: SciPy FFT 教程的小更新
#12600: ENH: 不相交集数据结构
#12602: BUG: 为 interpnd.pyx 中的只读视图添加 const
#12605: BUG: 修正 `scipy.constants.lambda2nu` 中 `np.asanyarray` 的使用
#12610: MAINT: 前向移植 1.5.2 发布说明
#12612: MAINT: stats: 使用显式关键字参数代替 `**kwds`。
#12616: DOC: 明确文档字符串,表明 interpolate.interp1d 只接受...
#12618: DOC: 少量文档格式调整。
#12640: MAINT: stats: 修复 scipy.stats.pearson3 文档、矩等问题...
#12647: TST: 添加 Boost ellipr[cdfgj]_data 测试数据
#12648: DOC: 更新 special/utils/README 并附带说明
#12649: DOC: 简化的 pip 快速入门指南
#12650: DOC: stats: 修复 boxcox 文档字符串:lambda 可以是负数。
#12655: DOC: 更新治理文档中列出的指导委员会成员
#12659: rv_sample 期望错误
#12663: DOC: 优化:尝试修复 linprog 方法特定文档
#12664: BUG: stats: 修复 logistic 的 logpdf 处理大负值的问题...
#12666: MAINT: 静态分析的修复
#12667: ENH: 将修正 Rodrigues 参数添加到 Rotation 类
#12670: DOC: 更新 Gamma 分布的文档
#12673: API: 无条件地从 cKDTree.query 返回 np.intp
#12677: MAINT: 向 ufuncs.pyi 添加自动生成通知
#12682: MAINT: 移除 _util._valarray
#12688: MAINT: 将 f2py 生成的 scipy.integrate 文件添加到 .gitignore
#12689: BENCH: 简化基准测试设置,移除 benchmarks/run.py
#12694: scipy/stats: 添加非对称 Laplace 连续分布
#12695: DOC: 更新 Ubuntu 快速入门;conda 编译器现在可以工作了!
#12698: MAINT: 将 np.max 替换为 np.maximum
#12700: TST: 提高约束信任域测试的测试精度
#12702: TST: 提高 `DifferentialEvolutionSolver.test_L4` 的测试容差
#12703: BUG: 改进 sepfir2d 的输入验证
#12708: MAINT: 修复 scipy.sparse 中的一个拼写错误
#12709: BUG: bvls 可能会灾难性地无法收敛
#12711: MAINT: 使用 platform.python_implementation 来确定 IS_PYPY
#12713: TST: 修复不稳定的 test_lgmres
#12716: DOC: 为插值函数添加示例和教程链接...
#12717: DOC: 修复问题 #5396
#12725: ENH: 支持许多 ndimage 中复数值图像和核...
#12729: DEP: 移除 setup_requires
#12732: BENCH: 当 SCIPY_XSLOW=0 时跳过基准测试而不是隐藏它们
#12734: CI: 在 lint_diff 检查中不要忽略行长度。
#12736: DOC: 修复 signal.windows.get_window() 'exponential' 文档字符串
#12737: ENH: stats: 覆盖 stats.gumbel_r.fit 和 stats.gumbel_l.fit...
#12738: ENH: stats: 使用方程组覆盖 stats.logistic.fit...
#12743: BUG: 避免循环统计中的负方差
#12744: 防止 GNU/Hurd 上的构建错误
#12746: TST: 参数化 test_ndimage.py 中的测试用例
#12752: DOC: 为一些求根函数添加示例。
#12754: MAINT, CI: Azure Windows 依赖多行
#12756: ENH: stats: 向 levy 添加 sf 方法以提高精度...
#12757: ENH: stats: 向 levy_l 添加 sf 方法以提高精度。
#12765: TST, MAINT: infeasible_2 上下文
#12767: 修复模式反射的样条插值边界处理...
#12769: DOC: scipy.interpolate.bspl 中的语法错误
#12770: ENH: 向 scipy.interpolate.interp1d 添加最近向上取整
#12771: TST: 修复 scipy.signal.gammatone 的无效输入单元测试
#12775: ENH: 添加带有两种方法的 quadratic_assignment
#12776: ENH: 在 ndimage 插值中添加网格常数边界处理...
#12777: 添加泰勒窗函数 - 雷达 DSP 中常用
#12779: ENH: 改进 pocketfft 线程池和 ARM neon 向量化
#12788: API: 将 cKDTree n_jobs 参数重命名为 workers
#12792: DOC: 删除 THANKS.txt 文件,改为使用 scipy.org
#12793: 向作者工具添加新标志
#12802: BENCH: 添加 scipy.ndimage.interpolation 基准测试
#12803: 在不支持的 Python 版本中不固定 numpy 版本
#12810: CI: 修复 Azure CI 运行中 32 位 Linux 构建失败
#12812: ENH: 支持复数值图像的插值
#12814: BUG: nonlin_solve 不应将非向量 dx 传递给 tol_norm
#12818: 更新 ckdtree.pyx
#12822: MAINT: 简化 directed_hausdorff
#12827: DOC: 修复文档中 w 被错误地用作 worN 的问题。
#12831: DOC: 修复 sparse/base.py 中的拼写错误
#12835: MAINT: stats: 改进 vonmises PDF 计算。
#12839: ENH: scipy.stats: 添加多元超几何分布
#12843: 在 windows.dpss 中将 M 更改为 N
#12846: MAINT: 将最低 NumPy 版本更新到 1.16.5
#12847: DOC: 统一 scipy.stats.pearsonr() 文档中的公式
#12849: DOC: 完善 QAP 文档以提高一致性和可读性
#12852: ENH, MAINT: 使 KDTree 接口与 cKDTree 功能对等
#12858: DOC: 对引用使用 :doi: 和 :arxiv: 指令
#12872: 在 MapWrapper 中延迟导入 multiprocessing.Pool
#12878: DOC: 文档 ScalarFunction
#12882: MAINT: stats: 将测试更改为使用 <= 而不是严格小于...
#12885: 编辑 numpy.linspace 调用以确保正确的间距。
#12886: DOC: stats: 向 cramervonmises 文档字符串添加“versionadded”。
#12899: TST: 使一些测试在 32 位架构上预期失败
#12903: DOC: 更新 Windows 构建指南并移至贡献者指南
#12907: DOC: 澄清 precenter 选项适用于哪个数组
#12908: MAINT: spatial: 移除两个未使用的变量出现处...
#12909: ENH: stats: 添加方法 gumbel_r._sf 和 gumbel_r._isf
#12910: CI: travis: 从 .travis.yml 中删除一些不必要的代码。
#12911: 修复树状图绘制中的小问题
#12921: CI: 不要在 fork 或 cron 任务中运行 GitHub Actions
#12927: MAINT: 将 integrate.simps 重命名为 simpson
#12934: MAINT: 将 trapz 和 cumtrapz 重命名为 (cumulative_)trapezoid
#12936: MAINT: 修复 nct.stats 中的数值精度
#12938: MAINT: 修复 master 上的 linter
#12941: 更新最低 AIX 固定版本以匹配非 AIX 构建
#12955: BUG: 修复 scipy.stats.weightedtau 中错误的 NaNs 检查
#12958: ENH: stats: 为 nakagami 实现 _logpdf, _sf 和 _isf。
#12962: 纠正 p 应在 [0,1] 范围内,适用于各种离散...
#12964: BUG: 向 split_data_line() 添加 line.strip()
#12968: ENH: stats: 仅使用解析公式或标量求根...
#12971: MAINT: 声明支持 Python 3.9
#12972: MAINT: 移除冗余的 Python < 3.6 代码
#12980: DOC: 更新 optimize.rosen 的文档
#12983: ENH: 改进 stats.linregress
#12990: DOC: 澄清在 iirdesign 中将 sos 用作输出类型可能会...
#12992: DOC: lsmr 中的大小写和格式
#12995: DOC: stats: 若干文档修复。
#12996: BUG: 改进 binned_statistic_dd 的 `range` 参数的错误消息
#12998: MAINT: 带 FP32 的 approx_derivative 修复 #12991
#13004: TST: isinstance(OptimizeResult.message, str) 修复 #13001
#13006: 加载空 mat 数组时保持正确的 dtype。
#13009: MAINT: 将 SLSQP 步长限制在界限内
#13012: DOC: 修复 bilinear_zpk 示例标签
#13013: ENH: 向 `DisjointSet` 添加 `subset` 和 `subsets` 方法
#13029: MAINT: basinhopping 初始最小化回调
#13032: DOC: 修复 stats.wilcoxon 文档字符串中的错误
#13036: BUG: 前向移植 lint_diff 垫片
#13041: MAINT: dogbox 确保 x 在界限内 修复 #11403
#13042: MAINT: 前向移植 1.5.4 发布说明
#13046: DOC: 更新 optimize.least_squares 文档,所有容差必须...
#13052: 修复集群文档中的拼写错误
#13054: BUG: 修复 `scipy.optimize.show_options` 未知方法的问题...
#13056: MAINT: fft: 修复一个 C++ 编译器警告。
#13057: csr_tocsc 函数文档的少量修复
#13058: DOC: stats: 在教程文件中将 np.float 替换为 np.float64。
#13059: DOC: stats: 更新 linregress 文档字符串的“Returns”部分。
#13060: MAINT: clip_x_for_func 应该是私有的
#13061: DOC: 示例中将 signal.win -> signal.windows.win
#13063: MAINT: 添加 suite-sparse 和 sksparse 安装检查
#13070: MAINT: stats: 移除几个过时的注释。
#13073: BUG: 修复 scalar_search_wolfe2 以解决 #12157
#13078: CI, MAINT: 将 Lint 迁移到 Azure
#13081: BLD: 放弃 Python 3.6 支持 (NEP 29)
#13082: MAINT: 在更多地方将最低 NumPy 版本更新到 1.16.5...
#13083: DOC: 更新 toolchain.rst
#13086: DOC: 更新 correlation 文档字符串的 Parameters 部分
#13087: ENH:signal: 加速 _sosfilt 的 Cython 实现
#13089: BLD, BUG: 为 HiGHS basiclu 库添加 c99 编译器标志
#13091: BUG: 修复 _sosfilt 中的 GIL 处理
#13094: DOC: 澄清 cKDTree.query 文档字符串中的“location”
#13095: 缩放大小更新
#13097: BUG: 修复 CubicSpline(…, bc_type=”periodic”) #11758
#13100: BUG: sparse: 修正 kron 的输出格式
#13107: ENH: 对小成本矩阵的 linear_sum_assignment 进行加速
#13110: CI, MAINT: 将 refguide/asv 检查移至 Azure
#13112: CI: 修复 MacOS CI
#13113: CI: 为 refguide-check 安装单词列表包
#13115: BUG: 为 signal.iirdesign() 添加值范围检查
#13116: CI: 在 refguide-check 发生异常后不报告名称错误
#13117: CI: 将 sdist/预发布测试移至 Azure
#13119: 改进 friedmanchisquare 函数的错误消息
#13121: 修复 Python 3.10 上 factorial() 对 NaN 的处理
#13123: BLD: 为语言标准版本测试指定文件扩展名
#13128: TST: 跳过 ODR 的 Fortran I/O 测试
#13130: TST: 跳过 Python 3.10 上 factorial() 浮点测试
#13136: CI: 将 Python 调试运行添加到 GitHub Actions
#13138: CI: 将覆盖率、64 位 BLAS、GCC 4.8 构建移植到 Azure
#13139: 修复 ndimage.interpolation 函数中 mode='nearest' 的边缘情况
#13141: BUG: signal: 修复 ss2tf 返回的分子数据类型。
#13144: MAINT: stats: 限制 gausshyper z > -1
#13146: csr.py 中的拼写错误
#13148: BUG: stats: 修复 gh-12870 中 stable rvs 的拼写错误
#13149: DOC: spatial/stats: 交叉引用随机旋转矩阵函数
#13151: MAINT: stats: 修复一个测试和几个 PEP-8 问题。
#13152: MAINT: stats: 在私有函数中使用 np.take_along_axis...
#13154: ENH: stats: 实现常量输入的定义处理...
#13156: DOC: 保持 ndimage.zoom 示例的显示范围一致
#13159: CI: Azure: 不要在合并提交上运行测试,除了覆盖率
#13160: DOC: stats: 消除 location-shifted/noncentral 的歧义
#13161: BUG: DifferentialEvolutionSolver.__del__ 在垃圾回收中可能失败...
#13163: BUG: stats: 修复 spearmanr NaN 传播中的错误
#13167: MAINT: stats: 修复一个测试。
#13169: BUG: stats: 修复 mstats.pearsonr 中掩码未对齐的处理。
#13178: CI: testing.yml –> macos.yml
#13181: CI: 修复 lint
#13190: BUG: 优化:修复 `test_show_options` 的重复键错误
#13192: BUG:linalg: 为 gejsv 封装器添加 overwrite 选项
#13194: BUG: slsqp 应该能够使用 rel_step
#13199: [skip travis] DOC: 1.6.0 发布说明
#13203: 修复拼写错误
#13209: TST:linalg: 为 cossin 测试设置种子
#13212: [DOC] 反引号和指令一致性。
#13217: REL: 在 pyproject.toml 中添加必要的 setuptools 和 numpy 版本固定...
#13226: BUG: pavement.py 文件句柄修复
#13249: 为具有复数值的 ndimage 函数正确处理 cval...
#13253: BUG,MAINT: 确保所有 Pool 对象都已关闭
#13255: BUG:linalg: 修复 heevx 封装器并添加新测试
#13260: CI: 修复 macOS 测试
#13269: CI: GitHub Actions: 在 Linux dbg 测试中,在...之前更新 apt
#13279: MAINT: 1.6.0 rc2 向后移植