Skip to main content
`Ctrl`+`K`

# SVDTRLANCZOS

SVDTRLANCZOS = “trlanczos” - A thick-restart Golub-Kahan-Lanczos bidiagonalization method.

## Notes

The implemented method is Lanczos bidiagonalization with thick restart. It should generally provide much better convergence than the plain Lanczos in `SVDLANCZOS`.

The implementation includes a one-sided orthogonalization option, and efficient parallel orthogonalization, see the details in [Hernandez et al., 2007, Hernández et al., 2008].

This solver also provides support for the GSVD (see details in [Alvarruiz et al., 2024]) and the HSVD.

## References

[Alv24]

F. Alvarruiz, C. Campos, and J. E. Roman. Thick-restarted joint Lanczos bidiagonalization for the GSVD. J. Comput. Appl. Math., 440:115506, 2024. doi:10.1016/j.cam.2023.115506.

[Her07c]

V. Hernandez, J. E. Roman, and A. Tomas. Restarted Lanczos bidiagonalization for the SVD in SLEPc. Technical Report STR-8, Universitat Politècnica de València, 2007. URL: https://slepc.upv.es/documentation.

[Her08]

V. Hernández, J. E. Román, and A. Tomás. A robust and efficient parallel SVD solver based on restarted Lanczos bidiagonalization. Electron. Trans. Numer. Anal., 31:68–85, 2008. URL: https://etna.ricam.oeaw.ac.at/volumes/2001-2010/vol31/abstract.php?pages=68-85.

## See Also

SVD: Singular Value Decomposition, Mathematical Background, `SVD`, `SVDType`, `SVDSetType()`, `SVDSetProblemType()`, `SVDTRLANCZOS`

## Level

beginner

## Location

src/svd/impls/trlanczos/trlanczos.c

Index of all SVD routines Table of Contents for all manual pages Index of all manual pages