3 ms·
One small point: since the original image was 1 byte per pixel this SVD is storing the singular values and vectors in 8 byte double precision floats. Using doub
by radioactivist 3y ago
One small point: since the original image was 1 byte per pixel this SVD is storing the singular values and vectors in 8 byte double precision floats. Using doubles the SVD data is ~ 2.7x larger than the original image at n=60 (2*60+1 = 121 vectors stored vs. the original 360 is a factor of 1/3 then going from 1 to 8 bytes per element), so to get any compression at all you'd need to go to ~ 1-2 bytes per element.
I think for a fair comparison for any actual compression you'd need to consider the effects of quantization of the SVD output itself (in say the rows/columns of U,V alone, since you can keep the singular values at high-precision w/o appreciable cost). [I'd guess they'd be ok for 2 bytes/element, but 1 byte might be a problem].