Hi. Given a matrix M I would like to compute its SVD truncated to rank k. I think this is possible without doing the full SVD. For example, Python has this: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.TruncatedSVD.html. The code I am currently using to do this is given below. The problem is that it computes SVD first, and then throws out the extra rows/columns, which can be quite costly if k is much smaller than rank of M. Is there a function in Julia to do this?

```
using LinearAlgebra
"return U, S, Vt truncated to rank k"
function truncated_svd(M, k)
@assert k <= min(size(M)...)
F = svd(M)
SVD(F.U[:,1:k], F.S[1:k], F.Vt[1:k,:])
end
```