Project details for Spectra. A Library for Large Scale Eigenvalue Problems

Screenshot Spectra. A Library for Large Scale Eigenvalue Problems 0.5.0

by yixuanq - September 13, 2017, 02:34:21 CET [ Project Homepage BibTeX Download ]

view ( today), download ( today ), 0 subscriptions


Spectra is a C++ library for large scale eigenvalue problems, built on top of Eigen (

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:

Initial Announcement on

BibTeX Entry: Download
Supported Operating Systems: Agnostic
Data Formats: Matrix
Tags: Singular Value Decomposition, Principal Component Analysis, Factorization, Eigenvalue
Archive: download here


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.