SciPy 1.16.0 发行说明#

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

此版本要求 Python 3.11-3.13 以及 NumPy 1.25.2 或更高版本。

本次发行的亮点#

新特性#

scipy.io 改进#

  • scipy.io.savemat 现在会针对无效的字段名称提供具有提示性的警告。

  • scipy.io.mmread 在提供的源文件路径不存在时,现在会提供更清晰的错误消息。

  • scipy.io.wavfile.read 现在可以读取不可寻址(non-seekable)的文件。

scipy.integrate 改进#

scipy.interpolate 改进#

scipy.linalg 改进#

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

  • scipy.linalg.sqrtm 已使用 C 语言重写,其性能得到提升。它还会尽可能尝试为实值输入返回实值结果。详情请参阅函数文档字符串。在此版本中,输入参数 disp 和可选输出参数 errest 已被弃用,并将在四个版本后移除。同样,在将底层算法更改为递归后,blocksize 关键字参数不再起作用,并将两个版本后移除。

  • scipy.linalg.lapack 中增加了 ?stevd?langb?sytri?hetri?gbcon 的封装。

  • 改进了 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 中引入的性能退化问题。

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

  • 使用 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 中的许多函数现在提供表格,说明兼容的数组和设备类型,以及对延迟数组 (lazy arrays) 和 JIT 编译的支持。SciPy 1.16.0 中新增支持的功能和旧有功能增加的支持包括:

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

SciPy 现在有一个 CI 任务来测试 GPU (CUDA) 支持,因此在 GPU 上配合 SciPy 使用 PyTorch、CuPy 或 JAX 数组现在更加可靠。

弃用特性#

过期的弃用#

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

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

  • exact=True 且参数为非整数时,scipy.special.combscipy.special.perm 现在会报错。

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

  • scipy.stats.power_divergencescipy.stats.chisquare 移除了对 NumPy 掩码数组 (masked arrays) 的支持。

  • 清理了大量来自非公开命名空间(例如 scipy.sparse.basescipy.interpolate.dfitpack)的函数。这些函数此前已经发出过弃用警告。

