Implicitly-restarted Lanczos methods for fast truncated singular value decomposition of sparse and dense matrices (also referred to as partial SVD). IRLBA stands for Augmented, Implicitly Restarted Lanczos Bidiagonalization Algorithm. The package provides the following functions (see help on each for details and examples).
irlba
main partial SVD functionprcomp_irlba
principal components function similar to theprcomp
function in stats package for computing the first few principal components of large matricespartial_eigen
a very limited partial eigenvalue decomposition for symmetric matrices (see the RSpectra package for more comprehensive truncated eigenvalue decomposition)
Help documentation for each function includes examples. Also see the package
vignette, vignette("irlba", package="irlba")
, and demo,
demo("custom_matrix_multiply", package="irlba")
.
Version 2.2.0 includes stronger convergence detection and a new argument
svtol
associated with that. The new approach helps guarantee more accurate
solutions for some difficult problems. The tradeoff is that the default
behavior is a little slower than before because it always performs at least two
Lanczos iterations. The new convergence behavior can be disabled with
svtol=Inf
.
- Augmented Implicitly Restarted Lanczos Bidiagonalization Methods, J. Baglama and L. Reichel, SIAM J. Sci. Comput. 2005. (http://www.math.uri.edu/~jbaglama/papers/paper14.pdf)