SciPy 1.16.0 发布说明#

SciPy 1.16.0 是 6 个月辛勤工作的结晶。它包含许多新功能、大量错误修复、改进的测试覆盖率和更好的文档。此版本中有许多弃用和 API 更改,这些都将在下文记录。鼓励所有用户升级到此版本,因为它包含大量的错误修复和优化。在升级之前,我们建议用户检查自己的代码是否使用了已弃用的 SciPy 功能(为此,请使用 python -Wd 运行您的代码并检查 DeprecationWarning)。我们的开发重点现在将转移到 1.16.x 分支上的错误修复版本,以及在主分支上添加新功能。

此版本需要 Python 3.11-3.13 和 NumPy 1.25.2 或更高版本。

本次发布的亮点#

新功能#

scipy.io 改进#

scipy.integrate 改进#

scipy.interpolate 改进#

scipy.linalg 改进#

  • scipy.linalg 命名空间中几乎所有接受数组参数的函数现在都支持将 N 维数组作为批次处理。有关详细信息,请参阅 批量线性运算

  • scipy.linalg.sqrtm 已用 C 语言重写,性能得到提高。如果可能,它还会更努力地为实值输入返回实值结果。有关更多详细信息,请参阅函数文档字符串。在此版本中,输入参数 disp 和可选输出参数 errest 已弃用,并将在四个版本后删除。类似地,在将底层算法更改为递归后,blocksize 关键字参数无效,并将在两个版本后删除。

  • ?stevd, ?langb, ?sytri, ?hetri?gbcon 的包装器已添加到 scipy.linalg.lapack

  • scipy.linalg.eigh_tridiagonal 的默认驱动程序已得到改进。

  • scipy.linalg.solve 现在可以估计倒数条件数,并且矩阵范数计算更高效。

scipy.ndimage 改进#

scipy.optimize 改进#

  • COBYLA 已更新为使用来自 PRIMA 包的新 Python 实现。PRIMA 实现 修复了旧的 Fortran 77 实现中的许多错误。此外,它平均导致 更少的功能评估,但这取决于问题,对于某些问题,它可能导致更多的功能评估或不那么理想的结果。对于这些情况,用户可以尝试修改由 rhobegtol 分别给出的初始和最终信任区域半径。更大的 rhobeg 可以帮助算法在开始时迈出更大的步子,而更小的 tol 可以帮助它继续并找到更好的解决方案。有关更多信息,请参阅 PRIMA 文档

  • scipy.optimize.minimize 的几种方法,以及 scipy.optimize.least_squares 函数,都增加了一个 workers 关键字。这允许通过类似 map 的可调用对象(例如 multiprocessing.Pool)并行化一些计算。这些并行化机会通常发生在数值微分期间。当目标函数计算成本很高时,这可以大大加快最小化速度。

  • scipy.optimize.least_squareslm 方法现在接受 jac 关键字的 3-pointcs

  • SLSQP Fortran 77 代码已移植到 C。现在使用此方法时,约束乘数通过返回的 OptimizeResult 对象的 multiplier 关键字暴露给用户。

  • NNLS 代码已纠正并用 C 重写,以解决 1.15.x 中引入的性能退化问题。

  • 当使用 newton_krylov 方法时,scipy.optimize.root 现在会针对无效的内部参数发出警告。

  • 使用 method='L-BFGS-B' 进行最小化的返回值现在具有更快的 hess_inv.todense() 实现。时间复杂度已从立方降至二次。

  • scipy.optimize.least_squares 添加了一个新的 callback 参数,适用于 trfdogbox 方法。callback 可用于跟踪每一步的优化结果或提供自定义的停止条件。

scipy.signal 改进#

scipy.sparse 改进#

scipy.spatial 改进#

scipy.stats 改进#

数组 API 标准支持#

SciPy 最近版本中的多个子模块已添加对 NumPy 以外的数组库的实验性支持。请考虑通过设置环境变量 SCIPY_ARRAY_API=1 并提供 PyTorch、JAX、CuPy 或 Dask 数组作为数组参数来测试这些功能。

scipy.statsscipy.specialscipy.optimizescipy.constants 中的许多函数现在都提供了记录兼容数组和设备类型以及对懒数组和 JIT 编译支持的表格。SciPy 1.16.0 中支持的新功能和添加支持的旧功能包括:

SciPy 1.16.0 中具有扩展数组 API 支持的功能(通常是改进的 JAX 和 Dask 支持)包括:

SciPy 现在有一个 CI 作业,可以测试 GPU (CUDA) 支持,因此在 GPU 上使用 PyTorch、CuPy 或 JAX 数组与 SciPy 现在更加可靠。

已弃用的功能#

已过期的弃用#

  • scipy.sparse.conjtransp 已被移除。请改用 .T.conj()

  • 选项 quadrature='trapz' 已从 scipy.integrate.quad_vec 中移除,并且 scipy.stats.trapz 已移除。在这两种情况下都请改用 trapezoid

  • 当参数为非整数时,scipy.special.combscipy.special.perm 现在会在 exact=True 时引发错误。

  • 已从 scipy.stats.linregress 中移除了对从单个参数 x 推断两组测量值的支持。数据必须分别指定为 xy

  • scipy.stats.power_divergencescipy.stats.chisquare 中对 NumPy 掩码数组的支持已移除。

  • 非公共命名空间(例如 scipy.sparse.basescipy.interpolate.dfitpack)中的大量函数已被清理。它们以前已经发出了弃用警告。

向后不兼容的更改#

  • scipy.linalg 中有几个用于求解线性系统(例如 solve)的函数,文档中说明 RHS 参数必须是 1D 或 2D,但当 RHS 参数具有超过两个维度时,并不总是引发错误。现在,根据 批量线性运算 中指定的规则处理多维右侧。

  • scipy.stats.bootstrap 现在在执行计算之前,会明确将 data 的元素广播到相同的形状(忽略 axis)。

  • 通过 from scipy.signal import * 导入的几个子模块名称不再可用,但仍可直接导入,详细信息请参阅 scipy/scipy-stubs#549

其他更改#

  • 附带发布了一个新的 scipy-stubs 版本(v1.16.0.0)。

  • 移除了 scipy._libscipy.sparse 的内部依赖,这缩短了许多其他 SciPy 子模块的导入时间。

  • 对无锁 CPython 的支持得到改进:修复了 scipy.special 中最后已知的线程安全问题,并且 CI 作业现在使用 pytest-run-parallel 来防止回归。

  • 增加了对 spin 作为开发者 CLI 的支持,包括对可编辑安装的支持。SciPy 特定的 python dev.py CLI 将在下一个发布周期中移除,转而使用 spin

  • 自带的 Qhull 库已从 2019.1 版升级到 2020.2 版。

  • scipy.special 中的大量 C++ 代码已移至新的仅头文件库 xsf。该库作为 git 子模块重新包含在 SciPy 源代码树中。

  • SciPy 某些函数返回的类似 namedtuple 的 bunch 对象现在与 polars 库的兼容性得到了改善。

  • scipy.stats.wrapcauchyrvs 方法的输出现在映射到 0 和 2 * pi 之间的单位圆。

  • scipy.optimize.least_squareslm 方法现在对函数评估的最大次数 max_nfev 有不同的行为。lm 方法的默认值已更改为 100 * n,适用于可调用和数值估计的雅可比矩阵。此函数评估限制不包括用于任何雅可比矩阵数值估计的评估。以前,使用估计的雅可比矩阵时,默认值为 100 * n * (n + 1),因为该方法包括估计中使用的评估。此外,对于 lm 方法,用于雅可比近似的函数调用次数不再包含在 OptimizeResult.nfev 中。这使得 lmtrfdogbox 的行为保持一致。

