linearTimeSVD skeleton