sparseEigen
Computation of Sparse Eigenvectors of a Matrix
Description
Computation of sparse eigenvectors of a matrix (aka sparse PCA) with running time 2-3 orders of magnitude lower than existing methods and better final performance in terms of recovery of sparsity pattern and estimation of numerical values. Can handle covariance matrices as well as data matrices with real or complex-valued entries. Different levels of sparsity can be specified for each individual ordered eigenvector and the method is robust in parameter selection. See vignette for a detailed documentation and comparison, with several illustrative examples. The package is based on the paper: K. Benidis, Y. Sun, P. Babu, and D. P. Palomar (2016). "Orthogonal Sparse PCA and Covariance Estimation via Procrustes Reformulation," IEEE Transactions on Signal Processing <doi:10.1109/TSP.2016.2605073>.
Downloads
525
Last 30 days
7411th
1.7K
Last 90 days
6.4K
Last year
Trend: +1% (30d vs prior 30d)
0
Last 30 days
24
Last 90 days
100
Last year
Trend: -100% (30d vs prior 30d)
7
Last 7 days
18
Last 30 days
2
All-time
autoCRAN-only: this name is served only by autoCRAN, so the count is exact.
CRAN Check Status
Show all 13 flavors
| Flavor | Status |
|---|---|
| r-devel-linux-x86_64-debian-clang | NOTE |
| r-devel-linux-x86_64-debian-gcc | NOTE |
| r-devel-linux-x86_64-fedora-clang | OK |
| r-devel-linux-x86_64-fedora-gcc | OK |
| r-devel-windows-x86_64 | OK |
| r-oldrel-macos-arm64 | OK |
| r-oldrel-macos-x86_64 | OK |
| r-oldrel-windows-x86_64 | OK |
| r-patched-linux-x86_64 | OK |
| r-release-linux-x86_64 | OK |
| r-release-macos-arm64 | OK |
| r-release-macos-x86_64 | OK |
| r-release-windows-x86_64 | OK |
Check details (2 non-OK)
CRAN incoming feasibility
Maintainer: ‘Daniel P. Palomar <daniel.p.palomar@gmail.com>’ Package CITATION file contains call(s) to old-style personList() or as.personList(). Please use c() on person objects instead. Package CITATION file contains call(s) to old-style citEntry(). Please use bibentry() instead.
CRAN incoming feasibility
Maintainer: ‘Daniel P. Palomar <daniel.p.palomar@gmail.com>’ Package CITATION file contains call(s) to old-style personList() or as.personList(). Please use c() on person objects instead. Package CITATION file contains call(s) to old-style citEntry(). Please use bibentry() instead.
Check History
NOTE 9 OK · 5 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 30, 2026
CRAN incoming feasibility
Maintainer: ‘Daniel P. Palomar <daniel.p.palomar@gmail.com>’ Package CITATION file contains call(s) to old-style personList() or as.personList(). Please use c() on person objects instead. Package CITATION file contains call(s) to old-style citEntry(). Please use bibentry() instead.
CRAN incoming feasibility
Maintainer: ‘Daniel P. Palomar <daniel.p.palomar@gmail.com>’ Package CITATION file contains call(s) to old-style personList() or as.personList(). Please use c() on person objects instead. Package CITATION file contains call(s) to old-style citEntry(). Please use bibentry() instead.
LazyData
'LazyData' is specified without a 'data' directory
LazyData
'LazyData' is specified without a 'data' directory
LazyData
'LazyData' is specified without a 'data' directory
ERROR 8 OK · 5 NOTE · 0 WARNING · 1 ERROR · 0 FAILURE Mar 10, 2026
CRAN incoming feasibility
Maintainer: ‘Daniel P. Palomar <daniel.p.palomar@gmail.com>’ Package CITATION file contains call(s) to old-style personList() or as.personList(). Please use c() on person objects instead. Package CITATION file contains call(s) to old-style citEntry(). Please use bibentry() instead.
CRAN incoming feasibility
Maintainer: ‘Daniel P. Palomar <daniel.p.palomar@gmail.com>’ Package CITATION file contains call(s) to old-style personList() or as.personList(). Please use c() on person objects instead. Package CITATION file contains call(s) to old-style citEntry(). Please use bibentry() instead.
re-building of vignette outputs
Error(s) in re-building vignettes: --- re-building ‘SparseEigenvectors.Rmd’ using rmarkdown *** caught segfault *** address 0x1f3, cause 'invalid permissions' Traceback: 1: eigen(Sigma, symmetric = TRUE) 2: MASS::mvrnorm(n, rep(0, m), R) 3: eva ...[truncated]... Vignettes(dir = "/Volumes/Builds/packages/sonoma-arm64/results/4.6/sparseEigen.Rcheck/vign_test/sparseEigen", skip = TRUE, ser_elibs = "/Volumes/Temp/tmp/Rtmp8EHwPQ/file38387ea6a224.rds") An irrecoverable exception occurred. R is aborting now ...
LazyData
'LazyData' is specified without a 'data' directory
LazyData
'LazyData' is specified without a 'data' directory
LazyData
'LazyData' is specified without a 'data' directory
Code & tests
Open call graph →Code intelligence has not been computed for this package yet.
Code
Structure
Lines of code
1,901
Files
26
Compiled share
0%
Has compiled src
No
Language breakdown
API
Exported functions
2
Internal functions
4
Recent export changes
Testing & CI
Has tests
Yes
Test-to-code ratio
0.15
testthat edition
–
CI present
No
CI type
[]
PR gated
No
Docs
Return-value doc rate
100%
\dontrun example ratio
50%
Roxygen coverage
100%
Has pkgdown
No
NEWS present
Yes
Health & Security signals
Informational signals; not verdicts.
on.exit coverage
–
Unsafe pattern score
0
Dep constraint coverage
–
Secret pattern count
0
Bundled 3rd-party code
2 items
Portability & License
Min R version
3.4.0
System requirements
–
C++ standard
–
License
GPL-3 | file LICENSE
License flags
SPDX valid, not OSI
History
Versions
1
First release
2017-12-20
Latest release
2017-12-20
Avg cadence
–
Cold removal rate
–
Dep drift
0
Per-file churn detail lives in the source pipeline: https://github.com/r-observatory/cran-code-metrics.
Version History
1 trackedR Observatory began tracking this package on Mar 10, 2026; it first appeared on CRAN Dec 21, 2017. Releases before tracking aren’t shown.