SciPy 1.6.0 发行说明#
SciPy 1.6.0 是 6 个月辛勤工作的结晶。它包含许多新功能、大量错误修复、改进的测试覆盖率和更好的文档。此版本中有许多废弃和 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 及其 1d 对应项现在接受复数图像和/或复数滤波器核。所有基于卷积的滤波器现在也接受复数输入(例如 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,以允许计算 1D 互相关的时间滞/位移索引数组。
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
不对称 Laplace 连续分布已添加为
scipy.stats.laplace_asymmetric。负超几何分布已添加为
scipy.stats.nhypergeom。多元 t 分布已添加为
scipy.stats.multivariate_t。多元超几何分布已添加为
scipy.stats.multivariate_hypergeom。
已为多个分布 (laplace, pareto, rayleigh, invgauss, logistic, gumbel_l, gumbel_r) 重写了 fit 方法;它们现在使用分析性的、特定于分布的最大似然估计结果,以获得比通用(数值优化)实现更高的速度和准确性。
单样本 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 tau-c(也称为 Stuart tau-c)的选项,并且已添加对样本大小 > 171 的精确 p 值计算的支持。
stats.trapz 已重命名为 stats.trapezoid,旧名称作为别名保留以实现向后兼容性。
函数 scipy.stats.linregress 现在在其返回值中包含截距的标准误差。
已将 _logpdf、_sf 和 _isf 方法添加到 scipy.stats.nakagami;_sf 和 _isf 方法也添加到 scipy.stats.gumbel_r
已向 scipy.stats.levy 和 scipy.stats.levy_l 添加了 sf 方法,以提高精度。
scipy.stats.binned_statistic_dd 对以下计算统计量的性能改进:max、min、median 和 std。
我们衷心感谢 Chan-Zuckerberg Initiative Essential Open Source Software for Science 项目对 scipy.stats 的许多改进提供的支持。
已废弃的功能#
scipy.spatial 变更#
使用 KDTree.query 且 k=None 查找所有邻居已被废弃。请改用 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.py 中移除 setup_requires。这意味着用户在未安装 numpy 的情况下调用 python setup.py install 现在将收到错误,而不是通过 easy_install 为他们安装 numpy。这种安装方法一直脆弱且有问题,建议用户从源代码安装时使用 pip。
修复了
scipy.optimize.dual_annealingaccept_reject计算中的一个错误,该错误导致上坡跳跃被接受的频率降低。scipy.stats.rv_continuous、scipy.stats.rv_discrete和 scipy.stats.rv_frozen 的 (un)pickling 所需时间已显著减少 (gh12550)。继承子类应注意,__setstate__在 unpickling 时不再调用__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: BUG: stats: mstats.pearsonr 计算错误,如果掩码…
#3665: 从统计函数返回 Bunch 对象
#4922: zoom 意外的零输出值
#5202: BUG: stats: 几个 pdf 方法的虚假警告…
#5223: Zoom 在调整子数组大小时不返回相同的值…
#5396: scipy.spatial.distance.pdist 文档错误
#5489: ValueError: 无法创建 intent(cache|hide)|optional 数组——…
#6096: 当 squeeze_me=True 时,loadmat 丢弃空数组的 dtype
#6713: sicpy.ndimage.zoom 在某些情况下返回伪影和边界
#7125: 无法知道 scipy.ndimage 使用的 C 函数的维度数…
#7324: scipy.ndimage.zoom 在下采样时插值错误 (zoom…
#8131: BUG: geometric_transform wrap 模式可能存在错误
#8163: LSMR 在提供 x0 时在某些随机值上失败
#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: ENH: 为更多 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 中数组形状未对齐的 Bug
#10782: BUG: optimize: `scipy.optimize.show_options` 未知的方法
#10892: optimize/dual_annealing 方程中可能存在的错字
#11020: signal.fftconvolve 返回一个包含滞后信息的元组
#11093: scipy.interpolate.interp1d 无法处理 datetime64
#11170: 使用 manylinux2014 获取 aarch64/ppc64le 支持
#11186: BUG: stats: pearson3 CDF 和 SF 函数在偏度不正确时出错…
#11366: 由于无效转义序列导致的 DeprecationWarning
#11403: Optimize 抛出“ValueError: `x0` 违反边界约束”…
#11558: ENH: IIR 梳状滤波器
#11559: BUG: iirdesign 对于高于奈奎斯特频率的频率不会失败
#11567: scipy.signal.iirdesign 不检查 wp 和 ws 的一致性…
#11654: ENH: 添加负超几何分布
#11720: BUG: stats: median_absolute_deviation 对于数组形状错误…
#11746: BUG: stats: pearson3 返回大小为 1 的数组,而其他分布返回…
#11756: 改进和修复 *Spline 文档字符串和代码
#11758: BUG: 当 `bc_type` 设置为时,scipy.interpolate.CubicSpline 出错…
#11925: MAINT: 删除 CI 中的字符编码检查?
#11963: 测试失败 - TestLinprogIPSparseCholmod
#12102: 非中心 t 分布的第一个矩不正确
#12113: scipy.stats.poisson docs for rate = 0
#12152: ENH: signal.gauss_spline 应该接受一个列表
#12157: BUG: scipy.optimize.linesearch.scalar_search_wolfe2 中迭代索引初始化错误
#12162: 将 Rotation 对象存储在 NumPy 数组中会返回一个数组,其中…
#12176: 无法修改 `wavfile.read` 返回的数组切片
#12190: 从树状图检索叶子颜色
#12196: PERF: scipy.linalg.pinv 与 numpy.linalg.pinv 相比非常慢
#12222: 插值分类数据 (interp1d)
#12231: Kruskal-Wallis 检验的 p 值是双侧的吗?
#12249: ENH: least_squares: 如果雅可比矩阵已在 csr_matrix 格式中,则不应重新实例化…
#12264: DOC: optimize: linprog 方法特定函数签名
#12290: DOC: 凸包区域实际上是二维周长…
#12308: 当 yDot = 0 时,integrate.solve_ivp 与 DOP853 方法失败
#12326: BUG: stats.exponnorm.pdf 对于小 K 返回 0
#12337: scipy.sparse.linalg.eigsh 文档具有误导性
#12339: scipy.io.wavfile.write 文档有错误示例
#12340: sparse.lil_matrix.tocsr() 在 nzn… 矩阵上静默失败
#12350: 创建一个伽马分布的 2 参数版本
#12369: scipy.signal.correlate 在文档和示例中存在错误…
#12373: interp1d 为阶跃函数返回不正确的值
#12378: interpolate.NearestNDInterpolator.__call__ & LinearNDInterpolator.__call__…
#12411: scipy.stats.spearmanr 在“propagate”情况下错误处理 NaN 变量
#12413: DOC: 从 SciPy 教程中删除“基本函数”部分。
#12415: scipy.stats.dirichlet 文档问题
#12419: least_squares 在“lm”方法下损坏 - 从 1.4.1 回归…
#12431: 请求 LAPACK 的 ?pptrf (Cholesky 分解…) 的 Python 包装器
#12458: spearmanr 带有完整的 NaN 列会产生错误
#12477: WIP: 为 stats.invgauss/wald 添加 MLE
#12483: 在 python 3.6.0 上文件过大时读取 .wav 失败
#12490: BUG: stats: logistic 和 genlogistic logpdf 在大值时溢出…
#12499: LinearNDInterpolator 在值数组 writeable=False 时引发 ValueError…
#12523: __odrpack.c 中错误的键
#12547: scipy/cluster/_hierarchy.pyx 中存在错字
#12549: DOC: least_squares 返回类型格式不佳。
#12578: TST: test_bounds_infeasible_2 在 wheels repo cron 作业上失败
#12585: ENH: 添加多元超几何分布
#12604: `scipy.constants.lambda2nu` 中不直观的转换
#12606: DOC: 示例中语法无效。
#12665: 自动化代码分析发现的可能存在的 Bug 列表
#12696: scipy.optimize.fminbound, numpy 废弃警告 Creating…
#12699: TestProjections.test_iterative_refinements_dense 失败
#12701: TestDifferentialEvolutionSolver::test_L4 失败
#12719: scipy.signal.get_window() 文档字符串与“exponential”存在误导性…
#12740: circstd 不处理 R = hypot(S, C) > 1
#12749: ENH: interp1d Matlab 兼容性
#12773: Meta-issue: ndimage 样条边界处理 (NumFOCUS 提案)
#12813: optimize.root(method="krylov") 如果 options["tol_norm"] 预期失败…
#12815: stats.zscore 在所有值都相同时行为不一致
#12840: scipy.signal.windows.dpss 文档字符串错字
#12874: Rotation.random vs stats.special_ortho_group
#12881: FFT - 文档 - 示例 - linspace 构造
#12904: BUG: loadarff() 中的解析
#12917: GitHub Actions 每晚构建在 fork 上触发
#12919: BUG: 数值精度,在 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: BUG: lint_diff.py 仍然对 backport PR 失败
#13077: CI: codecov 正确补丁差异
#13085: HiGHS 求解器合并后主分支构建失败
#13088: BLD, BUG: HiGHS/optimize 导致 wheel 构建失败
#13099: kron 的空稀疏结果的错误输出格式
#13108: TST, CI: GitHub Actions MacOS 故障
#13111: BUG, DOC: refguide 检查失败
#13127: 在带有系统编译器的 conda 环境中 ODR 输出文件写入损坏
#13134: FromTravis 迁移跟踪器
#13140: BUG: signal: `ss2tf` 错误地将输出截断为整数。
#13179: CI: lint 由于输出到 stderr 而失败
#13182: `test_optimize.test_show_options` 中键出现两次
#13191: `scipy.linalg.lapack.dgesjv` 如果覆盖原始数组,则会覆盖原始数组…
#13207: TST: test_cossin_separate 中不稳定的测试失败
#13221: BUG: pavement.py 小故障
#13239: `eigh(…, driver=”evx”)` 在 10x10 … 时发生分段错误
#13248: ndimage: 复数输入的 cval 处理不当
已为 1.6.0 提交的拉取请求#
#8032: ENH: 添加雷达处理中常见的泰勒窗
#8779: CI: 运行基准测试
#9361: ENH: 为 scipy.stats.kendalltau() 添加 Kendall tau-a 和 tau-c 变体
#11068: ENH: 为 scipy.signal 添加 correlation_lags 函数
#11119: ENH: 添加 Cramer-von-Mises (单样本) 检验到 scipy.stats
#11249: ENH: optimize: 插值分解冗余消除…
#11346: ENH: 使用 FFT 添加快速 Toeplitz 矩阵乘法
#11413: ENH: 多元 t 分布 (stale)
#11563: ENH: stats.kendalltau() 中样本大小 > 171 的精确 p 值
#11691: ENH: 为 linprog 添加一组反转函数
#12043: ENH: optimize: 将 HiGHS 方法添加到 linprog - 续
#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: 修复 str + bytes 错误
#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: EHN: 更新 SuperLU
#12244: MAINT: stats: 避免 ncx2.pdf 中虚假的警告
#12245: DOC: 修复 scipy.ndimage.spline_filter1d 中模式的错误默认值
#12248: MAINT: 清理 pavement.py
#12250: ENH: 将 csr_matrix() 替换为 tocsr() 并补充文档字符串
#12253: TST, CI: 开启 codecov 补丁差异
#12259: MAINT: 删除重复的导入循环测试
#12263: ENH: 重命名 LocalSearchWrapper 边界
#12265: BUG optimize: 在 lsq_linear 中接受 np.matrix
#12266: BUG: 修复 dual annealing accept_reject 计算中的括号错误
#12269: MAINT: 在错误消息中包含不匹配的形状。
#12279: MAINT: `__array__` 和数组协议不能用于 sparse。
#12281: DOC: 更新 wheel DL 文档
#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 bug 的 hack
#12356: ENH: 更快的 scipy.sparse.block_diag 实现 (#9411…
#12357: MAINT,TST: 更新并运行 scipy/special/utils/convert.py
#12358: TST: 检查 mstat.skewtest p 值
#12359: TST: 带 int64 indptr 和索引的稀疏矩阵测试
#12363: DOC: CloughTocher2DInterpolator 中的引用。
#12364: DOC: `sparse_distance_matrix` 和 `count_neighbors` 示例
#12371: MAINT, CI: 升级到最新的稳定 OpenBLAS
#12372: MAINT: 对 (c)KDTree 测试进行次要清理
#12374: DEP: 废弃 `distance.wminkowski`
#12375: ENH: 添加 minkowski 距离 p=1,2 的快速路径并支持…
#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: 从代码库中删除“blacklist”术语
#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: 在poisson分布中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: 为 `scipy.fft` 添加 norm={“forward”, “backward”}
#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像函数一样工作的hack
#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 docs, moment,… 的问题
#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: optimize: 尝试修复 linprog 方法特定文档
#12664: BUG: stats: 修复 logistic 对数pdf 在大负值下的问题…
#12666: MAINT: 静态分析修复
#12667: ENH: 为Rotation类添加修正罗德里格斯参数
#12670: DOC: 更新伽马分布的文档
#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: 添加不对称拉普拉斯连续分布
#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: 修复 Issue #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 deps 多行
#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: 将 'versionadded' 添加到 cramervonmises 文档字符串。
#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: 澄清使用 sos 作为 iirdesign 的输出类型可能会…
#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: 修复cluster文档中的拼写错误
#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 -> Examples中的 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: Zoom 调整大小更新
#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 上 NaN 的 factorial()
#13123: BLD: 为语言标准版本测试指定文件扩展名
#13128: TST: 跳过 ODR 的 Fortran I/O 测试
#13130: TST: 在Python 3.10上跳过 factorial() float测试
#13136: CI:添加python dbg运行到GH Actions
#13138: CI: 将 coverage, 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: 修复 stable rvs 中的拼写错误,根据 gh-12870
#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: 消除位置偏移/非中心性的歧义
#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: optimize: 修复 `test_show_options` 的重复键错误
#13192: BUG:linalg: 为gejsv封装器添加overwrite选项
#13194: BUG: slsqp 应该能够使用 rel_step
#13199: [跳过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 向后移植