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