SVD actually works, I hope

Major change to svd, should do the right thing (as in, doesn't get
absolute value of singular values)