option to avoid computing possibly unused svd matrix

When calling svds on a very large sparse matrix the returned `U` and and `VT` matrices are dense and possibly very large, taking up a lot of memory.
This patch adds the option to only compute the smallest of the eigenvector matrices (`VT` for vertical input matrices, `U` for horizontal ones) in case the other one is not needed.