Skip to content

Spectra v1.1.0

Latest
Compare
Choose a tag to compare
@yixuan yixuan released this 01 Jan 12:54
· 4 commits to master since this release
fef8a39

Happy New Year 2025! 🎉

This version of Spectra has a major update: the support for complex Hermitian matrices is finally added, and now you can use the HermEigsSolver eigen solver to compute real eigenvalues of Hermitian matrices. This functionality has been requested for a long time (e.g. #6 dating back to ten years ago!), and I am excited to make this first step. 🥳

Added

  • Added the eigen solver HermEigsSolver for complex-valued Hermitian matrices
  • Added the support for complex Hermitian matrices to various linear algebra classes, such as Arnoldi, Lanczos, and BKLDLT
  • SimpleRandom can now generate random complex values
  • Added testing code for Arnoldi factorization on both real matrices and complex Hermitian matrices
  • Added BKLDLT tests for complex Hermitian matrices
  • Added testing code for the HermEigsSolver solver
  • Added test examples from previous bug reports

Changed

  • Better heuristics for basis restarting in the Lanczos factorization, which fixes #159
  • Fixed the support for non-literal data types (#150)
  • Various CMake configuration improvements (#127, #140, #152), thanks to @LTLA, @JensWehner, @shivupa, @jschueller, @alecjacobson, and @jdumas
  • Miscellaneous GitHub Actions updates
  • Various internal implementation changes to accommodate operations on complex-valued matrices
  • Improved the numerical stability of BKLDLT linear system solver
  • Change SymEigsBase to HermEigsBase as the base class for both real symmetric and complex Hermitian eigen solvers