Following v1.1.0, this version of Spectra further improves the support for complex eigen solvers. The main update in v1.2.0 is that GenEigsSolver now supports general complex-valued matrices. See the Complex-valued Matrices section in the README for an example.
Added
- Added the support for complex-valued matrices in the
GenEigsSolvereigen solver - Added a separate
Givensclass for computing Givens rotations in a numerically stable way - Added the implementation of
UpperHessenbergQRandUpperHessenbergEigenfor complex-valued matrices - Added testing code for complex eigen solvers based on the
GenEigsSolverclass - Added testing code for the
Givensclass - Added
UpperHessenbergQRandUpperHessenbergEigentests for complex-valued matrices
Changed
UpperHessenbergQRnow uses theGivensclass to compute Givens rotations- Removed the redundant
Scalartemplate paramter in internal classes such asArnoldiOp,Arnoldi, andLanczos - The CMake script now uses CPM.cmake to manage the dependence on Eigen. By default, it will first search for Eigen in the system, and if it is not found, the script will automatically download the Eigen library. This functionality was contributed by @eduardz1 (#178)
- The minimum version for Clang-Format is now 16, and the configuration file is also updated
- Updated Doxygen configuration to v1.14.0
- Updated the included Catch2 to v2.13.10
- Updated author information
- Various documentation updates and improvements