Open
Description
Simplified example:
let test_image_matrix = nalgebra::MatrixXx3::from_element(10, 0.0);
let mut db_x_column = nalgebra::MatrixXx1::from_element(10, 0.0);
anyhow::ensure!(test_image_matrix.qr().solve_mut(&mut db_x_column));
gives:
error[E0599]: no method named `solve_mut` found for struct `QR<{float}, Dynamic, nalgebra::U3>` in the current scope
--> examples\polygons.rs:351:44
|
351 | anyhow::ensure!(test_image_matrix.qr().solve_mut(&mut db_x_column));
| ^^^^^^^^^ method not found in `QR<{float}, Dynamic, nalgebra::U3>`
If changing to fully qualified method path, I can get slightly more precise error:
let test_image_matrix = nalgebra::MatrixXx3::from_element(10, 0.0);
let mut db_x_column = nalgebra::MatrixXx1::from_element(10, 0.0);
anyhow::ensure!(nalgebra::QR::solve_mut(&test_image_matrix.qr(), &mut db_x_column));
error[E0308]: mismatched types
--> examples\polygons.rs:351:45
|
351 | anyhow::ensure!(nalgebra::QR::solve_mut(&test_image_matrix.qr(), &mut db_x_column));
| ^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Dynamic`, found struct `nalgebra::U3`
|
= note: expected reference `&QR<_, _, _>`
found reference `&QR<{float}, Dynamic, nalgebra::U3>`
So it appears that it wants the 2nd dimension to be Dynamic
not fixed U3
?