[petsc-users] smallest SVD values in Slepc doesn't work for matrices larger than ~200
Jose E. Roman
jroman at dsic.upv.es
Mon Dec 16 12:21:35 CST 2013
El 16/12/2013, a las 19:02, David Liu escribió:
> Hi, I'm having trouble using the SVD solver to find the smallest singular values. As a simple example:
>
> http://www.grycap.upv.es/slepc/handson/handson4.html
>
> When I run the command in the example: (./ex14 -file $SLEPC_DIR/share/slepc/datafiles/matrices/rdb200.petsc), it converges exactly as the page says it would, in 3 iterations. However, if I want the smallest values, I add the option
>
> "-svd_smallest"
>
> to the end of that command, and this time it doesn't converge at all. Is there some additional option I need to add, for example, something to do with the SVD object's EPS or ST, to make this work?
>
> best,
> David
In this example, it is enough to increase the dimension of the working subspace, for instance -svd_ncv 32
Usually, eigensolvers have a much harder time when computing smallest eigenvalues compared to largest, because the latter are dominant and hinder convergence of the small ones.
In other problems, increasing the subspace may not be enough and other approaches might be required (e.g. shift-and-invert as described in the manual). It depends on the particular distribution of the spectrum.
Jose
More information about the petsc-users
mailing list