-
- Description:
Spectra is a C++ library for large scale eigenvalue problems, built on top of Eigen (http://eigen.tuxfamily.org).
Spectra is designed to calculate a specified number (k) of eigenvalues of a large square matrix (A). Usually k is much smaller than the size of matrix (n), so that only a few eigenvalues and eigenvectors are computed, which in general is more efficient than calculating the whole spectral decomposition. Users can choose eigenvalue selection rules to pick the eigenvalues of interest, such as the largest k eigenvalues, or eigenvalues with largest real parts, etc.
Spectra is implemented as a header-only C++ library, whose only dependence, Eigen, is also header-only. Hence Spectra can be easily embedded in C++ projects that require calculating eigenvalues of large matrices.
Key Features:
- Calculates a small number of eigenvalues/eigenvectors of a large square matrix.
- Broad application in dimensionality reduction, principal component analysis, community detection, etc.
- High performance. In most cases faster than ARPACK.
- Header-only. Easy to be embedded into other projects.
- Supports symmetric/general, dense/sparse matrices.
- Elegant and user-friendly API with great flexibility.
- Convenient and powerful R interface, the RSpectra R package.
- Changes to previous version:
- Fixed regressions in v0.6.1 on some edge cases
-
Improved the accuracy of restarting processes in
SymEigsSolver
andGenEigsSolver
- Code and documentation cleanup
- BibTeX Entry: Download
- Supported Operating Systems: Agnostic
- Data Formats: Matrix
- Tags: Singular Value Decomposition, Principal Component Analysis, Factorization, Eigenvalue
- Archive: download here
Comments
No one has posted any comments yet. Perhaps you'd like to be the first?
Leave a comment
You must be logged in to post comments.