svd decompression doesn't need the global variable k