Dear All,

I am quite new to Julia, and I am searching for a recommendation. Calling `svd(A)`

, I obtain a singular-value decomposition object that gives me access to the `U, S, V`

, as discussed in the documentation.

I am interested in approximating the matrix-vector product `A*z`

, where `z`

is a vector, by approximating `A`

with its k-rank approximation. A direct way to do this is to do

```
Ak = U[:,1:k] * Diagonal(S[1:k]) * V[:,1:k]'
w = Ak*z
```

but this does not seem a good idea, because `Ak`

has the same size of the original matrix, and this does not buy me anything. A possible alternative is

`w = U[:,1:k] * Diagonal(S[1:k]) * V[:,1:k]' * z`

Of course, one can also write a specific for loop that accomplishes that. I am interested in knowing if there are off-the-shelves solutions for this (that use the SVD object created by `svd`

), and if you see ways to write the most efficient