Let’s assume I have a sparse matrix with complex entries.

I want to perform svd on it. So, I use the Propack package (do you have any better suggestions?).

I do this with the command: `tsvdvals(gs, k=p)`

, where I retain the p largest singular values of matrix `gs`

.

Now, depending on the input matrix, there are some errors that come out which I do not know how to handle. For example, for a given matrix, I get the following:

```
WARNING: Maximum dimension of Krylov subspace exceeded prior to convergence. Try increasing KMAX.
neig = 13
ERROR: lansvd return code: -1
```

This means I used very big value for p and I have to decrease it to 13 in this situation. However, this value depends on the given matrix used.

The question: How can I handle the warning message, save it (the value 13 of the second line of the warning) to a given variable and use it for updating the calculation for the correct value of p?