added gradient version of SVD-- no testing yet