[petsc-users] Computing Krylov decompositions with PETSc/SLEPc

Gard Spreemann gard.spreemann at epfl.ch
Fri Jul 6 09:37:29 CDT 2018

On Friday 6 July 2018 16:18:27 CEST Jose E. Roman wrote:
> SLEPc's default eigensolver 'krylovschur' does this kind of computation repeatedly, in an outer loop (the restarts) until eigenvalues are converged. If you call EPSSolve() with -eps_max_it 1 to avoid any restarts then you will get something similar to what you want. The computed basis can be retrieved with EPSGetBV(). However, this is not the intended usage, and hence it is not documented. You will have to look at the source code and see what is being computed.

Thank you. I'll have a look and see if I can make sense of it.

I had the impression that it's only possible to set the *maximum*
dimension of the Krylov subspaces used though. Is that the case? I'd
need to set the dimensionality exactly.

> What do you need this for?

I need to compute some good approximations of (the action of) certain
polynomials of a matrix (on a vector). Looking around, it seems there
are some very nice approximations available if one has an orthonormal
basis for the Krylov subspaces up to power equal to the degree of the
polynomial in question.

I was therefore hoping there would be some way to leverage SLEPc's
sophisticated Krylov code.


More information about the petsc-users mailing list