  The computation of a few singular triplets of large, sparse matrices is a
challenging task, especially when the smallest magnitude singular values are
needed in high accuracy. Most recent efforts try to address this problem
through variations of the Lanczos bidiagonalization method, but they are still
challenged even for medium matrix sizes due to the difficulty of the problem.
We propose a novel SVD approach that can take advantage of preconditioning and
of any well designed eigensolver to compute both largest and smallest singular
triplets. Accuracy and efficiency is achieved through a hybrid, two-stage
meta-method, PHSVDS. In the first stage, PHSVDS solves the normal equations up
to the best achievable accuracy. If further accuracy is required, the method
switches automatically to an eigenvalue problem with the augmented matrix. Thus
it combines the advantages of the two stages, faster convergence and accuracy,
respectively. For the augmented matrix, solving the interior eigenvalue is
facilitated by a proper use of the good initial guesses from the first stage
and an efficient implementation of the refined projection method. We also
discuss how to precondition PHSVDS and to cope with some issues that arise.
Numerical experiments illustrate the efficiency and robustness of the method.