作者#

  • 姓名(提交数)

  • h-vetinari (4)

  • aiudirog (1) +

  • Anton Akhmerov (2)

  • Thorsten Alteholz (1) +

  • Gabriel Augusto (1) +

  • Backfisch263 (1) +

  • Nickolai Belakovski (5)

  • Peter Bell (1)

  • Benoît W. (1) +

  • Evandro Bernardes (1)

  • Gauthier Berthomieu (1) +

  • Maxwell Bileschi (1) +

  • Sam Birch (1) +

  • Florian Bourgey (3) +

  • Charles Bousseau (2) +

  • Richard Strong Bowen (2) +

  • Jake Bowhay (127)

  • Matthew Brett (1)

  • Dietrich Brunn (53)

  • Evgeni Burovski (254)

  • Christine P. Chai (12) +

  • Gayatri Chakkithara (1) +

  • Saransh Chopra (2) +

  • Omer Cohen (1) +

  • Lucas Colley (91)

  • Yahya Darman (3) +

  • Benjamin Eisele (1) +

  • Donnie Erb (1)

  • Sagi Ezri (58) +

  • Alexander Fabisch (2) +

  • Matthew H Flamm (1)

  • Karthik Viswanath Ganti (1) +

  • Neil Girdhar (1)

  • Ralf Gommers (162)

  • Rohit Goswami (4)

  • Saarthak Gupta (4) +

  • Matt Haberland (326)

  • Sasha Hafner (1) +

  • Joren Hammudoglu (11)

  • Chengyu Han (1) +

  • Charles Harris (1)

  • Kim Hsieh (4) +

  • Yongcai Huang (2) +

  • Lukas Huber (1) +

  • Yuji Ikeda (2) +

  • Guido Imperiale (105) +

  • Robert Kern (2)

  • Harin Khakhi (2) +

  • Agriya Khetarpal (4)

  • Daniil Kiktenko (1) +

  • Kirill R. (2) +

  • Tetsuo Koyama (1)

  • Jigyasu Krishnan (1) +

  • Abhishek Kumar (2) +

  • Pratham Kumar (3) +

  • David Kun (1) +

  • Eric Larson (3)

  • lciti (1)

  • Antony Lee (1)

  • Kieran Leschinski (1) +

  • Thomas Li (2) +

  • Yuxi Long (2) +

  • Christian Lorentzen (2)

  • Loïc Estève (4)

  • Panos Mavrogiorgos (1) +

  • Nikolay Mayorov (2)

  • Melissa Weber Mendonça (10)

  • Michał Górny (1)

  • Miguel Cárdenas (2) +

  • Swastik Mishra (1) +

  • Sturla Molden (2)

  • Andreas Nazlidis (1) +

  • Andrew Nelson (209)

  • Parth Nobel (1) +

  • Nick ODell (9)

  • Giacomo Petrillo (1)

  • Victor PM (10) +

  • pmav99 (1) +

  • Ilhan Polat (74)

  • Tyler Reddy (128)

  • Érico Nogueira Rolim (1) +

  • Pamphile Roy (10)

  • Mikhail Ryazanov (6)

  • Atsushi Sakai (9)

  • Marco Salathe (1) +

  • sanvi (1) +

  • Neil Schemenauer (2) +

  • Daniel Schmitz (20)

  • Martin Schuck (1) +

  • Dan Schult (33)

  • Tomer Sery (19)

  • Adrian Seyboldt (1) +

  • Scott Shambaugh (4)

  • ShannonS00 (1) +

  • sildater (3) +

  • Param Singh (1) +

  • G Sreeja (7) +

  • Albert Steppi (133)

  • Kai Striega (3)

  • Anushka Suyal (2)

  • Julia Tatz (1) +

  • Tearyt (1) +

  • Elia Tomasi (1) +

  • Jamie Townsend (2) +

  • Edgar Andrés Margffoy Tuay (4)

  • Matthias Urlichs (1) +

  • Mark van Rossum (1) +

  • Jacob Vanderplas (2)

  • David Varela (2) +

  • Christian Veenhuis (3)

  • vfdev (1)

  • Stefan van der Walt (2)

  • Warren Weckesser (5)

  • Jason N. White (1) +

  • windows-server-2003 (5)

  • Zhiqing Xiao (1)

  • Pavadol Yamsiri (1)

  • Rory Yorke (3)

  • Irwin Zaid (4)

  • Austin Zhang (1) +

  • William Zijie Zhang (1) +

  • Zaikun Zhang (1) +

  • Zhenyu Zhu (1) +

  • Eric Zitong Zhou (11) +

  • Case Zumbrum (2) +

  • ਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (45)

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

