matmul_ozaki — DRIVE ozaki op

• 数据种类:matrix × matrix → matrix

• 调用: import fullseye as fs; fs.ledger.matmul_ozaki(A, B, n_slices=None, scheme: 'str' = 'ozaki1', tol: 'float' = 1.1102230246251565e-16, on_insufficient: 'str' = 'raise', return_info: 'bool' = False)(要直接调用实现,import ozakimm; ozakimm.matmul_ozaki(A, B, n_slices=None, scheme: 'str' = 'ozaki1', tol: 'float' = 1.1102230246251565e-16, on_insufficient: 'str' = 'raise', return_info: 'bool' = False);从台账取用则 opsdrive.get("matmul_ozaki"))

用法

由精确的低精度部分积组装 FP64 精度的矩阵乘积 A @ B(Ozaki-I / Ozaki-II)。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

scheme="ozaki1": n_slices 枚に切る(積 n(n+1)/2 回)。n_slices=None なら、誤差の保証上界が tol · (|A||B|)_ij 以下になる最少の枚数を自動で選ぶ(1〜16 枚)。届かなければ on_insufficient="raise" で ValueError、"fallback" で普通の float64 の積を返す(この場合だけ再現性の約束は外れる。return_info=True の fallback で分かる)。scheme="ozaki2": 法の数を n_slices(2〜20)で必ず指定する(積 n 回)。自動の選択は無い。return_info=True で (C, info)(n_slices・n_products・scheme・fallback)。

どちらの方式も、同じ入力なら内側の並べ替え・BLAS のスレッド数に依らず同じビット。CPU では DGEMM より 1〜2 桁遅い(module の docstring の使い分けを参照)。

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_reproducible_icp — py -3.11 examples/poc_reproducible_icp.py

类型可衔接的下一个算子(可接受 matrix 作为输入)

world_camera · lidar_scan · relative_motion · foe_from_motion · flow_from_depth_motion · ttc_truth · world_materials · mesh_signed_volume

同类别(ozaki)

matmul_reproducible · ozaki_error_bound · cross_covariance_reproducible · kabsch_reproducible · fp64_emulation_probe


*Provenance: ozakimm.py — DRIVE 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.