Science Score: 33.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
3 of 5 committers (60.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Randomized Matrix Decompositions using R
Basic Info
- Host: GitHub
- Owner: erichson
- Language: R
- Default Branch: master
- Homepage: https://arxiv.org/abs/1608.02148
- Size: 27.5 MB
Statistics
- Stars: 100
- Watchers: 10
- Forks: 24
- Open Issues: 3
- Releases: 0
Topics
Metadata Files
README.md

Fast Randomized Singular Value Decomposition using R
Randomized singular value decomposition (rsvd) is a fast probabilistic algorithm that can
be used to compute the near optimal low-rank singular value decomposition of massive data sets with high accuracy.
The key idea is to compute a compressed representation
of the data to capture the essential information. This compressed representation can then be used to obtain
the low-rank singular value decomposition decomposition. The rsvd package provides one of the fastest routines for low-rank matrix approximations in R, as far as we know.
The computational advantage becomes pronounced with an increasing matrix dimension (here target-rank k=50):

The singular value decomposition plays a central role in data analysis and scientific computing. The SVD is also widely used for computing (randomized) principal component analysis (PCA), a linear dimensionality reduction technique. Randomized PCA (rpca) uses the approximated singular value decomposition to compute the most significant principal components. This package also includes a function to compute (randomized) robust principal component analysis (RPCA). In addition several plot functions are provided. See for further details: Randomized Matrix Decompositions using R.
SVD example: Image compression
```R library(rsvd) data(tiger)
Image compression using randomized SVD
s <- rsvd(tiger, k=150) tiger.re = s$u %% diag(s$d) %% t(s$v) # reconstruct image
Display orginal and reconstrucuted image
par(mfrow=c(1,2))
image(tiger, col = gray((0:255)/255))
image(tiger.re, col = gray((0:255)/255))
```
Here are the results:

and the speedup gained over the base SVD function:
```R library(microbenchmark)
timing_svd <- microbenchmark( 'SVD' = svd(tiger, nu=150, nv=150), 'rSVD' = rsvd(tiger, k=150), times=50)
print(timing_svd, unit='s')
```

Installation
Install the rsvd package via CRAN
R
install.packages("rsvd")
You can also install the development version from GitHub using devtools:
r
devtools::install_github("erichson/rsvd")
The source packge can be obtained here: CRAN: rsvd.
New in Version 1.0.2
- Several small issues are fixed.
- Thanks to Aaron Lun, who has fixed a bug in the rsvd function that occured when nu=0 or nv=0.
New in Version 1.0.0
- Support for non-default matrix types to deal with large-scale matrices that are held on file, added by Aaron Lun.
- Fixed a bug which occured runninig rpca with k=1 and retx=TRUE, discovered by Will.
References
- Erichson NB, Voronin S, Brunton SL, Kutz JN (2019). Randomized Matrix Decompositions Using R. Journal of Statistical Software, 89(11), 1–48. doi: 10.18637/jss.v089.i11.
- Sergey Voronin, Per-Gunnar Martinsson. RSVDPACK: Subroutines for computing partial singular value decompositions via randomized sampling on single core, multi core, and GPU architectures. (2015)
- Nathan Halko, et al. Finding structure with randomness: Probabilistic algorithms for constructing approximate matrix decompositions. (2011)
Cite as
@Article{,
title = {Randomized Matrix Decompositions Using {R}},
author = {N. Benjamin Erichson and Sergey Voronin and Steven L.
Brunton and J. Nathan Kutz},
journal = {Journal of Statistical Software},
year = {2019},
volume = {89},
number = {11},
pages = {1--48},
doi = {10.18637/jss.v089.i11},
}
Owner
- Name: Ben Erichson
- Login: erichson
- Kind: user
- Location: Berkeley
- Company: UC Berkeley
- Website: https://www.benerichson.com
- Repositories: 11
- Profile: https://github.com/erichson
GitHub Events
Total
- Watch event: 2
Last Year
- Watch event: 2
Committers
Last synced: over 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Benli11 | n****e@s****k | 54 |
| benli11 | e****n@u****u | 42 |
| Aaron Lun | a****n@c****k | 2 |
| LTLA | i****s@g****m | 1 |
| Oscar Dowson | o****w@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 8
- Total pull requests: 3
- Average time to close issues: 7 days
- Average time to close pull requests: about 13 hours
- Total issue authors: 7
- Total pull request authors: 2
- Average comments per issue: 2.63
- Average comments per pull request: 2.33
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- LTLA (2)
- dsvolkov (1)
- const-ae (1)
- barracuda156 (1)
- pcarbo (1)
- tinyheero (1)
- wmacnair (1)
Pull Request Authors
- LTLA (2)
- odow (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- cran 16,090 last-month
- Total docker downloads: 149,404
-
Total dependent packages: 14
(may contain duplicates) -
Total dependent repositories: 56
(may contain duplicates) - Total versions: 14
- Total maintainers: 1
cran.r-project.org: rsvd
Randomized Singular Value Decomposition
- Homepage: https://github.com/erichson/rSVD
- Documentation: http://cran.r-project.org/web/packages/rsvd/rsvd.pdf
- License: GPL (≥ 3)
-
Latest release: 1.0.5
published almost 5 years ago
Rankings
Maintainers (1)
conda-forge.org: r-rsvd
- Homepage: https://github.com/erichson/rSVD
- License: GPL-3.0-or-later
-
Latest release: 1.0.5
published almost 5 years ago
Rankings
Dependencies
- R >= 4.0.0 depends
- Matrix * imports
- ggplot2 * suggests
- testthat * suggests