1.16.0 关闭的问题#

  • #4800: ENH: ndimage.median_filter: 行为与 NaN

  • #4878: ENH: ndimage.median_filter: 过度内存使用

  • #5137: ENH: ndimage.generic_filter: 函数返回更高维度的…

  • #5435: savemat 静默丢弃以“_”开头的条目

  • #5451: ENH: linalg.solve: 支持广播

  • #6052: savemat 不保存以下划线开头的键

  • #6606: BUG: signal.bilinear: 无法处理前导零

  • #6689: ENH: optimize: 考虑使用 NLopt 版本的 slsqp

  • #6755: ENH: ndimage.percentile_filter: 采用多个百分位数

  • #7518: DOC: optimize: fmin_slsqp 中 accuracy 的含义未文档化

  • #7818: ENH: ndimage.uniform_filter: 将 NaN 扩展到…

  • #8140: 稀疏 LU 分解无法求解复数右侧…

  • #8367: ENH: stats.mvndst: 使其线程安全

  • #8411: betainc 中 a=0, b=3 和 x=0.5 时为 NaN

  • #8916: ENH: ndimage.generic_filter: 在大图像上速度慢

  • #9077: maximum_filter 与 NaN 不对称

  • #9841: ENH: linalg: 第 0 维必须固定为 1 但得到 2(实数…

  • #9873: ENH: ndimage: 多数投票滤波器

  • #10416: ENH: optimize.minimize: slsqp: 当工作数组…时给出更好的错误

  • #10793: BUG: integrate: solve_ivpodeintlsoda 有…

  • #11312: BUG: signal.cont2discrete 未按文档处理 lti 实例

  • #11328: Scipy 无法读取管道 wav 文件

  • #12133: 如何定义新的分布?

  • #12544: signal.spectral._triage_segments 不支持元组窗口…

  • #12994: ENH: linalg.sqrtm: 高效处理上三角矩阵

  • #13577: 将 scipy.signal.spectral._spectral_helper 拆分为两个以支持…

  • #13666: ENH: invgauss.pdf 在 mu=infinity 时应返回正确输出

  • #13788: scipy.signal.resample 的文档应说明在…时使用什么

  • #13789: scipy.signal.decimate 的文档没有说明在…时使用什么

  • #13823: BUG: signal.bilinear: 不适用于复数值数组

  • #13914: DOC: sparse.csgraph.shortest_path: 前驱数组包含…

  • #13952: fmin_cobyla 结果违反约束

  • #13982: ENH: linalg.eigh_tridiagonal: 分治选项

  • #14394: ENH: optimize.slsqp: 返回拉格朗日乘数

  • #14569: BUG: signal.resample: dtypes 之间不一致

  • #14915: BUG: optimize.minimize: 约束导致损坏/段错误

  • #15153: BUG: signal.resample: tdatetime[ns] 时不正确…

  • #15527: BUG: optimize: COBYLA 在某些 CPU 上挂起

  • #16009: BUG: act 在 GHA 本地 GitHub Actions CI 运行时失败

  • #16142: ENH: 修复 scipy.stats.multivariate_normal.cdf() 中的随机状态

  • #16203: BUG: scipy.io.savemat 丢弃以数字开头的嵌套名称

  • #16234: BUG: _superluobject.c 中存在内存泄漏,当 ENUM_CHECK 未…

  • #16452: 基于 doit 的开发接口弄乱了 pdb 命令历史(在某些情况下…

  • #17546: ENH: 为 ndimage.generic_filter 添加“valid”模式

  • #17787: BUG: RectBivariateSpline 在平滑…时出现 erratic 结果

  • #17891: BUG: 多个分布中整数性检查不一致

  • #17968: ENH: 使用 1D 窗口方法创建 2D FIR 滤波器

  • #18046: BUG: dev.py 在 GHA Windows CI 环境中不起作用…

  • #18105: ENH: 优化 LbfgsInvHessProduct.todense(),速度提高 10 倍…

  • #18118: ENH: COBYLA 的 Fortran 77 实现存在错误且具有挑战性…

  • #18214: DOC: eigsh 中“OP”和“OPinv”的定义不一致

  • #18346: DOC: optimize: l_bfgs_b: 将 maxitermaxfun 设置为…

  • #18437: ENH: ndimage.generic_filter: 支持复杂输入

  • #18740: BUG: scipy.optimize.bisect 对非常小的…给出不正确的结果

  • #18866: MAINT: cluster 中数组 API 支持的后续操作

  • #18951: ENH: 改进 python dev.py test 体验,由 imp 引起…

  • #18998: BUG: dev.py 在 site-packages 和 Python 安装…方面存在问题

  • #19254: ENH: spatial.transform: 用…覆盖正确的刚体变换

  • #19362: BUG: optimize: SLSQP 生成的警告无用

  • #19415: BUG: linalg.sqrtm 结果在 1.11.1 和…版本之间不同

  • #19459: BUG: optimize.least_squares 给出比 optimize.leastsq 差的结果…

  • #20219: BUG: sqrtm 回归测试失败

  • #20366: ENH: Yens 算法改进和增强

  • #20608: BUG: refguide-check 错误地标记了对公式的引用…

  • #20622: DOC: signal: 添加交叉谱图应用示例

  • #20806: Windows CI 作业中新的 pytest-fail-slow 检查失败

  • #20972: BUG: special.chdtrc: 当两个自由度…时返回 1.0

  • #20999: BUG: ndimage.zoom: 缩放因子为 1 时输出错误

  • #21020: DOC: signal: 绘制离散响应时使用 where='post'

  • #21095: DOC: RegularGridInterpolator 使用半下舍入而不是…

  • #21102: RFC/ENH?: optimize.curve_fit: 选择使用全局优化…

  • #21293: DOC: stats.qmc.discrepancy: 澄清与参考的偏差

  • #21317: 错误: special.gammainc: NaN输入时返回有限结果…

  • #21323: 文档: 使用Sphinx 8构建失败

  • #21341: 文档: signal.correlate: 当x…时,公式与行为不匹配

  • #21484: 弃用: optimize.nnls: 弃用不起作用的atol参数

  • #21531: 维护: stats.dirichlet_multinomial: 将n放宽到>=0

  • #21547: 样式/开发: 修复并启用lint规则UP038

  • #21606: 改进: stats: 带有负指数的通用幂律

  • #21649: 请求评论: 将特殊函数标量核分离到单独的…

  • #21692: 错误: optimize.shgo: 使用jac=True时不起作用

  • #21717: 文档: 推荐使用assert_allclose而不是xp_assert_close

  • #21740: 持续集成: 添加一个启用GPU的CI任务

  • #21764: 改进: linalg.lapack: 添加对称求解器

  • #21844: 改进: linalg: 封装?gbcon/?langb 并在linalg.solve中使用

  • #21879: 错误: scipy.datasets 在readthedocs上因错误403而失败…

  • #21971: 改进: ndimage.median_filter: 扩展dtype支持?

  • #21972: 样式: 修复并启用lint规则UP031

  • #21986: 改进: optimize.root: 当内部参数被忽略时发出警告…

  • #21995: 错误: optimize.curve_fit 使用method='lm'时无法确定…

  • #21999: 改进: io.mmread: 加载时提供更好的错误消息…

  • #22000: 文档: ndimage.median_filter: 记录nan行为...

  • #22011: 错误: interpolate.Akima1DInterpolator: 后续调用时值不同…

  • #22044: 测试: optimize.elementwise.bracket_minimum: CuPy失败

  • #22045: 文档: stats: 澄清分布支持不受影响…

  • #22051: 错误: AttributeError: 模块‘numpy’没有属性‘AxisError’…

  • #22054: 错误: ndimage, 数组类型: minimum_positionextrema

  • #22055: 文档: ndimage.minimum and maximum: 不正确的返回类型

  • #22057: 文档: stats.order_statistic: docstring缺少“Returns”…

  • #22065: 文档: sparse: 几个函数缺少“Returns”部分…

  • #22072: 文档: PchipInterpolator: 缺少integrate函数

  • #22086: 维护: signal: macOS上构建警告(sprintf

  • #22093: 文档: integrate.quad: 使用Gauss-Kronrod而不是Curtis-Clenshaw?

  • #22136: 文档: linalg.matrix_balance: 公式未渲染

  • #22144: 查询: optimize.minimize: trust_constr不避免非线性…

  • #22163: 文档: 更新scipy模块docstring以支持惰性加载

  • #22164: 维护: 撤销mypy中被忽略的错误

  • #22195: 查询: optimize.basinhopping: 如果…则不接受最低最小值

  • #22224: 维护: 从版权信息中移除结束年份

  • #22252: 维护: 修复scipy.signal._waveforms.py中的dtype检查

  • #22258: 错误: 使用大端序float32/64构造稀疏矩阵时引发…

  • #22263: 错误: linalg.solve在A为奇异…时不会引发错误

  • #22265: 错误: linalg: hecon 在某些较低…的情况下错误地返回NaN

  • #22271: 查询: 空的Rotation在scipy=1.15中不被允许

  • #22282: 查询/开发: IDE中使用SCIPY_ARRAY_API时的测试失败

  • #22288: 查询: Pyright在IDE中引发错误/警告

  • #22294: 文档: source现在链接到文件顶部,而不是文件内的位置…

  • #22303: 改进: stats.special_ortho_group: 改进和简化

  • #22309: 文档: optimize.elementwise.find_minimum: 协调文档/实现…

  • #22328: 查询: stats.beta.fit: 合理数据上的FitError

  • #22338: 查询: Intellisense自动补全不适用于spatial.transform.Rotation

  • #22361: 错误: 插值测试TestSmoothingSpline.test_compare_with_GCVSPL…

  • #22363: 错误: 特殊测试TestHyp2f1.test_region3[hyp2f1_test_case23]…

  • #22367: 查询/类型提示: sparse: Pylance在toarray()之后报告无法访问

  • #22378: 文档/测试: interpolate, signal: smoke-docs失败

  • #22382: 改进: sparse.spmatrix: 允许快速导入

  • #22395: 错误: special: TestSystematic.test_besselj_complex失败…

  • #22403: 文档: gaussian_kdebw_method='silverman'偏离…

  • #22415: macOS x86-64 Accelerate wheel构建中两次TestBatch失败…

  • #22429: 文档: integrate: 教程中缺少向量的粗体字体

  • #22437: 文档: 行为准则链接已失效

  • #22449: 错误: sparse.csgraph.construct_dist_matrix: 缓冲区dtype不匹配

  • #22450: 查询: namedtuple和生成的对象之间的区别…

  • #22461: 文档: freqz_sos: 声称在0.19中引入;没有提及…

  • #22470: 错误: lfiltica[0] != 1的处理与lfilter不同...

  • #22485: 文档: 从教程页面中移除指向参考指南的链接

  • #22488: 文档: interpolate.lagrange: 朗格朗日函数正在使用…

  • #22495: 错误: 特殊测试TestHyp2f1.test_region4[hyp2f1_test_case42]…

  • #22501: 错误: min_weight_full_bipartite_matchingcoo_matrix失败…

  • #22508: 文档: 线性代数(scipy.linalg)页面中符号不一致

  • #22534: 持续集成: */tests/test_extending因回归而失败…

  • #22559: 错误: ndimage: Dask 2025.2.0中的数值回归

  • #22565: 错误: stats.multinomial.pmf: 结果不一致?

  • #22581: 文档: stats.gaussian_kde: 澄清factor的含义

  • #22591: 错误: sparse.coo: upcastImportError

  • #22601: 错误: special.logsumexp: 当一个元素…时的相位不一致

  • #22626: 错误: scipy.stats: tmin/tmax: 大整数的精度损失

  • #22646: 持续集成/文档: CloughTocher2DInterpolator: 文档构建中的UserWarning

  • #22659: 错误: spatial: RigidTransform 不支持零长度…

  • #22692: 文档: interpolate.make_smoothing_spline: 示例图使用…

  • #22700: 持续集成: 新的失败: 自由线程中发生段错误, linprog无效…

  • #22703: 文档: integrate: quad_vec info返回类型是_Bunch而不是…

  • #22767: 错误: test_cython在ARM64 Windows上使用clang-cl失败

  • #22768: 文档/开发: 对Cirrus CI的过时引用

  • #22769: 改进: optimize: 为SLSQP返回边界乘数

  • #22775: 改进: 使用cython共享工具模块

  • #22791: 错误: optimize.nnls: 在i686(32位)机器上不稳定

  • #22800: 错误: signal.windows.kaiser_bessel_derived 使用array

  • #22881: 文档: 更新工具链路线图中NumPy和Python的最低版本

  • #22904: 错误: 错误使用__builtin_prefetch()

  • #22912: 错误: optimize: SyntaxWarning: 'break' in a 'finally' block

  • #22920: 错误: check_test_name 失败并出现UnicodeDecodeError

  • #22921: 文档: 澄清Apple Accelerate Framework支持的状态

  • #22931: 错误: interpolate._dierckx: 如果…则check_array()可能崩溃

  • #22942: 测试: special: test_compiles_in_cupy已损坏

  • #22945: 测试: 嵌套数组在array-api-strict git tip中失败

  • #22951: 错误: stats.wrapcauchy: 输出没有环绕单位圆

  • #22956: 错误: special._ufuncs._ncx2_pdf: 解释器在极端…时崩溃

  • #22965: 错误: 使用回调函数时找不到属性“nit”…

  • #22981: #22886后指定worN时freqz的bug

  • #23035: 测试: theilsope和siegelslope相关的测试在PyPy3.11上失败…

  • #23036: 错误: signal.csd: 对于不同大小的输入不进行零填充…

  • #23038: 文档: linalg.toeplitz 不支持像1.16.0rc1…一样进行批处理

  • #23046: 改进: vectorized_filter: 标量size的特殊情况…

  • #23061: 文档: OpenBLAS和LAPACK的SPDX标识符错误

  • #23068: 错误: sparse: !=运算符与csr矩阵

  • #23109: 错误: spatial.distance.cdist: Yule度量中的错误结果

  • #23169: 错误: special.betainc: 当b=0时错误地计算为nan

  • #23184: 错误: 1.16.x系列中的最小Python版本强制执行?(以及main)

  • #23186: 错误: scipy.optimize minimize例程不显示信息日志…

