Add known-failing unit test case for SymmetricEigen
This commit is contained in:
parent
706caf52c3
commit
e2a32af5c3
|
@ -344,7 +344,36 @@ where
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod test {
|
mod test {
|
||||||
use crate::base::Matrix2;
|
use crate::base::{Matrix2, Matrix4};
|
||||||
|
|
||||||
|
/// Exercises bug reported in issue #1109 of nalgebra (https://github.com/dimforge/nalgebra/issues/1109)
|
||||||
|
#[test]
|
||||||
|
fn symmetric_eigen_regression_issue_1109() {
|
||||||
|
let m = Matrix4::new(
|
||||||
|
-19884.07f64,
|
||||||
|
-10.07188,
|
||||||
|
11.277279,
|
||||||
|
-188560.63,
|
||||||
|
-10.07188,
|
||||||
|
12.518197,
|
||||||
|
1.3770627,
|
||||||
|
-102.97504,
|
||||||
|
11.277279,
|
||||||
|
1.3770627,
|
||||||
|
14.587362,
|
||||||
|
113.26099,
|
||||||
|
-188560.63,
|
||||||
|
-102.97504,
|
||||||
|
113.26099,
|
||||||
|
-1788112.3,
|
||||||
|
);
|
||||||
|
let eig = m.symmetric_eigen();
|
||||||
|
assert!(relative_eq!(
|
||||||
|
m.lower_triangle(),
|
||||||
|
eig.recompose().lower_triangle(),
|
||||||
|
epsilon = 1.0e-5
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
fn expected_shift(m: Matrix2<f64>) -> f64 {
|
fn expected_shift(m: Matrix2<f64>) -> f64 {
|
||||||
let vals = m.eigenvalues().unwrap();
|
let vals = m.eigenvalues().unwrap();
|
||||||
|
|
Loading…
Reference in New Issue