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 或更高版本。
本次发行的亮点#
改进了对 Python 数组 API 标准的实验性支持,包括
scipy.signal中的新支持,以及scipy.stats和scipy.special中的额外支持。增加了对 JAX 和 Dask 后端的改进支持,特别是在scipy.cluster.hierarchy、scipy.special中的许多函数以及许多修整统计函数中。scipy.optimize现在的 COBYLA 算法使用了来自 PRIMA 软件包的新 Python 实现。PRIMA 实现修复了旧版 Fortran 77 实现中的许多错误,并且平均性能更好。scipy.sparse.coo_array现在支持 n 维数组及其重塑 (reshaping)、算术运算和归约 (reduction) 操作(如 sum/mean/min/max)。目前尚不支持 n 维索引或random_array。更新了从稀疏矩阵 (sparse matrices) 迁移到稀疏数组 (sparse arrays) 的指南和工具。
scipy.linalg命名空间中几乎所有接受数组参数的函数现在都支持将 N 维数组作为批次 (batch) 进行处理。新增了两个
scipy.signal函数:firwin_2d和closest_STFT_dual_window,分别用于创建二维 FIR 滤波器和计算ShortTimeFFT对偶窗。新增类
scipy.spatial.transform.RigidTransform,提供了在三维空间中不同刚体变换表示之间进行转换的功能。新增函数
scipy.ndimage.vectorized_filter,用于利用向量化 Python 可调用对象的通用滤波器。
新特性#
scipy.io 改进#
scipy.io.savemat现在会针对无效的字段名称提供具有提示性的警告。scipy.io.mmread在提供的源文件路径不存在时,现在会提供更清晰的错误消息。scipy.io.wavfile.read现在可以读取不可寻址(non-seekable)的文件。
scipy.integrate 改进#
改进了
scipy.integrate.tanhsinh的误差估计。
scipy.interpolate 改进#
为
scipy.interpolate.make_smoothing_spline添加了批次支持。
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.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 中引入的性能退化问题。
scipy.optimize.root在使用newton_krylov方法时,现在会针对无效的内部参数发出警告。使用
method='L-BFGS-B'进行最小化的返回值现在具有更快的hess_inv.todense()实现。时间复杂度已从立方级改进为平方级。scipy.optimize.least_squares增加了一个新的callback参数,适用于trf和dogbox方法。callback可用于跟踪每一步的优化结果,或提供自定义的停止条件。
scipy.signal 改进#
新增函数
scipy.signal.firwin_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实例,其中窗函数及其对偶窗在缩放因子范围内相等。它允许创建作为酉映射 (unitary mappings) 的短时傅里叶变换。改进了
scipy.signal.convolve2d的性能。
scipy.sparse 改进#
scipy.sparse.coo_array现在通过二元和归约操作支持 n 维数组。加快了两个 DIA 数组/矩阵之间的加、减、乘、矩阵乘法操作。
scipy.sparse.csgraph.dijkstra最短路径算法更加高效。scipy.sparse.csgraph.yen进行了性能改进。添加了对
sparse.csgraph和sparse.linalg延迟加载 (lazy loading) 的支持。
scipy.spatial 改进#
新增类
scipy.spatial.transform.RigidTransform,提供了三维空间中不同刚体变换表示之间的转换、应用于向量以及变换组合的功能。它遵循与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 中的许多函数现在提供表格,说明兼容的数组和设备类型,以及对延迟数组 (lazy arrays) 和 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 上配合 SciPy 使用 PyTorch、CuPy 或 JAX 数组现在更加可靠。
弃用特性#
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()。scipy.integrate.quad_vec中的quadrature='trapz'选项已移除,且scipy.stats.trapz已移除。在这两种情况下请改用trapezoid。当
exact=True且参数为非整数时,scipy.special.comb和scipy.special.perm现在会报错。scipy.stats.linregress移除了通过单个参数x推断两组测量值的支持。数据必须分别指定为x和y。scipy.stats.power_divergence和scipy.stats.chisquare移除了对 NumPy 掩码数组 (masked arrays) 的支持。清理了大量来自非公开命名空间(例如
scipy.sparse.base、scipy.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._lib对scipy.sparse的内部依赖,这缩短了许多其他 SciPy 子模块的导入时间。改进了对自由线程 CPython (free-threaded CPython) 的支持:修复了
scipy.special中最后已知的线程安全问题,并在 CI 任务中使用pytest-run-parallel以防性能倒退。添加了对 spin 作为开发者命令行工具 (CLI) 的支持,包括支持可编辑安装。SciPy 特有的
pythondev.py命令行工具将在下一个发布周期内移除,取而代之的是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: 多数投票滤波器 (majority voting filter)
#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 不支持 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: 当
t为datetime[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: 将
maxiter和maxfun设置为……#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_position和extrema……#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_kde的bw_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: 缺陷:
lfiltic对a[0] != 1的处理与lfilter不同...#22485: 文档:移除教程页面中指向参考指南的链接
#22488: 文档:interpolate.lagrange:Lagrange 函数正在使用…
#22495: 缺陷:special 测试 TestHyp2f1.test_region4[hyp2f1_test_case42]…
#22501: 缺陷:
min_weight_full_bipartite_matching对coo_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_name因UnicodeDecodeError失败?#22921: 文档:澄清对 Apple Accelerate Framework 的支持状态
#22931: 缺陷:interpolate._dierckx:如果…,
check_array()可能会崩溃#22942: 测试:
special:test_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_multinomial将n的限制放宽至>= 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 的带状雅可比矩阵:
ode和solve_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中移除mvnFortran 调用#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_path中predecessors矩阵的文档...#22389: 文档:在新的…中添加“断言函数选择指南”文档
#22393: 测试:stats:测试对数组 API 兼容掩码数组的支持
#22396: 文档:signal:在绘制离散响应时使用 where=’post’…
#22397: 文档:spatial:在 Rotation 类中添加了 Davenport Angles 的提及…
#22398: 维护:special:清理 special 模块中暴露的 os/warnings 模块…
#22399: 测试:移除针对现已修复的 Cython fused…的线程不安全跳过规则
#22401: 类型:支持运行时下标的
sparray和spmatrix类型#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:更新
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:避开在 CI 中导致失败的 mpmath 预发布版本
#22448: 文档:optimize.elementwise.find_minimum:修复文档中的终止条件…
#22452: 增强:linalg.eigh_tridiagonal:添加 stevd 作为驱动程序并使…
#22453: 文档:改进
dlsim,dimpulse,dstep的文档字符串...#22454: 缺陷:signal.ShortTimeFFT:使属性
win和dual_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 文档
#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: 缺陷:
lfiltic对a[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:在合适的地方使用
vecdot和nonzero#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_sos和sosfreqz文档字符串#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_backends为make_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添加弃用警告……