As mentioned before, all of the software from Chapter 4 for the Hermitian eigenvalue problem can be applied to one of , , or . However, some of this software and other software is specialized for the SVD, as we now describe.

Implicitly restarted Lanczos from §4.5 is
available in ARPACK,
as documented in the
*ARPACK Users' Guide* [295]. Any of its variations may be
applied to , , or .
Both ARPACK and a parallel version, PARPACK, are available
electronically.
ARPACK also has a driver for the SVD
which applies its algorithm directly to , i.e., assuming
only the ability to multiply by and . This is most
suitable for finding a few of the largest singular values
and their singular vectors.

PLANSO [462] is a parallel Lanczos algorithm with ``thick restart'' that compares favorably to PARPACK in speed and memory.

SVDPACK [49] is designed specifically for finding a few of the largest singular values of . It includes many methods, of which the fastest is Lanczos (§4.4), which applies to . Other methods in SVDPACK are subspace iteration (§4.3.4), a variation of block-Lanczos that is a simpler version of the one in §4.6, and trace minimization. Any of these methods may be applied either to or . When applying block Lanczos to , a variation on the algorithm in §6.3.3 is used. Trace minimization is a case of the methods for nonlinear eigenproblems discussed in §9.4.