flopscope.

flopscope.accounting.svd_cost

flopscope.accounting.svd_cost(m, n, k=None)[flopscope source]

Weighted FLOP cost of a (truncated) SVD.

Parameters

m:int

Number of rows in the input matrix.

n:int

Number of columns in the input matrix.

k:int | None, optional

Target rank or number of singular components to estimate. Defaults to None.

Returns

:int

Weighted public cost estimate, floored to match runtime accounting.

Notes

This helper multiplies the analytical FLOP count by the active weight from flopscope._weights and then applies int(...) so public estimates match budget deductions.

Based on Golub-Reinsch bidiagonalization.

Examples

>>> import flopscope as flops
>>> cost = flops.accounting.svd_cost(128, 64)
>>> isinstance(cost, int)
True