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 或更高版本。
本次发布的亮点#
改进了对 Python 数组 API 标准的实验性支持,包括
scipy.signal
中的新支持,以及scipy.stats
和scipy.special
中的额外支持。增加了对 JAX 和 Dask 后端的改进支持,在scipy.cluster.hierarchy
、scipy.special
的许多函数以及许多修剪统计函数中都有显著支持。scipy.optimize
现在使用 PRIMA 包中新的 Python 实现来处理 COBYLA。PRIMA 实现 修复了旧的 Fortran 77 实现中的许多错误,并且 平均性能更好。scipy.sparse.coo_array
现在支持 n 维数组,可进行重塑、算术和归约操作,如求和/平均/最小/最大。尚不支持 n 维索引或random_array
。更新了从稀疏矩阵迁移到稀疏数组的指南和工具。
scipy.linalg
命名空间中几乎所有接受数组参数的函数现在都支持将 N 维数组作为批次处理。两个新的
scipy.signal
函数,firwin_2d
和closest_STFT_dual_window
,分别用于创建 2D FIR 滤波器和ShortTimeFFT
双窗口计算。一个新类
scipy.spatial.transform.RigidTransform
提供了在 3D 空间中刚体变换不同表示之间进行转换的功能。添加了一个新函数
scipy.ndimage.vectorized_filter
,用于利用向量化 Python 可调用对象的通用滤波器。
新功能#
scipy.io
改进#
scipy.io.savemat
现在为无效的字段名提供信息性警告。scipy.io.mmread
现在在提供不存在的源文件路径时提供更清晰的错误消息。scipy.io.wavfile.read
现在可以读取不可查找的文件。
scipy.integrate
改进#
改进了
scipy.integrate.tanhsinh
的误差估计。
scipy.interpolate
改进#
批量支持已添加到
scipy.interpolate.make_smoothing_spline
。
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.ndimage.vectorized_filter
,用于利用向量化 Python 可调用对象的通用滤波器。scipy.ndimage.rotate
性能有所提高,尤其是在 ARM 平台上。
scipy.optimize
改进#
COBYLA 已更新为使用来自 PRIMA 包的新 Python 实现。PRIMA 实现 修复了旧的 Fortran 77 实现中的许多错误。此外,它平均导致 更少的功能评估,但这取决于问题,对于某些问题,它可能导致更多的功能评估或不那么理想的结果。对于这些情况,用户可以尝试修改由
rhobeg
和tol
分别给出的初始和最终信任区域半径。更大的rhobeg
可以帮助算法在开始时迈出更大的步子,而更小的tol
可以帮助它继续并找到更好的解决方案。有关更多信息,请参阅 PRIMA 文档。scipy.optimize.minimize
的几种方法,以及scipy.optimize.least_squares
函数,都增加了一个workers
关键字。这允许通过类似 map 的可调用对象(例如multiprocessing.Pool
)并行化一些计算。这些并行化机会通常发生在数值微分期间。当目标函数计算成本很高时,这可以大大加快最小化速度。scipy.optimize.least_squares
的lm
方法现在接受jac
关键字的3-point
和cs
。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
参数,适用于trf
和dogbox
方法。callback
可用于跟踪每一步的优化结果或提供自定义的停止条件。
scipy.signal
改进#
添加了一个新函数
scipy.signal.firwin_2d
,用于使用 1D 窗口方法创建 2D FIR 滤波器。scipy.signal.cspline1d_eval
和scipy.signal.qspline1d_eval
现在在空输入时提供信息性错误,而不是达到递归限制。一个新函数
scipy.signal.closest_STFT_dual_window
用于计算给定窗口的ShortTimeFFT
双窗口,使其最接近所需双窗口。一个新的类方法
scipy.signal.ShortTimeFFT.from_win_equals_dual
用于创建ShortTimeFFT
实例,其中窗口及其双窗口在缩放因子下相等。它允许创建酉映射的短时傅里叶变换。scipy.signal.convolve2d
的性能得到了改进。
scipy.sparse
改进#
scipy.sparse.coo_array
现在支持使用二进制和归约操作的 n 维数组。两个 DIA 数组/矩阵之间的操作(加、减、乘、矩阵乘)速度更快。
scipy.sparse.csgraph.dijkstra
的最短路径更高效。scipy.sparse.csgraph.yen
性能得到改进。添加了对
sparse.csgraph
和sparse.linalg
懒加载的支持。
scipy.spatial
改进#
一个新的类,
scipy.spatial.transform.RigidTransform
,提供了在 3D 空间中不同刚体变换表示之间进行转换的功能,以及其在向量和变换组合上的应用。它遵循与scipy.spatial.transform.Rotation
相同的设计方法。
scipy.stats
改进#
添加了一个新函数
scipy.stats.quantile
,一个与数组 API 兼容的用于分位数估计的函数。scipy.stats.make_distribution
已扩展,可与现有离散分布配合使用,并促进在新随机变量基础设施中创建自定义分布。添加了一个新分布:
scipy.stats.Binomial
。向
scipy.stats.tukey_hsd
(启用 Games-Howell 检验)和scipy.stats.f_oneway
(启用 Welch ANOVA)添加了equal_var
关键字。改进了
scipy.stats.gennorm
的矩计算。scipy.stats.mode
实现已向量化,以加快批处理计算。对
power_divergence
、chisquare
、pointbiserialr
、kendalltau
、weightedtau
、theilslopes
、siegelslopes
、boxcox_llf
和linregress
添加了对axis
、nan_policy
和keepdims
关键字的支持。对
gstd
添加了keepdims
和nan_policy
关键字的支持。提高了
scipy.stats.special_ortho_group
和scipy.stats.pearsonr
的性能。对
multivariate_normal_gen
和multivariate_normal_frozen
的logcdf
和cdf
方法添加了对rng
关键字参数的支持。
数组 API 标准支持#
SciPy 最近版本中的多个子模块已添加对 NumPy 以外的数组库的实验性支持。请考虑通过设置环境变量 SCIPY_ARRAY_API=1
并提供 PyTorch、JAX、CuPy 或 Dask 数组作为数组参数来测试这些功能。
scipy.stats
、scipy.special
、scipy.optimize
和 scipy.constants
中的许多函数现在都提供了记录兼容数组和设备类型以及对懒数组和 JIT 编译支持的表格。SciPy 1.16.0 中支持的新功能和添加支持的旧功能包括:
大部分
scipy.signal
功能
SciPy 1.16.0 中具有扩展数组 API 支持的功能(通常是改进的 JAX 和 Dask 支持)包括:
许多
scipy.cluster.hierarchy
函数scipy.special
中的许多函数scipy.stats
中许多经过修剪的统计函数
SciPy 现在有一个 CI 作业,可以测试 GPU (CUDA) 支持,因此在 GPU 上使用 PyTorch、CuPy 或 JAX 数组与 SciPy 现在更加可靠。
已弃用的功能#
scipy.optimize.nnls
中未使用的atol
参数已弃用,并将在 SciPy 1.18.0 中移除。scipy.linalg.signm
、scipy.linalg.logm
和scipy.linalg.sqrtm
的disp
参数将在 SciPy 1.18.0 中移除。如果
p
的行之和不为1.0
,scipy.stats.multinomial
现在会发出FutureWarning
。此条件将从 SciPy 1.18.0 开始产生 NaN。scipy.optimize
中l-bfgs-b
求解器的disp
和iprint
参数已被弃用,并将在 SciPy 1.18.0 中移除。
已过期的弃用#
scipy.sparse.conjtransp
已被移除。请改用.T.conj()
。选项
quadrature='trapz'
已从scipy.integrate.quad_vec
中移除,并且scipy.stats.trapz
已移除。在这两种情况下都请改用trapezoid
。当参数为非整数时,
scipy.special.comb
和scipy.special.perm
现在会在exact=True
时引发错误。已从
scipy.stats.linregress
中移除了对从单个参数x
推断两组测量值的支持。数据必须分别指定为x
和y
。scipy.stats.power_divergence
和scipy.stats.chisquare
中对 NumPy 掩码数组的支持已移除。非公共命名空间(例如
scipy.sparse.base
、scipy.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._lib
对scipy.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.wrapcauchy
的rvs
方法的输出现在映射到 0 和2 * pi
之间的单位圆。scipy.optimize.least_squares
的lm
方法现在对函数评估的最大次数max_nfev
有不同的行为。lm
方法的默认值已更改为100 * n
,适用于可调用和数值估计的雅可比矩阵。此函数评估限制不包括用于任何雅可比矩阵数值估计的评估。以前,使用估计的雅可比矩阵时,默认值为100 * n * (n + 1)
,因为该方法包括估计中使用的评估。此外,对于lm
方法,用于雅可比近似的函数调用次数不再包含在OptimizeResult.nfev
中。这使得lm
、trf
和dogbox
的行为保持一致。
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_ivp
和odeint
与lsoda
有…#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:
t
为datetime[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: 将
maxiter
和maxfun
设置为…#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_position
和extrema
…#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_kde
的bw_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: 错误:
lfiltic
对a[0] != 1
的处理与lfilter
不同...#22485: 文档: 从教程页面中移除指向参考指南的链接
#22488: 文档: interpolate.lagrange: 朗格朗日函数正在使用…
#22495: 错误: 特殊测试TestHyp2f1.test_region4[hyp2f1_test_case42]…
#22501: 错误:
min_weight_full_bipartite_matching
对coo_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:
upcast
的ImportError
#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_multinomial
将n
放宽到>= 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: 文档: 更新
stats
、integrate
、optimize
,以及…#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:
ode
和solve_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_path
中predecessors
矩阵的文档…#22389: 文档: 在新的…中添加“断言函数选择指南”文档
#22393: 测试: stats: 测试对 Array API 兼容掩码数组的支持
#22396: 文档: signal: 绘制离散响应时使用 where='post'…
#22397: 文档: spatial: 在 Rotation 类中添加了对 Davenport 角的提及…
#22398: 维护: special: 清理 special…中暴露的 os/warnings 模块
#22399: 测试: 移除针对已修复的 Cython 融合…的线程不安全跳过
#22401: 类型提示: 运行时可下标的
sparray
和spmatrix
类型#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: 更新
betainc
和betaincc
的处理方式…#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 中失败的 mpmath 预发布版本
#22448: 文档: optimize.elementwise.find_minimum: 修复文档中记载的终止…
#22452: 改进: linalg.eigh_tridiagonal: 添加 stevd 作为驱动程序并使…
#22453: 文档: 改进
dlsim
、dimpulse
、dstep
...的 docstring#22454: 错误修复: signal.ShortTimeFFT: 使属性
win
和dual_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 文档
#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: 修复:
lfiltic
对a[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: 在适当的地方使用
vecdot
和nonzero
#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_sos
和sosfreqz
文档字符串#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
添加废弃警告…