Wrong eigenvector sorting in nalgebra::SymmetricEigen, while correct in nalgebra_lapack::SymmetricEigen
- Dominant language
- Rust
- Stars
- 4.8k
- Forks
- 565
- PR merge metrics
- No merged PRs in 30d
Description
It seems that `nalgebra::SymmetricEigen` doesn't sort eigenvectors properly in the ascending order of eigenvalues, while `nalgebra_lapack::SymmetricEigen` does this correctly.
This [example code](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=2ed753eb7f74c683df6bf89d5f415e69) produces different order of eigenvalues in `nalgebra` and `nalgebra_lapack`:
nalgebra: two first values are _not_ in correct ascending order!
```
val =
┌ ┐
│ -39261.336 │
│ -58575.883 │
│ -17988.87 │
│ 17988.875 │
│ 39261.33 │
│ 58575.883 │
└ ┘
```
nalgebra_lapack: correct sorting
```
val =
┌ ┐
│ -58575.8 │
│ -39261.313 │
│ -17988.877 │
│ 17988.863 │
│ 39261.305 │
│ 58575.83 │
└ ┘
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.