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 의 구분 사용을 참조).
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.