1.16.0的拉取请求#

  • #18375: 改进: signal: 添加firwin_2d滤波器

  • #20610: 改进: signal.ShortTimeFFT: 确定任意双窗口

  • #20639: 改进: stats.rankdata: 添加数组API标准支持

  • #20717: 改进: 加速sparse.csgraph.dijkstra 2.0

  • #20772: 改进: 数组类型, signal: 将相关性计算委托给CuPy和JAX…

  • #20950: 改进: spatial: 通过替换np.einsum…来加速Rotation.apply

  • #21180: 改进: sparse: DIA格式的高效算术运算

  • #21233: 改进: stats.boxcox_llf: 为n维数组向量化

  • #21270: 维护: 将boost_math设为subproject

  • #21462: 改进: linalg.eig: 支持批量输入

  • #21482: 维护/开发: 使用Sphinx 8进行文档构建

  • #21557: 改进: stats._continued_fraction: 元素级,数组API…

  • #21628: 错误:signal: 修复将lti作为系统传递给cont2discrete的问题

  • #21674: 开发: 使用spin

  • #21684: 维护: stats.dirichlet_multinomialn放宽到>= 0

  • #21713: 改进: signal: 为lfilter等添加数组API支持/委托…

  • #21783: 改进: signal.windows: 添加数组API支持(第二版)

  • #21863: 持续集成: macOS运行使用macos-15

  • #21987: 样式: 修复lint规则UP031

  • #22008: 改进: signal.vectorstrength: 添加数组API标准支持

  • #22010: 发布: 设置版本为1.16.0.dev0

  • #22012: 维护: 将NumPy最低版本提升至1.25.2,Python最低版本提升至3.11

  • #22013: 开发: gh_lists: 修复星号净化问题

  • #22015: 开发: lint: 添加lint所有文件的选项

  • #22019: 维护: signal: 移除tempita模板

  • #22042: 文档, 维护: 为scipy.stats…添加"jupyterlite_sphinx_strip"标签

  • #22046: 测试: optimize: 修复bracket_minimum的CuPy失败

  • #22052: 文档: sparse.linalg: 在 splu 中添加关于复数矩阵的说明…

  • #22056: 维护: stats.wilcoxon: 修复访问 np.AxisError 的尝试

  • #22061: 错误修复: ndimage: 返回时转换数组标量

  • #22062: 维护: _lib: 共同引入 array-api-extra 和 array-api-compat

  • #22064: 维护: sparse.linalg._isolve: 移除后处理函数

  • #22068: 改进: optimize: 迁移到使用 sparray

  • #22070: 改进: _lib: JAX 支持(非即时编译)

  • #22071: 维护: 使用 ENUM_CHECK_NAME 以避免 _superluobject.c 中的内存泄漏

  • #22073: 弃用: sparse: 移除 conjtransp

  • #22074: 弃用: 移除剩余的 trapz 引用

  • #22075: 弃用: stats.linregress: 移除单参数用法

  • #22076: 错误修复: datasets: 为获取器添加头部以避免 403 错误

  • #22079: 弃用: stats: 从 power_divergence 中移除对掩码数组的支持…

  • #22087: 弃用: special: 对于 exact=True 的非整数类型引发错误…

  • #22088: 测试: optimize.elementwise.find_root: 重构测试以使用 find_root

  • #22089: 测试: optimize: 抑制来自 scikit-sparse 的不正确 sparray 警告

  • #22090: 改进: optimize: 迁移到 sparray(文档)

  • #22092: 维护: signal: 修复 MacOS 上的构建警告(sprintf

  • #22100: 弃用: signal.spline: 使用标准子模块弃用机制

  • #22101: 文档: 更新 statsintegrateoptimize,以及…

  • #22108: 持续集成: 仅在 Github 上运行“检出 scipy”和“检查跳过”…

  • #22110: 测试: linalg: 当 norm='I' 时使用矩阵的无穷范数

  • #22115: 文档: 发行说明: 确保目录链接到下方的标题

  • #22116: 文档: 更新插值路线图

  • #22122: 维护: signal.oaconvolve: 避免 xp <-> numpy 转换

  • #22125: 测试: stats: 确保测试是线程安全的

  • #22127: 改进: linalg: 为矩阵到标量函数添加批处理支持

  • #22130: 测试: ndimage: 测试中与 Array API 相关的外观调整

  • #22131: 测试: skip|xfail_xp_backends 忽略 reason=

  • #22132: 测试: 数组类型: 在测试中强制使用命名空间

  • #22133: 改进: linalg: 为接受单个…的函数添加批处理支持

  • #22140: 文档: linalg.matrix_balance: 将数学内容移至备注;确保其…

  • #22142: 改进: signal: 为 scipy.signal 添加 CuPy/JAX 委托

  • #22148: 测试: ndimage: 修复测试跳过中的拼写错误

  • #22152: 改进: stats.f_oneway: 为 Welch ANOVA 添加 equal_var

  • #22154: 改进: linalg.clarkson_woodruff_transform: 添加批处理支持

  • #22155: 改进: stats: 为相关函数添加 axis/nan_policy/keepdims/等支持…

  • #22157: 改进: linalg: 为剩余的 Cholesky 函数添加批处理支持

  • #22160: 弃用: interpolate: 移除私有模块中的附带导入

  • #22161: 文档, 维护: 通过 jupyterlite-sphinx 为交互式笔记本添加更新…

  • #22165: 改进: linalg: 为剩余的特征值函数添加批处理支持

  • #22166: 改进: linalg.block_diag: 添加批处理支持

  • #22169: 维护: sparse: 重构 CSC 以使用 CSR sparsetools

  • #22170: 改进: signal: 转换 symiirorder 和相关滤波器以使其工作…

  • #22172: 维护: 改进阶乘函数中的溢出处理

  • #22173: 文档: interpolate: 为 PchipInterpolator 添加缺失的 integrate 方法

  • #22174: 维护: optimize: 将 suppress_warnings 切换到 catch_warnings

  • #22176: 维护: special: 将 Faddeeva 移动到 xsf

  • #22179: 文档/开发: 在“从源代码构建”指南中提及 scipy-stubs

  • #22182: 测试: ndimage: 针对原地 out= 的 CuPy 调整

  • #22185: 改进: stats.tukey_hsd: equal_var=False 选项用于执行 Games-Howell…

  • #22186: 文档: interpolate: 添加关于 nearest 舍入规则的说明…

  • #22190: 维护: special: 将剩余的指数和对数函数迁移到 xsf

  • #22192: 改进: linalg: 为线性系统求解器添加批处理支持

  • #22196: 文档: 更新 scipy 模块的 docstring 以支持延迟加载

  • #22197: 改进: linalg.cossin: 添加批处理支持

  • #22198: 文档: basinhopping, 澄清 lowest_optimization_result 何时是…

  • #22201: 文档: 澄清 rv_continuous 文档中的支持行为

  • #22208: 改进: io.wavfile: 读取不可寻址的文件

  • #22211: 文档: interpolate: 为 Akima1DInterpolator 添加缺失的 integrate 文档链接

  • #22212: 改进: linalg: 封装 ?gbcon

  • #22213: 错误修复: zpk2tf 在 k 为复数,p、z 为实数时正常工作

  • #22214: 测试: 使 PyTorch 默认 dtype 可配置

  • #22215: 改进: io: 当源…时抛出 FileNotFoundError 异常

  • #22216: 测试: TestBracketMinimum MPS 垫片

  • #22217: 改进: linalg: 封装 ?langb

  • #22219: 改进: _lib: 解混淆 _asarray 中的 jax.jit 崩溃

  • #22220: 维护: stats: 在(主要是)Array API…中替换非标准调用

  • #22221: 维护: linalg.leslie: 使用 _apply_over_batch

  • #22222: 改进: special/stats: 实现 xp 兼容的 stdtrit

  • #22226: 改进: signal.upfirdn: Array API 标准支持

  • #22227: 测试: linalg: 在 test_sy_hetrs 中添加缺失的 lower 参数

  • #22228: 改进: linalg.lapack: 封装 ?sytri 和 ?hetri

  • #22229: 维护: cluster: 移除不必要的命名空间更改

  • #22231: 改进: 为 optimize.least_squares 添加 callback

  • #22234: 维护: 正向移植 1.15.0 发行说明

  • #22237: 性能基准: sparse.csgraph.dijkstra: 添加性能基准

  • #22240: 改进: 数组类型: 添加 dask.array 支持

  • #22242: 维护: integrate.cubature: 修复未定义的 asarray 用法

  • #22243: 文档: sparse: random_array 使用 uint32 data_sampler 的 docstring 示例

  • #22251: 改进: linalg.solve: 使用 langb

  • #22255: 改进: cluster: JAX 支持(非即时编译)

  • #22256: 改进: special: JAX 支持(非即时编译)

  • #22259: 测试: signal: 修复 symiir 测试

  • #22260: 测试: 使 @pytest.mark.usefixtures("skip_xp_backends") 冗余

  • #22261: 测试: dev.py 静默忽略用户标记

  • #22262: 测试: 在所有 Array API 兼容模块中用 xp 标记所有测试

  • #22264: 维护: interpolate: 使 BSpline 在 C 中分配输出数组

  • #22266: 维护: linalg.solve: 当对角矩阵精确奇异时引发错误

  • #22267: 改进: spatial.transform: RigidTransform 的基线实现

  • #22268: 测试: 清理过时的 Array API fixtures

  • #22269: 文档: optimize.curve_fit: 添加关于更高级曲线拟合的说明

  • #22273: 改进: linalg.solve: 使用 gbcon

  • #22274: 改进: _contains_nan 用于延迟数组

  • #22275: 持续集成: 添加一个 GPU CI 作业

  • #22278: 错误修复: 通过返回线性插值器修复 Akima1DInterpolator

  • #22279: 测试: 为 GPU CI 故障添加跳过

  • #22280: 测试: _lib: 更惯用的条件跳过

  • #22281: 测试: special: 改进 JAX 上 stdtrit 的跳过消息

  • #22283: 错误修复: 修复 lsoda 的带状 Jacobian:odesolve_ivp

  • #22284: 错误修复: sparse: 改进不支持 dtype 的错误消息

  • #22289: 持续集成: 修复 GPU CI 作业的跳过/触发条件

  • #22293: 改进: 为 scipy.spatial.transform.Rotation 添加 __repr__ 方法

  • #22295: 文档: signal.ShortTimeFFT.nearest_k_p: 修复拼写错误

  • #22298: 维护: stats: 从 multivariate_normal.cdf 中移除 mvn fortran 调用

  • #22300: 维护: 从版权中移除结束年份

  • #22302: 维护: 移除未使用的库导入

  • #22304: 改进: stats.special_ortho_group: 加速,允许 1x1 和 0x0 正交…

  • #22305: 维护, 文档: 正向移植 1.15.1 发行说明

  • #22308: 测试: _lib: 使用 @jax.jit 运行测试

  • #22311: 测试: 将 pytest.xfail 替换为 skip/xfail_xp_backends

  • #22312: 改进: stats.Binomial: 使用新基础设施添加二项分布

  • #22313: 错误修复: signal.bilinear 处理复杂输入,并去除前导…

  • #22320: 测试: 数组类型: 集中封装命名空间

  • #22324: 改进: io: 为 savemat 添加无效字段名警告

  • #22330: 改进: sparse.csgraph.yen: 性能改进

  • #22340: 维护: linalg: 重组三对角线特征值例程

  • #22342: 改进: cluster: linkage 对 jax.jit 和 dask 的支持

  • #22343: 改进: signal.{envelope,resample,resample_poly}: Array API…

  • #22344: 错误修复: 修复 dpss 退化情况下的错误

  • #22348: 文档: 统一迭代稀疏…的 docstring 摘要行

  • #22350: 改进: 将 Fortran COBYLA 替换为 PRIMA 的 Python 版本

  • #22351: 文档: sparse.linalg.eigsh: 修复 OP…的不一致定义

  • #22352: 改进: stats.quantile: 添加 Array API 兼容的分位数函数

  • #22358: 维护: special.nctdtrit: 迁移到 boost

  • #22359: 维护: 从 #22162 中移除临时的 # type: ignore

  • #22364: 测试: 提高 TestHyp2f1.test_region3[hyp2f1_test_case23] 的容差

  • #22366: 文档: integrate: 修复 quad 文档以正确描述…

  • #22371: 改进: stats.make_distribution: 允许定义自定义分布

  • #22375: 文档: sparse.linalg: 修复 scipy.sparse.linalg._norm.py 中的 doctest

  • #22376: 文档: sparse.linalg: sparray 在 docstring 和 Sakurai…中的更新

  • #22379: 文档: interpolate.AAA: 在示例中添加“可能变化”

  • #22380: 文档: 将头部中指向 X 的链接替换为指向科学 Python…的链接

  • #22381: 维护: special: 清理 stirling2.h 中的一些内容

  • #22386: 弃用: optimize.nnls: 弃用未使用的 atol 参数

  • #22387: 文档: 添加示例以展示返回的 predecessors 矩阵的用法…

  • #22388: 文档: 修复 shortest_pathpredecessors 矩阵的文档…

  • #22389: 文档: 在新的…中添加“断言函数选择指南”文档

  • #22393: 测试: stats: 测试对 Array API 兼容掩码数组的支持

  • #22396: 文档: signal: 绘制离散响应时使用 where='post'…

  • #22397: 文档: spatial: 在 Rotation 类中添加了对 Davenport 角的提及…

  • #22398: 维护: special: 清理 special…中暴露的 os/warnings 模块

  • #22399: 测试: 移除针对已修复的 Cython 融合…的线程不安全跳过

  • #22401: 类型提示: 运行时可下标的 sparrayspmatrix 类型

  • #22406: 改进: linalg: 用 C 语言重写 sqrtm 并支持低级 nD

  • #22407: 维护: 移除 _lib -> ``sparse`` 依赖

  • #22411: 文档: stats.gaussian_kde: 澄清 Silverman 方法

  • #22413: 文档: stats: 编辑了 NIST 手册参考

  • #22416: 测试: linalg: 提高两个 TestBatch 测试的容差

  • #22419: 维护: special: 移除 libsf_error_state 共享库…

  • #22420: 测试: 在 skip_xp_backends 中使用单数 reason=

  • #22421: 错误修复: ndimage: binary_erosion 与广播输入

  • #22422: 维护: _lib: 使 array_namespace 接受标量…

  • #22425: 维护: special: 更新 betaincbetaincc 的处理方式…

  • #22426: 改进: linalg: 封装 ?stevd

  • #22427: 弃用: linalg: 弃用 signm、logm、sqrtm 的 disp 参数

  • #22428: 文档: 添加关于使版本切换器在发布…时正常工作的说明

  • #22430: 维护: cluster: 在 is_valid_linkage 中向量化测试

  • #22431: 文档: integrate: 修正教程格式

  • #22433: 错误修复: interpolate.RectBivariateSpline: 修复当…时 NaN 输出

  • #22434: 文档: integrate.tanhsinh: 移除对 _differentiate 的不正确引用

  • #22435: 维护: 更新到 array-api-extra git 最新版本

  • #22439: 维护: special: 为 log(1 - exp(x)) 添加 log1mexp

  • #22440: 文档: 修复 _dual_annealing.py 中的出版年份

  • #22441: 错误修复: special: 修复 gammaincnan 输入的处理不正确问题…

  • #22442: 文档: 修改了行为准则文档的链接

  • #22443: 文档: 更正了路径

  • #22445: 持续集成: 避免在 CI 中失败的 mpmath 预发布版本

  • #22448: 文档: optimize.elementwise.find_minimum: 修复文档中记载的终止…

  • #22452: 改进: linalg.eigh_tridiagonal: 添加 stevd 作为驱动程序并使…

  • #22453: 文档: 改进 dlsimdimpulsedstep...的 docstring

  • #22454: 错误修复: signal.ShortTimeFFT: 使属性 windual_win

  • #22455: 改进: stats.gstd: 添加 Array API 支持

  • #22456: 改进: stats: 为 power_divergence、chisquare 添加 nan_policy 支持

  • #22457: 测试: sparse: 为可下标类型添加测试

  • #22459: 文档: ndimage: 修复 ndimage.minimum…的错误返回类型文档

  • #22460: 维护: signal.csd: 放弃使用 _spectral_helper

  • #22462: 改进: stats.pearsonr: 两个简单(但实质性)的效率…

  • #22463: 文档: 更新 Halton 文档

  • #22464: 文档: 防止 A@x=b 变成 URL

  • #22467: 维护/测试: 处理 Dask PR 中的细节问题

  • #22469: 测试: stats: 提高 JAX 测试覆盖率

  • #22475: 错误修复: optimize.shgo: 将 options['jac'] 委托给 minimizer_kwargs['jac']

  • #22478: 改进: optimize: 为 BFGS、SLSQP、trust-constr 添加 workers kwarg

  • #22480: 持续集成: 再次使用 mpmath 预发布版本

  • #22481: 修复: 使用非默认轴修复 make_lsq_spline

  • #22483: 维护: spatial: 构建中缺少 Cython 类型

  • #22484: 增强: 允许 make_smoothing_spline 中进行批量处理

  • #22489: 维护: 与 NumPy 边界相关的简化

  • #22490: 增强: stats: 为大多数剩余的数组 API 添加 marray 支持…

  • #22491: 文档: stats: 重采样教程修正

  • #22493: 文档: 为 OptimizeWarning 添加文档字符串

  • #22494: 增强: _lib._make_tuple_bunch: 更像 `namedtuple`

  • #22496: 维护: stats.invgauss: 当 mu=inf 时返回正确结果

  • #22498: 测试: 提高 TestHyp2f1.test_region4[hyp2f1_test_case42] 中的容差

  • #22499: 文档: 移除教程页面中对参考指南的链接

  • #22504: 构建: 将 Clang 最低版本提升至 15.0,并提升 macOS 最低版本…

  • #22505: 增强: stats.quantile: 添加不连续 (HF 1-3) 和 Harrell-Davis…

  • #22507: 基准测试: 将 Benchmark.change_dimensionality 设为类变量

  • #22509: 文档: sparse.linalg: 添加 MatrixRankWarning 的解释

  • #22511: 修复: sparse.csgraph: 添加了将 coo 数组转换为 csc/csr 的支持…

  • #22514: 测试: special: 为 gammainc 及相关函数添加边界情况测试

  • #22516: 样式: 启用 lint 规则 UP038 并修复违规实例…

  • #22518: 文档: interpolate.FloaterHormannInterpolator: 修正拼写错误

  • #22519: 增强: 为 least_squares 添加 workers

  • #22520: 维护: 移除 scipy/signal/_waveforms.py 中多余的 dtype 检查

  • #22524: 增强:维护:优化: 使用 C 语言重写 SLSQP 和 NNLS

  • #22526: 文档: interpolate: 重新组织 API 列表

  • #22527: 文档: sparse: 为一些 _construct.py 函数添加返回部分

  • #22528: 文档: interpolate: 提高单变量插值器的可见性…

  • #22529: 文档: 更新 SciPy 核心开发者指南中的链接

  • #22530: 文档: interpolate: 改进单行描述

  • #22531: 文档: 1D/ND 插值/平滑例程中的批量处理

  • #22535: 文档: 更新稀疏矩阵路线图

  • #22536: 文档: io: 链接到 netcdf4-python

  • #22537: 文档: linalg: 修正不一致的符号

  • #22541: 插值教程: 讨论基和相互转换

  • #22542: 维护, 文档: 前向移植 1.15.2 发布说明

  • #22546: 文档: 为 _qhull.pyx 中的 QhullError 添加文档字符串 [仅文档]

  • #22548: 文档: interpolate.lagrange: 添加注释/参考;推荐…

  • #22549: 增强: 在 optimize._differentiable_functions.VectorFunct 中使用 workers 关键字…

  • #22552: 维护: sparse.csgraph: 如果 predecessors.dtype != 则引发错误…

  • #22554: 修复: lfiltica[0] != 1 的处理与 lfilter 不同...

  • #22556: 增强: optimize: 加速大型 LbfgsInvHessProduct.todense

  • #22557: 增强: 将 _lazywhere 替换为 xpx.apply_where

  • #22560: 增强: 允许使用 stats.make_distribut 创建的自定义分布的端点…

  • #22562: 文档: 修正拼写错误: MATLAB(R) -> MATLAB®

  • #22564: 测试: 在 pytest.ini 中添加缺失的自定义标记

  • #22566: 测试: skip_xp_backends(eager_only=True)

  • #22569: 持续集成: 修复 dev-deps 作业,不测试 Meson master

  • #22572: 测试: 跳过两个 Dask 失败的 ndimage 测试

  • #22573: 文档: sparse: 为 scipy.sparse 中的警告添加文档字符串

  • #22575: 增强: ndimage.vectorized_filter: 带有 generic_filter

  • #22579: 文档: signal.correlate: 改进注释部分

  • #22584: 测试: ndimage: 整理 skip_xp_backends

  • #22585: 维护: stats.multinomial: 关于归一化的 FutureWarning

  • #22593: 测试: 添加另一个缺失的自定义标记(fail_slow)到…

  • #22597: 增强: stats.make_distribution: 改进覆盖接口…

  • #22598: 维护: stats.bootstrap: 像其他统计函数一样广播

  • #22602: 文档: stats.pearsonr: 添加教程

  • #22603: 维护: _lib: 将 array_api_compat 版本提升到 1.11

  • #22605: 维护: signal: 清理不必要的垫片

  • #22606: 文档: 忽略 dict 子类文档字符串警告

  • #22607: 维护: special.logsumexp: 改进复杂无穷大的行为

  • #22609: 增强: stats: 生成共享数组 API 支持信息…

  • #22610: 增强: _lib.doccer: 简化和优化缩进循环

  • #22611: 维护: stats: 重写 gaussian_kde.integrate_box, 移除…

  • #22614: 维护: linalg: 修复构建输出中的 Cython lint 失败

  • #22616: 增强: stats: 在适当的地方使用 vecdotnonzero

  • #22618: 修复: 修复双四元数归一化过程

  • #22619: 文档: stats.gaussian_kde: 澄清 factor 的含义

  • #22621: 维护: sparse: 移除私有模块的附带导入

  • #22623: 增强: signal.convolve2d: 在 WoA 上的性能增强

  • #22624: 修复: stats: kde.integrate_box 缺少 rng 参数

  • #22625: 维护: 提升 array-api-compat 和 array-api-strict

  • #22628: 维护: stats.tmin/tmax: 确保在不合理情况下获得精确结果…

  • #22630: 维护: stats: tmin/tmax 调整

  • #22631: 文档: interpolate.BarycentricInterpolator: 文档改进

  • #22632: 维护: stats.multinomial: 使用依赖于 dtype 的容差

  • #22633: 增强: special: softmax / log_softmax 数组 API 支持

  • #22634: 测试: special: 微小的视觉调整

  • #22636: 维护: 修复 ncfdtri 的域检查

  • #22639: 增强: special: 在 Dask 和 jax.jit 上支持 support_alternative_backends

  • #22641: 增强: special: 为 rel_entr 添加 Dask 支持

  • #22645: 文档: stats.special_ortho_group: 更新算法描述

  • #22647: 维护: sparse: 重写 sparse._sputils.validateaxis 以集中化…

  • #22648: 维护: stats.quantile: 修正 p < minimum plotting 时的 quantile…

  • #22649: 文档, 持续集成: 修复 CloughTocher2DInterpolator 文档字符串的图例警告

  • #22650: 测试: stats: 标记 nct 拟合为 xslow

  • #22651: 维护: ndimage.zoom: 当 zoom=1 时消除噪声

  • #22653: 文档: 将 COBYQA 添加到局部优化器比较表

  • #22658: 持续集成: 清理自由线程作业,添加使用 pytest-run-parallel 的新作业

  • #22661: 测试: 修复 Guix 上的一些测试失败和内存过度使用问题

  • #22666: 维护: interpolate: 将 NdBSpline 评估移至 C 语言

  • #22667: 开发: 限制 environment.yml 中 Sphinx 的版本

  • #22668: 文档: 记录常量模块的数组 API 支持和…

  • #22669: 测试: constants: 整理测试

  • #22671: 维护: 使用 tach 强制模块化

  • #22675: 增强: stats: 改进自定义分布的支持/域端点…

  • #22676: 增强: stats.mode: 向量化实现

  • #22677: 维护: 在 xp_capabilities_tabl 中使用函数句柄而不是自定义字符串…

  • #22683: 维护: 移除过时的 xp_ 函数,elementwise 上的 xp.asarray

  • #22686: 测试/文档: xp_capabilities 中的 lazy_xp_backends

  • #22687: 维护: 将数组 API 提升到 2024.12

  • #22691: 文档: signal: 修复 freqz_sossosfreqz 文档字符串

  • #22694: 文档: interpolate.make_smoothing_spline: 提高示例可见性

  • #22695: 维护: 改进 dtype 处理,现在 xp.result_type 接受…

  • #22696: 维护: spatial: RigidTransform 中支持空情况

  • #22698: 维护/文档: 更新 expectile() 的不完整示例

  • #22701: 测试: optimize: 添加更多测试

  • #22710: 文档: integrate.quad_vec: 返回对象不是字典

  • #22711: 文档: stats: 扩展 random_correlation 矩阵的文档

  • #22712: 维护: 提升 array-api-extra 到 0.7.0

  • #22713: 文档: linalg.solve: 澄清对称性要求

  • #22714: 维护: ndimage.maximum_filter: 推荐 vectorized_filter

  • #22715: 增强: ndimage.vectorized_filter: 使其与 CuPy 兼容

  • #22716: 文档: optimize: 澄清 1D 寻根器文档字符串中 xtol 的使用

  • #22718: 测试: special: 大修 test_support_alternative_backends

  • #22719: 测试: 添加 ncfdtri 的测试

  • #22722: 文档: ndimage.affine_transformation: 为文档字符串添加示例

  • #22723: 文档: fft.dst: 为文档字符串添加示例

  • #22725: 维护: ndimage.affine_transform: 移除过时且无用的…

  • #22729: 文档: datasets.download_all: 为文档字符串添加示例

  • #22735: 增强: stats: Dask 和 JAX 的惰性截断统计

  • #22738: 文档: PRIMA 许可证和参考修正

  • #22740: 测试: special: 移除因 array-api-strict#131 导致的测试跳过

  • #22741: 持续集成: 修复 sparse 中自由线程作业崩溃,提升 GHA…

  • #22742: 持续集成/维护: 使 special.errstate 线程安全并运行 pytest-run-parallel…

  • #22745: 文档: fft.rfft2: 为文档字符串添加示例

  • #22749: 增强: stats: 为自定义添加对多种参数化的支持…

  • #22750: 文档: fft.hfft2: 添加示例

  • #22751: 测试: linalg.test_batch: 小幅提升容差

  • #22755: 维护: special: 改进 logsumexp 回写行为

  • #22756: 修复/测试: 非默认设备上的 special.logsumexp

  • #22759: 测试: weightedtau 随机数生成器线程安全

  • #22760: 修复: optimize: VectorFunction.f_updated 未被设置…

  • #22761: 文档: optimize: l-bfgs-b: 澄清 maxfun 的含义...

  • #22764: 维护: optimize: VectorFunction: 移除引用循环

  • #22766: 文档: 改进 boxcox 和 yeojohnson 的文档字符串

  • #22770: 测试: stats: 直接为 _length_nonmasked 添加 marray 测试

  • #22771: 测试: stats: 不要封装 pytest.warns

  • #22778: 维护: 切换到引入 libprima/prima

  • #22779: 维护: optimize: VectorFunction: 修复稀疏数组的复制

  • #22782: 维护: 修复自由线程(parallel=1)作业中的失败

  • #22783: 测试/维护: signal.symiirorder2: r, omega, precision 是浮点数;…

  • #22785: 文档/开发: 在跳过 CI 文档中移除对 CirrusCI 的引用

  • #22787: 文档: optimize: 为 SLSQP 函数添加乘数细节

  • #22788: 测试: stats.quantile: 为 axis=None && keepdims=True 添加边界测试用例

  • #22790: 维护: optimize.least_squares: 更改 x_scale 默认值

  • #22796: 增强/构建: cython: 在扩展模块之间共享 memoryview 工具

  • #22798: 测试: stats: 标记一些测试为慢速

  • #22802: 修复: optimize: 修复 32 位系统上 NNLS 的不稳定性

  • #22803: 维护: 使用 xp.asarray 而不是 xp.array

  • #22805: 持续集成: 开始使用 CIBW_ENABLE 环境变量

  • #22807: 测试: 修复 cython_special 测试中缺失的问题…

  • #22808: 修复: PyTorch 上 special.logsumexp 设备传播

  • #22809: 增强: optimize.root: 为无效内部参数添加警告…

  • #22811: 增强: ndimage.rotate: 在 WoA 上的性能增强

  • #22814: 修复: signal.resample: 修复参数 num=2 (包括) 的错误…

  • #22815: 维护: sparse: 为 csgraph 和 linalg 添加惰性加载

  • #22818: 开发: 添加 .editorconfig

  • #22820: 维护: signal: 合并 order_filter 测试

  • #22821: 增强: signal.lp2{lp,hp,bp,bs}: 添加数组 API 标准支持

  • #22823: 维护: integrate.tanhsinh: 简化误差估计

  • #22829: 文档: stats.qmc.discrepancy: 澄清定义

  • #22832: 文档: interpolate: 移除过时的废弃通知

  • #22833: 文档: special.comb: 移除遗漏的废弃通知

  • #22835: 维护: stats.boxcox_llf: 为简化而重构

  • #22842: 维护: 提升 boost_math 到 1.88.0

  • #22843: 文档: special: 为 logsumexp 添加 xp_capabilities

  • #22844: 测试: stats: test_stats.py 中的小瑕疵

  • #22845: 测试: stats: 重新排序测试以匹配 xp_capabilities

  • #22846: 维护: _lib/differentiate: 使用 at.set 更新 EIM

  • #22848: 维护: _lib: 消除 EIM 中的 try/except

  • #22850: 测试: optimize VectorFunction 为 J0=None 分支添加测试…

  • #22852: 测试: 修复主分支上 boxcox_llf 测试失败

  • #22854: 维护: special: 将 xsf 添加为 SciPy 的子模块

  • #22855: 维护: spatial.pdist: 使维度错误更具描述性

  • #22858: 文档: 修正 ndimage.generic_gradient_magnitude() 中的拼写错误

  • #22859: 文档: 将“ties”改写为“tied pairs”以使含义更清晰

  • #22862: 测试: integrate/spatial: 允许 fail_slow

  • #22863: 测试: 重新引入 eager_warns 并修复自由线程测试…

  • #22864: 维护: linalg.svd: 当 GESDD 时引发正确的错误消息…

  • #22873: 增强: sparse: 支持稀疏数组的 nD 求和/平均/最小/最大/argmin

  • #22875: 持续集成: 将 pytest-fail-slow 的使用限制在一个 CI 作业中

  • #22886: 增强: signal: 滤波器设计函数数组 API 标准支持

  • #22891: 文档: 记录允许的 NumPy / Python 版本

  • #22893: 维护: 将 qhull 作为子项目引入并添加 -Duse-system-libraries

  • #22895: 维护: signal: 更正 get_window 委托器

  • #22896: 增强: signal: tf2zpk 及其他数组 API

  • #22897: 增强: sparse: ND 二元操作支持

  • #22898: 开发: 为 spin 添加可编辑安装支持

  • #22899: 维护: 提升数组 API 子模块

  • #22900: 维护: 修复 Dask 上的 np.copyto 警告

  • #22908: 维护: 将 qhull 提升到 2020.2

  • #22909: 测试: 使用 jax_autojit

  • #22913: 修复: 修复 3.14 下 finally 块中的语法警告中断

  • #22915: 构建: 通过分发脚本优化 sdist 内容

  • #22916: 文档: integrate.solve_bvp: 添加缺失的参考细节

  • #22917: 开发: 修复 Windows 上 linter 的调用

  • #22918: 测试: linalg 为无效的异常处理添加测试覆盖…

  • #22926: 维护: spatial.cKDTree: 移除软件预取和软件…

  • #22927: 维护: tools/check_test_name: 指定编码

  • #22930: 文档: linalg: 更新 BLAS/LAPACK 绑定路线图条目

  • #22932: 修复: interpolate: 不要在非数组上调用 PyArray 宏

  • #22934: 维护: optimize.zeros: 修复错误消息

  • #22939: 测试: spatial.transform: 添加数组 API 标准测试支持

  • #22941: 维护: stats.qmc.Sobol: 修复警告的堆栈级别

  • #22944: 维护: 修复禁用 np.float64 后 array-api-strict 中的回归

  • #22946: 增强: special: 添加 xp_capabilities

  • #22947: 维护: 避免嵌套 asarray 调用

  • #22949: 维护: 将 make_skip_xp_backends 批量重命名为 make_xp_test_case

  • #22950: 维护: 刷新 gpu-ci pixi.lock

  • #22952: 维护, 文档: 前向移植 1.15.3 发布说明

  • #22955: 维护: wheel 下载器

  • #22959: 增强: cluster: 更多惰性函数

  • #22960: 文档/测试: cluster.hierarchy: 使用 xp_capabilities

  • #22961: 测试: cluster: 减少对 linkage 的测试依赖

  • #22963: 维护: 将 wrapcauchy 样本环绕在圆周上

  • #22967: 持续集成: 解决一些潜在漏洞

  • #22968: 文档: 概述 OptimizeResult 的所有属性可能并非…

  • #22969: 维护: stats.make_distribution: 修复剩余的大部分离散分布…

  • #22970: 维护: stats.DiscreteDistribution: 修复反演方法

  • #22971: 维护: 修复 skellam 分布测试

  • #22973: 修复: interpolate.make_splrep: 当 residuals.sum() 时引发错误…

  • #22976: 增强: stats: 为 gennorm 实现 _munp

  • #22982: 修复: signal: 修复 npp_polyval 的错误引入

  • #22984: 维护: special: 移除 test_compiles_in_cupy

  • #22987: 文档: sparse: sparray 迁移指南更新

  • #22991: 文档: 更新 SciPy 1.16.0 发布说明

  • #22992: 增强: signal.cspline1d_eval,qspline1d_eval 抛出异常…

  • #22994: 文档: signal.csd: 文档字符串的小修复

  • #22997: 持续集成: 暂时禁用带并行线程的自由线程作业

  • #22998: 修复: 修复 SciPy 中因重复添加而导致的 --pyargs 重复问题…

  • #22999: 维护: 提升 array-api-compat 和 array-api-extra

  • #23000: 增强/文档/测试: cluster.vq: 使用 xp_capabilities

  • #23001: 文档: special: 更新顶层文档以反映 xp_capabilities

  • #23005: 修复: sparse: 修复 np.matrix 对稀疏矩阵的均值/求和返回变化…

  • #23010: 文档: 编辑和扩展 1.16.0 的发布说明

  • #23013: 维护: 1.16.0rc1 的版本锁定/准备

  • #23014: 文档: 1.16.0rc1 的 .mailmap 更新

  • #23029: 文档: 添加新 use-system-libraries 构建的文档…

  • #23031: 发布: 设置 1.16.0rc2 为未发布

  • #23040: 文档: linalg: 调整发布说明措辞

  • #23044: 测试: 更新所有 result_to_tuple= 可调用对象以接受两个…

  • #23047: 修复: signal.csd: 对不同大小的输入进行零填充

  • #23048: 维护: ndimage.vectorized_filter: 修复 axes 长度时的行为…

  • #23051: 维护/增强: ndimage.vectorized_filter: 调整标量大小以匹配…

  • #23086: 持续集成: 将 windows-2019 运行器镜像更新到 windows-2022

  • #23091: 修复: sparse: 修正不同形状的 eq 和 ne。(并添加…

  • #23098: 维护: 1.16.0rc2 后向移植

  • #23099: 维护: 修复 LAPACK、OpenBLAS、GCC 的 SPDX 许可证表达式

  • #23106: 测试: CI 在 pytest 8.4.0 下损坏

  • #23110: 修复: spatial.distance: distance_metrics.h 中 yule 的实现

  • #23113: 文档: 改进 -Duse-system-libraries 构建选项的文档

  • #23114: 文档: 添加缺失的 BLAS Level 2 函数

  • #23127: 文档: 修复 linkcode_resolve 行号锚点

  • #23131: 发布: 设置 1.16.0rc3 为未发布

  • #23134: 修复: linalg.lapack: 修复 {c,z}syrti 工作数组大小不正确的问题

  • #23144: 维护: 数组类型: array-api-strict 变得更严格

  • #23146: 文档: stats.Mixture: 添加示例

  • #23164: 维护: 1.16.0 “最终版”的后向移植和准备

  • #23170: 测试: 将所有 SciPy 特定的 pytest 标记添加到 scipy/conftest.py

  • #23178: 持续集成: 跳过 JAX 0.6.2

  • #23180: 持续集成: 移除 wheel 构建中的自由线程变通方案

  • #23189: 构建: 实现 Python 最低版本的构建时版本检查

  • #23197: 废弃: optimize: 为 L-BFGS-B disp 添加废弃警告…