向后不兼容的更改#

  • scipy.linalg 中几个用于求解线性系统的函数(如 solve)曾规定右端项 (RHS) 参数必须是一维或二维的,但当 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 (free-threaded CPython) 的支持:修复了 scipy.special 中最后已知的线程安全问题,并在 CI 任务中使用 pytest-run-parallel 以防性能倒退。

  • 添加了对 spin 作为开发者命令行工具 (CLI) 的支持,包括支持可编辑安装。SciPy 特有的 python dev.py 命令行工具将在下一个发布周期内移除,取而代之的是 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: 多数投票滤波器 (majority voting filter)

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

  • #10793: BUG: integrate: solve_ivpodeint 配合 lsoda 时存在……

  • #11312: BUG: signal.cont2discrete 无法按文档说明处理 lti 实例

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

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

  • #12544: signal.spectral._triage_segments 不支持 window 作为元组……

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

  • #13577: 将 scipy.signal.spectral._spectral_helper 一分为二以支持……

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

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

  • #13789: DOC: scipy.signal.decimate 的文档未说明应使用什么……

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

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

  • #13952: fmin_cobyla 结果违反约束

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

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

  • #14569: BUG: signal.resample: 不同数据类型间存在不一致性

  • #14915: BUG: optimize.minimize: 带约束时出现损坏/段错误 (segfault)

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

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

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

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

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

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

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

  • #17546: ENH: 为 ndimage.generic_filter 添加 ‘valid’ 模式

  • #17787: BUG: RectBivariateSpline 在平滑……时结果不稳定

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

  • #17968: ENH: 使用一维窗函数法创建二维 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: 改进由 imp 引起的 python dev.py test 体验……

  • #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.leastsq 相比,optimize.least_squares 的结果较差……

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

  • #20366: ENH: Yen 算法的改进与增强

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

  • #20622: DOC: signal: 添加一个交叉谱图 (cross-spectrogram) 应用示例

  • #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: BUG: special.gammainc: 在输入为 NaN 时返回有限结果……

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

  • #21341: DOC: signal.correlate: 当 x 为……时公式与行为不符

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

  • #21531: MAINT: stats.dirichlet_multinomial: 将 n 放宽至 >=0

  • #21547: STY/DEV: 修复并启用 lint 规则 UP038

  • #21606: ENH: stats: 负指数的通用幂律分布

  • #21649: RFC: 将特殊函数标量内核拆分为独立的……

  • #21692: BUG: optimize.shgo: 设置 jac=True 时无法工作

  • #21717: DOC: 建议使用 assert_allclose 而非 xp_assert_close……

  • #21740: CI: 添加启用 GPU 的 CI 任务

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

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

  • #21879: BUG: scipy.datasets 在 readthedocs……时出现 Error 403 失败

  • #21971: ENH: ndimage.median_filter: 扩展的 dtype 支持?

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

  • #21986: ENH: optimize.root: 在使用……时,如果内部参数被忽略则发出警告

  • #21995: BUG: optimize.curve_fit 配合 method='lm' 无法确定……

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

  • #22000: DOC: ndimage.median_filter: 记录处理 nan 的行为……

  • #22011: BUG: interpolate.Akima1DInterpolator: 后续调用的值不同……

  • #22044: TST: optimize.elementwise.bracket_minimum: CuPy 失败

  • #22045: DOC: stats: 澄清分布的支撑集不受……影响

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

  • #22054: BUG: ndimage 数组类型: minimum_positionextrema……

  • #22055: DOC: ndimage.minimum 和 maximum: 错误的返回类型

  • #22057: DOC: stats.order_statistic: 文档字符串缺失 “Returns” 部分……

  • #22065: DOC: sparse: 几个函数缺失 ‘Returns’ 部分……

  • #22072: DOC: PchipInterpolator: 缺失 integrate 函数

  • #22086: MAINT: signal: macOS 上的构建警告 (sprintf)

  • #22093: DOC: integrate.quad: 使用的是 Gauss-Kronrod 而非 Curtis-Clenshaw?

  • #22136: DOC: linalg.matrix_balance: 方程无法渲染

  • #22144: Query: optimize.minimize: trust_constr 不回避非线性……

  • #22163: DOC: 更新 scipy 模块文档字符串以支持延迟加载

  • #22164: MAINT: 撤销 mypy 中忽略的错误

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

  • #22224: MAINT: 移除版权信息中的结束年份

  • #22252: MAINT: 修复 scipy.signal._waveforms.py 中的数据类型检查

  • #22258: BUG: 使用大端序 float32/64 构建稀疏矩阵时报错……

  • #22263: BUG: 当 A 是奇异矩阵时,linalg.solve 不报错……

  • #22265: BUG: linalg: 对于某些较低的……hecon 错误地返回 NaN

  • #22271: Query: scipy=1.15 不允许空的 Rotation

  • #22282: QUERY/DEV: IDE 中开启 SCIPY_ARRAY_API 后的测试失败

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

  • #22294: DOC: source 现在链接到文件顶部,而非文件内部位置……

  • #22303: ENH: stats.special_ortho_group: 改进与简化

  • #22309: DOC: optimize.elementwise.find_minimum: 协调记录的与实现的……

  • #22338: QUERY: stats.beta.fit: 对合理的数据报 FitError

  • #22338: QUERY: spatial.transform.Rotation 的 Intellisense 自动补全不起作用

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

  • #22363: BUG: 特殊函数测试 TestHyp2f1.test_region3[hyp2f1_test_case23]……

  • #22367: QUERY/TYP: sparse: Pylance 在 toarray() 之后报告代码不可达

  • #22378: DOC/TST: interpolate, signal: smoke-docs 失败

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

  • #22395: BUG: special: TestSystematic.test_besselj_complex 失败……

  • #22403: DOC: gaussian_kdebw_method='silverman' 偏离了……

  • #22415: macOS x86-64 Accelerate 轮子构建中出现两个 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:Lagrange 函数正在使用…

  • #22495: 缺陷:special 测试 TestHyp2f1.test_region4[hyp2f1_test_case42]…

  • #22501: 缺陷:min_weight_full_bipartite_matchingcoo_matrix 失败…

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

  • #22534: CI:由于回归导致的 */tests/test_extending 失败…

  • #22559: 缺陷:ndimage:Dask 2025.2.0 中的数值回归

  • #22565: 缺陷:stats.multinomial.pmf:结果不一致?

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

  • #22591: 缺陷:sparse.coo:upcast 出现 ImportError

  • #22601: 缺陷:special.logsumexp:当一个元素为…时相位不一致

  • #22626: 缺陷:scipy.stats:tmin/tmax:大整数精度损失

  • #22646: CI/文档:CloughTocher2DInterpolator:文档构建中的 UserWarning

  • #22659: 缺陷:spatial:RigidTransform 不支持零长度…

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

  • #22700: CI:新失败:自由线程模式下的段错误,linprog 无效…

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

  • #22767: 缺陷:test_cython 在使用 clang-cl 的 Windows on ARM64 上失败

  • #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_nameUnicodeDecodeError 失败?

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

  • #22931: 缺陷:interpolate._dierckx:如果…,check_array() 可能会崩溃

  • #22942: 测试:specialtest_compiles_in_cupy 损坏

  • #22945: 测试:嵌套数组在 array-api-strict 最新 Git 版本中失败

  • #22951: 缺陷:stats.wrapcauchy:输出未绕单位圆折叠

  • #22956: 缺陷:special._ufuncs._ncx2_pdf:极端情况下解释器崩溃…

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

  • #22981: #22886 之后在指定 worN 时 freqz 出现的缺陷

  • #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 系列(及 main 分支)的最低 Python 版本强制执行?

  • #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: CI:为一次 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:添加检查所有文件的选项

  • #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:协同 vendor 引入 array-api-extra 和 array-api-compat

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

  • #22068: 增强:optimize:迁移到使用 sparray

  • #22070: 增强:_lib:JAX 支持(非 jit)

  • #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: 文档:更新 stats, integrate, optimize, 和…

  • #22108: CI:仅在 Github 上运行 ‘Checkout scipy’ 和 ‘Check for skips’…

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

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

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

  • #22122: 维护:signal.oaconvolve:避免 xp 与 numpy 之间的转换

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

  • #22127: 增强:linalg:为 矩阵 -> 标量 函数添加批处理支持

  • #22130: 测试:ndimage:测试中与数组 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:将剩余的 exp 和 log 函数迁移至 xsf

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

  • #22196: 文档:更新 scipy 模块文档字符串以支持延迟加载

  • #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: 测试:使 torch 默认 dtype 可配置

  • #22215: 增强:io:当源文件…时抛出 FileNotFoundError 异常

  • #22216: 测试:TestBracketMinimum MPS 填充程序

  • #22217: 增强:linalg:封装 ?langb

  • #22219: 增强:_lib:反混淆 _asarray 中的 jax.jit 崩溃信息

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

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

  • #22222: 增强:special/stats:实现 xp 兼容的 stdtrit

  • #22226: 增强:signal.upfirdn:数组 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:带有 uint32 data_sampler 的 random_array 文档字符串示例

  • #22251: 增强:linalg.solve:使用 langb

  • #22255: 增强:cluster:JAX 支持(非 jit)

  • #22256: 增强:special:JAX 支持(非 jit)

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

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

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

  • #22262: 测试:为数组 API 兼容模块中的所有测试标记 xp

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

  • #22266: 维护:linalg.solve:当对角矩阵完全奇异时抛出异常

  • #22267: 增强:spatial.transform:RigidTransform 的基准实现

  • #22268: 测试:清理过时的数组 API 固件 (fixtures)

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

  • #22273: 增强:linalg.solve:使用 gbcon

  • #22274: 增强:为延迟数组添加 _contains_nan

  • #22275: CI:添加 GPU CI 任务

  • #22278: 缺陷:修复 Akima1DInterpolator,在…时返回线性插值

  • #22279: 测试:为 GPU CI 失败项添加跳过规则

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

  • #22281: 测试:special:为 JAX 上的 stdtrit 提供更好的跳过消息

  • #22283: 缺陷:修复 lsoda 的带状雅可比矩阵:odesolve_ivp

  • #22284: 缺陷:sparse:为不支持的 dtype 提供更好的错误消息

  • #22289: CI:修复 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:使用新架构添加二项分布

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

  • #22313: 缺陷:zpk2tf 现可正确处理复数 k 并剥离前导…

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

  • #22330: 增强:sparse.csgraph.yen:性能提升

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

  • #22342: 增强:cluster:linkage 支持 jax.jit 和 dask

  • #22343: 增强:signal.{envelope,resample,resample_poly}:数组 API…

  • #22344: 缺陷:修复 dpss 退化情况的缺陷

  • #22348: 文档:统一迭代稀疏求解器文档字符串的摘要行…

  • #22350: 增强:用来自 PRIMA 的 Python 版本替换 Fortran COBYLA

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

  • #22352: 增强:stats.quantile:添加数组 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:更新文档字符串和 Sakurai 中的 sparray…

  • #22379: 文档:interpolate.AAA:在示例中添加 may vary 说明

  • #22380: 文档:将页眉中指向 X 的链接替换为指向 scientific python 的链接…

  • #22381: 维护:special:对 stirling2.h 进行少量清理

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

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

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

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

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

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

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

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

  • #22399: 测试:移除针对现已修复的 Cython fused…的线程不安全跳过规则

  • #22401: 类型:支持运行时下标的 sparrayspmatrix 类型

  • #22406: 增强:linalg:使用 C 重写 sqrtm,支持底层 n 维操作

  • #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:修复 gammainc 中对 nan 输入的错误处理…

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

  • #22443: 文档:修正路径

  • #22445: CI:避开在 CI 中导致失败的 mpmath 预发布版本

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

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

  • #22453: 文档:改进 dlsim, dimpulse, dstep 的文档字符串...

  • #22454: 缺陷:signal.ShortTimeFFT:使属性 windual_win

  • #22455: 增强:stats.gstd:添加数组 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 参数

  • #22480: CI:再次使用 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 关键字…

  • #301: 维护:sparse.csgraph:如果 predecessors.dtype !=… 则抛出错误

  • #302: 缺陷:lfiltica[0] != 1 的处理与 lfilter 不同...

  • #303: 增强:optimize:加速大规模…下的 LbfgsInvHessProduct.todense

  • #304: 增强:使用 xpx.apply_where 替换 _lazywhere

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

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

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

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

  • #309: CI:通过停止测试 Meson master 分支来修复 dev-deps 任务

  • #310: 测试:跳过两项在 Dask 中失败的 ndimage 测试

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

  • #312: 增强:ndimage.vectorized_filter:带有…的 generic_filter

  • #313: 文档:signal.correlate:改进说明部分

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

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

  • #316: 测试:在…中添加另外一个缺失的自定义标记 (fail_slow)

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

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

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

  • #320: 维护:_lib:提升 array_api_compat 版本至 1.11

  • #321: 维护:signal:清理不必要的填充程序

  • #322: 文档:忽略字典子类文档字符串警告

  • #323: 维护:special.logsumexp:改进复数无穷大的处理行为

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

  • #325: 增强:_lib.doccer:简化并优化缩进循环

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

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

  • #328: 增强:stats:在合适的地方使用 vecdotnonzero

  • #329: 缺陷:修复对偶四元数归一化过程

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

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

  • #332: 增强:signal.convolve2d:针对 WoA 的性能提升

  • #333: 缺陷:stats:kde.integrate_box 缺少 rng 参数

  • #334: 维护:提升 array-api-compat 和 array-api-strict 版本

  • #335: 维护:stats.tmin/tmax:确保在使用极大的…时获得精确结果

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

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

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

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

  • #340: 测试:special:装饰性微调

  • #341: 维护:修复 ncfdtri 的定义域检查

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

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

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

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

  • #346: 维护:stats.quantile:修正 p < 最小值 绘图时的分位数…

  • #347: 文档、CI:修复 CloughTocher2DInterpolator 文档字符串的图例警告

  • #348: 测试:stats:将 nct 拟合标记为极慢 (xslow)

  • #349: 维护:ndimage.zoom:消除当 zoom=1 时的噪点

  • #350: 文档:在局部优化器对比表中添加 COBYQA

  • #351: CI:清理自由线程任务,添加使用 pytest-run-parallel 的新任务

  • #352: 测试:修复 Guix 上的部分测试失败和内存占用过高问题

  • #353: 维护:interpolate:将 NdBSpline 评估移至 C

  • #354: 开发:在 environment.yml 中限制 Sphinx 版本

  • #355: 文档:记录常量 (constants) 模块及…对数组 API 的支持

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

  • #357: 维护:使用 tach 强制执行模块化

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

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

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

  • #361: 维护:移除过时的 xp_ 函数,在逐元素运算中应用 xp.asarray

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

  • #363: 维护:提升数组 API 至 2024.12 版本

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

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

  • #366: 维护:由于 xp.result_type 现可接受…,改进 dtype 处理

  • #367: 维护:spatial:在 RigidTransform 中支持空用例

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

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

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

  • #371: 文档:stats:扩展随机相关矩阵的文档

  • #372: 维护:提升 array-api-extra 至 0.7.0

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

  • #374: 维护:ndimage.maximum_filter:推荐使用 vectorized_filter

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

  • #376: 文档:optimize:在一维求根器文档字符串中澄清 xtol 的用法

  • #377: 测试:special:彻底检查 test_support_alternative_backends

  • #378: 测试:为 ncfdtri 添加测试

  • #379: 文档:ndimage.affine_transformation:在文档字符串中添加示例

  • #380: 文档:fft.dst:在文档字符串中添加示例

  • #381: 维护:ndimage.affine_transform:移除过时且无助的说明…

  • #382: 文档:datasets.download_all:在文档字符串中添加示例

  • #383: 增强:stats:为 Dask 和 JAX 提供延迟剪切统计

  • #384: 文档:PRIMA 许可证和引用修正

  • #385: 测试:special:移除由于 array-api-strict#131 导致的测试跳过

  • #386: CI:修复自由线程任务中 sparse 的崩溃,提升 GHA…

  • #387: CI/维护:使 special.errstate 线程安全并运行 pytest-run-parallel…

  • #388: 文档:fft.rfft2:在文档字符串中添加示例

  • #389: 增强:stats:为自定义分布添加对多种参数化形式的支持…

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

  • #391: 测试:linalg.test_batch:微调容差

  • #392: 维护:special:精简 logsumexp 的回写行为

  • #393: 缺陷/测试:在非默认设备上运行 special.logsumexp

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

  • #395: 缺陷:optimize:VectorFunction.f_updated 未被正确设置…

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

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

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

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

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

  • #401: 维护:切换到 vendor 方式引入 libprima/prima

  • #402: 维护:optimize:VectorFunction:修复稀疏矩阵的数组拷贝

  • #403: 维护:修复自由线程 (parallel=1) 任务中的失败项

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

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

  • #406: 文档:optimize:为 SLSQP 函数添加乘子详情

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

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

  • #409: 增强/构建:cython:在扩展模块之间共享 memoryview 实用程序

  • #410: 测试:stats:将部分测试标记为慢速 (slow)

  • #411: 缺陷:optimize:修复 NNLS 在 32位系统上的不稳定性

  • #412: 维护:使用 xp.asarray 替代 xp.array

  • #413: CI:开始使用 CIBW_ENABLE 环境变量

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

  • #415: 缺陷:PyTorch 上的 special.logsumexp 设备传播

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

  • #417: 增强:ndimage.rotate:针对 WoA 的性能提升

  • #418: 缺陷:signal.resample:修复参数 num=2 时的缺陷(包括…

  • #419: 维护:sparse:为 csgraph 和 linalg 添加延迟加载

  • #420: 开发:添加 .editorconfig

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

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

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

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

  • #425: 文档:interpolate:移除过时的弃用公告

  • #426: 文档:special.comb:移除遗漏的弃用公告

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

  • #428: 维护:提升 boost_math 至 1.88.0

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

  • #430: 测试:stats:对 test_stats.py 进行琐碎修改

  • #431: 测试:stats:重新排列测试以匹配 xp_capabilities

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

  • #433: 维护:_lib:消除 EIM 中的 try/except 结构

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

  • #435: 测试:修复 main 分支上的 boxcox_llf 测试失败项

  • #436: 维护:special:添加 xsf 作为 SciPy 的子模块

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

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

  • #439: 文档:将“ties”改写为“tied pairs”以使含义更明确

  • #440: 测试:integrate/spatial:添加 fail_slow 宽限

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

  • #442: 维护:linalg.svd:当…时,为 GESDD 抛出正确的错误消息

  • #443: 增强:sparse:为稀疏数组支持 n 维 sum/mean/min/max/argmin

  • #444: CI:限制 pytest-fail-slow 仅用于单个 CI 任务

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

  • #446: 文档:记录允许使用的 NumPy / Python 版本

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

  • #448: 维护:signal:修正 get_window 委托器

  • #449: 增强:signal:tf2zpk 等支持数组 API

  • #450: 增强:sparse:支持 n 维二元运算

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

  • #452: 维护:提升 array-api 子模块版本

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

  • #454: 维护:提升 qhull 至 2020.2

  • #455: 测试:使用 jax_autojit

  • #456: 缺陷:修复 3.14 下 finally 块中 break 的语法警告

  • #457: 构建:通过发行脚本优化 sdist 内容

  • #458: 文档:integrate.solve_bvp:添加缺失的引用详情

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

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

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

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

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

  • #464: 缺陷:interpolate:不要在非数组上调用 PyArray 宏

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

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

  • #467: 维护:stats.qmc.Sobol:修复警告的堆栈层级 (stacklevel)

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

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

  • #22947: MAINT: 避免嵌套的 asarray 调用

  • #22949: MAINT: 批量重命名 make_skip_xp_backendsmake_xp_test_case

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

  • #22952: MAINT, DOC: 向前移植 1.15.3 发行说明

  • #22955: MAINT: wheel 下载器

  • #22959: ENH: cluster: 更多延迟函数 (lazy functions)

  • #22960: DOC/TST: cluster.hierarchy: 使用 xp_capabilities

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

  • #22963: MAINT: 将 wrapcauchy 样本环绕圆周

  • #22967: CI: 解决一些潜在的安全漏洞

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

  • #22969: MAINT: stats.make_distribution: 修复大多数剩余的离散分布……

  • #22970: MAINT: stats.DiscreteDistribution: 修复反转方法

  • #22971: MAINT: 修复 skellam 分布测试

  • #22973: BUG: interpolate.make_splrep: 当 residuals.sum() 时抛出错误……

  • #22976: ENH: stats: 为 gennorm 实现 _munp

  • #22982: BUG: signal: 修复 npp_polyval 错误的供应商代码 (vendoring)

  • #22984: MAINT: special: 移除 test_compiles_in_cupy

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

  • #22991: DOC: 更新 SciPy 1.16.0 发行说明

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

  • #22994: DOC: signal.csd: 对 docstr 的细微修复

  • #22997: CI: 暂时禁用具有并行线程的 free-threaded 任务

  • #22998: BUG: 修复由于在 SciPy 中重复添加导致的 --pyargs 重复问题……

  • #22999: MAINT: 升级 array-api-compat 和 array-api-extra

  • #23000: ENH/DOC/TST: cluster.vq: 使用 xp_capabilities

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

  • #23005: BUG: sparse: 修复稀疏矩阵返回 np.matrix 的 mean/sum 变化……

  • #23010: DOC: 编辑并扩展 1.16.0 的发行说明

  • #23013: MAINT: 1.16.0rc1 的版本锁定与准备

  • #23014: DOC: 为 1.16.0rc1 更新 .mailmap

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

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

  • #23040: DOC: linalg: 调整发行说明用语

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

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

  • #23048: MAINT: ndimage.vectorized_filter: 修复当长度时轴的行为……

  • #23051: MAINT/ENH: ndimage.vectorized_filter: 调整标量大小以匹配……

  • #23086: CI: 将 windows-2019 运行器镜像更新为 windows-2022

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

  • #23098: MAINT: 1.16.0rc2 后向移植

  • #23099: MAINT: 修复 LAPACK, OpenBLAS, GCC 的 SPDX 许可证表达式

  • #23106: TST: CI 在 pytest 8.4.0 下失效

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

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

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

  • #23127: DOC: 修复 linkcode_resolve 行号锚点

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

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

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

  • #23146: DOC: stats.Mixture: 添加示例

  • #23164: MAINT: 1.16.0 “正式版”的后向移植与准备

  • #23170: TST: 向 scipy/conftest.py 添加所有 SciPy 特定的 pytest 标记

  • #23178: CI: 跳过 JAX 0.6.2

  • #23180: CI: 移除 wheel 构建中的 free-threading 权宜方案

  • #23189: BLD: 实现针对最小 Python 版本的构建时版本检查

  • #23197: DEP: optimize: 向 L-BFGS-B disp 添加弃用警告……